Par téléphone au 09 70 46 63 81 ou

Prévisions logicielles des ventes, de la demande et des volumes d'appels

Calculer vos stocks de sécurité avec les prévisions de vos vente

RSS
Support » Ici

Calculer vos stocks de sécurité avec les prévisions de vos ventes

Joannès Vermorel, Décembre 2007 (Dernière mise à jour en mars 2008)

Ce guide explique comment optimiser vos niveaux de stock en ajustant les stocks de sécurité. Il s'adresse aux professionnels de la grande distribution et de l'industrie. La théorie est mise en pratique à l'aide d'un exemple sous Microsoft Excel. Les développeurs logiciels souhaitant reproduire la théorie dans leur propre application trouveront les informations nécessaires.


Public ciblé: ce document s'adresse en premier lieu aux professionnels de la grande distribution et de l'industrie. Ce document peut servir également aux éditeurs logiciel (comptabilité, ERP, eCommerce) qui souhaitent que leur application puisse gèrer les niveaux de stock.

Nous avons essayé de simplifier les explications mathématiques. Cependant, la présence de formules mathématiques est nécessaire, sinon le guide ne permettrait pas de bien expliquer comment calculer les stocks de sécurité.

Télécharger: caculate-safety-stocks.xls (Feuille Microsoft Excel)

Introduction

La gestion des stocks est un compromis financier entre le coût des stocks et le coût des ruptures de stocks. Plus vous avez de stocks, plus vous avez besoin de fonds de roulement, et plus vos stocks se déprécient. A l'inverse, si vous n'avez pas assez de stock, vous souffrez de ruptures, et vous risquez de perdre des ventes, ou même d'interrompre le processus de production.

Le niveau de stock repose sur deux facteurs:
  • la demande: la quantité d'articles qui seront consommés ou achetés.
  • le délai de livraison (en anglais, lead time): délai entre la commande de l'article et son renouvellement effectif.

Ces deux facteurs peuvent varier:
  • la variation de la demande: le comportement des clients peut évoluer de manière imprévisible.
  • la variation du délai de livraison: les fournisseurs et les transporteurs peuvent être confrontés à des difficultés non anticipées.

Le niveau de stocks de sécurité est un compromis implicite entre les coûts associés aux stocks et ceux liés aux ruptures de stocks. Ce compromis permet de se prémunir contre les incertitudes en matière de demande et de délai de livraison.

Le ratio coût de stock vs. coût de rupture est fortement lié à l'activité de l'entreprise. Ainsi, au lieu de prendre en considération ces coûts directement, nous pouvons employer la notion usuelle de niveau de service.

Le niveau de service reflète la probabilité qu'un certain niveau de stocks de sécurité suffise pour éviter la rupture de stocks. Naturellement, en augmentant les stocks de sécurité, le niveau de service augmente également. Si le niveau des stocks de sécurité augmente considérablement, le niveau de service se rapproche de 100% (c.a.d. une probabilité nulle de rupture de stock).

Choisir le niveau de service adéquat, c.a.d. une probabilité acceptable de rupture de stocks, dépasse le cadre de ce guide. En effet, le niveau de service optimal dépend en grande partie de l'activité considérée. Dans la grande distribution, un niveau de service de l'ordre de 95% est très fréquent.

La point de réapprovisionnement

Le point de réapprovisionnement est le niveau de stock qui déclenche un ordre d'achat. Sans incertitude (c.a.d. la demande future connue et les fournisseurs parfaitement fiables), le point de réapprovisionnement serait simplement égale à la demande prévisionnelle pendant le délai de livraison, ce niveau de stocks est appelé «stock théorique».

Lokad fournit de nombreux outils pour calculer le point de réapprovisionnement depuis vos données historiques. Voir la page Sales Forecasting Tutorial for Microsoft Excel.

En pratique, en raison des incertitudes:
point de réapprovisionnement = stock théorique + stock de sécurité

Si nous considérons que les prévisions calculées sont fiables, un stock de sécurité nul correspondrait à un niveau de service de l'ordre de 50%. En effet, si les prévisions sont fiables, alors la demande future a une probabilité de 50% de sous-évaluer la demande anticipée et une probabilité de 50% de la sur-évaluer (rappelez-vous, le stock théorique est une valeur prévisionnelle).

