Industrie · Data Science & IA
Une prévision de demande qui devait battre la moyenne mobile — sinon elle ne partait pas en production
Deux POC de prévision de la demande avaient déjà échoué en interne. Nous avons commencé par établir la baseline la plus simple possible, et fixé comme règle que tout modèle devait la battre pour être déployé.
- Secteur
- Industrie
- Taille
- 9 sites, 2 100 salariés
- Service
- Data Science & IA
- Modèle
- Cadrage puis forfait
- Durée
- Cadrage 2 semaines, projet 11 semaines
Contexte
La planification de production reposait sur l'expérience des planificateurs et une moyenne mobile sur tableur. Les ruptures et les surstocks étaient tous deux fréquents, sur des produits à durée de vie courte.
Le problème
- Deux projets de prévision déjà abandonnés au stade du POC
- Historique de ventes disponible mais promotions non tracées séparément
- Aucun consensus interne sur la métrique à optimiser
- Méfiance forte des planificateurs envers un modèle automatique
Ce que nous avons fait
- Cadrage de deux semaines consacré d'abord à trancher la métrique, avec la supply chain et le contrôle de gestion
- Reconstitution de l'historique promotionnel à partir des données de facturation
- Baseline explicite : moyenne mobile actuelle, mesurée sur douze mois glissants
- Règle posée par écrit : aucun modèle ne part en production s'il ne bat pas la baseline sur la métrique retenue
- Modèle par famille de produits, pas modèle unique — les familles à faible rotation restent sur la baseline
- Interface de correction manuelle pour les planificateurs, avec traçage des corrections
- Pipeline de réentraînement mensuel et alerte de dérive
Résultats
- -31 %
- d'erreur de prévision
- 4 / 7
- familles passées au modèle
- 11 sem.
- du cadrage à la production
- 18 mois
- en production sans réentraînement manuel
Ce qu'il en reste
Trois familles de produits sur sept sont restées sur la moyenne mobile, parce que le modèle ne la battait pas. Le client considère ce résultat comme le plus crédible du projet : c'est ce qui a convaincu les planificateurs d'accepter le modèle sur les quatre autres familles. Les corrections manuelles sont tracées et servent de signal pour le réentraînement.
« C'est le premier prestataire qui nous a dit qu'une partie de notre besoin n'avait pas besoin d'intelligence artificielle. »
Technologies
- Python
- scikit-learn
- MLflow
- Azure ML
- PostgreSQL