Accueil
EN
Tous les projets
Prévision & Supply chainTerminé

Pomme de Pain ML

Prévoir les ventes et les pertes de chaque produit d'un point de vente, et recommander les bonnes quantités à commander.

PFA — iTeam University2026
  • Deep Learning
  • LSTM
  • PyTorch
  • FastAPI
  • React
  • Recharts
  • Prévision
Tableau de bord Pomme de Pain ML : chiffre d'affaires, ventes, pertes du jour, historique sur 30 jours et prévision du lendemain

Contexte

Dans un point de vente de restauration rapide, les commandes sont passées selon une règle fixe du siège : la moyenne des mêmes jours de semaine, majorée d’une marge de sécurité. Cette règle ignore la météo, les jours fériés, les vacances et les événements locaux. Résultat : des invendus jetés certains jours, des ruptures d’autres jours.

Ce projet couvre la chaîne complète pour un point de vente à Saint-Quentin-en-Yvelines : données → modèle → API → interface, sur 50 produits et deux ans d’historique.

Les données sont simulées (fictives mais réalistes) : aucune donnée réelle de l’enseigne n’est utilisée.

Problème

Prévoir, pour chaque produit et chaque jour, les ventes et les pertes, puis transformer ces prévisions en quantités à commander, et démontrer le gain face à la règle actuelle, en euros, sur une période que le modèle n’a jamais vue.

Architecture

  • Préparation des données (pandas) : chargement, validation, nettoyage, variables explicatives et découpage dans le temps. Une seule définition des variables est partagée entre l’entraînement et l’API.
  • Modèle : un LSTM à 2 couches avec attention temporelle et connexion résiduelle, et trois têtes : ventes, pertes et classe de risque de gaspillage. Il lit une fenêtre de 28 jours qui réunit les ventes récentes, le calendrier, la météo, l’impact des événements locaux et les caractéristiques du produit. Au-delà du lendemain, la prévision est récursive.
  • Recommandations et alertes : la commande recommandée découle de la prévision. Des alertes de rupture ou de gaspillage sont levées quand la commande du siège sort de l’intervalle de prévision sur les 3 prochains jours, avec un suivi des alertes résolues.
  • API FastAPI : tableau de bord, prévisions, historique de précision, analyse des pertes, comparaison siège / IA, alertes, produits, événements et un assistant.
  • Interface React (Vite, Tailwind, Recharts) : tableau de bord, prévisions avec intervalle, analyse des pertes, simulation siège vs IA, alertes, fiches produits et une page Modèle & méthode qui expose l’évaluation.
  • Assistant : il répond en langage naturel (prévision d’un produit, alertes, pertes, meilleures ventes, événements) à partir des données et des prévisions.
  • Industrialisation : Docker Compose, tests pytest, CI GitHub Actions et Makefile.

Résultats

Évaluation sur octobre–décembre 2023, une période jamais vue pendant l’entraînement :

  • Précision : erreur de prévision (WAPE) de 14,8 %, contre 22,4 % pour la moyenne des mêmes jours de semaine et 25,7 % pour la méthode naïve « J-7 ».
  • Simulation de commandes sur la même période : coût des invendus réduit d’environ 20 % et marge perdue sur ruptures divisée par plus de 2,5 par rapport à la règle du siège.
  • Limites documentées dans l’application : intervalle de prévision à recalibrer pour la fin d’année, et demande perdue lors des ruptures passées non observable.

Captures

Prévisions sur 7 jours avec intervalle, commande du siège et ventes réelles

Simulation siège vs IA : bilan et coût quotidien

Analyse des pertes par catégorie et par contexte