Une équipe d’employés de Lokad, à savoir Rafael de Rezende (chef d’équipe), Ignacio Marín Eiroa, Katharina Egert et Guilherme Thompson 1, s’est classée à la 6e position lors de la compétition de prévision M5 parmi 909 équipes concurrentes. C’est un exploit impressionnant et je suis fier de ce que cette équipe a accompli. La construction d’une culture axée sur les résultats quantitatifs a été un objectif de longue date pour Lokad, et le résultat de cette compétition démontre à quel point nous avons progressé dans ce domaine.

Lokad classé 6e sur 909 équipes lors de la compétition de prévision M5

À ma connaissance, c’est la première fois qu’une compétition de prévision publique a impliqué des prévisions quantiles, un concept qui est directement lié au travail de Lokad remontant à 2012. Bien qu’il ait fallu 8 ans à la communauté universitaire pour rattraper les quantiles, cela ne rend pas cet exploit moins significatif. Les prévisions “classiques” sont pratiquement inadaptées en ce qui concerne la supply chain. Les prévisions quantiles ne sont pas la solution ultime, mais elles fonctionnent là où les stocks de sécurité ne fonctionnent pas. Je considère cela comme une avancée majeure dans la bonne direction.

En ce qui concerne les résultats, les équipes classées de la 1re à la 6e place sont incroyablement proches. L’équipe classée première2 a réussi à prendre quelques pourcentages d’avance. Cependant, d’après mon expérience, même pour un réseau de vente au détail très étendu comme Walmart, une réduction de 5 % de la perte pinball - une mesure permettant d’évaluer la précision des prévisions quantiles - serait presque imperceptible en termes d’erreur en dollars. En effet, à ce niveau de précision, les modèles de prévision sont essentiellement équivalents, et d’autres aspects (qui n’ont pas été couverts par la compétition M5) dominent - tels que la capacité à faire face aux ruptures de stock, aux assortiments variables, aux cannibalisations, aux délais d’approvisionnement erratiques, etc. Ces préoccupations ont un impact bien plus important que quelques pourcentages de perte pinball.

En ce qui concerne les modèles, l’équipe Lokad a utilisé un modèle paramétrique de faible dimension qui incluait les cyclicités pertinentes (jour de la semaine, jour du mois, mois de l’année) au niveau du magasin/catégorie, une ligne de base éliminant les cyclicités et le bruit des ruptures de stock, ainsi qu’un modèle d’espace d’état à 2 paramètres pour transformer la ligne de base en trajectoires quotidiennes (avec des contributions multiplicatives des cyclicités). De plus, comme l’équipe gagnante, Lokad n’a pas utilisé de données de prix, ni de données externes. La plus grande difficulté pour l’équipe Lokad a été de gérer les ruptures de stock qui devaient être prévues : il s’agissait d’un exercice de prévision des ventes, et non d’une prévision de la demande. Nous reviendrons plus en détail sur ce modèle lorsque nous examinerons les détails de celui-ci.

Dans l’ensemble, si un modèle paramétrique de faible dimension bien choisi, comme celui utilisé par Lokad dans la compétition M5, peut vous donner une précision de quelques pourcentages par rapport à la méthode de pointe - qui se trouve être des arbres boostés par gradient augmenté de plage - alors en production, ce modèle est garanti d’être beaucoup plus facile à gérer que les modèles non paramétriques ou hyperparamétriques, et beaucoup plus facile à ajuster structurellement 3 lorsque cela est nécessaire.

De plus, les performances informatiques du modèle ont tendance à être un véritable casse-tête opérationnel. L’équipe classée première a déclaré que l’exécution de leur prédiction prenait “quelques heures” (sic) sur une configuration de station de travail à 10+10 CPU. Cela peut sembler rapide, mais gardez à l’esprit que l’ensemble de données M5 ne comptait que 30 000 SKUs, ce qui est très peu par rapport au nombre de SKUs dans la plupart des réseaux de vente au détail (quelques catégories sur quelques magasins). J’estime que Walmart gère plus de 100 millions de SKUs à l’échelle mondiale, nous parlons donc de dizaines de milliers d’heures de calcul par prédiction 4. Les réseaux de vente au détail que Lokad dessert nous donnent généralement une fenêtre de ~2 heures chaque jour pour actualiser nos prévisions, donc les modèles que nous choisissons doivent être compatibles avec ce calendrier à la fois pour l’entraînement et la prévision 5. Le déploiement du modèle de l’équipe classée première est certainement possible à l’échelle de Walmart, mais la gestion du cluster de calcul à elle seule nécessiterait une équipe dédiée.

