+150 XP

Optimisation de la supply chain et des stocks pilotée par l'IA

Le problème à double face qu'aucun tableur ne résout

Un producteur laitier régional se réveille avec deux réclamations le même matin. La moitié de ses livraisons de yaourts à une chaîne de supermarchés est arrivée trop près de la date limite de vente, le distributeur les a refusées (spoilage). Pendant ce temps, trois magasins d'une région voisine sont en rupture sur le même produit dès midi (out-of-stock).

Ces deux problèmes sont des défaillances de stock, mais ils tirent dans des directions opposées. Réduisez le spoilage en expédiant moins, vous créez davantage de ruptures. Réglez les ruptures en expédiant plus, vous créez davantage de spoilage.

C'est la tension centrale des supply chains FMCG, surtout sur les produits périssables : fraîcheur contre disponibilité, avec le working capital (le cash immobilisé en stock) coincé au milieu. Les outils de prévision classiques traitent ces sujets séparément. L'optimisation par l'IA les traite comme un seul problème.

Pourquoi les règles de stock classiques cassent en FMCG

La plupart des entreprises fonctionnent encore avec des règles de safety stock : conserver un tampon fixe d'unités supplémentaires pour absorber les variations de demande. Une formule courante dimensionne ce tampon à partir de la demande moyenne et de sa variabilité.

Cela fonctionne pour des produits stables et non périssables. En FMCG, cela casse pour trois raisons :

  • Durée de vie courte. Un tampon de yaourts n'est pas une assurance gratuite. C'est un risque de spoilage avec un compte à rebours.
  • Promotions et saisonnalité. Une promotion de prix le week-end peut tripler la demande d'un SKU (stock keeping unit, une combinaison produit-format-parfum unique). Des tampons fixes ne peuvent pas s'adapter assez vite.
  • Complexité du réseau. Le produit transite par plusieurs étapes : usine, entrepôt central, dépôts régionaux, magasins. Chaque étape détient du stock. Les optimiser une par une gaspille du cash et de la fraîcheur.

Ce dernier point porte un nom : multi-echelon inventory optimization (MEIO). Un échelon est une étape du réseau. Le MEIO optimise le stock sur tous les échelons en même temps, au lieu de laisser chaque dépôt accumuler son propre tampon.

Le raisonnement multi-échelon, en clair

Imaginez chaque dépôt régional conservant de son côté cinq jours de yaourts « au cas où ». Multipliez par vingt dépôts et vous détenez une montagne de stock périssable, dont l'essentiel ne sera jamais nécessaire sur un seul site.

Le MEIO pose une question plus fine : où, dans le réseau, chaque unité de tampon doit-elle réellement se trouver ?

Souvent la réponse consiste à détenir moins aux extrémités (magasins, dépôts) et un peu plus au centre, là où un même tampon peut servir de nombreux sites. C'est le risk pooling : la variabilité se lisse quand on agrège la demande de plusieurs régions. Un tampon central de 1 000 unités peut couvrir le même risque de service que 3 000 unités éparpillées dans les dépôts, parce que les dépôts ne connaissent que rarement des pics simultanés.

Pour le frais laitier, le MEIO ajoute une contrainte dure : la fraîcheur. Une unité détenue au centre doit encore atteindre le rayon avec une durée de vie résiduelle suffisante. Le modèle arbitre donc entre les bénéfices du pooling, le temps de transit et les jours de vie restants.

Le MIT Center for Transportation and Logistics publie des travaux accessibles sur ces arbitrages de réseau si vous voulez creuser.

Là où intervient le reinforcement learning

La prévision vous dit ce que la demande pourrait être. Elle ne vous dit pas quoi *faire*. Le réapprovisionnement est un problème de décision : combien commander, pour chaque SKU, sur chaque site, chaque jour, avec une demande incertaine et des produits périssables.

