Curiosités des prévisions classiques

Les bizarreries des prévisions classiques


Accueil » Ressources » Ici

Mise à jour mai 2016 : cette page est dédiée aux prévisions classiques, qui sont généralement utilisées lorsque Lokad est employé comme un outil de prévision de la demande, et non pas comme un outil d'optimisation des stocks. Les prévisions probabilistes sont assez différentes, plus puissantes, et devraient être utilisées dès qu'il s'agit d'optimiser les stocks.

Les statistiques sont une science contre-intuitive. Par conséquent, le moteur de prévisions de Lokad, qui est une application web statistique, a tendance à fournir des résultats qui peuvent s'avérer déstabilisants dans un premier temps. Dans cet article, nous tentons de rendre plus claires les prévisions classiques (c'est-à-dire vos prévisions journalières, hebdomadaires ou mensuelles).

Pour démarrer

A ce stade, nous supposons que vous avez réussi à lancer Lokad et que vous avez déjà généré votre premier rapport Microsoft Excel. Si vous vous interrogez sur l'interprétation à donner à certaines colonnes, référez-vous à la documentation. Nous vous recommandons de vérifier soigneusement que vos données en entrée sont correctes, typiquement en comparant les valeurs historiques rapportées dans Lokad avec celles de vos systèmes en place.

Backtesting et sélection des modèles

Avant de parler des prévisions elles-mêmes, revenons brièvement sur la façon dont elles sont générées par Lokad. Notre moteur de prévision inclut une vaste bibliothèque de modèles de prévision, allant des plus naïfs aux plus complexes. Pour chaque série temporelle, Lokad effectue un backtesting (ou test rétroactif de validité), c'est-à-dire que nous nous replaçons dans le passé, nous tronquons les données, et nous générons des prévisions en nous autorisant seulement à utiliser ces données tronquées ; nous mesurons ensuite la précision du résultat. Ce procédé est ensuite répété pour chaque jour, semaine ou mois - selon la période applicable à l'historique de données.

Au final, pour chaque série temporelle et chaque modèle, le moteur de prévision à réuni un ensemble de mesures de précision qui lui permet de sélectionner le modèle de prévision le plus précis.

Ce mécanisme de sélection est strictement lié à la performance. La logique ne dit pas, par exemple, si un modèle saisonnier doit être appliqué au Produit X : il se trouve simplement que des modèles saisonniers sont présents au sein du moteur de prévision, et lorsque ces modèles ont des performances supérieures aux autres, alors ce sont eux qui sont sélectionnés.

Prévisions plates et historique erratique

La plupart du temps, l'historique de données tend à être relativement erratique, particulièrement si on l'observe à des niveaux très désagrégés, comme par exemple au niveau des SKUs ou des produits. La ligne bleue dans le graphique ci-dessous donne un exemple de série temporelle. La ligne rouge représente une tentative de prévision de cette série temporelle.

Image


Visuellement cette prévision a l'air bonne, parce qu'elle reproduit le type de fluctuations qui a pu être observé par le passé. Cependant, d'un point de vue statistique, cette prévision est très largement fausse. En effet, la série temporelle est en réalité constituée de valeurs fluctuant au hasard entre 0 et 1. Il n'y a pas là de comportement type à observer, il ne s'agit que de bruit.

Image


Nous avons ci-dessus une prévision révisée : il s'agit à présent d'une ligne plate située à 0.5. Visuellement, cette prévision ne semble pas coller avec l'historique : elle présente un caractère régulier qui n'a jamais été observé dans les données. Cependant, d'une point de vue statistique, cette prévision est bien plus précise que la précédente.

Ce point est en réalité une des règles générales (mais absolument pas intuitive) des statistiques : plus l'historique de la demande est erratique, plus les prévisions sont lisses. Tout système qui se comporterait différement serait en réalité bien moins précis.

Des modèles de prévision simples mais efficaces

