Latest / Entre Chaves / Entre Cases #23 Martins: Implementando Data Lake para recomendações B2B efetivas
Transcript
- 0:02Está começando mais uma entre chaves, o seu podcast de
- 0:06desenvolvimento de software. Eu sou a Fernanda Vieira e hoje
- 0:09a gente vai falar sobre um case aqui da DTI, né?
- 0:12Um projeto que marcou aí a história de dados de machine
- 0:16learning do grupo Martins. E pra isso eu estou aqui com a
- 0:19Rafa, minha companheira de bancada de sempre, né?
- 0:22E aí, Rafa? E aí, ó, só pra falar que eu
- 0:24estou aqui como host, mas eu participei, né?
- 0:27Um pouco do. Projeto do case que a gente vai
- 0:30falar aqui hoje, então vou ser suspeita.
- 0:33Perguntas enviesadas. Exatamente.
- 0:35Estamos aqui também com malagute, que é um cientista de
- 0:38dados aqui, né? Arquiteto cientista de dados.
- 0:41Da DTI, que também é participante do projeto, né?
- 0:44Malaga já participou aqui dentro, chaves várias.
- 0:45Vezes exatamente. Eu participei de alguns
- 0:48programas. Estou aqui na DTI já faz 6 anos
- 0:51e também esse é um dos projetos que eu participei do passado.
- 0:54E como convidado especial, estamos aqui com o Pablo
- 0:57Freitas, que é gerente de data Science do grupo Martins.
- 1:00E aí, Pablo, seja bem-vindo. Boa tarde, pessoal, é prazer
- 1:04falar com vocês. Como falei um pouco desse case,
- 1:06né, que foi bem legal que a gente desenvolveu.
- 1:08Estou aí há quase 8 anos no grupo hoje na posição de de
- 1:12cuidar, né? Da toda a nossa área de ciência
- 1:14de dados e a e a engenharia de dados e.
- 1:17Isso é um prazer aí falar com vocês.
- 1:19Então, pra contextualizar vocês aqui o Martins é um dos maiores
- 1:22atacadistas e distribuidores do marketplace do Brasil, são mais
- 1:25de 70 anos conectando aí fornecedores ao pequeno EE média
- 1:30várias brasileira, atendendo então hoje mais de 100000
- 1:33varejistas em todos os municípios do país.
- 1:36E com um cada um catálogo bem extenso de produtos, né?
- 1:39E aumentar a conversão, né? De vendas é um desafio que
- 1:43atravessa vários e vários segmentos de negócios, seja um e
- 1:46Commerce, be to see, um marketplace, um varejista físico
- 1:50e até, né, um varejista físico e digital.
- 1:52Então, todo mundo quer que os clientes comprem mais, que eles
- 1:55comprem melhor, que eles encontrem com mais facilidade o
- 1:58que eles precisam. Um desafio aqui, né?
- 2:01Um dos desafios desse projeto aqui que a gente vai falar hoje
- 2:05é justamente. Lidar com vasto volume de dados,
- 2:08né? Transacionais, que foram gerados
- 2:10por milhares de operações de áreas espalhadas pelo país.
- 2:14Então, como personalizar mesmo a experiência de compra pra esses
- 2:18diversos setores, né? Pra diversas localidades, cada
- 2:21um com necessidades totalmente diferentes.
- 2:24E foi justamente então. Esse desafio que deu origem a
- 2:27esse projeto, né, que é o motor de recomendação do Martins, né,
- 2:31que é o primeiro grande projeto de dados do da empresa, né?
- 2:34E nesse caso de uso, várias coisas impressionam.
- 2:37O resultado é bem impressionante que a gente vai falar aqui daqui
- 2:40a pouco, mas também o jeito que ele foi construído, né?
- 2:42A forma evolutiva? Que ele foi construído, que
- 2:45também é bem interessante. Então a gente vai falar sobre
- 2:48tudo isso aqui, mas para a gente começar a entender um pouco mais
- 2:51do que de como que aconteceu isso tudo, vamos começar do
- 2:54início, né? Que é justamente qual que foi.
- 2:56É o primeiro passo, né, para traduzir esse desafio que eu
- 3:00falei aqui da conversão desse problema, de que quero aumentar
- 3:03a conversão no motor de recomendação, né?
- 3:06Quais foram as primeiras hipóteses que fizeram isso
- 3:09acontecer? Só.
- 3:11Contextualizando, né? 11 pouco mais sobre esse projeto
- 3:14é o pano de fundo. Foi ali o pós pandemia, né?
- 3:18Na verdade ainda um pouco de pandemia em 2021.
- 3:21Historicamente o Martins vende através da da força de vendas,
- 3:26né? Que são os nossos representantes
- 3:27comerciais que. Visitam os clientes em campo,
- 3:30né? E oferecem os produtos.
- 3:31Mas justamente aí, na pandemia, um pouco antes, a gente começou
- 3:35a investir muito e evoluir muitos dos nossos canais
- 3:38digitais, que é o nosso aplicativo marketplace, nosso
- 3:41portal web, né? Que os clientes podem comprar
- 3:44vários outros meios de de vendas.
- 3:46Então nesse momento a gente. Precisava, né?
- 3:49Aumentar a conversão nesses canais e personalizar a
- 3:52experiência dos clientes nesses canais, né?
- 3:54Então foi daí que surgiu nessa sua iniciativa, né?
- 3:58Essa hipótese de como eu consigo personalizar?
- 4:02A experiência, a jornada do cliente ali no momento da
- 4:04compra, com mais inteligência, usando dados, usando modelagem,
- 4:09sabendo que o que a época, né? A gente tinha mais de 20000
- 4:12produtos disponíveis para o cliente comprar.
- 4:14Então tornar ainda mais é relevante nesse desafio de levar
- 4:19uma recomendação mais próxima e personalizada para o cliente.
- 4:23Então foi daí que surgiu. É esse desafio e essa e essa
- 4:26iniciativa. Bom, mas a agora que a gente
- 4:28entendeu melhor, né? O contexto é de negócio do do
- 4:32produto é, vamos para o tecniques, né?
- 4:34O que que o que que é um sistema de recomendação malagute?
- 4:38Para a gente entender um pouquinho do sistema de
- 4:39recomendação que a gente utilizou lá no início.
- 4:42Bem no início do projeto mesmo, a gente primeiro está a entender
- 4:45o que que a gente tinha disponível no início do projeto.
- 4:48Já existia dentro do Martins um daytoy House com uma série de
- 4:52informações disponíveis que era feito já em modelagem Estrela,
- 4:57com fatos de dimensões. Tudo isso já sendo construído e
- 5:00disponibilizado ali internamente, porém, para um
- 5:03sistema de recomendação mais complexo ainda, existia uma
- 5:07série de gaps. Quando a gente vai lidar com
- 5:09esses dados. Então a gente optou por começar
- 5:13com o sistema da maneira mais simples possível.
- 5:16Então, qual que seria a interação mais simples que
- 5:19existe hoje com Martins? Seria uma compra.
- 5:22Então você tem um usuário, você tem um item e o usuário ele vai.
- 5:25Efetuar essa compra, essa informação, ela está sempre
- 5:28disponível dentro do quando você é uma empresa como Martins, é
- 5:32muito claro que você vai ter essa informação disponível.
- 5:34Histórico de compras, que que cada usuário comprou, uma lista
- 5:38de produtos, uma lista de usuários.
- 5:40Então, quando a gente trabalha com o sistema de recomendações,
- 5:42tem uma série de algoritmos que a gente poderia utilizar.
- 5:46Mas quando a gente vai fazer o primeiro modelo, a ideia é que
- 5:49você faça uma base. É por isso que inclusive a gente
- 5:51normalmente chama de base online, que seria qual que é a
- 5:54base que a gente vai usar como venda hoje, né, que é um
- 5:56algoritmo de recomendação, deve usar.
- 5:59Então foi isso que a gente fez. A gente primeiro pegou essas
- 6:01informações de uma maneira que fosse muito mais fácil pra gente
- 6:04trabalhar. Então era uma lista de clientes,
- 6:06uma lista de produtos, qual cliente comprou, qual produto.
- 6:09E isso é uma coisa extremamente simples de você aplicar dentro
- 6:13dos algoritmos. No nosso caso de escolha, como a
- 6:15gente trabalhava muito com big data dentro do Martins, a gente
- 6:18optou por um modelo que já tivesse bem adaptado AA
- 6:22tecnologia do pais Park, que já era utilizado dentro do
- 6:24databrics. Então a gente utilizou OALSOALS.
- 6:27Ele é 11 modelo não. Você pode pensar de uma maneira
- 6:30bem simples, né? Essa questão de venda é, ele vai
- 6:33procurar por dado a lista de compra dos usuários, né?
- 6:37Se eu tenho um usuário semelhante?
- 6:39Ele vai ter um perfil de compra semelhante.
- 6:42Então, se o meu cliente a comprou o item um e o meu
- 6:45cliente b é parecido com o item AE não comprou o item um, talvez
- 6:49recomendar o item um seja uma boa escolha para ele, então não
- 6:52precisa de muita informação. É extremamente simples de se
- 6:55utilizar e funciona muito bem com uma quantidade de larga de
- 6:57dados. Então a gente conseguiu puxar
- 6:59essas informações. Vamos começar de uma maneira
- 7:01simples, amperar todos esses usuários, todas essas compras.
- 7:04Vamos treinar o nosso modelo, pegar um resultado é se tem um
- 7:08problema. Quando a gente trata e compras,
- 7:12a gente tem que itens tem um identificador único e às vezes
- 7:16esses itens são muito semelhantes.
- 7:18Então vamos supor que você comprou uma sandália.
- 7:21Essa sandália é um pode ser um item único, dependendo de qual é
- 7:24o modelo, cor e uma série de outras coisas.
- 7:28Então, às vezes, se você não tem um histórico muito grande de de
- 7:31compras ou se o modelo não conseguir identificar,
- 7:35basicamente vou te recomendar 10 produtos.
- 7:38Eu sei que você gosta de sandálias, então eu vou te
- 7:40recomendar 10 novas sandálias que são iguais ou extremamente
- 7:45semelhantes, basicamente mudando a cor ou mudando pequenos
- 7:48aspectos. Qual que é o problema disso?
- 7:50Você provavelmente não vai querer comprar todos
- 7:52normalmente. O que você quer fazer,
- 7:53principalmente quando você vai usar um algoritmo de
- 7:56recomendação, é que você tem objetivos, você quer aumentar
- 7:59normalmente a cesta. Você tem 2 objetivos claros, um
- 8:02é a facilidade. Eu vou te recomendar algo que
- 8:05você quer, então você tem um ganho ali de utilização daquele
- 8:09modelo que é, você não precisa buscar ele dentro do meu
- 8:11aplicativo, você vai abrir meu aplicativo, ele vai te mostrar
- 8:14exatamente o que você quer. Então você consegue montar suas
- 8:166, você consegue comprar aí e existe um segundo ganho que você
- 8:20procura quando você faz esse tipo de recomendação, que é, eu
- 8:23quero te recomendar o que você quer, mas que talvez você não
- 8:25saiba o que você queira ou que talvez você nem saiba que a
- 8:28gente vende, então você não compraria, talvez nesse primeiro
- 8:31momento, mas se a gente te mostrar isso.
- 8:34Aí você isso normalmente é um ganho direto de venda.
- 8:37É uma algo extra que está sendo adicionado no carrinho, um
- 8:39faturamento extra que está sendo adicionado dentro do carro.
- 8:42Então você normalmente tem esses 2 objetivos.
- 8:45E se eu te recomendo das sandálias, você provavelmente
- 8:49não vai a direcionar todas elas. Então a gente percebeu muito
- 8:51cedo que esse tipo de utilização simples, ele vai ter uma série
- 8:56de problemas dados aos dados que a gente tem.
- 8:58Então a gente começou a enriquecer esse sistema, a gente
- 9:00começou a trazer não só qual é o produto, mas qual a
- 9:04subcategoria, a categoria, como é que esse produto se relaciona
- 9:08com outros. Então, do mesmo jeito que você
- 9:09procura relações entre os usuários e.
- 9:13Produtos que eles compram você começa agora a buscar uma certa
- 9:17distância entre os produtos que você recomenda.
- 9:19Eu acho interessante o que você falou no começo, né, que vocês
- 9:22pegaram, vocês tinham date for House, já é, mas que ele não foi
- 9:26utilizado. Aí eu queria entender, Pablo,
- 9:29quais foram os desafios, né, que vocês tinham com esse DWEO que
- 9:33que levou? Principalmente a gente é optar
- 9:35por uma outra arquitetura, pro modelo.
- 9:39O Francisco falou, a gente tinha um grande histórico de dados,
- 9:43né? Bem estruturados no nosso, só
- 9:47que isso era totalmente one premes estava no nosso banco.
- 9:50E aí a gente tem novos dados aí nesse contexto de canais
- 9:54digitais, por exemplo, dados de eventos do Google, analyks.
- 9:58Que são originados e armazenados em nuvem, né?
- 10:01Então acho que esse foi o primeiro grande desafio, né?
- 10:04Que foi como a gente conseguiria juntar as 2 coisas, que são 2
- 10:08dados relevantes para entregar e modelar no nosso algoritmo de
- 10:12recomendação? Então a decisão ali, né, de a
- 10:16gente começar ali com data, lei, com datapon de criar algumas
- 10:20camadas, origem de dados, né? Raw truster de refine modelar,
- 10:24né? A unificação desses dados, né?
- 10:26Dado o vinho no prêmio, se dado vindo do do Google Analytics, eu
- 10:29acho que foi. É fundamental, né?
- 10:31Não só para esse projeto, mas pelo que a gente evoluiu depois
- 10:35nessa nessa frente. Bacana assim.
- 10:37E o primeiro ponto que eu que eu posso comentar como engenheira
- 10:40de dados que atuou nesse projeto, é que é os d WS.
- 10:44Eles também possuem algumas limitações quando a gente vai
- 10:47atuar com projetos de machine Lane de AI.
- 10:51Principalmente por questões técnicas, os algoritmos que a
- 10:54gente utiliza, eles muitas vezes precisam de um dado carregado em
- 10:58memória, então acaba que o dado é em formato de arquivo.
- 11:03Ali no data Lake, ele fica mais acessível, ao invés de você ter
- 11:06que fazer, por exemplo, consultas jdbc no banco e ficar
- 11:09carregando em memória. Então que muitos.
- 11:12Muitas pessoas fazem quando estão utilizando um DW, é
- 11:14justamente você extrair o dado e salvar no CSV e rodar o modelo.
- 11:18E aí o segundo ponto que eu vejo que foi talvez um dos fatores
- 11:22que contribuiu para o sucesso, né?
- 11:24Desse desse motor, foi a forma como a gente começou AA
- 11:29construir essa arquitetura que viabilizou ele, né?
- 11:32Ou seja, um data Lake, mas não foi bem um data Lake, como você
- 11:36até mencionou aí, o data ponte. É.
- 11:38A nossa ideia era começar como quase um MVP ali, um data Lake
- 11:43pequenininho, focado pra um propósito único.
- 11:47Isso é numa arquitetura simples. Que entrega somente o necessário
- 11:53para o que o motor precisa. Então a gente não vai se
- 11:56preocupar aqui com o data Lake, que vai ter governança robusta,
- 12:01controle de acesso, catálogo de dados, pipelines, né, robustos,
- 12:06que são tolerantes a variações, a variabilidade.
- 12:10Mas a gente vai entregar o que o modelo precisa para a gente
- 12:14validar esse modelo. Então acho que a gente já
- 12:16conseguiu colocar um modelo é em produção muito rápido, né?
- 12:20Foi o que foi. Quanto tempo que a gente
- 12:22conseguiu ter algo funcional? Ah, não há o treinamento modelo
- 12:26foi razoavelmente rápido, a gente conseguiu em em meses
- 12:29teatro e tudo pronto para rodar ele.
- 12:32A disponibilização, inclusive, foi como a gente começou depois
- 12:36a ver como era a melhor forma EE tudo mais, porque a gente
- 12:39disponibilizou de várias maneiras diferentes.
- 12:41Mas eu acho que OA base de tudo isso é quando a gente pensou No
- 12:45No dataput ou no datapoint foi qual que é a mínima arquitetura
- 12:49que a gente conseguiria fazer para ter todos esses dados?
- 12:51Igual eu falei no modelo inicial, era simplesmente
- 12:54compra. Modelo de recomendação tem como
- 12:56objetivo pegar um usuário e recomendar coisas Pra Ele nesse
- 12:59cenário que a gente está trabalhando.
- 13:00Então a gente pegava aí uma compra, ela tinha valor, só que
- 13:04isso não era suficiente. Então, com a criação data ponte,
- 13:06a evolução dessa infraestrutura mínima, a gente começou a
- 13:09trazer. Essas informações relevantes,
- 13:12que antes não estavam disponíveis antes era
- 13:14basicamente binário. O usuário comprou ou não comprou
- 13:17alguma coisa? Quando a gente começa a trazer
- 13:18informações extras, aí o cálculo começa a ficar mais complexo.
- 13:22A gente começa a ter. É um funil de vendas mais
- 13:25definido. O usuário acessou a plataforma,
- 13:27não acesso a plataforma, ele ele procurou por uma categoria, por
- 13:31um produto, por algo semelhante, ele chegou a ver esse produto,
- 13:35ele clicou para adicionar esse produto, esse produto no
- 13:38carrinho, e aí sim, ele comprou. Então tudo isso é um indicativo
- 13:42de um de uma busca, de uma pesquisa, de uma necessidade que
- 13:46existe, inerente AAA ao uso do do usuário ali dentro, que você
- 13:50quer captar e transformar isso num numa.
- 13:53Recomendação efetiva, né? O quanto o usuário quer aquilo?
- 13:56Se ele não quis, porque que ele não quis?
- 13:59Qualquer alternativa que a gente vai trazer, então você quer
- 14:02embutir todos esses dados que você vai trazendo de diversas
- 14:05essas Fontes, que começou sendo basicamente uma estrutura
- 14:08extremamente simples que a gente basicamente copiava do do leitor
- 14:13de House para trazer eventos do do gear, criar agregações sobre
- 14:17as relações. Fazer link com relação à ação
- 14:21que ele tomou, se ele comprou ou se ele não comprou, se ele
- 14:24compra aquilo com frequência não, ou se ele visualiza com
- 14:27frequência não. E se ele acessa o aplicativo ao
- 14:29longo do tempo ou não? Tudo isso acaba sendo um insumo
- 14:33que você vai acabar de alguma forma incorporando ali por lá,
- 14:36dentro da informação do usuário. Ou do produto.
- 14:39Não é à toa, inclusive, que a gente separa e a ter não só as
- 14:42categorias do dos itens procurados, como também dos
- 14:45usuários. O que que o usuário está
- 14:47consumindo é 11 item de informática.
- 14:49É algo de de varejo. O qual é o consumo dele, né?
- 14:54Qual é o grupo que ele se encontra?
- 14:56Em cima disso que você falou, né?
- 14:57Tem 11, coisa que deixou o nosso desafio um pouco mais difícil e
- 15:03até a solução, né? Consequentemente, ficou mais
- 15:06robusta por causa disso. Quando a gente fala de
- 15:08recomendação no universo b to b, né, que foi o nosso caso, é,
- 15:12pelo menos na minha visão, bem mais difícil de se fazer do que
- 15:15no universo b to c, porque é é bem factível pensar que no b to
- 15:20c, né? Para pessoa física, quando você
- 15:22entra no site ou vai na loja, está olhando o mouse ou
- 15:25computador, é razoável pensar que faz sentido eu te recomendar
- 15:30um mousepad, um teclado ou um acessório no b to b?
- 15:34É diferente, né? Não tem essa relação direta
- 15:37entre os produtos. Ou seja, se o meu cliente está
- 15:39me comprando o leite ninho, pode ser que não tenha nenhuma
- 15:42relação com ele querer comprar o toddy ou não, porque ele na
- 15:45verdade está comprando um produto para revenda e não para
- 15:48consumo. Então essas relações entre
- 15:50produtos, entre categorias, fica mais difícil, né?
- 15:54De não são tão explícitas. Então acho que isso deixa esse
- 15:57desafio, né? Dentro desse universo que você
- 15:59falou, ainda mais mais difícil. Eu quero entrar um pouco mais em
- 16:03detalhe, Pablo, nisso que você acabou de falar, né, que eu
- 16:05fiquei bem curiosa em como que é a recomendação, né?
- 16:08Esse desafio da recomendação em marketplaces b to b, né?
- 16:12Já como você disse, né, que é um desafio bem diferente de um b to
- 16:15c mas antes eu só queria reforçar que eu acho que tem um
- 16:17negócio bem legal que vocês foram falando sobre a fundação
- 16:19de dados, né, em como que as coisas evoluíram, né, que
- 16:22realmente foi tomada uma decisão de começar pequeno, né, pra
- 16:26depois ir evoluindo aquela estrutura de dados.
- 16:28Pra ir habilitando o caso de uso mais robusto, como se fosse
- 16:32assim. Isso tem tudo a ver com o que a
- 16:34gente já falou aqui no entre chaves algumas vezes sobre é a
- 16:39fundação, né? A evolução mesmo da fundação de
- 16:41dados e uma arquitetura. Ei, ired, né?
- 16:44Que a gente chama aqui. Claro que eu tenho 11
- 16:47arquitetura, que é a ideal, mas é óbvio também que eu não
- 16:50consigo chegar no que é ideal de primeira, porque senão eu vou
- 16:54ficar evoluindo tecnicamente pela tecnologia, né?
- 16:57Simplesmente sem que o negócio esteja do meu lado para falar
- 17:00assim, ó, eu estou vendo valor, eu estou vendo valor na entrega
- 17:03e pelo que vocês foram falando. Desde o início já tentaram
- 17:07habilitar o valor de ser entregue, claro.
- 17:10No início, talvez foi um valor que foi um MVP, né?
- 17:13Talvez um MVP de verdade, né? Mas foi um valor talvez um pouco
- 17:16menos assertivo do que poderia, mas já foi um valor.
- 17:19E aí, né? Enfim, é aquela coisa, né, que a
- 17:22gente também pode falar que quando eu vou melhorando a minha
- 17:25fundação, eu vou habilitando casos de uso mais complexos.
- 17:29Quando eu vou habilitando casos de uso mais complexos, eu vou
- 17:31vendo possibilidades de melhorar minha fundação.
- 17:33Então isso é acho que é bem legal e tem tudo a ver com muita
- 17:36coisa que a gente já falou aqui no entre chaves.
- 17:38Sobre essa arquitetura, né? EI, Red, né?
- 17:41E é nesse ponto que Eu Acredito que é a razão de que muitos data
- 17:46lakes falham, né? Porque é justamente porque
- 17:48querem começar. É já implementando toda a
- 17:52arquitetura, né? Robusta, com catálogo, com
- 17:55governança, com muitas. Do que é dado, né?
- 17:59Todo mundo de dados, e. Pensando de forma corporativa.
- 18:03E aí você acaba atrasando, né? Muitas das entregas de valor,
- 18:08porque você vai gastar muito tempo ali construindo a fundação
- 18:11antes de validar se essa fundação tá fazendo sentido.
- 18:14Então acho que foi aí que é que eu acho que foi uma decisão
- 18:17acertada de ter começado. Com o datapudo e aí só
- 18:21conceituando. Talvez pra ficar um pouco mais
- 18:23claro, o datapudo. Ele seria um data Lake e focado
- 18:27em um caso de uso. Então ele é ele é um propósito
- 18:29específico. Então normalmente você não vai
- 18:32se preocupar tanto com a robustez, a sua arquitetura com
- 18:36AO data surving, porque você só vai servir um caso de uso.
- 18:40E aí quando você começa a ter mais casos de uso, né?
- 18:44O seu data poodle começa a gerar valor.
- 18:47Você vai ter, naturalmente, usuários pedindo mais dados,
- 18:49querendo implementar mais casos de uso.
- 18:52E aí você é tem o data ponte, que seria um conjunto de data
- 18:56pudles com mais usuários utilizando o seu data pudo.
- 18:59Você precisa se preocupar com governança, catalogação, com
- 19:03modelagem, com variação, com tolerância a falhas.
- 19:07A medida que você vai ingerindo dados até que não não vão ser
- 19:11utilizados de forma imediata. Você começa a se preocupar com
- 19:15self service porque vai ter muitas pessoas consumindo e aí
- 19:19sim você tem o nascimento de um data lei que de forma.
- 19:22Orgânica. Então eu acho que se a gente
- 19:24tivesse caído nessa armadilha, né?
- 19:26De ter, vamos começar um data Lake corporativo para o Martins
- 19:29para poder construir o nosso motor de recomendação.
- 19:31A gente vai ficar talvez um ano trabalhando nisso e não IA ter
- 19:34um motor de recomendação. Funcionando.
- 19:37Que exatamente o que se você descreveu foi a nossa jornada,
- 19:40né? Aqui no Martins, esse modelo de
- 19:42recomendação foi o primeiro grande caso de uso, né, que a
- 19:45gente desenvolveu nessa arquitetura para validar.
- 19:48Deu tanto certo que depois a gente começou a criar outros
- 19:51casos de usos internos, até chegar num momento que a gente
- 19:54falou, ó, agora a gente realmente precisa de uma coisa
- 19:57mais robusta, né? Foi aí que a gente fez, Ah,
- 20:01criou. O projeto do nosso data, lei que
- 20:03a gente estabeleceu, o nosso data lei que de forma oficial,
- 20:06com todos esses pontos que você mencionou, né, de governança e
- 20:09tudo mais, mas foi nasceu, né? Por isso que eu falo que esse
- 20:13projeto ele entregou para a gente é não só o modelo de
- 20:16recomendação, mas todo legado ali do início de uma criação, de
- 20:20uma arquitetura mais Moderna que a gente nos permitiu, né?
- 20:24Trabalhar em vários outros casos de uso dali para frente.
- 20:27Achei muito interessante. Esse era justamente o que eu
- 20:29estava falando no início, né? Da da arquitetura evolutiva.
- 20:32Quando a gente vai vai evoluir na fundação, a gente vai
- 20:34habilitando novos casos de uso, igual o Pablo cabo de falar, né?
- 20:38Quando a gente vai vendo novos casos de uso, a gente vai.
- 20:41Precisando de olhar para a fundação de novo e talvez
- 20:44melhorando ainda mais a fundação, né?
- 20:46Mas eu queria voltar um pouquinho nesse assunto lá do
- 20:50dos algoritmos de recomendação b to b, né?
- 20:52Que eu fiquei bem curiosa em tentar entender um pouco mais
- 20:56desse desafio de como determinar correlações, né?
- 21:00Que não são óbvias. Dentro de produtos que estão
- 21:03sendo comprados por varejistas, queria que vocês contassem um
- 21:06pouquinho mais sobre. Você pode parar pra pensar que,
- 21:09de certa forma, você ainda assim está fazendo uma recomendação?
- 21:12Não tem final, porque o objetivo do varejista também vai ser ter
- 21:17111 venda melhor, né? Conseguir muito que o quem
- 21:20compre nele tenha uma cesta maior, que faça mais sentido
- 21:23nesse ponto, quando você vai é levar isso para dentro do seu
- 21:27modelo, na forma que você vai trabalhar.
- 21:29Ele, o ideal seria que você conseguisse de alguma forma
- 21:32trazer. É essas informações que são
- 21:35tomadas de decisão, pontos de atenção que teriam que ser
- 21:38levados em consideração quando o próprio varejista vai fazer uma
- 21:42pra. A isso você tem que pensar que
- 21:44você quer não o item, não só o item final, mas também é o
- 21:48estoque que eu tenho. Se eu estou fazendo uma compra
- 21:51para pegar algo novo, para para refazer um estoque ou uma compra
- 21:54frequente, qual que é a margem que eu vou ter na minha venda?
- 21:58Então, não, eu estou vendendo para o varejista, mas varejista.
- 22:01Ele tem um objetivo com essa venda, que é ter uma margem
- 22:03menor ou maior, o quanto aquilo sai, onde que ele está situado.
- 22:08Então não é à toa que quando a gente foi lidar muito com isso,
- 22:12colocar esse modelo na rua, a gente efetivamente começou a
- 22:17fazer controles e separações relacionadas à região, grupos
- 22:21AB, pra gente ter uma noção melhor de qual algoritmo ou qual
- 22:26feater que estava performando melhor, porque entre você.
- 22:30Gerar uma predição e avaliação no modelo e o desempenho real do
- 22:33modelo existe uma clara diferença, então a ideia é que
- 22:37você consiga de alguma forma trazer todos esses pontos de
- 22:40interesse, tomada de decisão pra dentro do seu modelo.
- 22:43E nem sempre você vai ter isso tão fácil quanto você teria no
- 22:47seu usuário final, seu usuário de acesso, porque você tem uma
- 22:50informação que você precisa trazer.
- 22:52Que ela não é sua. Quando você vende, você sabe o
- 22:55que o usuário comprou, mas você não tem uma noção direta de como
- 22:58o usuário vende. No caso do do Martins, como e o
- 23:02Martins tem alguns outros pontos de venda, inclusive b to CA
- 23:06gente consegue trazer um pouco dessa informação para dentro,
- 23:09que inclusive serve de insumo para coisas que a gente vai
- 23:12extrapolar e utilizar no b to b, mas a ideia é que você consiga
- 23:15de alguma forma nesses. Treinos, testes e validações e
- 23:20avaliações. Segregar esses grupos de acordo
- 23:24com os objetivos e trazer essas informações.
- 23:26Gerar essa informação extra para o seu produto, para que você
- 23:30gere uma cesta muito mais atrativa, seja para uma
- 23:33reposição de estoque, seja porque um produto tem uma margem
- 23:37maior do que a outra, eles têm 11 custo de venda e um produto
- 23:41final semelhantes, apesar de que talvez ele valha, mas a pena
- 23:44você comprar um do que outro no Martins.
- 23:46Seja porque ele é um produto sazonal, seja porque você está
- 23:49numa região que ele vende mais ou menos.
- 23:52Seja, por exemplo, é muito mais comum você ter vendas de
- 23:55chinelos na praia do que talvez você teria numa região de
- 23:59interior, ou por aí vai, ou num na cidade grande.
- 24:02Todas essas informações tomadas de decisão e de de venda é o que
- 24:06você quer levar ali para dentro do seu modelo.
- 24:08Você comentou do teste AB, né? E eu lembro, teve isso.
- 24:12Mesmo assim, é, dá para você entrar mais em detalhes, como
- 24:15que foi? O que que vocês tentaram
- 24:16validar? Acho que se me lembro bem, eram
- 24:19eram 2 listas, era uma vitrine e modelo.
- 24:23Inicialmente, quando a gente começou a trazer mais
- 24:25informações do uso do aplicativo do do site para para as nossas
- 24:30análises. A gente começou a identificar
- 24:33alguns pontos de interesse. Por exemplo, poucas pessoas
- 24:36chegavam onde inicialmente a gente fazia as recomendações.
- 24:38Então, talvez vamos trazer as recomendações, talvez numa
- 24:41gôndola, num na entrada do Apple, de uma entrada do site,
- 24:46de uma maneira muito mais acessível pro pro usuário final.
- 24:49Mas quando você vai tomar esse tipo de decisão que ela é, de
- 24:53certa forma disruptiva, todo toda a forma como você vai
- 24:56montar um Apple, um aplicativo, do mesmo jeito que você.
- 24:58Você está num supermercado, qual é a.
- 25:01Posição que você vai colocar determinado produto é
- 25:03irrelevante. A mesma coisa acontece no num,
- 25:05num AP e num site. Então como é que você toma essa
- 25:07decisão? Como é que você justifica pegar
- 25:09uma coisa, uma iniciativa de dados nesse nível e falar, tá
- 25:13bom, vamos colocar na home. Do aplicativo, que é
- 25:15literalmente AA cara da sua empresa.
- 25:18No na parte virtual você precisa ter alguma coisa que justifique
- 25:22isso, alguma informação que valorize essa tomada de decisão.
- 25:27E foi aí que a gente começou as análises do teste Abi, porque
- 25:30não adianta fazer uma recomendação que ela é 100%
- 25:32assertiva, mas que você já IA comprar ela de qualquer jeito.
- 25:35Como eu disse, tem um ganho de facilidade, mas não altera no
- 25:39valor final. Não gera 1 BRL a mais de
- 25:42faturamento. Então, se eu vou trazer essa
- 25:45isso pra frente, eu tenho que ter um ganho com isso.
- 25:47Então como é que a gente vai fazer essa valoração?
- 25:50Foi quando a gente começou as questões do teste abrir, separar
- 25:53grupos que sejam significativamente semelhantes e
- 25:56que vão que a gente conseguiria fazer uma análise onde um vai
- 25:59receber uma outra forma de gôndola já existente, feita
- 26:03talvez internamente por especialistas ou serviços
- 26:06terceiros ou. Qualquer outra forma, e esse
- 26:09sistema de recomendação, isso vai dar pra gente ao longo do
- 26:12tempo uma diferença de valoração de qual é o impacto, real,
- 26:16positivo ou negativo? Daquela aplicação.
- 26:20E é exatamente a operacionalização dessa tomada
- 26:22de decisão, inclusive, que viabilizou, depois poder
- 26:25comparar modelos, o meu modelo passado e uma versão mais nova
- 26:28dele é melhor ou pior do que a versão passada.
- 26:30Então o que a gente faz é, gera 2 grupos.
- 26:32Primeiro a gente segmenta de acordo com uma série de
- 26:35características elevantes, seja o tamanho da cesta, o quanto de
- 26:40gastos que os usuários têm, a região que ele tá, qual que é o
- 26:43setor que ele atua, uma série de informações que a gente tem como
- 26:46objetivo gerar grupos AEB que eles são.
- 26:49Populacionalmente semelhantes. Isso significa que se eu
- 26:52colocasse numa sprint inteira, vamos supor 2 sprint, um mês,
- 26:57até 2 meses ali, esses caras ao longo do tempo, eles deveriam
- 27:02ser muito semelhantes. Eles precisam ter consumos
- 27:04semelhantes. Eles têm que estar próximos.
- 27:06Porque o que eu quero é que quando eu colocar um fator de
- 27:09alteração em um desses grupos, a diferença entre eles, quando ela
- 27:12for estatisticamente diferente, ela implica que AA diferença
- 27:16entre os grupos, seja minha gôndola, seja o que eu estou
- 27:18aplicando. É resultado disso e não
- 27:21simplesmente de qual usuário coloquei no grupo A ou no grupo
- 27:23B então a gente leva em consideração, forma os devidos
- 27:28grupos, deixa eles um tempo em paralelo ou pega valores
- 27:30históricos para poder avaliar que os grupos são semelhantes.
- 27:34E a gente começa agora a comparar qual é o impacto real
- 27:38da da nossa gôndola, comparada a outra condola que já existe lá
- 27:42dentro. Mensagem do aplicativo em grupos
- 27:45específicos, em uma parcela menor, até que a gente
- 27:47efetivamente aplique isso no todo.
- 27:49Com isso, depois de um certo tempo, começa se uma análise,
- 27:52quantos produtos novos foram comprados por esses usuários?
- 27:56Quantos produtos novos comprados por esses usuários vieram de
- 28:00dentro desse, desse sistema de recomendação, dessa gôndola que
- 28:03a gente botou lá na frente? Isso permite não só que essa
- 28:06alteração, que talvez seria muito disruptiva de mover a
- 28:09lista para home não afete todos os usuários, mas sim uma parcela
- 28:12que talvez a gente tenha mais noção e que não vai gerar um
- 28:15impacto tão grande, ao mesmo tempo que isso sendo positivo e
- 28:19a gente tenha uma noção complexa disso, a gente consiga um.
- 28:22Publicar isso no resto para garantir que essa melhora vai
- 28:25ser reaproveitada em todos os outros grupos e usuários.
- 28:28Como também avaliar de maneira muito mais palpável qual que é o
- 28:32ganho real que você tem quando você está utilizando esse
- 28:34sistema de recomendação. Porque, como eu disse, nem todo
- 28:37clique que vem ou toda a compra que vem da da gôndola do sistema
- 28:41de recomendação é uma compra. Isso é, no máximo, um indicador
- 28:44de facilidade. Então a minha pergunta é bem
- 28:46nesse caminho aí e eu queria te perguntar, Pablo, justamente
- 28:50sobre os resultados, né, dessa do meu?
- 28:52De fato, porque eu estou entendendo que pelo que o
- 28:55malaguti explicou aqui, o teste AB foi justamente o que
- 28:58possibilitou a gente a medir com um pouco mais de clareza o que
- 29:02que o motor de fato, né? De recomendação influenciou em
- 29:05conversão, né? De venda, então quais foram para
- 29:08os resultados? Enfim.
- 29:09O mais relevante para nós na época, né?
- 29:12Dos testes AB, foi um aumento de 7% na conversão.
- 29:17Então, dentro desse contexto que o que o Mário de falou?
- 29:20Os grupos, né, que tinham ali os modelos mais expostos, né?
- 29:24Em todos os testes eles tiveram essa conversão maior do que os
- 29:29grupos que não recebiam, né? Socorrem dações hoje, né?
- 29:33A gente tem 11 mensuração contínua, né?
- 29:36Desse modelo e a gente vê uma outra médica que a gente olha é
- 29:40quantos produtos novos os clientes estão comprando que são
- 29:44oriundos das da lista recomendada.
- 29:46Ou seja, é um produto que a gente nunca havia comprado, mas
- 29:50comprou porque estava na lista de recomendação.
- 29:53A gente tem hoje, né? Atualmente, em média, um melhor
- 29:56e meio de venda adicional desses produtos.
- 30:00Então, comparativamente a um percentual pequeno em relação ao
- 30:03nosso faturamento total. Mas considero relevante porque é
- 30:06uma venda que vem é, vamos dizer assim, orgânica pelo modelo, né?
- 30:10Não tenho nenhum custo a mais ou nenhum esforço adicional para
- 30:13ter essa venda, então é um valor considerável, fora os ganhos
- 30:17subjetivos, né? Que que a gente não tem uma
- 30:19métrica bem definida para eles, mas que a gente sabe que ajuda
- 30:23no dia a dia. Como esse modelo hoje ele está
- 30:25presente em todos os nossos canais de vendas.
- 30:27Pensa, por exemplo, num vendedor, um representante
- 30:31novado. Ele acabou de de começar no
- 30:33Martins hoje e aí amanhã ele já vai visitar alguns clientes.
- 30:37Aí ele vai lá na mercearia do João e tem lá.
- 30:41Hoje, né, com o nosso marketplace, 200000 produtos
- 30:44para ele oferecer. Por onde ele começa, né?
- 30:46Qual? Como que ele vai começar a
- 30:48atender a mercearia do João? E aí o modelo de recomendação
- 30:52tem grande valor para ele, porque ele ali já sai de cara
- 30:55com 3050 itens para ele começar a oferecer para o João.
- 31:00Sabendo que esses 30 itens são os mais prováveis do João
- 31:03comprar, né? Então traz essa facilidade, né?
- 31:06Que é subjetivo. A gente não consegue mensurar,
- 31:08mas a gente sabe que tem um grande valor.
- 31:10Então esses foram os 10 aí que a gente mensurou, né?
- 31:13A época do teste e que a gente mensurou ainda hoje.
- 31:16É assim, eu acho que talvez esse seja um dos fatores que também é
- 31:20contribuíram para o sucesso. Do do motor, né?
- 31:24Que é muito mais do que ter bons resultados.
- 31:26É você saber os resultados, né? Então eu lembro que o produto já
- 31:29nasceu com essa preocupação e eu lembro que a gente tinha um
- 31:33dashboard funil de vendas. E aí eu queria entender como que
- 31:36evoluiu esse monitoramento, o que que vocês têm hoje pra poder
- 31:40continuar a validar esse essa entrega de valor?
- 31:43A gente precisou, né, começar a traquear mais eventos dentro do
- 31:48nosso aplicativo e sites, né? Então, por exemplo, a gente
- 31:51começou AA criar eventos, né? Para saber quando o cliente
- 31:55visualizava a vitrine ou quando ele clicava na vitrine, quando
- 31:58ele entrava no produto pela vitrine e tudo mais.
- 32:01E aí a gente começou a ter outras variações de de
- 32:04recomendações nessas vitrines, né, que é ali na entrada do do
- 32:09nosso aplicativo. Então isso resultou No No que a
- 32:11gente chamou hoje de dash de vitrines.
- 32:13Então é um dashboard que a gente cruza todos esses eventos, né,
- 32:17onde o que o cliente faz dentro do aplicativo, mais
- 32:20especificamente nas vitrines, com os resultados de vendas, né,
- 32:24se o cliente comprou ou não, ou quando ele comprou valores e
- 32:27tudo mais, então essa hoje é a nossa bússola, né?
- 32:29Então a gente consegue ver uma linha do tempo, do faturamento
- 32:33total dessas vitrines, né? Quanto está faturando?
- 32:35Um total, o quanto a gente fatura só de produtos novos,
- 32:39quantos que que a gente tem e consequentemente a gente
- 32:41consegue então mediar essa. Conversão, né?
- 32:44De relação de eclicks versus compras.
- 32:47A gente divide isso por estado o negócio.
- 32:50Então a gente consegue ver quando na vitrine ou quando a
- 32:54recomendação está está performando melhor em estado em
- 32:56relação ao outro, ou para um tipo de negócio de cliente em
- 32:59relação ao outro. Então hoje, né, esse é o é o
- 33:02principal principal fonte ali que a gente não só nós de dados,
- 33:05né, mas o time de marketing também.
- 33:08Monitora com frequência pra gente acompanhar, né?
- 33:11Esses resultados EEA performance, da dos modelos.
- 33:14E aí a gente tem também, né, outros déficits mais técnicos,
- 33:18né, que fica com o nosso time para medir alguns parâmetros ali
- 33:21mais específicos tecnicamente do modelo, por exemplo, a
- 33:24diversidade das recomendações, né?
- 33:26O quão diverso estão sendo as recomendações que a diversidade
- 33:30basicamente é? Uma medida que a gente tem aqui,
- 33:33de quantas categorias ou subcategorias distintas estão
- 33:36indo numa recomendação, como nosso subjetivo é, é dar mais
- 33:40opções para o cliente, né? De de produtos que ele.
- 33:43Não, não só apresentar produtos que ele já comprou, né?
- 33:46Mas colocar coisa nova é uma métrica que é importante aqui
- 33:49pro time acompanhar, né? Se essa métrica está estável ao
- 33:52longo do tempo ou se ela está saindo ali dentro do que a gente
- 33:55espera. E aí o pessoal vai fazer nesses
- 33:58ajustes técnicos, no modelo. Então a gente tem algum um
- 34:01déficit, né, com essas métricas mais técnicas também.
- 34:03Uma outra coisa que eu fiquei bem curiosa aqui, vocês até, né?
- 34:06No nosso decorrer aqui da conversa você falou, Pablo, que
- 34:10essa fundação toda desse caso de uso, né?
- 34:13Do? Do do motor de recomendação
- 34:14habilitou novos casos de uso de inteligência artificial.
- 34:18Dentro do Martins e, claro, aqui no entre chaves a gente tem
- 34:21falado muito sobre LLMSE agenerativa, né?
- 34:25EEA gente aqui na dti mesmo também tem visto muito a
- 34:30demanda. Crescendo dos nossos clientes,
- 34:33né? De poxa, agora eu quero casos de
- 34:36uso de agenerativa também. Aí no Martins vocês também estão
- 34:40vendo isso? E você?
- 34:41E mais, né? Você acha que essa fundação que
- 34:44foi criada nessa época e, claro, evoluída e ao longo do tempo,
- 34:47foi importante para esse momento que estamos hoje, né?
- 34:50Da do boom aí das e agenerativas.
- 34:53Sim, foi, foi. Bem importante, né?
- 34:55E como eu disse, só habilitou a gente a ter novos casos de uso,
- 34:59né? Tem uma estrutura ali mais
- 35:01robusta de data Lake de ferramentas, né?
- 35:03Inclusive a gente usa muito data brics foi a ferramenta que a
- 35:06gente começou a usar por esse projeto, inclusive é
- 35:10interessante, hoje a gente tem 11 assistente de inteligência
- 35:13artificial, né? Baseado em e agenerativa, que a
- 35:16gente chama aqui de Mari, que ela atende, tem uma parte que
- 35:19atende dos nossos clientes diretamente e tem uma interface
- 35:22que. Conversa com nossos vendedores
- 35:25dentro do Olivia, WhatsApp e uma das thules, né?
- 35:28Dessa, dessa da Mari, né? Que se a gente pensar que ela é
- 35:31um sistema ali de de agentes, de de inteligência oficial, uma das
- 35:35ferramentas que a que esses agentes usam é o modelo de
- 35:38recomendação. Então quando o cliente está
- 35:40conversando querendo comprar e diretamente com o nosso agente
- 35:43de IAE, ele pede uma recomendação ou o próprio agente
- 35:46vai recomendar alguma coisa adicional ao pedido, ele aciona,
- 35:50né? Essa essa tour que lê
- 35:52diretamente dessa. Ações geradas pelo pelo motor de
- 35:55recomendações. Então, está totalmente integrado
- 35:58também com essas jornadas que a gente tem hoje de e a
- 36:01generativa. Bom, gente, acho que foi bem
- 36:03legal esse papo. A gente conheceu bastante aí
- 36:06sobre o case, né? Do motor de recomendações do
- 36:08Martins, como ele habilitou outros cases que também foram
- 36:12bem relevantes, né, para o Martins?
- 36:14Fenomenal assim. Você vê na prática, né?
- 36:17Um data Lake surgindo de forma orgânica, exato, de forma
- 36:20saudável e que possibilitou todos esses casos de.
- 36:23E ainda acredito que tenha colocado, né?
- 36:25O Martins é a um passo à frente. Quando veio o boom da da com
- 36:30certeza das e agenerativas, né? Que foi depois, né?
- 36:33Do nascimento desse projeto. Bom, então é isso gente.
- 36:37Muito obrigada, Pablo. Obrigada malaga, obrigada.
- 36:41Até a próxima pessoal, tchau, tchau, tchau, tchau.
- 36:43Obrigado pessoal, até mais.