Le reinforcement learning (RL) est une branche de l'IA où un agent apprend une policy (une règle de choix d'actions) par essais et erreurs, guidé par un signal de récompense. Voyez cela comme apprendre à jouer à un jeu dont le « score » est votre objectif business.

Pour le réapprovisionnement laitier, le montage ressemble à ceci :

  • State : stock actuel sur chaque site, âge du produit, jour de la semaine, promotions à venir, météo, ventes récentes.
  • Action : combien d'unités commander ou expédier vers chaque site.
  • Reward : niveau de service atteint (disponibilité), moins le coût de spoilage, moins le coût de détention.

L'agent RL simule des millions de journées sur des demandes historiques et synthétiques. Il apprend par exemple qu'expédier davantage vers un magasin précis avant un week-end de chaleur est rentable, mais seulement pour des produits ayant plus de quatre jours de durée de vie restante.

Point clé : le RL apprend des policies que les règles classiques ne savent pas exprimer. Une formule de safety stock fixe dit « garder X jours ». Une policy RL dit « garder X jours, sauf si l'âge du produit dépasse Y et qu'on est en milieu de semaine sans promotion, auquel cas expédier moins et laisser le dépôt central absorber le risque ». Cette logique conditionnelle est exactement ce qu'exige l'arbitrage fraîcheur/disponibilité.

Une fonction de reward simplifiée

Voici l'idée centrale de la reward, en pseudocode. C'est illustratif, pas du code de production.

python
def daily_reward(sales, demand, spoiled_units, ending_stock):
    stockout_units = max(demand - sales, 0)

    reward = (
        REVENUE_PER_UNIT * sales
        - STOCKOUT_PENALTY * stockout_units   # ventes manquées, distributeur mécontent
        - SPOILAGE_COST   * spoiled_units     # produits laitiers périmés, coût de destruction
        - HOLDING_COST    * ending_stock      # working capital immobilisé
    )
    return reward

L'agent ajuste sa policy de commande pour maximiser la somme de ces rewards quotidiennes dans le temps. Changez les pénalités, vous changez le comportement : augmentez SPOILAGE_COST et l'agent devient plus prudent sur les SKU frais.

Passer au réel : données et garde-fous

Le RL et le MEIO ne valent que par leurs entrées et leurs contraintes.

Les données nécessaires :

  • Données point-of-sale (POS) par magasin et par SKU, idéalement quotidiennes.
  • Stock actuel et âge du produit à chaque échelon.
  • Calendriers promotionnels et changements de prix.
  • Lead times (temps de déplacement du stock entre étapes).

Les garde-fous qui comptent :

  • Les contraintes de durée de vie doivent être des règles dures, pas des pénalités souples. Vous ne voulez jamais d'une policy qui expédie du produit périmé pour atteindre un objectif de service.
  • Limites fournisseurs et de production. L'agent ne peut pas commander plus que ce que l'usine peut produire.
  • Override humain. Les planners doivent pouvoir inspecter et ajuster les recommandations, surtout lors d'événements inhabituels. L'IA propose ; l'équipe supply chain reste responsable.

Un déploiement pragmatique commence en général en shadow mode : l'IA génère des recommandations, les humains continuent de prendre les vraies décisions, et les deux sont comparés pendant plusieurs semaines. Ce n'est qu'après que l'IA a battu de façon constante la méthode en place sur le spoilage, le service et le stock qu'elle prend la main, souvent une catégorie de produits à la fois.

À quoi ressemble un bon résultat

Pour notre producteur laitier, un système bien réglé ne court pas après une seule métrique. Il rend compte des trois à la fois :

  • Niveau de service : part de la demande servie depuis le stock (moins de ruptures).
  • Taux de spoilage : part des unités périmées avant vente.
  • Working capital / jours de stock : combien de cash est immobilisé en stock.

La victoire consiste à faire bouger les trois dans le bon sens ensemble, ou à accepter une dégradation minime et assumée sur l'un pour gagner beaucoup sur un autre. Les éditeurs annoncent parfois de fortes améliorations ; considérez ces chiffres d'affiche comme des estimations et exigez votre propre test en shadow mode avant d'y croire.

