Data Science pour le Marketing : Segmentation Clients (1 /4)

Miljan Stojiljkovic
8 min readFeb 3, 2021

--

GIF appartenant à BattleFin (http://www.battlefin.com/)

Le meilleur projet de Data Science à démarrer en Marketing est la segmentation clients. Il permet de mieux comprendre les comportements d’achat.

Depuis quelques années, les entreprises de e-commerce multiplient les projets de segmentation clients. Cependant, ça n’est pas réservé au e-commerce. En effet, il suffit d’avoir un département marketing et de collecter des données sur ses clients.

De plus, ils sont devenus la référence dans un portfolio de Data Scientist avec une appétence pour le secteur du Marketing. Ils servent à mieux comprendre les clients et mieux cibler les campagnes marketing à l’aide des données récoltées par l’entreprise. J’ai moi-même réalisé ce type de projet pendant ma formation. Après 2 ans d’expérience en freelance, j’ai voulu reprendre un projet de segmentation clients de A à Z pour en faire mon projet de référence. Ce projet va donc de l’exploration des données jusqu’au développement d’un Dashboard pour suivre les KPIs et les comportements d’achat des clients.

Ce projet va s’articuler en 7 étapes :

  • Analyse exploratoire
  • Nettoyage des données
  • Taggage des produits (Création de catégories de produits)
  • Création de champs personnalisés (Feature Engineering)
  • Création des segments clients
  • Entrainement d’un modèle de Machine Learning
  • Développement d’un Dashboard

Dans un projet avec un client, il faudra ajouter l’étape d’acquisition des données qui va dépendre de la structure interne de l’entreprise.

Pour éviter d’écrire un article beaucoup trop long, je vais le diviser en 7 petits articles. Je tiens aussi à préciser que mon objectif n’est pas d’en faire un tutoriel mais plutôt de rapprocher le monde du Marketing au monde de la Data Science. C’est en ce sens qu’aucune connaissance en programmation n’est demandée pour comprendre ce genre de projet. J‘ai décidé de ne pas intégrer de code informatique mais, pour ceux qui le souhaitent, le projet dans son intégralité est disponible sur mon profil Kaggle.

Sans plus attendre, lançons nous dans l’exploration de cette base de données.

1- Présentation de la base de données

Lien officiel de la base de données.

Online Retail Dataset

Cette base de données est constituée de 3 années de transactions d’une entreprise britannique de e-commerce de 2009 à 2011. Chaque ligne correspond donc à la vente d’un produit.

Elle possède 8 champs :

  • InvoiceNo : Numéro de facture
  • StockCode : Code produit
  • Description : Description du produit
  • Quantity : Quantité du produit vendu
  • InvoiceDate : Date de la facture
  • UnitPrice : Prix unitaire du produit
  • Country : Pays du consommateur

C’est une base qui a beaucoup été utilisée par les Data Scientist à travers le monde car c’est une base assez complète et proche d’une application direct de la réalité du business. Je la trouve extrêmement intéressante pour 2 choses, premièrement, en exploitant au maximum ces 8 champs, on peut comprendre en profondeur les comportements d’achat des consommateurs. Deuxièmement, ce jeu de données représente le strict minimum d’informations qu’une entreprise peut recueillir sur ses clients. D’autant plus que ces données datent de 2011, les entreprises sont aujourd’hui conscientes de l’importance des données, c’est pour cela qu’elles en collectent généralement bien plus que ce que nous avons à disposition pour ce projet. Le résultat serait donc le strict minimum de ce que l’on pourrait attendre d’un Data Scientist sur ce genre de projet. Pour avoir un petit peu de contexte, c’est une entreprise britannique qui vend des produits de décorations en tout genre sur internet.

2- Analyse exploratoire

Commençons par une phase d’exploration pour comprendre un peu mieux cette base de données et le business de cette entreprise.

Une des premières choses que fait un Data Scientist lorsqu’il démarre un nouveau projet est de vérifier la qualité des données. Pour ce faire, un des éléments à vérifier est le taux de complétion des données. Il peut arriver qu’il manque pas mal d’éléments pour un champ spécifique, ce qui le rend inexploitable. Plongeons-nous dans notre base pour vérifier cela.

Fig 1 : Données manquantes

Lorsque l’on regarde les différents champs, on voit que deux d’entre eux ont une barre et les autres sont vides, ces deux là sont les mauvais élèves. Dans la colonne “Customer ID”, on voit qu’il y a 22% de données manquantes à travers la base et moins de 0,1% pour “Description”. Ceci est assez contraignant car notre but est de segmenter les clients, et si l’on ne peut pas les distinguer au départ, ces données sont inutiles. J’ai donc essayé plusieurs méthodes pour essayer de retrouver le code client. Par exemple, j’ai essayé de regarder les numéros de factures pour voir si l’on pouvait retrouver le code client sur une autre ligne mais sans réussite. Après plusieurs tentatives, je me suis résolu à supprimer les lignes où nous avions des données manquantes car elles sont inexploitables. Cela représente tout de même 22% de la base, cependant, il vaut mieux travailler avec des données de qualité que beaucoup de données inexploitables. Après avoir supprimé ces données, il ne reste plus de données manquantes pour le champ “Description” car elles faisaient parties des données qui ont été supprimées.

C’est là que le concept de GIGO entre en action : Garbage in / Garbage out

La deuxième chose à faire est de regarder les doublons. Il y a 26479 lignes qui représentent des doublons dans la base et qui sont à supprimer.

Ces deux premières opérations sont plus du nettoyage que de l’exploration mais c’est habituellement de cette manière que l’on démarre tout projet en Data Science, une fois les données à disposition bien sûr.

Démarrons maintenant la véritable exploration par une étude des ventes de l’entreprise.

2.1- Les ventes de l’entreprise

Fig 2: Ventes mensuelles

Ce qui saute aux yeux immédiatement ici est l’effet de saisonnalité. Les ventes montent en flèche en fin d’année pour redescendre par la suite. En regardant de plus près les produits, ceci s’explique facilement par un bon nombre de produits de décoration liés à Noël. Ensuite, les ventes sont assez stables sur les deux années, la tendance de l’année 2010 se poursuit en 2011 de la même manière. Ces informations peuvent sembler triviales du point de vue de l’entreprise cependant, pour le Data Scientist elles ne le sont pas car nous n’avons que très peu de contexte sur le business d’une entreprise au départ d’une mission. Cette phase exploratoire est très importante pour mieux comprendre l’entreprise et donc mieux segmenter les clients par la suite.

2.2- Les clients

Fig 3: CA par pays

Nous avons ici plusieurs informations concernant cette entreprise, tout d’abord c’est effectivement une entreprise britannique avec plus de 90% de ventes intra-muros. Mais également, en deux années, cette entreprise a réalisé plus de 15 M de ventes dont la plupart proviennent d’Europe.

Je ne vais pas aller plus loin dans l’exploration des clients car, sans retraiter la base de données, nous n’avons aucune autre information sur les clients. En effet, ici chaque ligne correspond à une transaction dans une facture. Nous pourrons par la suite rassembler les factures par clients et ainsi avoir plus d’informations sur ces clients.

2.3- Les produits

En revanche, nous avons beaucoup plus d’informations sur les produits. Il y a plus de 4600 produits différents et les 300 produits les plus vendus représentent plus de la moitié des ventes de l’entreprise. Je me demande maintenant quel genre de produits peut bien vendre cette entreprise pour avoir plus de 8M de chiffre d’affaires par an. Vérifions cela.

Fig 4 : Ventes de produits en volume

On ne peut pas se baser sur 10 produits car il y a plus de 4000 produits différents. Cependant, on peut voir ici qu’il s’agit essentiellement de produits de décoration. Il y a un assez gros volume de ventes avec des produits qui se vendent à plus de 100000 exemplaires.

Fig 5 : Ventes de produits en valeur

Ces 10 produits représentent déjà plus d’un million de chiffre d’affaires. On remarque aisément que le produit le plus vendu en quantité ne se retrouve pas dans le top 10 des produits qui rapportent le plus. Ceci s’explique par son prix unitaire à 20 centimes en moyenne.

La difficulté dans cette base de données réside dans le fait que la description produit n’est pas un texte normé mais de la saisie libre. Ceci veut dire qu’un même produit peut avoir plusieurs dénominations différentes. De plus, dans une description, on peut avoir à la fois le nom du produit, la marque, le modèle ainsi que la couleur et lorsque tous ces éléments ne sont pas normés, l’analyse des produits en devient très complexe. Nous allons par conséquent ici utiliser des techniques de traitement du langage naturel. Pour rester simple, j’ai uniquement utilisé ce qu’il y a de plus basique :

  • Passage de tous les mots en minuscule
  • Suppression de la ponctuation et des nombres
  • Suppression de ce qu’on appelle des “Stop Words” qui sont des mots de liaison (Il existe une liste de stop words en anglais et en français)
  • Transformation des descriptions en liste de mots

Le résultat final est le suivant

Fig 6 : Mots les plus fréquents

En partant de ces mots les plus fréquents, je pourrais par la suite construire des catégories de produits cohérentes.

En étudiant les statistiques sur les quantités de produits achetés en moyenne, on s’aperçoit que la moyenne est de 12 mais cela semble assez élevé. La médiane quand à elle est de 5 (50% des produits sont acheté moins de 5 fois et 50% plus de 5 fois). La valeur maximale est de 80995, ce qui veut dire que cette donnée a de très fortes chances d’être fausse et que finalement elle fausse la moyenne. Il faudra regarder ça de plus près dans la partie nettoyage de données.

En observant les code produits, on s’aperçoit aussi qu’il y a beaucoup de codes produits qui représentent des codes spéciaux (“Postage”, “Discount”, “Bank Charges”). On devine assez facilement que ce ne sont pas des produits et que nous devrons donc les enlever de notre base de données par la suite.

Nous en savons maintenant un peu plus sur les trois aspects de cette entreprise pour mieux construire son futur Dashboard :

  • Les ventes
  • Les clients
  • Les produits

Je vais terminer mon article là-dessus car il est déjà assez long et je vais publier la suite, qui va traiter du nettoyage de données, dans très peu de temps. Vous verrez à ce moment-là que votre base est probablement plus propre que celle-ci.

Je serais ravi de répondre aux questions que vous pourriez vous poser sur ce genre de projets alors n’hésitez pas ! Cela me permettra d’adapter les futurs articles au mieux. Vous pouvez aussi me contacter sur Linkedin.

Encore une fois, si vous voulez en savoir plus sur le code associé à ce projet, vous pourrez le retrouver ici : lien du code.

--

--

Miljan Stojiljkovic

Freelance en Data Science depuis 2 ans avec une expérience de consultant en Digital. J’essaie de réconcilier le business et la technique.