Tools & Stacks
![portfolio thumbnail](/media/ecommerce.jpg)
Segmentez les clients d'un site d'e-commerce
Détail du projet
Image : "E-Commerce Visa (Test tamron 17-50 2.8)" by Fosforix is licensed under CC BY-ND 2.0
Problématique
Olist est une marketplace brésilienne mettant en relation les vendeurs et les clients. Notre rôle est de comprendre les différents types de clients sur leur plateforme par une segmentation exploitable et facile d'utilisation par l'équipe marketing.
Nous avons à notre disposition une base de données relationnelle composée de 8 tables et qui contient les informations sur 99441 clients et 96096 commandes uniques.
Segmentation RFM
Récupération de l'identifiant, de la date et de la valeur de chaque commande. Après jointure sur l'identifiant client on peut calculer les variables RFM :
- Récence : le nombre de jours depuis la dernière commande
- Fréquence : le nombre de commande passées sur la période étudiée
- Valeur Monétaire : totale du prix des commandes sur la période étudiée
Puis on calcule les scores RFM en se basant sur les quintiles de la distribution (à défaut d'une connaissance métier suffisante pour définir ce qu'est une bonne récence ou fréquence).
Segmentation par KMeans à 5 et 7 clusters. On retiendra le modèle à 5 clusters, les clusters supplémentaires étant peu actionnables d'un point de vue marketing (Clients moyennements récents à valeurs moyenne).
Cette segmentation produit des clusters relativement bien défini mais très instables (même si ré-entraîner tous les mois ou tous les 3 mois) comme le montre l'évolution de l'Adjusted Rand Index.
Clustering
KMeans à 7 clusters
On obtient des clusters assez mal définis (Silhouette Score ~ 0.17) mais actionnables, par exemple ici les clients non locaux à faible valeur.
De plus cette segmentation est très stable dans le temps, d'autant plus si le modèle est ré-entraîné :
Clustering Hiérarchique
L'optimisation par GridSearch (méthode single linkage) sélectionne un modèle à 4 clusters mais le tracé d'un dendrogramme par méthode de Ward rejoint le modèle des KMeans avec un nombre de clusters optimal de 7. On peut montrer par projection dans le premier plan factoriel que 4 clusters obtiennent un meilleur score de silhouette mais des clusters inutilisables.
DBSCAN
Ce modèle est relativement stable mais peu exploitable, mais l'optimisation des ses hyperparamètres (min_samples et eps) n'entraîne la création que de 3 clusters, dont un d'outliers ne comprenant que quelques points.
Conclusion
Seuls les modèles KMeans et hiérarchique donnent des résultats exploitables. Toutefois le premier est 10 fois plus rapide à entraîner et cette différence ne fera qu'empirer avec l'ajout de nouvelles données. On retiendra donc le KMeans à 7 clusters mis à jours tous les 3 mois comme notre modèle de choix.
On obtient des clusters certes mal définis, mais exploitables par une equipé marketing.