Vérification des acquis

1. Pourquoi le texte décrit-il fraîcheur et disponibilité comme un « problème à double face qu'aucun tableur ne résout » ?

2. Une entreprise vend de la soupe en conserve, stable en rayon, avec une demande régulière et prévisible. Pourquoi les règles classiques de safety stock peuvent-elles bien fonctionner ici et échouer pour du yaourt frais ?

3. Qu'est-ce qui résume le mieux l'objectif du multi-echelon inventory optimization (MEIO) ?

CHOIX MULTIPLES

4. Sélectionnez TOUTES les bonnes réponses. Pourquoi les règles classiques de safety stock fixe se cassent-elles dans les supply chains FMCG ?

Sélectionnez toutes les réponses correctes.

CHOIX MULTIPLES

5. Sélectionnez TOUTES les bonnes réponses sur le rôle du working capital dans le problème de stock FMCG.

Sélectionnez toutes les réponses correctes.

Les modes d'échec courants à éviter

Optimiser les prévisions au lieu des décisions. Une prévision plus précise qui alimente encore une règle de commande rigide laisse l'essentiel de la valeur sur la table. C'est la policy de décision qui rapporte.

Ignorer les contraintes du distributeur. Beaucoup de chaînes alimentaires refusent les livraisons en deçà d'une durée de vie résiduelle minimale (une exigence de « days-to-expiry »). Si votre modèle n'encode pas les règles d'acceptation du distributeur, ses expéditions « optimales » se font refuser au quai.

Entraîner sur un monde qui n'existe plus. Les schémas de demande évoluent : nouveaux concurrents, inflation des prix, habitudes de consommation modifiées. Les policies RL doivent être réentraînées périodiquement, avec un suivi du drift (quand les conditions réelles s'écartent des données d'entraînement).

Trop centraliser les périssables. Le risk pooling économise du cash, mais pour des produits à très courte durée de vie, détenir le stock trop loin du rayon ne fait que déplacer le spoilage. Le modèle doit traiter le temps de transit comme une contrainte de premier ordre.

Retour à la laiterie

Revenons à ce producteur et à ses deux réclamations. Avec un système piloté par l'IA, la matinée est différente. Pendant la nuit, l'agent a vu une prévision de canicule sur une région et une promotion démarrant dans une autre. Il a poussé du stock plus frais vers la région en promotion, conservé un peu plus au dépôt central pour couvrir l'incertitude liée à la canicule, et réduit les expéditions de stock plus ancien vers la chaîne qui applique des règles strictes d'acceptation sur la durée de vie.

Spoilage et ruptures cessent d'être un bras de fer. Ils deviennent deux termes d'un objectif unique que le système résout chaque nuit.

Points clés

  • Fraîcheur, disponibilité et working capital forment un seul problème, pas trois. Les supply chains FMCG échouent quand elles les optimisent séparément. L'IA permet de les équilibrer dans un objectif unique.
  • L'optimisation multi-échelon associée au risk pooling réduit le stock périssable total en plaçant les tampons là où ils couvrent le plus de sites, sous contrainte de durée de vie et de temps de transit.
  • Le reinforcement learning optimise les décisions, pas seulement les prévisions. Sa fonction de reward arbitre directement entre pénalité de rupture, spoilage et coût de détention, produisant des policies conditionnelles que des règles fixes ne peuvent pas exprimer.
  • Les garde-fous ne se négocient pas : contraintes dures de durée de vie, limites de production, override humain. Déployez en shadow mode et prouvez les résultats sur vos propres données avant de céder le contrôle.
  • Traitez les gains annoncés par les éditeurs comme des estimations. Mesurez ensemble niveau de service, taux de spoilage et jours de stock, et réentraînez les modèles à mesure que la demande dérive.