Quantité Économique de Commande (EOQ)

learn menu
Par Joannes Vermorel, janvier 2012

EOQ est la quantité de commande pour le réapprovisionnement qui minimise les coûts de stocks. La commande d’achat est déclenchée lorsque le niveau de stocks atteint le point de commande. L’EOQ est calculé afin de minimiser une combinaison de coûts tels que le coût d’achat (qui peut inclure des remises sur volume), le coût de détention des stocks, le coût de commande, etc. L’optimisation de la quantité commandée est complémentaire à l’optimisation du safety stock qui se concentre sur la recherche du seuil optimal pour déclencher le réapprovisionnement.

Mise à jour Juillet 2020: L’EOQ est une perspective assez datée, profondément ancrée dans une approche stationnaire où la demande future n’est pas seulement parfaitement connue, mais également constante. Les formules présentées ci-dessous pourraient représenter un exemple classique de supply chain, mais la perspective sous-jacente est défaillante par conception. Les prévisions de demande probabilistes associées à l’évaluation de la contribution économique marginale de chaque unité supplémentaire de stock constituent une approche bien meilleure. Nous ne recommandons plus l’utilisation du concept EOQ.

Modèle et formule

La formule EOQ classique (voir la Formule de Wilson ci-dessous) est essentiellement un compromis entre le coût de commande, supposé être un frais fixe par commande, et le coût de détention des stocks. Bien que cette formule datant de 1913 soit extrêmement bien connue, nous déconseillons formellement d’utiliser une telle formule dans un environnement supply chain moderne. Les hypothèses mathématiques sous-jacentes à cette formule sont tout simplement incorrectes de nos jours.

La formule historique suppose que le coût de l’acte de commande est le principal moteur économique. Ce fut certes un facteur important en 1913 lorsqu’une armée de commis était nécessaire pour tenir les livres manuellement, mais avec les logiciels de gestion des stocks et possiblement l’EDI, ce facteur est généralement insignifiant. En conséquence, “l’optimisation” effectuée par la formule a peu de sens et ignore complètement toute remise disponible lors d’achats en quantités plus importantes.

Télécharger la feuille Excel : eoq-calculator.xlsm (calcul illustré)

Ainsi, nous proposons ici une variante de la formule EOQ qui optimise le compromis entre les coûts de détention et les remises sur volume. Introduisons les variables :

  • $${Z}$$ représente la demande pendant le délai d’approvisionnement.
  • $${H}$$ représente le coût de détention par unité pour la durée du délai d’approvisionnement (1).
  • $$\delta$$ représente la quantité delta de stocks nécessaire pour atteindre le point de commande (2).
  • $${P}$$ représente le prix d’achat à l’unité, une fonction qui dépend de la quantité commandée q.

(1) La période considérée ici correspond au délai d’approvisionnement. Ainsi, au lieu de considérer le coût de détention annuel habituel $$H_y$$, nous considérons $$H = \frac{d}{365}H_y$$ en supposant que $$d$$ est le délai d’approvisionnement exprimé en jours.

(2) La quantité delta doit tenir compte à la fois du stock disponible $$q_{hand}$$ et du stock en commande $$q_{order}$$, ce qui donne la relation $$\delta = R - q_{hand} - q_{order}$$ où $$R$$ est le point de commande. Intuitivement, $$\delta+1$$ est la quantité minimale à commander afin de maintenir le taux de service.

$$Q = \underset{q=\delta+1..\infty}{\operatorname{argmin}}\left(\frac{1}{2}(q-\delta-1)H+Z\mathcal{P}(q)\right)$$

Malgré son apparence apparemment compliquée, cette fonction peut être facilement calculée avec Microsoft Excel, comme illustré par la feuille fournie ci-dessus.

Qu’en est-il du coût de commande ?

À première vue, il pourrait sembler que nous supposions un coût de commande nul, mais ce n’est pas tout à fait le cas. En effet, le cadre que nous introduisons ici est relativement flexible et le coût de commande (le cas échéant) peut être intégré dans la fonction de prix $$\mathcal{P}$$.

Fonction de coût

Afin de modéliser la fonction de coût pour la quantité commandée qui prend en compte les remises sur volume, introduisons $${R}$$ le point de commande. Le coût des stocks est la somme du coût de détention des stocks et du coût d’achat, c’est-à-dire

$$C(q)=\left(R+\frac{q-\delta-1}{2}\right)H+Z\mathcal{P}(q)$$

En effet, en adoptant une vue amortie sur la période du délai d’approvisionnement, la quantité totale à commander sera $${Z}$$, la demande pendant le délai d’approvisionnement.

Ensuite, le niveau des stocks varie continuellement, mais si nous considérons des réapprovisionnements strictement minimaux (c’est-à-dire $${q=\delta+1}$$) alors, le niveau moyen de stocks au fil du temps est égal à $${R}$$, le point de commande. Puis, puisque nous considérons précisément une quantité commandée supérieure à $${\delta+1}$$, ces quantités supplémentaires commandées font augmenter le niveau moyen des stocks (et repoussent également le moment où le prochain point de commande sera atteint).

