Prévision via Deep Learning (2018)
De la prévision probabiliste au deep learning
En partie par hasard, le deep learning s’est révélé particulièrement adapté, par construction, aux prévisions probabilistes. Cette orientation n’avait pourtant pas été motivée par la supply chain. Les algorithmes de deep learning privilégient une optimisation fondée sur une perspective probabiliste ou bayésienne, avec des métriques comme l’entropie croisée qui fournissent des gradients très élevés, particulièrement adaptés à la descente de gradient stochastique, l’algorithme qui rend le deep learning possible.
Dans le cas spécifique des supply chains, les fondements du deep learning se trouvent parfaitement alignés avec les véritables exigences métier.
Au-delà du battage médiatique autour de l’intelligence artificielle
L’intelligence artificielle - propulsée en pratique par le deep learning - a été le grand mot à la mode de l’année 2017. Les promesses étaient fortes, fascinantes et, disons-le, assez floues. Du point de vue de Lokad, la majorité des technologies d’IA pour l’entreprise ne parvenaient pas à tenir leurs promesses. Très peu d’entreprises peuvent sécuriser plus d’un demi-milliard de dollars de financement, comme Instacart, afin de constituer une équipe de deep learning de classe mondiale capable de traiter correctement un défi supply chain.
Avec cette version, Lokad rendait une technologie de prévision de niveau IA accessible à toute entreprise raisonnablement numérisée. Bien entendu, l’ensemble reposait toujours sur des données historiques supply chain, qui devaient donc être mises à disposition de Lokad, mais notre technologie ne nécessitait aucune expertise en deep learning côté client. Contrairement à pratiquement toutes les offres dites « IA d’entreprise », Lokad ne reposait pas sur une ingénierie manuelle des variables. Pour nos clients, la transition depuis les prévisions probabilistes précédentes vers le deep learning était conçue pour être transparente. Lokad a été l’un des premiers éditeurs à proposer une technologie de prévision de niveau IA clé en main, accessible aussi bien à un petit acteur du ecommerce qu’à de vastes réseaux supply chain comptant des milliers de sites et jusqu’à un million de références.
L’ère du calcul sur GPU
(*) Pour des jeux de données ultra-petits, ce moteur de prévision de cinquième génération était en réalité plus lent et nécessitait quelques minutes supplémentaires - ce qui reste largement sans conséquence en pratique.
Lancements de produits et promotions
Notre moteur de prévision de cinquième génération a apporté des améliorations substantielles sur les situations de prévision difficiles, notamment les lancements de produits et les promotions. De notre point de vue, les lancements de produits, bien que très complexes, restent légèrement plus simples que les prévisions de promotions. La différence de difficulté vient de la qualité des données historiques, qui est presque toujours plus faible pour les promotions que pour les lancements. Les données promotionnelles s’améliorent cependant avec le temps, une fois les bons processus d’assurance qualité en place.
En particulier, nous considérions le deep learning comme une opportunité majeure pour les marques de mode, qui sont confrontées à des lancements de produits dominant leurs ventes : lancer un nouveau produit n’est pas l’exception, c’est la règle. Ensuite, les variantes de couleur et de taille gonflent fortement le nombre de SKU, ce qui complexifie encore la situation.
FAQ prévisions
Quels modèles de prévision utilisez-vous ?
Notre moteur de prévision deep utilise un modèle unique construit selon les principes du deep learning. Contrairement aux modèles statistiques classiques, il comporte des dizaines de millions de paramètres entraînables, soit environ 1 000 fois plus que notre modèle non deep le plus complexe de l’époque. Le deep learning surpasse nettement les approches de machine learning plus anciennes (random forests, gradient boosted trees). Il convient cependant de rappeler que ces approches plus anciennes surpassaient déjà les grands classiques des séries temporelles (Box-Jenkins, ARIMA, Holt-Winters, lissage exponentiel, etc.).
Apprenez-vous de vos erreurs de prévision ?
Oui. Le processus d’entraînement statistique - qui génère in fine le modèle deep learning - exploite l’ensemble des données historiques disponibles chez Lokad. Cet historique est utilisé à travers un processus connu sous le nom de backtesting. Ainsi, plus l’historique disponible est riche, plus le modèle a d’occasions d’apprendre de ses propres erreurs.
Votre moteur de prévision gère-t-il la saisonnalité, les tendances et les jours de semaine ?
Oui, le moteur gère toutes les cyclicités courantes, ainsi que les quasi-cyclicités, dont l’importance est souvent sous-estimée. En termes de code, le modèle deep learning exploite intensivement une approche multi-séries temporelles afin de tirer parti des cyclicités observées sur d’autres produits pour améliorer la précision de prévision de chaque produit. Naturellement, deux produits peuvent partager la même saisonnalité sans présenter le même profil par jour de semaine. Le modèle est capable de capturer ces nuances. L’un des grands avantages du deep learning réside aussi dans sa capacité à modéliser correctement la variabilité de la saisonnalité elle-même. En effet, une saison peut commencer plus tôt ou plus tard selon des variables externes comme la météo, et ces variations sont détectées et reflétées dans nos prévisions.
Quelles données vous faut-il ?
Comme avec notre génération précédente de technologie de prévision, pour prévoir la demande, le moteur de prévision doit recevoir au minimum l’historique quotidien de la demande, et il est encore préférable de fournir un historique détaillé des commandes. En ce qui concerne la longueur de l’historique, plus il est long, mieux c’est. Aucune saisonnalité ne peut être détectée avec moins de deux ans d’historique, nous considérons trois ans comme corrects et cinq ans comme excellents. Pour prévoir les délais, le moteur requiert généralement des bons de commande contenant à la fois les dates de commande et les dates de livraison. Préciser les attributs produits ou SKU permet également d’affiner fortement les prévisions. Enfin, la mise à disposition des niveaux de stocks nous aide aussi beaucoup pour produire une première analyse de stocks pertinente.
Pouvez-vous prévoir ma feuille Excel ?
En règle générale, si toutes vos données tiennent dans une seule feuille Excel, nous ne pouvons probablement pas faire grand-chose pour vous, et pour être honnête, personne ne le peut vraiment non plus. Les données de tableur sont généralement agrégées par semaine ou par mois, ce qui fait perdre l’essentiel de l’information historique. De plus, dans ce cas, votre tableur ne contient généralement pas beaucoup d’informations sur les catégories ou les hiérarchies de produits. Notre moteur de prévision exploite toute la richesse des données disponibles, et tester un minuscule échantillon ne donnera pas de résultats satisfaisants.
Qu’en est-il des ruptures de stock et des promotions ?
Les ruptures de stock comme les promotions représentent des biais dans les ventes historiques. Puisque l’objectif est de prévoir la demande, et non les ventes, ce biais doit être pris en compte. Une manière fréquente - mais incorrecte - de traiter ces événements consiste à réécrire l’historique, en remplissant les creux et en écrêtant les pics. Nous n’aimons pas cette approche, car elle revient à injecter des prévisions dans le moteur de prévision, ce qui peut engendrer de graves problèmes de surapprentissage. À la place, notre moteur prend en charge nativement des « flags » indiquant où la demande a été censurée ou gonflée.
Prévoyez-vous les nouveaux produits ?
Oui. Cependant, pour prévoir de nouveaux produits, le moteur a besoin des dates de lancement des autres produits plus anciens, ainsi que de leur demande historique au moment du lancement. Il est aussi conseillé de préciser certaines catégories produit et/ou une hiérarchie produit. Le moteur prévoit en effet les nouveaux produits en détectant automatiquement les produits plus anciens pouvant être considérés comme comparables aux nouveaux. Comme aucune demande n’a encore été observée pour les nouveaux articles, les prévisions reposent entièrement sur les attributs associés à ces articles.
Utilisez-vous des données externes pour affiner les prévisions ?
Nous pouvons exploiter des données de prix concurrents, généralement obtenues auprès de sociétés tierces spécialisées par exemple dans le web scraping. Des données de trafic web peuvent également être utilisées, voire acquises, afin d’enrichir l’historique et d’améliorer encore la précision statistique. En pratique, le principal goulot d’étranglement dans l’utilisation de sources de données externes n’est pas le moteur de prévision de Lokad - qui est plutôt capable - mais la mise en place et la maintenance d’un pipeline de données de haute qualité connecté à ces sources externes.