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 ?
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. 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. Comment noter la machine ?
Recall & Précision
13
Recall:
« Classé 1 » ∩ « Est 1 »
-------------
« Est 1 »
Precision:
« Classé 1 » ∩ « Est 1 »
-------------
« Classé 1 »
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. 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. 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.
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
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. 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
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. 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. 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. 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. 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. 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.
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. 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é…) ?