Une Technologie de Prévision Basée sur le Deep Learning

Notre engagement est de fournir les prévisions les plus précises que la technologie puisse produire. Dans cette optique, nous sommes fiers d'annoncer la mise en production de notre 5ème génération de moteur de prévisions à Lokad. Ce moteur de prévisions offre la plus importante amélioration en termes de précision que nous ayons jamais réussi à atteindre en un seul upgrade.


Des prévisions probabilistes au Deep Learning

La conception du moteur repose sur une variante relativement récente de Machine Learning appelée Deep Learning. Pour les supply chains, l'amélioration significative de la précision des prévisions peut se traduire par des rendements tout aussi importants, permettant de satisfaire plus de clients, plus rapidement, et avec moins de risques sur le stock. Il y a environ 18 mois, nous avons annoncé la 4ème génération de notre technologie de prévision. La 4ème génération a été la première à livrer de véritables prévisions probabilistes. Les prévisions probabilistes sont essentielles dans les supply chains, car lorsque la demande se révèle exceptionnellement élevée ou faible, les coûts se concentrent sur les extrêmes statistiques. Par contraste, les méthodes de prévision traditionnelles - comme les prévisions journalières, hebdomadaires ou mensuelles - qui se limitent à fournir des prévisions médianes ou moyennes, ne voient pas ce problème. Par conséquent, ces méthodes ne parviennent généralement pas à générer des résultats satisfaisants pour les entreprises. La 5ème génération ne renie pas ses origines : elle intègre également des prévisions probabilistes et s'appuie sur l'expérience acquise avec les précédentes générations.

En partie par hasard, il s'avère que le Deep Learning est fortement orienté vers les prévisions probabilistes par nature. La raison pour cela n'a cependant rien à voir avec les questions liées à la supply chain. Les algorithmes de Deep Learning favorisent l'optimisation basée sur une perspective probabiliste / bayésienne, avec des métriques telles que l'entropie croisée, parce que ces métriques apportent un large éventail de valeurs de gradient qui sont particulièrement adaptées à la descente de gradient stochastique, l'algorithme "par excellence" qui rend possible le Deep Learning.

Dans le cas spécifique des supply chains, il s'avère que les bases du Deep Learning sont totalement alignées sur les besoins réels des entreprises !

Au-delà du buzz sur l'Intelligence Artificielle

L'Intelligence Artificielle - alimentée en pratique par le Deep Learning - a été le buzzword de l'année 2017. Les promesses sont ambitieuses, captivantes et, à vrai dire, assez vagues. Du point de vue du Lokad, nous constatons que la majorité des technologies d'IA du commerce ne répondent pas aux attentes. Très peu d'entreprises parviennent à obtenir plus d'un demi-milliard de dollars de financement, comme Instacart, pour réunir une équipe de Deep Learning hautement qualifiée, afin de relever avec succès un défi de la supply chain.

Avec cette nouvelle génération, Lokad rend la technologie de prévision de type IA accessible à toute entreprise suffisamment "digitalisée". Évidemment, le tout est toujours alimenté par les données historiques de la supply chain, donc Lokad doit avoir accès à ces données, mais notre technologie ne nécessite aucune expertise en matière de Deep Learning de la part des utilisateurs. Contrairement à la quasi-totalité des technologies IA "d'entreprise", Lokad ne repose pas sur du "feature engineering" manuel. En ce qui concerne nos clients, la transition de nos prévisions probabilistes vers le Deep Learning se déroulera sans heurts. Lokad est la première entreprise de logiciels à proposer une technologie de prévision de niveau IA clé en main, accessible à la fois aux e-commerces de petite taille et aux réseaux de distribution pouvant regrouper des milliers de sites et un million de références produit.

L'ère du calcul GPU