La compétition M5 a été une nette amélioration par rapport à ses précédentes éditions. Cependant, le jeu de données est encore loin de représenter une situation de vente au détail réelle. Par exemple, les informations sur les prix n’étaient disponibles que pour le passé. En pratique, les promotions ne se produisent pas au hasard : elles sont planifiées. Ainsi, si les données sur les prix avaient été fournies pour la période à prévoir, la compétition aurait été orientée vers des modèles utilisant réellement ces informations au lieu de les ignorer immédiatement.

Outre les prix futurs, deux éléments majeurs manquaient à la compétition M5 : les niveaux de stock et les transactions désagrégées, qui sont presque toujours disponibles dans les chaînes de vente au détail. Les niveaux de stock sont importants car, évidemment, sans stock, il n’y a pas de ventes (biais de censure). Les transactions désagrégées sont importantes car, d’après mon expérience, il est presque impossible d’évaluer toute forme de cannibalisation ou de substitution sans elles - alors qu’une simple observation des étagères de vente au détail indique clairement qu’elles jouent un rôle important. Le modèle utilisé par l’équipe Lokad, qui s’est classée sixième, n’avait rien à cet égard, et le modèle qui s’est classé premier non plus.

En conclusion, c’est un résultat fantastique pour Lokad. Bien qu’il y ait certainement des progrès à faire pour rendre les compétitions de prévision plus réalistes, j’exhorte mes lecteurs à ne pas prendre ces résultats trop littéralement, M5 est une compétition de prévision. Dans le monde réel, les ruptures de stock, les lancements de produits, les promotions de produits, les changements d’assortiment, les problèmes de fournisseurs, les plannings de livraison, doivent tous être pris en compte. Le plus grand défi n’est pas de réduire de quelques pourcents l’erreur restante, mais de s’assurer que la recette numérique de bout en bout ne présente pas de lacunes qui pourraient ruiner toute l’initiative d’optimisation de la supply chain.


  1. Techniquement, un employé ex-Lokad au moment de la compétition. ↩︎

  2. L’équipe gagnante comprenait Northquay (pseudonyme) et Russ Wolfinger. Leur équipe était nommée Everyday Low SPLices pour cette compétition M5. Pour plus de clarté, je les désigne simplement ici comme l’équipe arrivée en première place. ↩︎

  3. Les crises se produisent régulièrement dans la supply chain. La Covid-19 est simplement la dernière crise mondiale, mais des crises localisées se produisent tout le temps. Les données historiques ne reflètent pas toujours les événements qui se déroulent dans la supply chain. Souvent, la vision globale du scientifique de la supply chain est le seul moyen d’orienter les modèles vers des décisions sensées. ↩︎

  4. L’équipe arrivée en première place a utilisé LightGBM, une bibliothèque C++ capable de fournir des performances algorithmiques de pointe pour cette catégorie de modèles. De plus, l’équipe a utilisé des astuces de performance numérique quelque peu avancées, telles que l’utilisation de nombres en demi-précision. Lors de la transition vers une configuration de production, les performances de calcul par SKU diminueraient très probablement en raison de la complexité / hétérogénéité supplémentaire imposée par un environnement de production réel. ↩︎

  5. Tous les modèles ne conviennent pas également à l’isolation de l’entraînement de l’évaluation (l’entraînement). Les résultats peuvent varier. Les problèmes de données se produisent de temps en temps, il est donc nécessaire de re-entraîner les modèles dans ces situations, et cela doit se faire rapidement. ↩︎