Use Case
Alcançar recomendações de produtos diversificadas
Paulo Maia · 25 de maio de 2022
Neste artigo, aprenderá sobre alguns exemplos de processos de decisão que pode utilizar em sistemas de recomendação: consegue imaginar uma forma de recomendar produtos menos populares para melhorar o seu negócio? Verá como!
O Caso de Uso
Imagine-se a construir uma plataforma MOOC (como Udemy/Coursera). O seu CEO pretende aumentar o envolvimento e a recorrência dos alunos na plataforma, e quer conhecer os cursos preferidos para cada aluno.
A sua equipa de Data Scientists, após análise, decide construir um modelo que prevê a afinidade que cada utilizador tem com cada curso, e implementar um processo de decisão acima deste. A sua equipa de marketing consegue enviar um número fixo de newsletters por semana com slots limitados, dos melhores cursos para cada utilizador, sem custo associado.
Dados
As plataformas MOOC, sendo serviços online, conseguem facilmente gerar muitos dados de utilizador sem esforço significativo de aquisição. Para este exemplo, as características mais relevantes são:
- Pessoa: aluno e as suas características, como idade, localização, interesses, lacunas de conhecimento, ...
- Produto: curso e os seus metadados (categoria, duração, preço, área de conhecimento)
- Interatividade utilizador-curso (cliques noutros cursos)
- Indicadores de Mercado Externo: qual é a popularidade de cada área e qual é a cobertura deste tipo de conteúdo nos serviços dos concorrentes
Modelo
O foco deste artigo não é explorar fontes de dados, portanto, considere-se que temos um modelo que utiliza estes dados.
Existem três grupos principais de modelos para sistemas de recomendação: baseados em conteúdo, filtragem colaborativa e híbridos. Na NILG.AI, construímos algoritmos baseados em conteúdo para muitos dos nossos clientes, uma vez que permitem comparar produtos pelas suas características, reduzindo o cold start em produtos novos.
Para mais detalhes ao comparar estes tipos de modelos, recomendamos um artigo aprofundado como este.
Processo de Decisão
Passando ao tema principal do artigo: como passa de uma lista de afinidades por utilizador para uma recomendação real nas newsletters? Existem várias opções para criar a newsletter final:
Abordagens baseadas em regras:
- Este é tipicamente o primeiro passo em organizações que não utilizam machine learning: por exemplo, ordenar cursos para cada utilizador com base na popularidade geral nas áreas em que manifestou interesse.
- Vantagens: fácil de implementar, pode adicionar conhecimento empresarial explicitamente
- Desvantagens: não personalizado. As regras implementadas também levam a uma dependência em alterá-las ao longo do tempo, se o negócio evoluir.
Recomendar os Top-K cursos a cada aluno (Curso para Aluno).
- Neste método, cada aluno recebe a recomendação dos top-K cursos para ele, de acordo com a afinidade calculada.
- Vantagens: maximizamos as taxas de abertura.
- Desvantagens: alguns cursos podem não estar no topo de qualquer utilizador, alcançando baixa visibilidade. Isto acontece também com cursos novos, que não receberão tanta atenção
Recomendar os Top-K alunos a cada curso (Aluno para Curso).
- Nesta estratégia, cada curso é atribuído aos top-K alunos, de acordo com a sua afinidade.
- Vantagens: garantimos que cada curso recebe um número relevante de pistas. Esta é uma abordagem mais orientada ao negócio
- Desvantagens: a taxa de abertura geral por utilizador pode ser reduzida.
Balanceamento de urgência entre afinidade individual e geral
- Nesta estratégia, calcula-se quanto se perde se não enviar um curso a um utilizador. Isto baseia-se, por exemplo, na diferença entre a afinidade e a afinidade máxima do restante utilizadores. A afinidade máxima é o melhor que pode fazer para esse utilizador. Ao recomendar correspondências onde a diferença entre afinidade e afinidade máxima é maior, esse utilizador é o mais relevante para o curso.
- Vantagens: promove uma distribuição melhor de pistas entre cursos.
- Desvantagens: podemos estar a perder as correspondências principais.
Recomendar cursos aleatoriamente
- Nesta estratégia, recomenda cursos aleatoriamente (ou semi-aleatoriamente, dentro de um certo grupo). Para melhorar continuamente o seu modelo, e expor o utilizador a recomendações inovadoras, pode ser uma estratégia viável em percentagem menor das recomendações, exceto se prejudicar significativamente as suas vendas.
- Vantagens: mais diversidade para aprendizagem do algoritmo.
- Desvantagens: recomendações menos relevantes.
Não há uma regra efetivamente melhor: uma abordagem que temos seguido no passado foi utilizar uma abordagem híbrida, onde combina secções da newsletter utilizando diferentes estratégias. Precisa testar estas proporções em diferentes Testes A/B.
Portanto... faz sentido que possa acabar por recomendar produtos menos populares para melhorar o seu negócio: está a dar visibilidade a cursos menos populares, impedindo que caiam num ciclo de retroalimentação negativo. Se os cursos raramente são recomendados, não recebem muitas vendas/cliques. Se não recebem muitas vendas/cliques, raramente são recomendados!
Avaliação do Modelo
Para medir se o modelo está a funcionar bem, para além das métricas técnicas (Lift, ROC AUC, Average Precision, ...) existem alguns KPIs empresariais que pode medir. Estes KPIs, para este tipo de negócios, são tipicamente baseados em sinais de feedback positivo, como taxas de clique e vendas. Alguns são de curto prazo, mas geram um sinal de intenção menos relevante (como cliques).
Por exemplo, pode focar-se em:
- Centrado no utilizador: como cliques por newsletter e taxas de cancelamento de subscrição.
- Centrado no negócio: taxas de clique por curso e exposição do curso. A exposição do curso é uma medida da diversidade das recomendações enviadas. Se existir uma distribuição onde os cursos inicialmente mais populares recebem mais exposição, mas os restantes também recebem alguma, isto será destacado nesta métrica.
Tenha em consideração que, enquanto alguns KPIs podem aumentar, outros podem diminuir: por exemplo, pode aumentar dramaticamente a taxa de exposição dos cursos mas diminuir a experiência geral: isto aconteceria se recomendasse um curso aleatoriamente, por exemplo.
Utilizando estratégias como recomendações Aluno para Curso, deve estar a melhorar os seus KPIs centrados no negócio e a diminuir os seus KPIs centrados no utilizador, comparado com uma linha base. Por outro lado, Curso para Aluno é uma abordagem mais centrada no utilizador. Há sempre um compromisso que precisa considerar e discutir com as equipas de negócio.
Testes A/B
Relativamente às Estratégias de Testes A/B: precisará de experimentar com a proporção de cada tipo de estratégia se pretender utilizar a estratégia híbrida mencionada acima. O número de grupos deve ser dependente do número de utilizadores ativos que tem e do tempo que pretende executar estas experiências.
Note que em muitos casos, existe um orçamento associado à recomendação de cursos (por exemplo, pode apenas recomendar N cursos por semana, devido a um número máximo de vendas, causado por problemas de licenças digitais). Neste caso, o Teste A/B pode levar a conclusões não fiáveis devido ao viés de canibalização: as recomendações numa estratégia estão a influenciar as outras, violando as regras do Teste A/B padrão. Falaremos mais sobre isto numa próxima publicação!
Conclusões
Há muito a fazer depois de ter uma previsão de quanto um aluno gosta de um certo produto. Cabe aos Data Scientists ajudar a definir estes constrangimentos, juntamente com o resto da equipa. Com uma enorme diversidade de abordagens a seguir, realmente não há uma "melhor solução". Deve iterar rapidamente para gerar valor, enquanto executa continuamente atividades de investigação e desenvolvimento e monitoriza o desempenho da abordagem atual.
Lembre-se que antes de mergulhar nas complexidades da construção de recomendações personalizadas, é igualmente crucial ter um eCommerce sólido. Recomendamos o nosso parceiro Pipecodes caso procure melhorar o seu eCommerce.
Esta é a solução que precisa? Se sim, contacte-nos. Caso contrário, contacte-nos mesmo assim, e encontremos uma solução melhor em conjunto!