Le Deep Learning est resté quelque peu en marge jusqu'à ce que la communauté soit parvenue à mettre à niveau sa propre base logicielle pour bénéficier des GPUs (unités de traitement graphique). Les GPUs diffèrent sensiblement des CPUs (unités centrales de traitement), qui continuent à alimenter la grande majorité des applications de nos jours, à l'exception notable des jeux vidéo, qui utilisent de manière intensive à la fois les CPUs et les GPUs. Parallèlement à la réécriture complète de notre moteur de prévision pour cette 5ème itération, nous avons également sensiblement amélioré l'infrastructure sous-jacente. En effet, afin de servir les entreprises, la plateforme Lokad utilise désormais aussi bien les GPUs que les CPUs. Lokad exploite maintenant des machines équipées de GPUs, louées sur Microsoft Azure, la plateforme de cloud computing qui supporte Lokad. Grâce à l'énorme puissance de calcul des GPUs, non seulement nous augmentons la précision de nos prévisions, mais nous les rendons aussi beaucoup plus rapides. Avec une grille de GPUs, nous obtenons maintenant typiquement des prévisions environ 3 à 6 fois plus vite, pour tout jeu de données de taille conséquente(*).

(*) Pour les très petits jeux de données, notre moteur de prévision de 5ème génération est en fait plus lent et prend quelques minutes de plus - ce qui est largement sans conséquence dans la pratique.

Lancements de produits et promotions

Notre moteur de prévision de 5e génération apporte des améliorations significatives dans des situations difficiles à prévoir, notamment les lancements de produits et les promotions. De notre point de vue, les lancements de produits, bien que très difficiles, sont un peu plus simples que les prévisions de promotions. La différence de difficulté réside dans la qualité des données historiques, qui est inévitablement inférieure pour les promotions par rapport aux lancements de produits. Les données relatives à la promotion s'améliorent avec le temps, une fois que des processus d'Assurance Qualité adéquats ont été adoptés.

En particulier, nous constatons que le Deep Learning représente une énorme opportunité pour les marques de mode qui ont des difficultés avec les lancements de produits qui dominent leurs ventes : dans ce domaine, le lancement d'un nouveau produit n'est pas l'exception, mais la règle. Et comme les variantes de couleur et de taille augmentent considérablement le nombre de SKUs, la situation devient encore plus complexe.

Notre FAQ sur les prévisions

Quels modèles de prévision utilisez-vous ?

Notre moteur de Deep Learning utilise un modèle unique qui repose sur les principes du Deep Learning. A l'inverse des modèles statistiques, ce modèle qui contient des dizaines de millions de paramètres sur lesquels il peut être entraîné, soit 1 000 fois plus de paramètres que nos modèles précédents les plus complexes. Le Deep Learning produit de bien meilleurs résultats que les anciennes approches de Machine Learning (random forests, gradient boosted trees, etc.). Il faut cependant noter que ces anciennes approches de Machine Learning étaient déjà beaucoup plus satisfaisantes que les séries temporelles classiques (Box-Jenkins, ARIMA, Holt-Winters, lissage exponentiel, etc.).

Tirez-vous un enseignement de vos erreurs de prévisions ?

Oui. Le processus d'apprentissage statistique — qui est à l'origine du modèle de Deep Learning — exploite toutes les données historiques dont dispose Lokad, à travers un processus appelé backtesting. Par conséquent, plus le volume de données historiques disponible est important, plus le modèle a la possibilité d'apprendre de ses propres erreurs.

Votre moteur de prévisions gère-t-il la saisonnalité des produits, les tendances, les jours de la semaine ?

