Post on 25-Jan-2017
transcript
Prédiction et prévention du churn
Avril 2016
DOFUS le MMO !
2
Le churn galopant
3
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
Comment inverser la tendance ?
Les actions existantes @ Ankama
6
Le St Grall de la prédiction
7
Les étapes de la démarche
8
Description des joueurs
Prédiction du churn
Prévention du churn
Mesure des résultats
Un terrain balisé
9
En pratique
10
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 churn25 ans
3 étapesEn
trai
ne
men
t La machine est entraînée sur un échantillon similaire à celui de la phase de production.
Eval
uat
ion La machine est
évaluée sur un échantillon similaire à celui de la phase de production. Cette évaluation permet de noter la machine.
Mis
e e
n p
rod
uct
ion Si la machine
est de qualité suffisante, alors , elle est mise en production.
Comment noter la machine ?Recall & Précision
13
Recall:
« Classé 1 » ∩ « Est 1 »-------------« Est 1 »
Precision:
« Classé 1 » ∩ « Est 1 »-------------
« Classé 1 »
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égatifsOu Spécificité
« Classé 0 » ∩ « Est 0 »-------------« Est 0 »
Comment noter la machine ? Faux positifs & faux négatifs
15
Taux de faux positifsErreur faite sur ceux
classés en 1
« Classé 1 » ∩ « Est 1 »-------------
« Classé 1 »
Taux de faux négatifsErreur 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.
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.
L’outil
17
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
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
Le modèle utilisé
20
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
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
Les algorithmes testés
23
Forêt d’arbres aléatoire
Gradien Boosting TreeRégression logistique
And the winner is…
Forêt d’arbres aléatoire
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
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
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
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
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
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.
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%
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…
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é…) ?
Merci !