Attention: les prévisions peuvent être biaisées sans être exact. Le biais indique une erreur systématique du modèle de prévision (ex: le modèle surestime la demande de 20%).

La distribution normale des erreurs

Nous avons maintenant besoin d'un moyen pour représenter l'incertitude dans la détermination du stock théorique. Par la suite, nous allons considérer que les erreurs de prévisions sont distribuées selon la loi normale, voir l'image ci-dessous.

La loi normale de distribution

La loi normale de distribution


La courbe représente la probabilité que la demande prévisionnelle corresponde à la demande future. Le sommet de la courbe est la demande prévisionnelle moyenne. A ce point, la probabilité est maximale. Elle décroît au fur et à mesure que la demande prévisionnelle s'écarte de la demande prévisionnelle moyenne.

«Loi normale»: la distribution selon la loi normale n'est pas tout à fait arbitraire. Dans certaines situations, les estimateurs statistiques convergent vers cette loi, comme le montre le théorème de la limite centrale. Mais, ces détails dépassent le cadre de ce guide.

Une distribution normale n'est définie que par deux paramètres, sa moyenne et sa variance. Comme nous considérons les prévisions fiables, la moyenne de la distribution des erreurs doit être nulle, ce qui ne signifie pas qu'il n'y a pas d'erreur.

Déterminer la variance des erreurs de prévisions est une tâche plus délicate. Lokad, comme outil de prévisions, fournit des estimations de «l'erreur absolue moyenne en pourcentage» de ses prévisions. Pour compléter notre explication, nous allons voir comment des solutions pratiques permettent de résoudre le problème.

«L'erreur absolue moyenne en pourcentage» (Mean Absolute Percentage Error, alias MAPE): moyenne des écarts, en valeur absolue, entre les valeurs prévisionnelles et les valeurs observées. Cet indicateur est un pourcentage et donc pratique pour comparer plusieurs séries d'écarts.

