O blog da AWS

Transformando a Experiência do Usuário: Como a Natura revolucionou a Busca de Produtos online para encantar suas Consultoras e Representantes

Por Marcelo Fabricanti, Cloud Platform Engineer & DevOps Specialist na Natura; Eli Melo, Platform Engineer dentro do COE DevOps da Natura; Breno Silva, Arquiteto de Soluções na AWS e Caio Monteiro, Principal Customer Solutions Manager na AWS.

A Natura &Co América Latina é um conglomerado líder no setor de beleza e cosméticos, com uma presença significativa e impactante na região. Composta por marcas renomadas como Natura e Avon, o grupo abrange uma ampla gama de produtos e serviços, desde cuidados com a pele e cabelos até fragrâncias e maquiagem.

Reconhecida não apenas por sua excelência em produtos de alta qualidade, mas também por seu compromisso com a sustentabilidade e responsabilidade social, a empresa se destaca por seu papel ativo na promoção da beleza consciente e no empoderamento de comunidades ao redor do mundo.

O grupo conta com aproximadamente 16 mil colaboradores distribuídos em seus 18 países de atuação. Além das cinco fábricas, mantêm 19 centros de distribuição estrategicamente localizados.

Essa estrutura robusta tem como objetivo atender às mais de 900 lojas próprias e franquias, bem como aos 4,1 milhões de Consultoras e Representantes, garantindo um serviço de excelência em toda a sua cadeia de suprimentos e atendimento ao cliente.

O Desafio

Com a integração de sistemas entre as marcas Natura e Avon, juntamente com o movimento de expansão para novos países, nossa equipe de Tecnologia está constantemente dedicada a buscar soluções mais eficientes. O foco é aprimorar a experiência dos nossos serviços, ao mesmo tempo em que buscamos reduzir custos operacionais.

A solução anterior, até então empregada nas aplicações de venda direta da Natura &Co América Latina, consistia em uma busca de texto simples, que procurava por trechos nos nomes dos produtos. Esta abordagem não levava em conta as características dos produtos, não era sugestiva e nem corrigia erros de ortografia. Simplesmente não atendia mais às expectativas dos consumidores, diante das tecnologias que temos disponíveis atualmente.

Para ilustrar a questão de usabilidade, na situação mencionada, se alguém buscasse por “kaiake” ou ainda algum outro correspondente fonético (ex: “caiaque”), nenhum produto seria exibido como resultado da busca.

Outro cenário frequente que começamos a notar é quando alguém não tem um produto específico em mente, mas está buscando por produtos dentro de uma categoria, como, por exemplo, shampoo. Se alguém inserisse qualquer variação do termo cadastrado em nossa base de produtos (como xampu, shampu, schampoo, etc.), mais uma vez nenhum produto seria exibido. Você não odeia quando isso acontece?

E este cenário se repetia em diversas outras situações: sabão, cabelos secos, perfumes, entre outros… o mecanismo não conseguia entender nem plurais!

Isso se deve basicamente à incapacidade do mecanismo anterior de compreender a intenção subjacente por trás da busca da pessoa, que além de prejudicar a experiência da busca, em alguns casos, afetava também a taxa de conversão dos produtos buscados.

A solução

Nesse contexto, tornou-se essencial encontrar uma solução inteligente capaz de reconhecer as diferentes variações de palavras usadas para descrever um produto específico, ou seja, capaz de compreender a intenção do usuário por trás da busca. Isso significa que, mesmo diante de uma busca por um termo não exato (sinônimo, foneticamente similar, raiz da palavra similar, contexto similar, etc.), seja possível encontrar o produto cadastrado com base em seu nome ou descrição.

Sendo assim, para alcançar este objetivo, percebemos a necessidade de aplicar algoritmos de Inteligência Artificial (IA) sobre a base de dados dos produtos, habilitando as buscas em cima destes dados previamente processados.

A solução foi encontrada em algoritmos já existentes, como busca fonética, busca vetorial e geração de tags por meio de Grandes Modelos de Linguagem (LLM), possibilitando uma busca que poderia ser considerada, de certa forma, inteligente.

Após analisarmos várias soluções disponíveis no mercado, decidimos construir uma solução in-house que se baseia principalmente nos seguintes serviços:

Amazon OpenSearch

Um dos requisitos estabelecidos para a futura solução foi que ela precisaria contar com um banco de dados eficiente, capaz tanto de armazenar os dados cadastrais dos produtos quanto proporcionar os retornos desejados em eventuais buscas.

Com a análise de várias opções disponíveis, concluímos que o Amazon OpenSearch apresentava as características ideais para atender a esses requisitos. Ele não apenas oferece flexibilidade no armazenamento dos dados cadastrais dos produtos, mas também possibilita a aplicação de uma variedade de algoritmos de Machine Learning (ML), permitindo assim a obtenção de buscas fonéticas, vetoriais e outras.

Após os testes iniciais, constatamos que a junção dessas capacidades alcançou o resultado esperado, e aliado ao fato deste ser um serviço gerenciado pela AWS, o torna muito fácil de ser instanciado de uma maneira segura (criptografia), altamente disponível e tolerante a falhas, devido ao uso de replicas dos elementos e dados, em outras zonas de disponibilidade (Multi-Availability Zones).

Amazon Bedrock

Com o Bedrock, além de acessarmos uma variedade de Modelos de Linguagem (LLMs) disponíveis, também podemos aproveitar as integrações nativas com outros serviços da AWS, que simplifica a operação da solução.

Adicionalmente, através dos modelos de LLM, foi possível adicionar termos (na forma de tags), relacionando os produtos cadastrados, com termos contextualmente pertencentes. Exemplo: relacionar o termo “cabelo” com um produto que contenha o termo “shampoo”.