Le $${(q-\delta-1)/2}$$ représente le décalage des stocks causé par la commande, en supposant que la demande pendant le délai d’approvisionnement est répartie uniformément sur la durée du délai d’approvisionnement. Le facteur $${1/2}$$ est justifié car une quantité commandée supplémentaire de $${N}$$ n’augmente que de $${N/2}$$ le niveau moyen des stocks.

Minimisation de la fonction de coût

Pour minimiser $${C(q)}$$, nous pouvons commencer par isoler la partie qui ne dépend pas de $${q}$$ avec :

$$C(q)=\left(R+\frac{q-\delta-1}{2}\right)H+Z\mathcal{P}(q)$$

Puisque $${RH}$$ ne dépend pas de $${q}$$, optimiser $${C(q)}$$ revient à optimiser $${C^*(q)}$$ où :

$$C^*(q)=\frac{1}{2}(q-\delta-1)H+Z\mathcal{P}(q)$$

Ensuite, dans ce contexte, puisque la fonction de remise sur volume $$\mathcal{P}$$ est une fonction arbitraire, il n’existe aucune solution algébrique directe pour minimiser cette formule. Toutefois, cela n’implique pas que cette minimisation soit difficile à résoudre non plus.

Une minimisation simple de $${C^*(q)}$$ consiste en une exploration numérique extensive (naïve), c’est-à-dire en calculant la fonction pour une large plage de valeurs de $${q}$$. En effet, pratiquement aucune entreprise n’a besoin de quantités commandées supérieures à 1 000 000 d’unités, et laisser un ordinateur explorer toutes les valeurs de coûts pour $${q=1..1,000,000}$$ prend moins d’une seconde même si le calcul est effectué dans Excel sur un ordinateur de bureau classique.

Cependant, en pratique, ce calcul peut être grandement accéléré si nous supposons que $$\mathcal{P}(q)$$ est une fonction strictement décroissante, c’est-à-dire que le prix unitaire diminue strictement à mesure que la quantité commandée augmente. En effet, si $$\mathcal{P}(q)$$ décroît, alors nous pouvons démarrer l’exploration des valeurs à partir de $${q=\delta+1}$$, itérer, et enfin s’arrêter dès que la situation $${C^(q+1)>C^(q)}$$ se présente.

En pratique, le prix unitaire n’augmente que très rarement avec les quantités, bien que quelques bosses locales dans la courbe puissent être observées si les expéditions sont optimisées pour des palettes, ou tout autre conteneur favorisant certaines tailles de conditionnement.

Dans la feuille Excel jointe ci-dessus, nous supposons que le prix unitaire décroît strictement avec la quantité. Si ce n’est pas le cas, modifiez la macro EoqVD() pour revenir à une exploration naïve de la plage de valeurs.

Formule de Wilson

La formule EOQ la plus connue est la Formule de Wilson développée en 1913. Cette formule repose sur les hypothèses suivantes :

  • Le coût de commande est fixe.
  • Le taux de demande est connu et réparti uniformément tout au long de l’année.
  • Le délai d’approvisionnement est fixe.
  • Le prix d’achat unitaire est constant, c’est-à-dire qu’aucune remise n’est disponible.

Introduisons les variables suivantes :

  • $${D_y}$$ représente la quantité de demande annuelle
  • $${S}$$ représente le coût fixe par commande (ce n’est pas un coût unitaire, mais le coût associé à l’opération de commande et d’expédition).
  • $${H_y}$$ représente le coût de détention annuel

Sous ces hypothèses, l’EOQ optimal selon Wilson est :

$$Q=\sqrt{\frac{2D_yS}{H_y}}$$

En pratique, nous suggérons d’utiliser une variante ajustée localement (en termes de temps) de cette formule où $${D_y}$$ est remplacé par $${D}$$, le taux de demande prévisionnelle pour la durée du délai d’approvisionnement (égal à la demande pendant le délai d’approvisionnement $${Z}$$ divisée par le délai d’approvisionnement), et où $${H_y}$$ est remplacé par $${H}$$, le coût de détention pour la durée du délai d’approvisionnement.

Comparaison des deux formules EOQ

Pour le commerce de détail ou de gros, nous croyons que notre formule EOQ ad hoc présentée en haut de cette page, qui met l’accent sur les remises sur volume, est mieux adaptée, et donc plus rentable, que la Formule de Wilson. Pour les fabricants, cela dépend. En particulier, si la commande déclenche une nouvelle production, alors en effet, il pourrait y avoir un coût de commande significatif (mise en production) et peu ou pas d’avantages en termes de coût unitaire marginal par la suite. Dans une telle situation, la Formule de Wilson est plus appropriée.