Classé 6ème parmi 909 équipes dans la compétition de prévision M5
Une équipe d’employés de Lokad, à savoir Rafael de Rezende (leader), Ignacio Marín Eiroa, Katharina Egert et Guilherme Thompson 1, a obtenu la 6ème position dans la compétition de prévision M5 parmi 909 équipes participantes. C’est une performance impressionnante, et je suis fier de ce que cette équipe a accompli. Construire une culture axée sur des résultats quantitatifs a toujours été un objectif majeur pour Lokad, et le résultat de cette compétition démontre jusqu’où nous avons progressé dans ce parcours.

À ma connaissance, c’est la première fois qu’une compétition publique de prévision de la demande compétition publique de prévision de la demande a impliqué des prévisions quantiles, un éclairage qui se rapporte directement au travail de Lokad déjà en 2012. Bien qu’il ait fallu 8 ans au monde académique pour rattraper les quantiles, cela ne rend pas cette réussite moins significative. Les prévisions “classiques” nues sont fondamentalement défaillantes par conception en ce qui concerne la supply chain. Les prévisions quantiles ne sont pas la solution ultime, mais fonctionnent néanmoins là où stocks de sécurité ne le font pas. Je considère cela comme un pas majeur dans la bonne direction.
Côté résultats, les concurrents classés de la 1ère à la 6ème place sont incroyablement proches. L’équipe classée première 2 a réussi à prendre une avance de quelques pourcentages. Cependant, mon expérience personnelle indique que, même pour un réseau de distribution très important comme Walmart, une réduction de 5% de la perte de pinball – une métrique qui peut être utilisée pour évaluer la précision des prévisions quantiles – serait presque imperceptible en termes de dollars d’erreur. En effet, à ce niveau de précision, les modèles de prévision sont essentiellement équivalents, et d’autres aspects (non abordés lors de la compétition M5) dominent – tels que la capacité à faire face aux ruptures de stock, la variation des assortiments, les cannibalisation, des délais d’approvisionnement erratiques, etc. Ces préoccupations font une bien plus grande différence qu’une poignée de pourcentages de perte de pinball.
Du point de vue du modèle, l’équipe Lokad a utilisé un modèle paramétrique à 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 base éliminant les cyclicités et le bruit des ruptures de stock, ainsi qu’un modèle d’espace d’états à 2 paramètres pour transformer la base en trajectoires quotidiennes (avec des contributions multiplicatives des cyclicités). Aussi, comme l’équipe gagnante, Lokad n’a pas utilisé de données de prix, ni de données externes. La plus grande difficulté technique pour l’équipe Lokad s’est avérée être la gestion des ruptures de stock devant être prédites : il s’agissait d’un exercice de prévision de ventes, et non de prévision de demande. Ceci sera abordé plus en détail plus tard lorsque nous reviendrons sur les détails de ce modèle.
Dans l’ensemble, si un modèle paramétrique à faible dimension bien choisi, comme celui utilisé par Lokad dans la compétition M5, peut vous rapprocher de l’exactitude des méthodes les plus avancées – qui se résument actuellement aux arbres boostés par gradient avec augmentation d’intervalle – alors en production, ce modèle est garanti d’avoir un comportement bien meilleur comparé aux modèles non paramétriques ou hyperparamétriques, et beaucoup plus facile à ajuster structurellement 3 lorsqu’il le faut.
De plus, les performances informatiques du modèle tendent à être un véritable gouffre opérationnel. L’équipe classée première a rapporté que l’exécution de leur prédiction prenait « quelques heures » (sic) sur une station de travail avec configuration 10+10 CPU. Cela peut sembler rapide, mais gardez à l’esprit que l’ensemble de données M5 ne comptait que 30k SKUs, ce qui est très peu comparé au nombre de SKUs dans la plupart des réseaux de distribution (quelques catégories sur quelques magasins). J’estime que Walmart gère plus de 100M de SKUs à l’échelle mondiale, nous parlons donc de des dizaines de milliers d’heures de calcul par prédiction 4. Les réseaux de distribution que Lokad sert nous offrent généralement une fenêtre d’environ 2 heures chaque jour pour rafraîchir nos prévisions, si bien que quels que soient les modèles choisis, ils doivent être compatibles avec ce planning tant pour l’entraînement que pour la prévision 5. Déployer le modèle de l’équipe classée première est certes possible à l’échelle de Walmart, mais gérer seul le cluster de calcul nécessiterait une équipe à part.
La compétition M5 a représenté une nette amélioration par rapport à ses itérations précédentes. Cependant, l’ensemble de données reste bien éloigné d’une situation de distribution réelle. Par exemple, les informations de tarification 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 de prix avaient été fournies pour la période à prévoir, la compétition se serait orientée vers des modèles tirant réellement parti de ces informations au lieu de les écarter d’emblée.
En plus des prix futurs, deux éléments majeurs de données manquaient dans la compétition M5 : les niveaux de stocks et les transactions désagrégées, deux informations quasiment toujours disponibles dans les réseaux de distribution. Les niveaux de stocks 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 une quelconque cannibalisation ou substitution sans elles – alors qu’une simple observation des rayons de distribution indique clairement qu’elles jouent un rôle majeur. Le modèle utilisé par l’équipe Lokad pour se classer sixième ne comportait rien en ce sens, et le modèle classé premier non plus.
En conclusion, c’est un résultat fantastique pour Lokad. Bien qu’il y ait certainement des améliorations à apporter pour rendre les compétitions de prévisions plus réalistes, j’inciterais mes lecteurs à ne pas prendre ces résultats trop au pied de la lettre, M5 est une compétition de prévision. Dans le monde réel, les ruptures de stock, les lancements de produits, les promotions, les changements d’assortiment, les problèmes fournisseurs, les plannings de livraison, tout doit être pris en compte. Le plus grand défi n’est pas de réduire de quelques pourcentages minimes d’erreur ici et là, mais de s’assurer que la recette numérique de bout en bout ne présente pas de points aveugles stupides qui finiraient par ruiner toute l’optimization de la Supply Chain .
-
Techniquement, un ancien employé de Lokad au moment de la compétition. ↩︎
-
L’équipe gagnante comprenait Northquay (pseudonyme) et Russ Wolfinger. Leur équipe s’appelait Everyday Low SPLices pour cette compétition M5. Pour plus de clarté, je me contente de les désigner ici comme l’équipe classée première. ↩︎
-
Les crises surviennent régulièrement dans la supply chain. Le Covid-19 n’est que 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 perspicacité des Supply Chain Scientist est la seule manière d’orienter les modèles vers des décisions sensées. ↩︎
-
L’équipe classée première a utilisé LightGBM, une bibliothèque C++ capable de fournir des performances algorithmiques de pointe pour ce type de modèles. De plus, l’équipe a utilisé des astuces de performance numérique assez avancées, comme l’utilisation de nombres en demi-précision. Lors de la transition vers un environnement de production, la performance informatique par SKU diminuerait très probablement en raison de la complexité supplémentaire / de l’hétérogénéité imposée par un environnement de production réel. ↩︎
-
Tous les modèles ne conviennent pas de la même manière à isoler l’entraînement de l’évaluation. Les résultats peuvent varier. Des problèmes de données surviennent de temps en temps, si bien que dans ces situations, les modèles doivent être réentraînés, et cela doit se faire rapidement. ↩︎