O blog da AWS

Aumente o engajamento online com conteúdo esportivo personalizado

 

Esta é uma postagem do convidado Mark Wood da Pulselive. Em suas próprias palavras, “A Pulselive, com sede no Reino Unido, é um orgulhoso parceiro digital de alguns dos maiores nomes do esporte”.

 

Na Pulselive, criamos experiências imperdíveis para fãs de esportes; seja o site oficial da Copa do Mundo de Críquete ou as aplicações iOS e Android da Premier League inglesa.

Um dos principais pontos que nossos clientes avaliam é o engajamento dos fãs com o conteúdo digital, como vídeos. Mas até recentemente, os vídeos exibidos para cada fã eram baseados em uma lista daqueles publicados mais recentemente, não era personalizada.

As organizações esportivas estão buscando entender quem são seus fãs e o que eles desejam. A riqueza dos dados de comportamento digital que podem ser coletados para cada fã conta uma história de como eles são únicos e se engajam com os conteúdos. Com base no aumento dos dados disponíveis e na crescente presença de machine learning (ML), nossos clientes solicitaram que a Pulselive fornecesse recomendações personalizadas de conteúdo.

Nesta postagem, compartilhamos a experiência de adicionar o Amazon Personalize à nossa plataforma como novo mecanismo de recomendação e o modo pelo qual aumentamos o consumo de vídeo em 20%.

Implementação do Amazon Personalize

Antes que pudéssemos começar, a Pulselive tinha dois desafios principais: não tínhamos nenhum cientista de dados na equipe e precisávamos de uma solução que pudesse ser compreendida por nossos engenheiros com pouca experiência em ML e que ainda produzisse resultados mensuráveis. Consideramos o uso de empresas externas para ajudar (alto custo), usando ferramentas como o Amazon SageMaker (ainda uma considerável curva de aprendizado) ou o Amazon Personalize.

Por fim, escolhemos usar o Amazon Personalize por vários motivos:

  1. Barreira de entrada era baixa, técnica e financeiramente.
  2. Poderíamos realizar rapidamente um teste A/B para demonstrar o valor de um mecanismo de recomendação.
  3. Poderíamos criar uma prova de conceito (PoC) simples com o mínimo de interrupção no site existente.
  4. Estávamos mais preocupados com o impacto e a melhoria dos resultados do que com uma compreensão clara do que estava acontecendo por trás das cortinas do Amazon Personalize.

Como qualquer outro negócio, não podíamos arcar com um impacto negativo em nossas operações diárias, mas ainda precisávamos da confiança de que a solução funcionaria em nosso ambiente. Portanto, iniciamos com o teste A/B de uma PoC que poderíamos preparar e rodar em questão de dias.

Trabalhando com a equipe do Amazon Prototyping, reduzimos uma gama de opções para nossa primeira integração a uma que exigiria alterações mínimas no site e poderia ser facilmente validada com um teste A/B. Depois de examinar todos os locais em que o usuário recebe uma lista de vídeos, decidimos que reclassificar a lista de vídeos para assistir em seguida seria o mais rápido para implementar conteúdo personalizado. Para esse protótipo, usamos uma função AWS Lambda e o Amazon API Gateway para prover uma nova API que interceptaria a requisição de mais vídeos e os reclassificaria usando a API GetPersonalizedRanking do Amazon Personalize.

Para ser considerado bem-sucedido, o experimento precisaria demonstrar melhorias estatisticamente significativas no total de visualizações dos vídeos ou na porcentagem de conclusão. Para tal, precisaríamos testar em um período de tempo longo o suficiente para garantir que cobríssemos dias com vários eventos esportivos e dias mais tranquilos sem partidas. Esperávamos eliminar qualquer comportamento que dependesse da hora do dia ou de uma partida ter sido disputada recentemente por meio de testes com diferentes padrões de uso. Definimos um período de 2 semanas para coletar os dados iniciais. Todos os usuários fariam parte do experimento e seriam designados aleatoriamente para o grupo de controle ou para o grupo de teste. Para manter o experimento o mais simples possível, todos os vídeos fariam parte do experimento. O diagrama a seguir ilustra a arquitetura da nossa solução.

 

 

Para começar, precisávamos construir uma solução no Amazon Personalize que nos fornecesse o ponto de partida do experimento. O Amazon Personalize requer um conjunto de dados de interações usuário-item para então definir uma solução e criar uma campanha de recomendação de vídeos aos usuários. Atendemos a esses requisitos criando um arquivo CSV contendo um registro de data/hora, ID de usuário e ID de vídeo para cada visualização do vídeo ocorrida durante várias semanas de uso. O upload do histórico de interações para o Amazon Personalize foi um processo simples e pudemos então testar imediatamente as recomendações no Console de Gerenciamento da AWS. Para treinar o modelo, usamos um conjunto de dados de 30.000 interações recentes.

Para comparar as métricas do total de vídeos visualizados e a porcentagem de conclusão de vídeo, criamos uma segunda API para registrar todas as interações de vídeo no Amazon DynamoDB. Essa segunda API resolveu o problema de informar ao Amazon Personalize as novas interações por meio da API PutEvents, o que ajudou a manter o modelo de ML atualizado.

