prédire le comportement du visiteur pour mieux le garder près de soi
TRANSCRIPT
STAY WITH ME PRÉDIRE LE COMPORTEMENT DU VISITEUR POUR MIEUX LE
GARDER PRÈS DE SOI
Sylvain Peyronnet!
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
e-commerce ?
Comment ça marche ?
25,4 milliards d’euros de CA
sur le 1er trimestre 2014
Sylvain Peyronnet - @speyronnet
e-commerce ?
Comment ça marche ?
25,4 milliards d’euros de CA
sur le 1er trimestre 2014
Sylvain Peyronnet - @speyronnet
e-commerce ?
Comment ça marche ?
25,4 milliards d’euros de CA
sur le 1er trimestre 2014
Sylvain Peyronnet - @speyronnet
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
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
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
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
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
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
C4.5
• Ross Quinlan!
• Arbre de classification supervisé!
• http://www.rulequest.com/Personal/
Sylvain Peyronnet - @speyronnet
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
/ 5520
LE WEBSPAM ARBRE DE CLASSIFICATION
Météo Température Humidité Vent Jouer ?Ensoleillé 29 85 NON NONEnsoleillé 25 79 OUI NONNuageux 22 78 NON OUIPluvieux 18 98 NON OUIPluvieux 15 86 NON OUIPluvieux 17 70 OUI NONNuageux 22 67 OUI OUIEnsoleillé 21 95 NON NONEnsoleillé 27 78 NON OUIPluvieux 22 84 NON OUIEnsoleillé 18 83 OUI OUINuageux 16 79 OUI OUINuageux 13 77 NON OUIPluvieux 12 80 OUI NON
Sylvain Peyronnet - @speyronnet
/ 55
fichier golf.names Play, Don't Play.!
outlook: suny, overcast, rain.temperature: continuous.humidity: continuous.windy: true, false.!
21
LE WEBSPAM ARBRE DE CLASSIFICATION
Sylvain Peyronnet - @speyronnet
/ 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
/ 55
$ c4.5 -f golf
!
23
LE WEBSPAM ARBRE DE CLASSIFICATION
Sylvain Peyronnet - @speyronnet
/ 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
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
• 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
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
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
fichier ecommerce.data
12, false, 43, true, Achat34, true, 120, true, agir 4, false, 320, false, agir34, false, 493, true, Achat5, true, 545, false, agir243, true, 987, true, Achat12, true, 13, true, agir 34, true, 54, true, agir 12, false, 76, false, Achat34, true, 765, true, agir 8, true, 23, true, Achat34, true, 597, false, agir12, false, 264, true, Achat!
(…)!
!
C4.5!APPLICATION A LA VENTE EN LIGNE
Sylvain Peyronnet - @speyronnet
$ c4.5 -f ecommerce
!
C4.5!APPLICATION A LA VENTE EN LIGNE
Sylvain Peyronnet - @speyronnet
AGIRNombre 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
AGIRNombre 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
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%
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
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…
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
principauxAttribute usage : ! 90% TimeOnSite 40% AlreadyClient 40% ExistingCart 20% NumberPages 11% CSP 5% UserSegment !
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
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é
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
QUESTIONS ?
Sylvain Peyronnet - @speyronnet
HTTP://QUEDUWEB.FR