Quantité Economique de Commande (EOQ)

Notebook-as-a-book illustration







Par Joannès Vermorel, janvier 2012

La Quantité Economique de commande (EOQ, Economic Order Quantity) est la quantité commandée au fournisseur pour permettre le réapprovisionnement tout en minimisant le coût total du stock. La commande est déclenchée lorsque le niveau des stocks 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 (pouvant inclure des réductions sur les commandes en gros), le coût de stockage, le coût de passage des commandes, etc. L'optimisation de la quantité à commander est complémentaire de l'optimisation du stock de sécurité, qui est tournée, elle, vers la découverte du seuil optimal de déclenchement d'une commande.

Mise à jour juillet 2020 : L'EOQ est une perspective assez datée, profondément ancrée dans une perspective de type statique où la demande future est non seulement parfaitement connue, mais aussi constante. Les formules données dans les paragraphes qui suivent peuvent servir de "manuel" pour la supply chain, mais la perspective sous-jacente est dépassée par nature. Les prévisions probabilistes de la demande associées à l'évaluation de la contribution économique marginale de chaque unité supplémentaire de stock constituent une bien meilleure approche. Nous ne recommandons plus d'utiliser le concept EOQ.

Modèle et formule

La formule de l’EOQ classique (cf. la section sur la Formule de Wilson ci-dessous) est essentiellement un compromis entre le coût de passage de commande, supposé être par définition un frais fixe par commande, et le coût de stockage. Bien que cette formule datée de 1913 soit très connue, nous déconseillons son utilisation dans un contexte de Supply Chain moderne. Les hypothèses mathématiques sous-jacentes de cette formule sont tout simplement incorrectes de nos jours.

La formule historique part du principe que le fait de passer une commande est le seul moteur clé de l’entreprise. C’était certainement un facteur important en 1913 lorsqu’une armée d’employés était nécessaire pour tenir à jour manuellement les registres, mais avec les logiciels de gestion de stock et, sans doute, l'usage d'un EDI, ce facteur est la plupart du temps négligeable. En conséquence, l’"optimisation" proposée par la formule n’a que peu de sens et ne tient pas compte des réductions de prix possibles lorsque de grandes quantités sont commandées.

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

Par conséquent, nous proposons ici une variante de la formule de l’EOQ optimisant le compromis entre les coûts de stockage et les réductions de prix. Les variables en sont les suivantes :
  • soit $Z$, le stock outil (i.e. la demande sur le temps de réapprovisionnement).
  • soit $H$, le coût de stockage par unité pendant la durée du délai de réapprovisionnement (1).
  • soit $\delta$, le delta de quantité de stock nécessaire pour atteindre le point de commande (2).
  • soit $\mathcal{P}$, le prix d’achat à l'unité, une fonction dépendant de la quantité à commander $q$.

(1) La durée considérée ici est le délai de réapprovisionnement. Par conséquent, au lieu de considérer le coût de possession annuel, plus habituel, $H_y$, nous prenons en compte $H = \frac{d}{365}H_y$ en faisant l'hypothèse que $d$ est le délai de réapprovisionnement exprimé en jours.

(2) Le delta de quantité doit prendre en compte à la fois le stock disponible $q_{hand}$ et le stock commandé (en cours de livraison) $q_{order}$, qui donne l'équation $\delta = R - q_{hand} - q_{order}$ où $R$ est le point de commande. Intuitivement, $\delta+1$ est la quantité minimum à commander afin de conserver le taux de service désiré.

Alors, la quantité de commande optimale est donnée par l'équation suivante (le raisonnement est détaillé ci-dessous) : $$Q = \underset{q=\delta+1..\infty}{\operatorname{argmin}}\left(\frac{1}{2}(q-\delta-1)H+Z\mathcal{P}(q)\right)$$ Même si elle peut sembler compliquée, cette fonction peut facilement être calculée avec Microsoft Excel, comme illustré par le tableur fourni ci-dessus.

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

Au premier abord, on pourrait croire que nous faisons l'hypothèse que le coût de passage de la commande est de zéro, mais ce n’est pas le cas. En effet, le cadre de travail que nous introduisons ici est relativement flexible, et le coût de passage de la commande (s'il y en a un) peut être intégré dans la fonction de prix $\mathcal{P}$.

Fonction de coût

