Sylvain Peyronnet, au SEO Camp Day Genève de Mai 2015, présente une utilisation concrète du machine learning pour "prédire" le départ d'un internaute d'un site d'e-commerce et ainsi pouvoir le retenir au dernier moment.
Atelier J3 9 Exemples révélateurs des tendances dans les Chambres d'hôtes et ...
Prédire le comportement du visiteur pour mieux le garder près de soi
1. STAY WITH ME
PRÉDIRE LE COMPORTEMENT DU VISITEUR POUR MIEUX LE
GARDER PRÈS DE SOI
Sylvain Peyronnet!
2. SYLVAIN
PEYRONNET
Co-fondateur et responsable des ix-labs!
Professeur des Universités (on leave)!
Chief scientist @Qwant!
@speyronnet
http://www.peyronnet.eu
http://live.ix-labs.org
sylvain@ix-labs.org
3. e-commerce ?
Comment ça marche ?
25,4 milliards
d’euros de CA
sur le 1er
trimestre 2014
Sylvain Peyronnet - @speyronnet
4. e-commerce ?
Comment ça marche ?
25,4 milliards
d’euros de CA
sur le 1er
trimestre 2014
Sylvain Peyronnet - @speyronnet
5. e-commerce ?
Comment ça marche ?
25,4 milliards
d’euros de CA
sur le 1er
trimestre 2014
Sylvain Peyronnet - @speyronnet
6. e-commerce ?
Comment ça marche ?
25,4 milliards
d’euros de CA
sur le 1er
trimestre 2014
Tout ça à l’air très compliqué…!
!
Est-ce qu’un simple-minded statisticien/
informaticien peut faire quelque chose pour
éviter de perdre des clients ?
Sylvain Peyronnet - @speyronnet
7. CLASSIFIER ET PRÉDIRE
• La classification automatique a pour objectif de placer des
individus dans des classes, c’est à dire des ensembles qui
partagent des caractères statistiques!
!
• Cela a un intérêt dans de nombreux domaines :
notamment en traitement d’images, de la langue,
marketing, moteurs de recherche, etc.!
!
• La classification automatique est une branche de
l’apprentissage (machine learning)
Sylvain Peyronnet - @speyronnet
8. CLASSIFIER ET PRÉDIRE
• L’analyse prédictive a pour but d’analyser les données
issues des comportements passés, d’en extraire des motifs
et de fournir des possibilités d’évolution des
comportements à partir de la connaissance de ces motifs!
• Prédiction est un bien grand mot : la plupart du temps on
repère un début de motif connu, ce qui permet de
« deviner » ce qui va se passe
Si on est doublé sur l’autoroute par une voiture qui
roule en zigzag, à 200 km/h, avec 2 pneus crevés et en
feu, on peut prédire un accident…
Sylvain Peyronnet - @speyronnet
9. CLASSIFIER ET PRÉDIRE
A CONNAITRE : LES ARBRES DE DÉCISIONS
• Le but de la plupart des algos : construire un
mécanisme de décision, souvent un arbre
• L’objectif est d’avoir
l’arbre le moins haut
possible, car cela
minimise le coût de
classification
Sylvain Peyronnet - @speyronnet
10. CLASSIFIER ET PRÉDIRE
A CONNAITRE : LES ARBRES DE DÉCISIONS
• On cherche à avoir un arbre qui donne le meilleur
résultat possible!
• Il y a deux types d’erreurs, qui sont antagonistes
individu dans la
classe
individu pas
dans la classe
individu attribué
à la classe
VRAI POSITIF
faux positif!
erreur type 1
individu pas
attribué à la
classe
faux négatif!
erreur type 2
VRAI NEGATIF
Sylvain Peyronnet - @speyronnet
11. CLASSIFIER ET PRÉDIRE
A CONNAITRE : LES ARBRES DE DÉCISIONS
• Il existe de nombreux algorithmes pour créer des
arbres de décisions
Création du dataset1
Construction de l’arbre2
Test du classifieur sur le dataset3
Application à des données nouvelles4
Sylvain Peyronnet - @speyronnet
12. C4.5
• Ross Quinlan!
• Arbre de classification supervisé!
• http://www.rulequest.com/Personal/
Sylvain Peyronnet - @speyronnet
13. C4.5!
COMMENT ÇA MARCHE ?
Météo
Humidité Jouer ! Venteux
Ne pas
jouer !
Jouer !
Ne pas
jouer !
Jouer !
ensoleillé couvert pluvieux
oui non<=75 >75
Sylvain Peyronnet - @speyronnet
14. / 5520
LE WEBSPAM
ARBRE DE CLASSIFICATION
Météo Température Humidité Vent Jouer ?
Ensoleillé 29 85 NON NON
Ensoleillé 25 79 OUI NON
Nuageux 22 78 NON OUI
Pluvieux 18 98 NON OUI
Pluvieux 15 86 NON OUI
Pluvieux 17 70 OUI NON
Nuageux 22 67 OUI OUI
Ensoleillé 21 95 NON NON
Ensoleillé 27 78 NON OUI
Pluvieux 22 84 NON OUI
Ensoleillé 18 83 OUI OUI
Nuageux 16 79 OUI OUI
Nuageux 13 77 NON OUI
Pluvieux 12 80 OUI NON
Sylvain Peyronnet - @speyronnet
16. / 55
fichier golf.data
sunny, 29, 85, false, Don't Play
sunny, 25, 79, true, Don't Play
overcast, 22, 78, false, Play
rain, 18, 98, false, Play
rain, 15, 86, false, Play
rain, 17, 70, true, Don't Play
overcast, 22, 67, true, Play
sunny, 21, 95, false, Don't Play
sunny, 27, 78, false, Play
rain, 22, 84, false, Play
sunny, 18, 83, true, Play
overcast, 16, 79, true, Play
overcast, 13, 77, false, Play
rain, 12, 80, true, Don't Play!
22
LE WEBSPAM
ARBRE DE CLASSIFICATION
Sylvain Peyronnet - @speyronnet
17. / 55
$ c4.5 -f golf
!
23
LE WEBSPAM
ARBRE DE CLASSIFICATION
Sylvain Peyronnet - @speyronnet
18. / 5524
LE WEBSPAM
ARBRE DE CLASSIFICATION
Météo
Humidité Jouer ! Venteux
Ne pas
jouer !
Jouer !
Ne pas
jouer !
Jouer !
ensoleillé couvert pluvieux
oui non<=84 >84
Sylvain Peyronnet - @speyronnet
19. C4.5!
PRÉDIRE DE MANIÈRE PLUS FINE
• On va utiliser une technique de bagging
Sylvain Peyronnet - @speyronnet
Créer un dataset de taille n
générer m nouveaux datasets, en
tirant avec remise p objets de D
utiliser le C4.5 sur chaque
nouveau dataset
Que faire des m
classifieurs obtenus ?
Si on fait de la prédiction, on
les applique tous et on prend la
moyenne des sorties !
!
On a un score de prédiction
20. • Sur un site ecommerce, nous allons « prédire » si un visiteur va aller
jusqu’à l’achat.!
• S’il n’y va pas, nous pourrons lui donner un incitatif (popup, promotion,
etc.)!
• On monitore tous les états du visiteur, en recréant les datas a posteriori
C4.5!
APPLICATION A LA VENTE EN LIGNE
Si on a un seul site marchand,
on va apprendre et prédire le
comportement global des
visiteurs
Si on a plusieurs sites, on
peut apprendre le
comportement de chaque
utilisateur, ou de chaque
classe d’utilisateur
Sylvain Peyronnet - @speyronnet
21. Pages vues Panier rempli
Temps passé
sur le site
Client Achat final
12 OUI 180 NON NON
43 OUI 600 OUI OUI
11 NON 243 NON NON
2 NON 12 NON OUI
C4.5!
APPLICATION A LA VENTE EN LIGNE
Sylvain Peyronnet - @speyronnet
22. fichier ecommerce.names
Achat, agir.!
Pages: continuous.
Panier: true, false.
Temps: continuous.
Client: true, false.!
C4.5!
APPLICATION A LA VENTE EN LIGNE
Sylvain Peyronnet - @speyronnet
24. $ c4.5 -f ecommerce
!
C4.5!
APPLICATION A LA VENTE EN LIGNE
Sylvain Peyronnet - @speyronnet
25. AGIR
Nombre de
pages vues
non
oui
Panier ?
Ne rien
faire
>28 <=28
AGIR
Ne rien
faire
oui non
Client ?
C4.5!
APPLICATION A LA VENTE EN LIGNE
Sylvain Peyronnet - @speyronnet
26. AGIR
Nombre de
pages vues
non
oui
Panier ?
Ne rien
faire
>28 <=28
AGIR
Ne rien
faire
oui non
Client ?
C4.5!
APPLICATION A LA VENTE EN LIGNE
Sylvain Peyronnet - @speyronnet
l’algo ne détermine
pas l’action à faire, mais
avec de l’A/B test ou des
bandits manchots on
peut aussi automatiser
cet aspect
27. C4.5!
APPLICATION A LA VENTE EN LIGNE
Sylvain Peyronnet - @speyronnet
Avec du bagging on
peut faire plusieurs
arbres (par exemple
4)
On confronte chaque
visiteur à tous les arbres
On obtient un
score « d’action »
!
On peut graduer la
« riposte »
ABANDON ACHAT
Proba d’abandon 75%
28. C4.5!
APPLICATION A LA VENTE EN LIGNE
Sylvain Peyronnet - @speyronnet
$ c4.5 -f ecommerce -b
10 arbres
Erreur global de 5,5 % si
on fait un vote majoritaire
Score de confiance si ratio
positif/nombre d’arbres
29. C4.5!
APPLICATION A LA VENTE EN LIGNE
Sylvain Peyronnet - @speyronnet
$ c4.5 -f ecommerce -b
faux positifs : 2% env. faux négatifs : 28% env.
précision : 84% recall : 72%
Erreur de 5,5% mais…
30. C4.5!
APPLICATION A LA VENTE EN LIGNE
Sylvain Peyronnet - @speyronnet
$ c4.5 -f ecommerce -b
Par ailleurs, le C4.5 donne
la liste des critères
principaux
Attribute usage :
!
90% TimeOnSite
40% AlreadyClient
40% ExistingCart
20% NumberPages
11% CSP
5% UserSegment
!
31. C4.5!
APPLICATION A LA VENTE EN LIGNE
Si on a plusieurs sites, on peut apprendre le comportement de
chaque utilisateur, ou de chaque classe d’utilisateur
Sylvain Peyronnet - @speyronnet
On segmente l’espace
des clients1
pour chaque segment,
on fait l’analyse
précédente2
pour chaque nouveau
visiteur, on regarde à quel
segment il correspond
3
On utilise le classifieur du
segment
4
32. C4.5!
APPLICATION A LA VENTE EN LIGNE
Si on a plusieurs sites, on peut apprendre le comportement de
chaque utilisateur, ou de chaque classe d’utilisateur
Sylvain Peyronnet - @speyronnet
On segmente l’espace
des clients1
pour chaque segment,
on fait l’analyse
précédente2
pour chaque nouveau
visiteur, on regarde à quel
segment il correspond
3
On utilise le classifieur du
segment
4
C’est du tracking personnalisé
33. STAY WITH ME
PRÉDIRE LE COMPORTEMENT DU VISITEUR POUR MIEUX LE GARDER PRÈS DE SOI
CONCLUSION
Un outil très pratique
pour :!
• faire ses propres
prédiction!
• trouver les critères
importants!
• s’amuser avec des
données
Sylvain Peyronnet - @speyronnet
Une technique
méconnue = une
belle opportunité
pour ceux qui sont
au courant