Meetup_FGVA_Prédiction et prévention du churn @ Ankama

266 vues

Publié le

Meet up French Video Game Analyst
April 2016
Company Ankama
Speaker: Johan-André Jeanville, Lead Data Analyst

Bonnes pratiques pour la prédiction et prévention du churn, via le Machine Learning.
Comment prévenir le départ des joueurs et mener des actions avant que ceux-ci ne soient définitivement partis ?

Publié dans : Données & analyses
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
266
Sur SlideShare
0
Issues des intégrations
0
Intégrations
68
Actions
Partages
0
Téléchargements
7
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Meetup_FGVA_Prédiction et prévention du churn @ Ankama

  1. 1. Prédiction et prévention du churn Avril 2016
  2. 2. DOFUS le MMO ! 2
  3. 3. Le churn galopant 3
  4. 4. Un vrai danger 4 0,0% 10,0% 20,0% 30,0% 40,0% 50,0% 60,0% 70,0% 80,0% 1 3 5 7 9 1113151719212325272931333537394143454749515355575961636567697173757779818385878991939597 Probabilité de revenir après x jours d’absence
  5. 5. 5 Comment inverser la tendance ?
  6. 6. Les actions existantes @ Ankama 6
  7. 7. Le St Grall de la prédiction 7
  8. 8. Les étapes de la démarche 8 Description des joueurs Prédiction du churn Prévention du churn Mesure des résultats
  9. 9. Un terrain balisé 9
  10. 10. En pratique 10
  11. 11. Rappels sur la classification 11 Inscrit en 2010 Français Shield actif Abonné 1 an H Payeur Level 150 30h de jeu Iop Abonné Ogrines 4 comptes 120 connexions 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Score de churn 25 ans
  12. 12. 3 étapesEntrainement La machine est entraînée sur un échantillon similaire à celui de la phase de production. Evaluation La machine est évaluée sur un échantillon similaire à celui de la phase de production. Cette évaluation permet de noter la machine. Miseenproduction Si la machine est de qualité suffisante, alors , elle est mise en production.
  13. 13. Comment noter la machine ? Recall & Précision 13 Recall: « Classé 1 » ∩ « Est 1 » ------------- « Est 1 » Precision: « Classé 1 » ∩ « Est 1 » ------------- « Classé 1 »
  14. 14. Comment noter la machine ? Vrais positifs & vrais négatifs 14 Taux de vrais positifs ou Sensibilité « Classé 1 » ∩ « Est 1 » ------------- « Est 1 » Taux de vrais négatifs Ou Spécificité « Classé 0 » ∩ « Est 0 » ------------- « Est 0 »
  15. 15. Comment noter la machine ? Faux positifs & faux négatifs 15 Taux de faux positifs Erreur faite sur ceux classés en 1 « Classé 1 » ∩ « Est 1 » ------------- « Classé 1 » Taux de faux négatifs Erreur faite sur ceux classés en 0 « Classé 0 » ∩ « Est 0 » ------------- « Classé 0 » NB: ces deux métriques sont non standards. Je les utilise dans mes échanges avec le marketing pour mesurer le risque (mener des actions inutiles ou dangereuses) lié à la machine.
  16. 16. Comment noter la machine ? Courbe ROC 16 Classificateur idéal Sépare tous les 1 de tous les 0. Je peux récupérer 100% des 1 sans récupérer de 0. Classificateur aléatoire Ne sait pas faire la différence entre les 0 et les 1. J’ai autant de chances de récupérer des 0 que des 1.
  17. 17. L’outil 17
  18. 18. Problématiser 18 • Le churn ? • => Dépend du contexte business • Est venu durant les 14 derniers jours • Ne revient pas sur les 14 prochains jours • Variable à prédire : • Le joueur ne va pas se connecter sur les 14 prochains jours
  19. 19. Variables descriptives 19 Connexions Abonnements Paiements Comptes In-game • Précautions : • Disponibilité des données • Format, fiabilité, récence etc… • Nécessiter de dater les données • Connexion Data Science Studio -> SGBDD interne • Spécificités: bots, multi-compteurs etc… • Brasser large quitte à réduire ensuite
  20. 20. Le modèle utilisé 20
  21. 21. Décrire et segmenter nos joueurs 21 • Analyses réalisées sur novembre 2015 à janvier 2016 avec des résultats très stables. • Comportement observés sur les périodes suivantes: 1 semaine, 1 mois, 3 mois, 6 mois, 1 an avant la date de mesure. Connexion •Fréquence de connexion •Temps de jeu •Récence de la dernière connexion Abonnement •Durée d’abonnement passée •Abonnement restant •Récence du dernier abonnement Paiement •Montant dépensé •Fréquence d’achats •Récence du dernier achat Ogrines •Montant dépensé •Fréquence d’achats •Récence du dernier achat Compte joueur •Pays •Statut multi- compte •Ankama Shield •Authenticator •Age / Sexe
  22. 22. Mise en place de la machine 22 • Dataiku = Data science pour les nuls ! ^__^ • En pratique : – On prépare les données et on décrit les individus (SQL, 1 j.h.) – On choisit les modèles à comparer – On clique – On attend 15 min ! – On lit les résultats – On sélectionne l’algorithme pour le mettre en prod – On optimise l’algorithme si on est geek – On programme l’algorithme pour tourner tous les X jours
  23. 23. Les algorithmes testés 23 Forêt d’arbres aléatoire Gradien Boosting TreeRégression logistique
  24. 24. And the winner is… Forêt d’arbres aléatoire
  25. 25. Résultats obtenus – Précision: 80% – Recall: 84% – ROC : 80% Choix du seuil final :on a optimisé les vrais négatifs pour être certain d’adresser le plus de churners que possible. 25
  26. 26. Quelles actions marketing ? Précautions : - trop de sous segments tue le sous segment: ça devient inopérable (multiplication des assets etc..) - faire des sous segments exhaustifs sur la population: prendre 3 voire 4 critères max et segmenter sur cette base (lvl, ancienneté, statut de payeur par ex). - bien réfléchir à ce qu’on leur offre - attention au biais de sélection: la nature du segment impacte la nature des résultats… 26
  27. 27. Les 7 segments marketing 27 Jeunes joueurs Abonnés HL Abonnés THL Abonnés 1 mois Abonnés 1 semaine Anciens non abonnés Vétérans non abo
  28. 28. Les offres 28 Jeunes joueurs Abonnés HL Abonnés THL Abonnés 1 mois Anciens non abonnés Abonnés 1 semaine Vétérans non abo
  29. 29. La prise de contact 29 • A noter : – Solution d’emailing ? – Communication des SI : automatique vs manuel (Facebook…) – Traduction couteuse => choix d’une langue – Taux d’opt in aux NL – Véracité des mails en base – Retrouver les joueurs sur facebook
  30. 30. Mesurer l’impact de la démarche: test AB 30 • A noter : – Répartition aléatoire (modulo sur l’account_id) – Modulo choisi en fonction de la conversion sur le phénomène observé. Ici, conversion de 30% à 40% donc 1 000 joueurs suffisent. (Pour info, il est possible de calculer précisément cette valeur, via la simulation de tests statistiques) – Si nombre fixe dans le groupe étalon de chaque sous-segment: attention à la modification de la distribution des profils dans la population globale des groupes A et B. – Dans notre cas: pas de chance, biais de sélection lors de la répartition aléatoire.
  31. 31. Les résultats 31 Users_count churn_rate_gain (points de churn) benef_arpu_% Facebook 126 094 0% +1,5% Newsletter 55 772 -4% +9,1% Total général 181 866 -1% +3,7%
  32. 32. Prochaines étapes 32 • Automatiser l’opération, la généraliser à toutes les communautés, la répéter • Améliorer le modèle avec des données in-game • Tester le process sur d’autres jeux • Tester de nouveaux cadeaux • Améliorer les outils de marketing direct : qualification des données, visuel et format des newsletters…
  33. 33. En résumé 33 • Simple à faire, faible coût de lancement (2 à 3 jours homme), faible coût d’itération (1/2 jour homme). • Nécessite de savoir faire un peu de SQL et de comprendre le fonctionnement théorique du machine learning. • Nécessite d’avoir des données adéquates et bien formatées. • Des résultats réels et positifs mais pas exceptionnels qui dépendent de la qualité des outils de marketing direct. • Un premier contact réussi avec la Data Science pour une société débutante sur le sujet. • Voir plus loin: quel impact long terme ? Uplift ? Quelles futures machines (fraude, conversion, viralité…) ?
  34. 34. Merci !

×