En particulier, on peut estimer la variance des erreurs de prévisions en utilisant la variance des valeurs historiques. David Piasecki suggère également d'utiliser la demande prévisionnelle moyenne plutôt que la demande historique moyenne pour calculer la variance. La formule pour calculer la variance est alors:
σ2 = E[ (yt - y')2 ]
avec E la fonction moyenne, yt la demande historique (en général la quantité de ventes) au cours de la période t et y' la demande prévisionnelle.

Cette formule repose sur l'idée que l'erreur de prévisions est très souvent corrélée à la variation anticipée: plus les variations à venir sont élevées, plus le niveau d'erreur des prévisions est élevé.

En fait, le calcul de la variance implique certaines subtilités qui seront évoquées en détails dans la section intitulée Délai de livraison et période de prévisions.

Formule pour calculer le stock de sécurité

A présent, nous savons comment déterminer la moyenne et la variance, et ainsi constituer une distribution de probabilité à l'aide de la loi normale. Il s'agit désormais de déterminer le niveau d'erreurs acceptable au sein de cette distribution. La notion de niveau de service, introduite plus haut, va nous le permettre.

Afin de convertir le niveau de service en un niveau d'erreur, également appelé indice de service, nous devons utiliser la fonction de répartition de la loi normale (parfois appelé, loi normale inversée). La fonction de répartition de la loi normale permet d'assigner à un pourcentage (le niveau de service) l'indice de service correspondant.

De manière intuitive, nous pouvons calculer:
stock de sécurité = écart type * niveau de service

De manière plus formelle, si Ss est le stock de sécurité, nous avons:
Ss = σ * fdr(P)
avec σ l'écart-type (c.-à-d. la racine carrée de la variance σ2 définie plus haut), fdr la fonction de répartition de la loi normale (moyenne égale à 0 et variance égale à 1) et P le niveau de service.

Souvenez-vous que:
point de réapprovisionnement = délai de livraison + stocks de sécurité
Si C est le point de réapprovisionnement, nous avons:
C = y' + σ * cdf(P)
avec y', la demande prévisionnelle.

Délai de livraison et période de prévisions

Jusqu'à présent, nous sommes partis de l'hypothèse que pour un délai de livraison donné, nous étions directement capables de produire la prévision de la demande future correspondante. En pratique, cela ne marche pas exactement comme cela. Pour analyser les historiques de ventes ventes, on commence en général par additionner/agréger les données historiques en période (semaine ou mois, en général).

La période choisie pour les prévisions ne coïncide généralement pas avec le délai de livraison. C'est pourquoi des calculs supplémentaires sont nécessaires pour déterminer la demande pendant le délai de livraison (le stock théorique) et la variance associée (en prenant pour hypothèse que les erreurs de prévisions suivent la loi normale, comme détaillée plus haut).

Intuitivement, le stock théorique peut être calculé comme la somme des valeurs prévisionnelles de toutes les périodes futures au cours du délai de livraison.

Plus formellement, avec T la période et L le délai de livraison, on a
L = k * T + α * T
k est un nombre entier et 0 ≤ α <1. Prenons St, le stock théorique. On peut maintenant calculer le stock théorique St de la manière suivante:
St = (Σt=1..T y't) + αy'T+1
avec y'n la demande prévisionnelle de la nème période dans le futur.

En prenant pour hypothèse la loi normale de distribution, on peut calculer la variance des erreurs de prévisions
σ2 = E[ (yt - y')2 ]
avec y' la demande prévisionnelle moyenne par période y' = D / (k + σ)

Cependant, σ2 est la variance par période et il nous faut la variance correspondant au délai de livraison. Prenons σL2 la variance ajustée au délai de livraison.
σL2 = (k + α) σ2

Au final, la formule du point de réapprovisionnement est:
C = St + σL * fdr(P)

Utiliser Excel pour calculer le point de réapprovisionnement

Cette section explique comment calculer le point de réapprovisionnement avec Microsoft Excel. Nous vous suggérons de jeter un coup d'œil à la feuille Excel illustrative téléchargeable ci-dessus.

Calculez vos stocks de sécurité avec Excel

Calculez vos stocks de sécurité avec Excel


La feuille Excel est séparée en deux sections: les hypothèses en haut et les calculs en bas. Les prévisions font partie de la section hypothèses, car les prévisions des ventes (ou de la demande) dépassent le cadre de ce guide. Vous pouvez vous référer à notre guide de prévisions de ventes avec Microsoft Excel pour des détails à ce sujet.

La plupart des formules introduites précédemment reposent sur les quatre opérations. Cependant, nous allons faire appel à deux fonctions plus spécifiques:
  • la fonction LOI.NORMALE.INVERSE (Aide Microsoft): estime la fonction de répartition de la loi normale, notée fdr ci-dessus.
  • la fonction ECARTYPE (Aide Microsoft): estime l'écart-type, noté σ ci-dessus. Pour rappel, σ, l'écart-type est la racine carrée de la variance notée σ2.

Pour simplifier les choses, la première feuille Excel n'utilise pas l'estimateur de la variance σ2 = E[ (yt - y')2 ] pour calculer l'écart-type. Il est utilisé cependant dans la seconde feuille du fichier, Feuil2. Comme les prévisons calculées sont constantes, le point commande est le même que l'on fasse usage ou non de cet estimateur.

Calculer les stocks de sécurité dans votre application

Cette section est dédiée aux développeurs logiciel qui souhaitent inclure dans leur programme une fonctionnalité de réapprovisionnement automatique des stocks.

La plupart des formules présentes dans ce guide sont faciles à implémenter avec les outils de développement courants. Si vous travaillez avec la plateforme .NET, nous vous conseillons d'utiliser Math.NET Iridium une librairie mathématique open-source codée en C# qui comprend à la fois la fonction écart-type et la fonction de répartition de la loi normale.

Sinon, il est assez facile de programmer la fonction écart type à partir de sa définition, voir la page Wikipedia. La fonction de répartition de la loi normale cumulative est plus compliquée à programmer. Heureusement, Peter J. Acklam fournit un algorithme codé dans de nombreux langages de programmation. Le code nécessaire pour implémenter ces deux méthodes ne devraient pas dépasser plusieurs douzaines de lignes.

Les prévisions de ventes peuvent être calculées avec l'API Lokad de prévisions de séries temporelles. De nombreux guides pour développeurs sont disponibles directement sur la page Produits.

Informations supplémentaires

inventoryops.com: très bonne initiation à la gestion des stocks (en anglais) par David J. Piasecki, auteur du livre: Inventory Accuracy: People, Processes, & Technology.

Lokad News