Rastreamos todas as visualizações de vídeo e os prompts que geraram visualizações para todos os usuários no experimento. Os prompts de vídeo incluíam links diretos (por exemplo, de mídias sociais), links de outra parte do site e links de uma lista de vídeos. Cada vez que um usuário visualizava uma página de vídeo, era apresentada a lista atual de vídeos ou a nova lista reclassificada, dependendo se eles estavam no grupo de controle ou teste. Iniciamos nosso experimento com 5% do total de usuários no grupo de teste. Quando nossa abordagem não mostrou problemas (nenhuma queda óbvia no consumo de vídeo ou aumento nos erros de API), aumentamos para 50%, com os usuários restantes atuando como o grupo de controle e começamos a coletar dados.

Aprendendo com nosso experimento

Após duas semanas de testes A/B, extraímos os KPIs coletados do DynamoDB e comparamos as duas variantes que testamos em vários KPIs. Optamos por usar alguns KPIs simples para este experimento inicial, mas os KPIs para outras organizações podem variar.

Nosso primeiro KPI foi o número de visualizações de vídeo por usuário por sessão. Nossa hipótese inicial era que não veríamos mudanças significativas, uma vez que estávamos apenas reclassificando uma lista de vídeos; no entanto, medimos um aumento nas visualizações por usuário em 20%. O gráfico a seguir sumariza as visualizações de vídeo para cada grupo.

 

 

Além de medir a contagem total de visualizações, queríamos ter certeza de que os usuários estavam assistindo aos vídeos na íntegra. Rastreamos isso enviando um evento para cada 25% do vídeo que um usuário visualizou. Para cada vídeo, descobrimos que a porcentagem média de conclusão não mudou muito com base no fato do vídeo ter sido recomendado pelo Amazon Personalize ou pela visualização da lista original. Em combinação com o número de vídeos visualizados, concluímos que o tempo geral de visualização aumentou para cada usuário quando apresentado a uma lista personalizada de vídeos recomendados.

Também rastreamos a posição de cada vídeo na seção “vídeos recomendados” para os usuários e qual item eles selecionaram. Isso nos permitiu comparar a classificação de uma lista personalizada com uma lista ordenada por data de publicação. Descobrimos que não houve muita diferença entre as duas variantes, o que sugeriu que os usuários provavelmente selecionariam um vídeo visível na tela em vez de rolar para ver a lista inteira.

Depois de analisarmos os resultados do experimento, apresentamos ao cliente a recomendação de habilitar o Amazon Personalize como o método padrão de classificação de vídeos no futuro.

Lições aprendidas

Aprendemos as seguintes lições em nossa jornada, as quais podem ajudá-lo na implementação de sua própria solução:

  1. Reúna um histórico de dados de interações usuário-item; usamos cerca de 30.000 interações.
  2. Concentre-se em dados históricos recentes. Embora a primeira intenção possa ser obter o máximo de dados históricos possível, as interações recentes são mais valiosas do que as mais antigas. Se você tiver um conjunto de dados muito grande de interações históricas, pode-se filtrar as interações mais antigas para reduzir o tamanho do conjunto de dados e o tempo de treinamento.
  3. Certifique-se de fornecer a todos os usuários um ID consistente e exclusivo, usando uma solução de SSO ou gerando IDs de sessão.
  4. Encontre um lugar em seu site ou aplicação onde você possa executar um teste A/B, reclassificar uma lista existente ou exibir uma lista de itens recomendados.
  5. Atualize sua API para invocar o Amazon Personalize e obter a nova lista de itens.
  6. Realize u, teste A/B e aumente gradualmente a porcentagem de usuários no experimento.
  7. Instrumente e faça medições para que você possa entender o resultado de seu experimento.

Conclusão e etapas futuras

Ficamos entusiasmados com nossa primeira incursão no mundo do ML com o Amazon Personalize. Descobrimos que todo o processo de integração de um modelo treinado no fluxo de trabalho era incrivelmente simples; e gastamos muito mais tempo nos certificando de que tínhamos os KPIs e a captura de dados certos para provar a utilidade do experimento do que implementando o Amazon Personalize.

No futuro, desenvolveremos os seguintes aprimoramentos:

  1. Integrar o Amazon Personalize em todo o nosso fluxo de trabalho com muito mais frequência, oferecendo às equipes de desenvolvimento a oportunidade de usar o Amazon Personalize em todos os lugares que fornecem uma lista de conteúdo.
  2. Expandir os casos de uso além da reclassificação para incluir itens recomendados. Isso nos permitirá apresentar itens mais antigos que provavelmente serão mais populares com cada usuário.
  3. Experimentar com que frequência o modelo deve ser retreinado. Inserir novas interações no modelo em tempo real é uma ótima maneira de manter tudo atualizado, mas os modelos ainda precisam de reciclagem diária para serem mais eficazes.
  4. Explorar opções de como podemos usar o Amazon Personalize com todos os clientes para ajudar a melhorar o engajamento dos fãs recomendando todas as formas de conteúdo relevantes.
  5. Usar filtros de recomendação para expandir o intervalo de parâmetros disponíveis para cada solicitação. Em breve, teremos como alvo opções adicionais como filtros para incluir vídeos dos jogadores favoritos.

 

Este artigo foi traduzido do Blog da AWS em Inglês.

 


Sobre o autor

Mark Wood é Diretor de Soluções de Produtos da Pulselive. Mark está na Pulselive há mais de 6 anos e ocupou funções de Diretor Técnico e Engenheiro de Software durante sua passagem pela empresa. Antes da Pulselive, Mark foi Engenheiro Sênior na Roke e Desenvolvedor na Querix. Mark é graduado pela Universidade de Southampton com um diploma em Matemática com Ciência da Computação.