Afin de modéliser une fonction de coût pour la quantité à commander prenant en compte les réductions sur les commandes en gros, nous introduisons $R$, le point de commande. Le coût du stock est la somme du coût de stockage et du coût d’achat, et par conséquent : $$C(q)=\left(R+\frac{q-\delta-1}{2}\right)H+Z\mathcal{P}(q)$$ En effet, d'un point de vue "amorti" pendant la période de délai de réapprovisionnement, la quantité totale à commander sera $Z$, la demande outil.

Le niveau du stock varie donc constamment, mais si l'on considère strictement les commandes minimum (où $q=\delta+1$), alors le niveau de stock moyen au fil du temps est égal au point de commande $R$. Toutefois, étant donné que nous considérons précisément des quantités à commander supérieures à $\delta+1$, ces quantités commandées supplémentaires font augmenter le niveau de stock moyen (et retardent également le prochain point de commande).

$(q-\delta-1)/2$ représente l'évolution du stock causée par le réapprovisionnement, en faisant l'hypothèse que la demande outil est équitablement distribuée sur la durée du délai de réapprovisionnement. Le facteur ½ est justifié par le fait qu’une quantité commandée augmentée de N augmente le niveau de stock moyen de seulement 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)=RH+\frac{1}{2}(q-\delta-1)H+Z\mathcal{P}(q)$$ Étant donné que $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)$$ Dans ce contexte, étant donné que la fonction de réduction des prix sur les commandes en gros $\mathcal{P}$ est une fonction arbitraire, il n’existe aucune solution algébrique directe pour minimiser cette formule. Toutefois, cela ne signifie pas pour autant que cette minimisation soit difficile à résoudre.

Une minimisation simple pour $C^*(q)$ consiste à faire une exploration numérique intensive (naïve), c'est-à-dire à calculer la fonction pour un vaste éventail de valeurs $q$. En effet, virtuellement, aucune entreprise n’a besoin de quantités de commandes 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 simple ordinateur de bureau.

Cependant, en pratique, ce calcul peut être grandement accéléré si nous supposons que $\mathcal{P}(q)$ est une fonction strictement décroissante, à savoir que le prix par unité décroît strictement lorsque la quantité à commander augmente. En effet, si $\mathcal{P}(q)$ décroît, alors nous pouvons commencer l’exploration de la valeur à $q=\delta+1$, itérer, et pour finir, nous arrêter lorsque l'on rencontre le cas où $C^*(q+1)>C^*(q)$.

En pratique, le prix à l'unité augmente rarement avec les quantités ; cependant, il est possible d’observer localement des sauts dans la courbe si les livraisons sont optimisées pour des palettes, ou tout autre container favorisant certaines tailles d’emballages.

Dans le tableur Excel joint ci-dessus, nous faisons l'hypothèse que le prix à l'unité décroît strictement avec la quantité. Si ce n’est pas le cas, éditez la macro « EoqVD() » pour revenir à une exploration naïve.

Formule de Wilson

La formule de l’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 passage de la commande est fixe.
  • Le taux de la demande est connu, et réparti équitablement tout au long de l’année.
  • Le délai de réapprovisionnement est fixé.
  • Le prix d’achat à l'unité est constant ; il n'y a aucune réduction de prix sur des commandes en gros.

Introduisons les variables suivantes :

  • soit $D_y$, la quantité de la demande annuelle
  • soit $S$, le coût fixe et défini par commande (non pas un coût à l'unité, mais le coût associé au fait de passer commande et à la livraison).
  • $H_y$ le coût de stockage annuel.

En fonction de ces hypothèses, l'EOQ optimale de Wilson est : $$Q=\sqrt{\frac{2D_yS}{H_y}}$$ En pratique, nous vous recommandons d’utiliser une variante plus ajustée localement (sur le plan chronologique) de cette formule, dans laquelle $D_y$ est remplacé par $D$, la demande moyenne prévue par unité de temps pendant la durée du délai de réapprovisionnement (alias la demande outil $Z$ divisée par le délai de réapprovisionnement), et où $H_y$ est remplacé par $H$, le coût de stockage pendant la durée du délai de réapprovisionnement.

Comparaison des deux formules de l’EOQ

Pour la distribution ou la vente en gros, nous pensons que notre formule de l’EOQ ad hoc présentée au début de cette page, qui met en relief les réductions des prix pour les commandes en gros, 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 il se pourrait en effet que le coût de passage de la commande soit significatif (mise en place de la production) et qu'il y ait peu ou pas de bénéfice sur le coût marginal à l'unité après coup. Dans ce cas, la Formule de Wilson est plus appropriée.