Amazon Lambda

E para terminar, nossa solução conta com o AWS Lambda, que assim como o Bedrock, oferece uma abordagem serverless, o que significa que podemos executar nosso código sem precisar gerenciar servidores, escalabilidade automática e pagar apenas pelo tempo de execução. Isso nos proporciona uma infraestrutura mais flexível e reduz custos operacionais.

Visão completa da solução

Os Resultados

Desde que implementamos a solução, notamos não apenas um incremento no número de resultados obtidos pela busca, mas também uma aprimorada precisão desses resultados. Abaixo temos alguns números (computados, em média, sobre cada dia com o novo sistema de busca):

205k Buscas com produtos adicionados pelo novo mecanismo
54k Buscas com retornos (retornariam 0 produtos sem o novo mecanismo)
99% de buscas com produtos relacionados, adicionados ao retorno

Com base nos dados, podemos concluir que o novo mecanismo de busca não só inclui produtos adicionais, como também gera retornos onde, em muitos casos, nenhum produto seria retornado. Isso resulta em um aumento significativo na probabilidade do usuário adicionar produtos no carrinho, o que consequentemente aumenta a possibilidade de conversão.

Abaixo temos um gráfico, exibindo a evolução da eficiência da busca, com relação a inclusão de itens no carrinho.

Em relação aos custos, fica claro que há um custo adicional envolvido em comparação com o mecanismo anterior, que consiste em uma busca simples sobre a própria base de dados da aplicação de venda direta, que está on-premises. Entretanto, a nova solução tem se revelado viável, uma vez que, sendo primariamente serverless, é cobrada apenas pelo consumo real (pay as you go), e não acarreta os mesmos custos operacionais que teríamos on-premises (energia, manutenções, etc).
O cluster de OpenSearch foi otimizado com classes de máquinas pequenas, e mesmo assim obtivemos uma performance satisfatória para o volume de dados que temos atualmente (~50.000 produtos).

Além disso, ao analisarmos o desempenho do mecanismo de busca, notamos que, em média, as consultas feitas com o novo mecanismo são concluídas em menos de 50 milissegundos. Isso indica não apenas melhorias funcionais, mas também um ganho considerável de performance em comparação com o sistema de busca anterior. O gráfico a seguir ilustra a comparação de desempenho (tempo de resposta) entre o sistema de busca anterior e o atual.

Com base no gráfico exibido anteriormente, também é possível notar uma maior estabilidade nos tempos de resposta entregues ao usuário final.

Depoimentos

Aqui na Natura &Co América Latina, valorizamos muito a proximidade com nossas Consultoras e Representantes, pois reconhecemos que elas são a verdadeira base da nossa empresa e da nossa vasta rede, que hoje conecta mais de 6 milhões de pessoas ao redor do mundo.

Foi por meio delas que a equipe de Tecnologia ficou ciente de um problema com a busca de produtos. Ao nos compararmos com mecanismos de outros players do mercado, frequentemente o nosso não encontrava resultado algum, o que é muito frustrante.

Este case específico me gerou bastante motivação em fazer parte, pois logo percebi que seria uma ótima oportunidade para começarmos a moldar a empresa para uma crescente utilização de Generative AI, um tema muito discutido atualmente e que foi amplamente explorado no AWS re:Invent 2023.

Hoje estou muito contente em ter criado algo de relevante que impacta positivamente a vida de muitas pessoas que usam nossos sistemas diariamente. 

Marcelo Fabricanti, Sr Cloud Platform Engineer & DevOps, Natura &Co Latam

Ao exercer minhas atividades na Natura, é possível notar, de fato, que esta empresa dedica muitos esforços para promover uma cultura saudável de sustentabilidade, inclusão e respeito às pessoas e ambiente que as cercam.

Esta cultura, certamente, é o que impulsiona o cuidado com nossas consultoras e consumidores finais. Tal cuidado, certamente, é refletido na forma como buscamos entender e solucionar os problemas que cercam o dia a dia destas pessoas, que são tão especiais para esta companhia.

O caso aqui apresentado, foi muito permeado por este mindset de encontrar um caminho que pudesse possibilitar uma experiência melhor e mais eficiente para as pessoas que desejam encontrar algo, e que, em alguns casos, poderiam ficar frustradas ao não conseguirem.

Eli Melo, Sr Cloud Platform Engineer & DevOps, Natura &Co Latam

Sobre os autores

Marcelo Fabricanti tem 17 anos de experiência em TI, e está na Natura há 14 anos. Ocupa o cargo de Cloud Platform Engineer & DevOps Specialist e é responsável por liderar o desenvolvimento da Internal Development Plataform (IdP) da Natura &Co Latam, denominada Amazônia. Também é protagonista na jornada de nuvem da companhia apoiando na modernização das tecnologias empregadas e na consolidação da cultura DevOps.
Eli Melo tem 15+ anos de experiência atuando na área de tecnologia. Atualmente, tem grande inclinação para todos os temas que envolvam desenvolvimento/arquitetura de aplicações, exercendo, no momento presente, o cargo de Platform Engineer dentro do COE DevOps da Natura.
Breno Silva é Arquiteto de Soluções na AWS, atendendo o setor Enterprise. Atuou com soluções para clientes de CPG, varejo, manufatura e automotivo. Faz parte de comunidades de Cyber-Security e de IoT. No tempo livre gosta de automatizar sua casa, tocar guitarra e praticar esportes ao ar livre.
Caio Monteiro é Principal Customer Solutions Manager, atendendo o setor de Enterprise e o segmento de varejo.