Même si notre moteur de prévision contient des modèles très complexes, il arrive néanmoins que ce soient parfois des modèles très simples qui soient sélectionnés et appliqués sur certains jeux de données (lorsque leurs performances sont supérieures aux autres modèles lors du processus de sélection).

Parmi de nombreux exemples, nous pouvons citer les modèles suivants :
  • Plat dernière période (pour des prévisions hebdomadaires ou mensuelles) : les prévisions répètent uniformément la valeur observée sur la dernière semaine ou le dernier mois.
  • Saisonnier 1 an strict (pour des prévisions hebdomadaires ou mensuelles) : les prévisions répètent les valeurs observées exactement 1 an auparavant (respectivement 12 mois ou 52 semaines).
  • Cyclique 1 semaine stricte (pour des prévisions journalières) : les prévisions répètent les valeurs observées exactement 1 semaine auparavant, en reprenant le comportement spécifique du jour de la semaine.
  • Moyenne annuelle plate (pour des prévisions hebdomadaires ou mensuelles) : les prévisions répètent uniformément l'historique de la demande moyenné sur l'année passée.

Il n'y a en soi rien qui pose problème dans le fait d'utiliser ces modèles pour produire une prévision (s'ils s'avèrent particulièrement adaptés pour certains types de données). Le challenge consiste toutefois à savoir exactement quand favoriser un modèle plus complexe par rapport à des modèles plus simples, et c'est pourquoi le backtesting de Lokad a une telle importance.

Néanmoins, du point de vue du client, les prévisions plates - particulièrement pour les prévisions 12 mois en avant - sont fréquemment perçues comme décevantes, par exemple lorsque les experts métiers ne retrouvent pas dans les valeurs retournées par Lokad le comportement saisonnier qu'ils attendaient. Toutefois, il est à noter que notre moteur de prévision est doté de nombreux modèles saisonniers, et que ces modèles sont benchmarkés à chaque fois. Par conséquent, lorsqu'un modèle non-saisonnier est sélectionné, cela signifie que ce modèle a quantitativement des performances meilleures que les modèles saisonniers. Tenter de plaquer un comportement saisonnier dans une telle situation ne ferait que détériorer la précision. Une fois encore, force est d'admettre que cela peut sembler assez peu intuitif.

La colonne Précision

La colonne précision est optionnelle et n'est pas activée par défaut. Elle représente le taux d'erreur de prévision attendu pour les prévisions classiques. Vous pouvez considérer cette fonction comme un auto-diagnostique du système. Sans rentrer dans les détails techniques de la définition réelle de cet indicateur de précision, disons qu’il s’agit d’un pourcentage : 100% étant une prévision totalement fiable et 0% étant une prévision complètement erronée.

100% de précision n'est pas une attente réaliste pour un processus de prévision (statistique ou autre). En particulier, lorsqu'on considère un petit volume de ventes, une petite erreur de +1 ou -1 peut déjà réduire la précision exprimée en pourcentage à une valeur inférieure à 50%. Contrairement à ce que l'intuition pourrait nous amener à penser, le niveau global de précision ne dépend pas de la méthode de prévision, mais du niveau d'agrégation des données elles-mêmes.

Par exemple, si l'on doit faire des prévisions pour la consommation électrique nationale journalière, une prévision avec une précision de 99,5% pourra être considérée comme plutôt mauvaise, tandis que pour la prévision des ventes d'un produit alimentaire frais en promotion, une précision de 30% pourrait bien être considérée comme une grande réussite. Pour autant, cela ne signifie pas qu'une meilleure solution de prévision ne peut pas améliorer la situation...

Dans le domaine de la prévision, il n'existe pas de bonne ou de mauvaise prévision dans l'absolu ; la seule question à se poser est : à quel point ces prévisions sont bonnes par rapport à celles qui sont utilisées dans l'état actuel ou qui peuvent exister chez les solutions alternatives ?.