O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Machine Learning e experimentos online para evitar o cancelamento no GloboPlay

170 visualizações

Publicada em

Palestra ministrada na Qcon SP 2018

Vamos explorar as técnicas de Machine Learning utilizadas para reduzir o churn do GloboPlay principalmente para encontrar os assinantes mais prováveis de cancelar e as métricas correlacionadas, especialmente no uso de técnicas de clusterização e classificação em dados desbalanceados.

Também falaremos sobre algoritmos de recomendação e intervenções experimentadas através de testes AB simultâneos e como evitar a interferência de um experimento em outro. Ao final da palestra o participante terá uma clara noção da importância, quais técnicas e como utilizar ciência de dados para atingir resultados tangíveis em um produto.

Publicada em: Dados e análise
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Machine Learning e experimentos online para evitar o cancelamento no GloboPlay

  1. 1. @timotta Machine learning e experimentos online para evitar cancelamentos no Globoplay @timotta
  2. 2. @timotta Globoplay, Novos assinantes, Cancelamentos
  3. 3. @timotta Churn rate
  4. 4. @timotta Usuários e seu viés de propensão de cancelar
  5. 5. @timotta Churners! Quem são? Onde vivem? Do que se alimentam?
  6. 6. @timotta Let's get the data Usuários retidos Usuários que cancelaram Julho Consumo nas X últimas semanas Histórico da assinatura Dados cadastrais
  7. 7. @timotta Dados desbalanceados Apenas 2% de churners
  8. 8. @timotta Dados desbalanceados Previsto Churn Não churn Atual Churn 0 20 Não churn 0 980 accuraccy: 0,98 precision: 0 recall: 0
  9. 9. @timotta Lidando com desbalanceamento Oversampling Undersampling Smote Class weights Class Weight Churn 60 Não churn 1
  10. 10. @timotta Lidando com desbalanceamento Oversampling Undersampling Smote Class weights Class Weight Churn 60 Não churn 1
  11. 11. @timotta Comunicação de resultados Balanceados Previsto Churn Não churn Atual Churn 445 50 Não churn 30 475 accuraccy: 0,92 precision: 0,94 recall: 0,90 Desbalanceados Previsto Churn Não churn Atual Churn 436 59 Não churn 402 103 accuraccy: 0,54 precision: 0,52 recall: 0,88
  12. 12. @timotta eventos de usuários Assinaturas Vídeos e titulos Dados crus Limpeza dos dados Split treino e teste desbalanceado Balanceamento Split treino e teste treino do modelo (k-fold) Validar no teste balanceado Troca algoritmo Mais informações Validar no teste desbalanceado Processo completo
  13. 13. @timotta - Random forest - 41 features - Dados demográficos - 17 semanas de consumo - Histórico de assinaturas - Balanceamento Smote Modelo final Depois de muitas iterações
  14. 14. @timotta Modelo final: Resultado Melhor F1: - Precision: 33% - Recall: 88%
  15. 15. @timotta Modelo final: Possíveis usos E-mail, push notification - Precision: 10% - Recall: 98% Desconto: - Precision: 84% - Recall: 12%
  16. 16. @timotta Primeiro experimento AB com o modelo ControleAlvo
  17. 17. @timotta sem diferença 11% x 10,6% de cancelamento Primeiro experimento AB com o modelo ControleAlvo
  18. 18. @timotta Churn é uma métrica influenciável em curto prazo?
  19. 19. @timotta Explicando o modelo: Variáveis mais relevantes - Idade da assinatura: Recente - Tipo de cobrança: Boleto - Sexo: Sem preencher
  20. 20. @timotta Quais outros fatores? - Idade da assinatura: Recente - Tipo de cobrança: Boleto - Sexo: Sem preencher - Muito tempo sem retornar ao produto - Poucos diferentes títulos consumidos - Pouco tempo gasto em conteúdo pago - Pouca quantidade de vídeos assistidos
  21. 21. @timotta Quais outros fatores? - Idade da assinatura: Recente - Tipo de cobrança: Boleto - Sexo: Sem preencher - Muito tempo sem retornar ao produto - Poucos diferentes títulos consumidos - Pouco tempo gasto em conteúdo pago - Pouca quantidade de vídeos assistidos
  22. 22. @timotta De vídeos avulsos a títulos Mudança de foco De vídeos avulsos Para programas e filmes
  23. 23. @timotta Hipóteses para influenciar esses fatores
  24. 24. @timotta Muito tempo sem retornar hipótese Dificuldade de encontrar no produto o programa que está acompanhando.
  25. 25. @timotta Proposta: Prever títulos que assistirá no dia
  26. 26. @timotta Bag of entity V: Matriz de preferências de usuários para cada título Z: Matriz com a soma do tempo de vídeo de cada usuário em cada título no último dia ƛ: Redutor temporal with time reduction
  27. 27. @timotta Métrica de ranking vs métrica de classificação Preferência Algoritmo 1 Algoritmo 2 1 1 2 3 32 Classificação: Empate Ranking: Algoritmo 2
  28. 28. @timotta MRR constante em diversas datas
  29. 29. @timotta Melhor que top: ƛ = 0,95 ƛ = 0.95 MRR: 0.51 Top MRR: 0.35
  30. 30. @timotta Retorno semanal Ui Ui+1 usuários ativos na semana i usuários ativos na semana i+1
  31. 31. @timotta Experimento AB +3,61% de retorno semanal
  32. 32. @timotta Poucos títulos consumidos hipótese - Usuário não conhece a enorme variedade de títulos que o Globoplay oferece - Produto não exibe de forma clara essa variedade ao usuário
  33. 33. @timotta Propostas: Oferecer títulos relevantes e novos
  34. 34. @timotta Filtragem colaborativa
  35. 35. @timotta Memory based: KNN
  36. 36. @timotta Memory based: Enorme matriz
  37. 37. @timotta Model based: SVD
  38. 38. @timotta Model based: ALS
  39. 39. @timotta Aumento de programas consumidos AuBu títulos consumidos antes títulos consumidos Depois
  40. 40. @timotta Concentração de usuários em títulos: Gini
  41. 41. @timotta Concentração de usuários em títulos: Gini gini = 0,22 gini = 0,09 gini = 0,13
  42. 42. @timotta Experimento AB +2,75 de programas consumidos -1,2% de concentração de programas AlvoControle
  43. 43. @timotta Mais de 20 experimentos AB (sem contar dos outros times)
  44. 44. @timotta Sem isolamento Experimento 1 Experimento 2 Experimento 3 Sorteio A B Sorteio A B Sorteio A B
  45. 45. @timotta Experimentos isolados Sorteio Experimento 1 Experimento 2 Slot vazio Experimento 3 Sorteio A B Sorteio A B Sorteio A B
  46. 46. @timotta Experimentos Multi Variados Experimento 1 Experimento 2 Experimento 3 Sorteio A B Sorteio A B Sorteio A B E1 E2 E3 R A A A 10% A A B 12% A B B 8% B B B 10% B B A 14% B A A 8% B A B 10% A B A 11%
  47. 47. @timotta - Machine learning lidando com dados desbalanceados - Mudanças de rumo influenciadas pela análise de dados - Diferentes algoritmos para diferentes objetivos - Experimentos AB online paralelos e concorrentes Resumão pra prova
  48. 48. @timotta Recomendação Featuring Segmentação Cluster Pipeline Experimentação Growth
  49. 49. @timotta @timotta

×