Quantité économique de commande (EOQ)

learn menu
Par Joannes Vermorel, janvier 2012

L’EOQ est la quantité de commande pour le réapprovisionnement qui minimise les coûts de stock totaux. La commande est déclenchée lorsque le niveau de stock atteint le point de commande. L’EOQ est calculée afin de minimiser une combinaison de coûts tels que le coût d’achat (qui peut inclure des remises en volume), le coût de possession des stocks, le coût de commande, etc. L’optimisation de la quantité de commande est complémentaire à l’optimisation des stocks de sécurité qui vise à trouver le seuil optimal pour déclencher la commande.

Mise à jour juillet 2020 : L’EOQ est une perspective assez datée, profondément enracinée dans une perspective stationnaire où la demande future est non seulement parfaitement connue, mais également constante. Les formules données ci-dessous peuvent sembler “classiques” en matière de supply chain, mais la perspective sous-jacente est intrinsèquement erronée. 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 d’utiliser le concept d’EOQ.

Modèle et formule

La formule classique de l’EOQ (voir la formule de Wilson ci-dessous) est essentiellement un compromis entre le coût de commande, supposé être un forfait fixe par commande, et le coût de possession des stocks. Bien que cette formule datant de 1913 soit extrêmement connue, nous déconseillons d’utiliser une telle formule dans un environnement de 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 de l’activité. C’était certainement un facteur important à l’époque de 1913, lorsque toute une armée de commis était nécessaire pour tenir manuellement les registres, mais avec des logiciels de gestion des stocks et éventuellement EDI, ce facteur est généralement insignifiant. Par conséquent, l’“optimisation” effectuée par la formule n’a guère de sens et ignore complètement toute réduction de prix qui peut être disponible lorsque de plus grandes quantités sont commandées.

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 possession et les remises sur volume. Introduisons les variables suivantes :

  • $${Z}$$ est la demande prévisionnelle.
  • $${H}$$ est le coût de possession par unité pour la durée du délai d’approvisionnement (1).
  • $$\delta$$ est la quantité d’inventaire delta nécessaire pour atteindre le point de commande (2).
  • $${P}$$ est le prix d’achat par unité, une fonction qui dépend de la quantité commandée q.

(1) La période de temps considérée ici est le délai d’approvisionnement. Par conséquent, au lieu de considérer le coût de possession annuel plus courant $$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 prendre en compte à la fois le stock disponible $$q_{hand}$$ et le 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 pour maintenir le taux de service souhaité.

$$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, on pourrait penser que nous supposons 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 (s’il y en a) 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 tient compte des remises sur volume, introduisons $${R}$$ le point de commande. Le coût d’inventaire est la somme du coût de possession de l’inventaire plus le 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 un point de vue amorti sur la période de temps de délai, la quantité totale à commander sera $${Z}$$ la demande de délai.

Ensuite, le niveau d’inventaire varie tout le temps, mais si nous considérons des commandes minimales strictes (c’est-à-dire $${q=δ+1}$$), alors le niveau moyen de stock stock level au fil du temps est égal à $${R}$$ le point de commande. Ensuite, étant donné que nous considérons précisément une quantité de commande supérieure à $${δ+1}$$, ces quantités supplémentaires commandées déplacent vers le haut le niveau moyen d’inventaire (et retardent également le moment où le prochain point de commande sera atteint).

Le terme $${(q−δ−1)/2}$$ représente le décalage de l’inventaire causé par la commande en supposant que la demande de délai est répartie uniformément pendant la durée du délai. Le facteur $${1/2}$$ est justifié car une quantité de commande accrue de $${N}$$ ne fait augmenter le niveau moyen d’inventaire que de $${N/2}$$.

Minimisation de la fonction de coût

Afin de 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)$$

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

Une simple minimisation pour $${C^∗(q)}$$ consiste en une (naïve) exploration numérique extensive, c’est-à-dire le calcul de la fonction pour une large gamme de valeurs de $${q}$$. En effet, pratiquement aucune entreprise n’a besoin de quantités de commande 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 considérablement accéléré si nous supposons que $$\mathcal{P}(q)$$ est une fonction strictement décroissante, c’est-à-dire que le prix par unité diminue strictement lorsque la quantité de commande augmente. En effet, si $$\mathcal{P}(q)$$ diminue, alors nous pouvons commencer l’exploration de la valeur à $${q=δ+1}$$, itérer, et enfin arrêter chaque fois que la situation $${C^∗(q+1)>C^∗(q)}$$ est rencontrée.

En pratique, le prix unitaire augmente rarement avec les quantités, cependant, des bosses locales dans la courbe peuvent être observées si les expéditions sont optimisées pour les palettes ou tout autre conteneur qui favorise certaines tailles de colis.

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

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 unitaire d’achat est constant, c’est-à-dire qu’aucune remise n’est disponible.

Introduisons les variables suivantes :

  • $${D_y}$$ est la quantité de demande annuelle
  • $${S}$$ est le coût fixe par commande (non un coût par unité, mais le coût associé à l’opération de commande et d’expédition).
  • $${H_y}$$ est le coût de possession annuel

Sous ces hypothèses, le EOQ optimal selon la formule de Wilson est :

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

En pratique, nous suggérons d’utiliser une variante de cette formule plus ajustée localement (dans le temps) où $${D_y}$$ est remplacé par $${D}$$, le taux de demande prévu pour la durée du délai d’approvisionnement (également appelé demande de tête $${Z}$$ divisée par le délai d’approvisionnement), et où $${H_y}$$ est remplacé par $${H}$$, le coût de possession pour la durée du délai d’approvisionnement.

Comparaison des deux formules EOQ

Pour les détaillants ou les grossistes, nous pensons que notre formule EOQ ad hoc présentée en haut de cette page, qui met l’accent sur les remises en volume, est mieux adaptée, donc plus rentable, que la formule de Wilson. Pour les fabricants, cela dépend. En particulier, si la commande déclenche une nouvelle production, il peut en effet y avoir un coût de commande important (configuration de la 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.