Des listes de courses prédictives pour la grande distribution
Contexte
Notre client travaille avec des magasins de la grande distribution et veut transformer un simple ticket de caisse en outil de fidélisation : savoir quand un client reviendra en magasin, et l'accueillir avec une liste de courses déjà prête, assortie des bonnes promotions.
Solution proposée
Ingestion des tickets de caisse. Le système ingère les fichiers de tickets de caisse des magasins partenaires : connexion directe pour certaines enseignes, dépôt manuel via l'interface d'administration pour les autres. Un pipeline de traitement de données (collecte, transformation, chargement) fiabilise et normalise l'ensemble.
Moteur prédictif. Un moteur développé en Python analyse la récurrence et la fréquence d'achat de chaque client pour prédire la date de son prochain passage en magasin. Il croise cette prédiction avec ses unités de besoin (les catégories de produits qu'il consomme régulièrement) pour composer automatiquement la liste de courses de ce qu'il devra reconsommer à son retour.
Promotions toujours à jour. Les catalogues promotionnels des magasins sont collectés automatiquement et en continu. Chaque client se voit ainsi proposer les promotions qui portent précisément sur les unités de besoin qu'il consomme déjà.
Campagnes et espace client. Les listes de courses et promotions personnalisées sont diffusées par des campagnes d'e-mails de masse, et chaque client retrouve ses suggestions dans un espace dédié. Une interface d'administration complète permet de piloter tout le système : magasins, ingestion, prédictions et campagnes.
Environnement technique
L'application web et l'interface d'administration reposent sur le framework PHP Symfony avec SQL Server. Le pipeline de données et le moteur prédictif sont développés en Python, adossés à PostgreSQL. L'ensemble est conteneurisé avec Docker.
Résultats
- 150 000 clients actifs : chacun reçoit une liste de courses personnalisée, au bon moment, avant son retour prévu en magasin ;
- L'ingestion de tous les tickets de caisse de la journée — et parfois davantage — puis le calcul complet des listes, des unités de besoin et des promotions suggérées tiennent en 15 minutes ;
- Une base de données qui dépasse les 200 millions de lignes de tickets de caisse, exploitée au quotidien sans faiblir ;
- Des promotions ciblées sur ce que chaque client consomme réellement, alimentées par des catalogues toujours à jour ;
- Une personnalisation à grande échelle, entièrement automatisée, pilotable depuis une seule interface.