l’histoire de la firme américaine de grande distribution Target dont le système de recommandation basé sur le comportement d’achat a déduit qu’une adolescente américaine était enceinte bien avant que son propre père ne soit au courant. Au-dela du buzz que cette histoire a engendré et des questions éthiques qu’elle a soulevées, il se cache la même réalité, celle de l’importance de l’analyse du comportement d’achat et la pertinence de la recommandation proposée à l’utilisateur dans ce secteur. La tendance est donc de collecter l’ensemble des tickets d’achat avec leurs détails, le jour et l’heure d’achat, la référence produit, la quantité, le magasin concerné, le rayon concerné, et toute autre information permettant d’identifier avec précision l’acte d’achat ainsi que l’identité de l’acheteur (souvent liée à une ou plusieurs cartes de fidélités) afin de l’utiliser dans l’immédiat ou ultérieurement.
Nous recevons (presque) tous en tant que consommateurs des grandes chaînes de distributions que nous fréquentons des promotions, des produits recommandés etc. Mais il s’agit la plupart du temps d’analyses sous formes de batchs, calculés avec les données collectées au maximum à J-1 (la veille), avec plus ou moins de détails et avec une recommandation plus ou moins pertinente, car la plupart du temps le détail du ticket n’est pas traité dans son intégralité. En effet, une analyse temps-réel du comportement d’achat des clients nécessiterait des changements importants dans les SI. Il s’agirait tout d’abord de collecter le détail de tous les tickets de caisse dans les magasins physiques et sur d’autres canaux (site web et applications mobiles, vus la plupart du temps comme des magasins virtuels), stocker tout ce flux d’information qui peut représenter plusieurs téras de données par semaine voire par jour pour les plus grandes enseignes, puis ensuite analyser (en temps-réel pour un maximum de réactivité) tout ce flux de données, faire du nettoyage et en déduire une information utile et pertinente pour l’utilisateur.
Par exemple, suite à la détection d’un retour d’article, essayer de faire une promotion sur un article équivalent d’une autre marque disponible en abondance dans le stock (croisement avec les données de stock local ou global) ou encore envoyer une promotion par mail au client pour lui proposer une promotion sur le site pour l’acquisition de 4 paquets de piles pour la brosse à dent électrique qu’il aurait achetée en magasin le jour même (en partenariat avec le constructeur par exemple). En effet, il s’agit de saisir l’opportunité d’avoir la disponibilité du client à un moment donné et réagir au plus vite afin de lui proposer des offres au plus près de ses attentes.
La prévision de la demande client, la mise en avant des clients récurrents, des clients potentiellement quitteurs, l’étude de l’impact d’une promotion, l’optimisation continue du stock ou bien la recommandation de produits, ce sont autant de cas d’utilisation qui recquièrent de collecter toutes les données, de les filtrer, de les nettoyer et de les enrichir, étapes indispensables avant de les faire ingérer à des algos de machine learning, dont la complexité n’est pas forcément linéaire en espace et en temps. Il est alors nécessaire de réfléchir aux aspects architecture et performance en amont.
Dans ce second article, nous présentons la mise en place concrète d’une solution pour l’un des use cases présentés précédemment comprenant la modélisation des données et leur chemin à travers la plateforme, une solution technologique pour chaque niveau de l’architecture ainsi qu’un regard sur les fondements de ces technos et leur interaction.