Oui, le moteur de prévisions prend en charge toutes les cyclicités les plus courantes et même les quasi-cyclicités, dont l'importance est souvent sous-estimée. En ce qui concerne le code, nos modèles de Deep Learning utilisent largement les séries temporelles multiples pour exploiter les cycles observés sur d’autres produits afin d’améliorer l’exactitude des prévisions de chaque produit. Naturellement, il se peut que deux produits partagent la même saisonnalité, mais pas la même évolution en fonction des jours de la semaine par exemple. Le modèle est capable de repérer ce comportement. De plus, l'un des avantages principaux du Deep Learning est la possibilité d'illustrer la variabilité de la saisonnalité elle-même. En effet, une saison peut commencer plus tôt ou plus tard que d'habitude, en fonction de facteurs externes, tels que la météo. Ces variations sont détectées et reflétées dans nos prévisions.

De quelles données avez-vous besoin ?

Comme c'était le cas pour la génération de technologie de prévisions précédente, pour prévoir la demande, le moteur de prévisions a besoin, au minimum, de l’historique de la demande quotidienne. Un historique des commandes désagrégé est encore mieux, et plus l’historique est long, mieux c’est. Aucune saisonnalité ne peut être détectée avec un historique de moins de 2 ans ; un historique de 3 ans est considéré comme une bonne base, et un historique de 5 ans est excellent. Pour prévoir les délais d'approvisionnement, le moteur a généralement besoin des bons de commande, avec à la fois les dates de commande et de livraison. Les attributs des produits ou SKU permettent également d’affiner considérablement les prévisions. Enfin, fournir les niveaux de stock est très utile pour obtenir une première analyse de stock significative.

Pouvez-vous établir des prévisions à partir de mon fichier Excel ?

En règle générale, si toutes vos données tiennent dans un fichier Excel, nous ne pourrons pas grand-chose pour vous et, honnêtement, personne ne le pourra. Dans un tel fichier, les données sont souvent agrégées par semaine ou par mois, et les informations historiques sont alors perdues du fait de ce niveau d'agrégation. De plus, dans ce cas, votre fichier contient peu d'informations sur les catégories et les hiérarchies qui s'appliquent à vos produits. Notre moteur de prévisions exploite toutes les données dont vous disposez et un test sur un faible échantillonnage de celles-ci ne donnera pas de résultats satisfaisants.

Qu’en est-il des ruptures de stock et des promotions ?

Les ruptures de stock et les promotions représentent des biais dans l’historique des ventes. L’objectif étant de prévoir la demande, et non les ventes, ces biais doivent être pris en compte. Une façon courante, mais incorrecte, de gérer ces événements consiste à corriger l’historique, pour compléter les creux ou limiter les pics. Cependant, nous n’aimons pas cette approche qui, en réalité, consiste à donner des prévisions comme donnée d'entrée au moteur de prévisions et peut générer des problèmes de surapprentissage. Notre moteur prend donc en charge des « flags » qui indiquent si la demande a été limitée ou exagérée.

Effectuez-vous des prévisions sur de nouveaux produits ?

Oui. Cependant, pour cela, le moteur a besoin des dates de lancement d'autres produits plus anciens, ainsi que de l’historique de leur demande au moment du lancement. Il est également conseillé d’indiquer les catégories de vos produits et/ou leur hiérarchie. En effet, le moteur établit les prévisions des nouveaux produits en détectant automatiquement les produits plus anciens considérés comme comparables aux nouveaux. Toutefois, aucune demande n’ayant encore été observée pour les nouveaux articles, les prévisions reposent entièrement sur les attributs qui leur sont associés.

Utilisez-vous des données externes pour affiner les prévisions ?

Nous pouvons par exemple utiliser des données sur les prix pratiqués par les concurrents, obtenues grâce à des entreprises tiers spécialistes de l'acquisition automatisée de données sur le Web (web scraping). Les données de trafic Web peuvent également être utilisées, et potentiellement acquises, pour enrichir les données historiques et améliorer la précision statistique du moteur de prévisions. En pratique, le principal obstacle à l'utilisation de sources de données externes n'est pas notre moteur de prévisions — qui est tout à fait apte à traiter ce type de données —, mais la mise en place et la gestion de pipelines de données de qualité, reliés aux sources de données externes.