xellstorm
FR
Ouvrir l’app

Quel point de commande équilibre coût et ruptures de stock ?

Exemple traité · Politique de stock · Mis à jour en octobre 2026

Dans ce modèle de stock à 12 mois de demande incertaine, relever le point de commande de 180 à 250 unités coûte en moyenne 345 de plus par an et ramène la probabilité d’une année avec au moins une rupture de stock de 28,0 % à 5,1 %. Une simulation de Monte-Carlo mesure les deux, politique par politique, sur la même demande : le meilleur point de commande est celui dont le surcoût de possession vaut les ruptures de stock qu’il évite.

À 180 unités, la politique coûte en moyenne 2 133 par an (dans la monnaie du fichier, qui n’en précise aucune). Le ramener à 120 ne fait économiser que 28 par an et rend une rupture de stock probable (70,0 %). Commander 600 unités à la fois au lieu de 400 coûte à peu près autant que le point de commande plus élevé, mais laisse encore une probabilité de 21,6 %.

Le modèle

Le fichier Excel est un plan de stock mensuel ordinaire, sur une seule feuille, Plan, avec des formules simples comme MIN et IF, sans fonction de complément. La politique et les coûts sont en haut :

Politique et coûts dans le fichier (feuille Plan), et demande définie dans xellstorm
Point de commande B1180 unités
Quantité à commander B2400 unités
Coût de possession B30,5 par unité restante en fin de mois
Coût de vente perdue B48 par unité de demande non satisfaite
Coût de commande B5150 par commande
Stock initial B6400 unités
Demande mensuelle B10:M10loi binomiale négative, n = 8, p = 0,05 : moyenne 152 unités, écart type 55,1 (définie dans xellstorm, pas dans le fichier)

En dessous, chacun des 12 mois a sa colonne (B à M) qui suit le stock : demande, stock initial, unités reçues et disponibles, unités vendues et perdues, stock restant après les ventes et à la clôture, commande passée et coût du mois. À la fin de chaque mois, si le stock restant est inférieur au point de commande, on passe une commande de la quantité à commander, qui arrive au début du mois suivant. La demande que le stock ne peut satisfaire est perdue, et non reportée. Chaque mois coûte : le coût de possession du stock restant, le coût de vente perdue pour chaque unité non vendue et, quand une commande est passée, le coût de commande.

Trois cellules résument l’année : Total cost (B21), le coût total ; Fill rate (B22), le taux de service, c’est-à-dire la part de la demande de l’année satisfaite sur stock ; et Months with lost sales (B23), le nombre de mois avec ventes perdues. Une rupture de stock est ici un mois où la demande dépasse le stock disponible, si bien que des ventes sont perdues ; une année avec rupture de stock compte au moins un mois de ce type.

Le fichier à télécharger contient le plan avec une demande fixe provisoire dans la ligne de demande. La distribution de la demande, les trois sorties, l’objectif de rupture de stock et les trois politiques alternatives sont réglés dans xellstorm et se chargent avec l’exemple, à côté du fichier, qui reste tel que vous l’auriez construit.

Demande : une loi binomiale négative chaque mois

La demande de chaque mois (Plan!B10:M10) est tirée indépendamment dans une loi binomiale négative de paramètres n = 8 et p = 0,05, selon le paramétrage de scipy (le nombre d’échecs avant le n-ième succès). Sa moyenne est n(1 − p)/p = 152 unités par mois et son écart type √(n(1 − p))/p = 55,1. La demande d’un article en stock est un comptage dont la variation dépasse souvent celle d’une loi de Poisson ; ici, une loi de Poisson de même moyenne n’aurait qu’un écart type de 12,3. La loi binomiale négative admet cette dispersion supplémentaire ; contrairement à une distribution normale, elle ne tire jamais de demande négative et a la queue la plus longue du côté des valeurs hautes.

Les 60 000 mois simulés (5 000 années de 12 mois) ont une moyenne de 152,0 unités et un écart type de 55,1, conformes aux formules. Les mois sont indépendants : il n’y a ni tendance ni saison. Pour une demande qui dérive, xellstorm propose aussi, pour une plage de cellules, des entrées en séries temporelles, comme une marche aléatoire ou une série à retour à la moyenne.

Quatre politiques sur la même demande

L’exemple compare la politique de base (point de commande 180, quantité à commander 400) à trois scénarios, qui changent chacun une cellule : point de commande 120, point de commande 250, et commandes de 600 unités. Chaque scénario utilise les mêmes 5 000 années de demande que la base (c’est la technique des nombres aléatoires communs) : les différences entre politiques viennent des politiques, pas de la chance des tirages.

Quatre politiques sur les mêmes 5 000 années simulées de demande (coûts par an)
PolitiqueCoût moyenCoût au P90Taux de serviceAnnées avec rupture
Politique de base2 1332 37799,4 %28,0 %
Point de commande 1202 1052 68897,4 %70,0 %
Point de commande 2502 4782 66899,9 %5,1 %
Quantité à commander 6002 4652 72799,5 %21,6 %
Probabilité d’une année avec rupture de stock, par politiquePart des 5 000 années simulées avec au moins un mois de ventes perdues : Politique de base 28 %, Point de commande 120 70 %, Point de commande 250 5,1 %, Quantité à commander 600 21,6 %.Politique de base28 %Point de commande 12070 %Point de commande 2505,1 %Quantité à commander 60021,6 %
Part des années simulées avec au moins un mois de ventes perdues. La politique de base déclenche une commande à 180 unités et commande 400 à la fois.

Le P90 est le coût annuel que 90 % des années simulées ne dépassent pas, et le taux de service est la moyenne sur les années. Les taux de service paraissent tous élevés, de 97,4 % à 99,9 %, et pourtant la probabilité d’une année avec rupture de stock va de 5,1 % à 70,0 %. Le taux de service compte des unités, et un mois de rupture ne perd généralement qu’une petite part de la demande de l’année ; la probabilité de rupture compte les années où un client a été refusé au moins une fois. Laquelle compte le plus dépend de l’activité : regardez les deux.

Où va le coût

Le coût de chaque année se compose de trois parts : la possession du stock restant à la fin de chaque mois, les commandes passées, et les ventes perdues quand le stock s’épuise.

Où va le coût annuel, par politiqueCoût annuel moyen réparti en possession, commandes et ventes perdues : Politique de base : possession 1 364, commandes 671, ventes perdues 97, total 2 133 ; Point de commande 120 : possession 1 071, commandes 635, ventes perdues 398, total 2 105 ; Point de commande 250 : possession 1 762, commandes 703, ventes perdues 14, total 2 478 ; Quantité à commander 600 : possession 1 926, commandes 468, ventes perdues 71, total 2 465.Possession du stockCommandesVentes perduesPolitique de base2 133Point de commande 1202 105Point de commande 2502 478Quantité à commander 6002 465
Coût moyen par année simulée : possession du stock restant à la fin de chaque mois, passation des commandes, et demande perdue quand le stock s’épuise.

Un point de commande plus élevé garde plus de stock disponible. À 250, le coût de possession augmente de 397 par an tandis que les ventes perdues ne baissent que de 84 : le coût de vente perdue de 8 par unité ne suffit donc pas, à lui seul, à le justifier : l’intérêt d’un point de commande plus élevé tient à ce que vous coûte une rupture de stock en plus de cela.

Les commandes plus grandes fonctionnent autrement. Avec 600 unités par commande, l’année demande en moyenne 3,1 commandes au lieu de 4,5, ce qui économise 203 de coûts de commande mais ajoute 562 de coût de possession. Moins de commandes, c’est moins de mois où le stock se trouve juste au-dessus du point de commande sans livraison en route ; mais chacun de ces mois est à peu près aussi exposé qu’avant : c’est le point de commande, et non la taille de commande, qui fixe la quantité de stock devant tenir seule pendant un mois.

Ce que rapporte le surcoût

Le modèle facture déjà 8 pour chaque unité de demande perdue. Si la rupture coûte davantage, par exemple en livraisons urgentes, pénalités ou clients partis ailleurs, divisez le surcoût de chaque politique par les mois de rupture qu’elle évite pour voir ce que coûte un mois de rupture évité :

Tout dépend donc d’un nombre que le fichier ne contient pas : ce que vous coûte un mois de rupture au-delà des ventes perdues. Si un mois de rupture vous coûte entre 37 et 1 291 en plus des ventes perdues, le point de commande de base de 180 a le coût total le plus bas des quatre politiques ; au-dessus de 1 291, c’est le point de commande 250, et seulement en dessous de 37 le point de commande 120. Les commandes plus grandes ne sont jamais les meilleures.

Stock de sécurité : le point de commande au-dessus d’un mois moyen

À la fin d’un mois sans commande, le stock restant doit couvrir tout le mois suivant à lui seul : la première livraison arrive au début du mois d’après. Le point de commande doit donc couvrir un mois de demande, et la part au-dessus d’un mois moyen de 152 unités est le stock de sécurité : 28 unités au point de commande de base de 180, soit 0,51 écart type de la demande mensuelle, et 98 unités (1,78 écart type) à 250. Un point de commande de 120 est inférieur de 32 unités à un mois moyen, ce qui explique que les ruptures deviennent probables.

La formule classique, stock de sécurité = z × σ (σ étant l’écart type de la demande sur la durée qu’une commande doit couvrir, ici un mois), prend z dans une table de la loi normale, d’après la probabilité de rupture que vous acceptez sur un cycle de réapprovisionnement. La simulation mesure directement les conséquences : la fréquence des années avec rupture, le taux de service et le coût, sur une demande asymétrique et jamais négative.

La même demande, année par année

Comme toutes les politiques subissent la même demande, les années peuvent être comparées une à une. Le point de commande 120 est moins cher que la base dans 59,5 % des années, et la différence médiane est une économie de 150. Mais il coûte plus cher dans 30 % des années, jusqu’à 2 989 de plus : chacune de ces années, il perd plus de ventes que la base, à 8 l’unité.

Coût au point de commande 120 moins coût de la politique de base, année par annéeHistogramme de la différence de coût annuel entre le point de commande 120 et la politique de base dans chacune des 5 000 années simulées, sur la même demande. Différence médiane −150 ; le point de commande 120 coûte plus cher dans 30 % des années, jusqu’à 2 989 de plus.01 0002 0003 000Médiane −150Plus cher à 120
Chaque barre regroupe les années simulées selon l’écart de coût, en plus (à droite) ou en moins (à gauche), entre le point de commande 120 et la politique de base, sur la même demande. Mises en évidence : les années où le point de commande 120 coûte plus cher ; les années au même coût sont dans la barre simple à côté de la ligne.

Cette longue queue à droite explique pourquoi le coût moyen le plus bas s’accompagne du P90 le plus élevé des trois points de commande : 2 688, contre 2 377 pour la base et 2 668 pour le point de commande 250. Mesurée au P90, la politique la moins chère en moyenne est la plus chère des trois.

Le même appariement rend les taux de service faciles à comparer. Le point de commande 250 a un taux de service au moins égal à celui de la base chacune des 5 000 années, et supérieur dans 23,7 % ; le point de commande 120 n’a jamais un taux de service supérieur à celui de la base. Les commandes plus grandes sont moins tranchées : elles font baisser le taux de service dans 7,2 % des années, car le stock est alors bas d’autres mois, parfois juste avant un mois de forte demande.

Essayez vous-même

  1. Ouvrez le modèle dans xellstorm. La plage de demande, les trois sorties, l’objectif (mois avec ventes perdues supérieurs à zéro) et les trois scénarios, nommés « Reorder at 120 », « Reorder at 250 » et « Bigger orders », sont déjà définis ; rien à installer, pas d’inscription, et le calcul se fait dans votre navigateur.
  2. Lancez la simulation. La base s’exécute d’abord, puis chaque scénario sur les mêmes tirages aléatoires et le même nombre d’itérations. Avec la graine de l’exemple (1) et 5 000 itérations, vous retrouvez les nombres de cette page.
  3. À l’étape Results, choisissez « Total cost » (coût total), « Fill rate » (taux de service) ou « Months with lost sales » (mois avec ventes perdues). Le panneau Scenarios trace la courbe en S de chaque politique sur les mêmes axes, et son tableau donne la moyenne, le P10, le P90, la probabilité de l’objectif (sur les mois avec ventes perdues), l’écart par rapport à la base, et la part des itérations où chaque scénario est supérieur ou inférieur à la base. Le panneau Trial by trial met en regard le coût d’un scénario et celui de la base, itération par itération.
  4. Changez le point de commande d’un scénario à l’étape Distributions et relancez. Pour voir d’un coup toute une plage de points de commande, utilisez l’étape Optimize : choisissez Sweep (balayage), faites de la cellule du point de commande (Plan!B1) la décision, et ajoutez comme statistiques la moyenne de Total cost et la probabilité que les mois avec ventes perdues soient supérieurs à zéro.

Puis-je le faire avec Excel seul ?

En partie. Excel a NEGBINOM.DIST pour les probabilités binomiales négatives, mais pas de fonction inverse pour y tirer des valeurs ; il faut donc contourner le problème pour la demande de chaque mois, avec une table de recherche des probabilités cumulées et RAND(), ou, pour un n entier, avec la somme de n tirages géométriques. Comparer des politiques sur la même demande suppose aussi de figer ces nombres aléatoires, par exemple en les collant en valeurs, avant de changer le point de commande. La simulation de Monte-Carlo dans Excel présente l’approche générale, et ce qui change quand un outil fait tourner le modèle à votre place.

Questions

Qu’est-ce qu’un point de commande ?

Un point de commande est le niveau de stock qui déclenche une nouvelle commande : quand le stock tombe en dessous, vous commandez davantage. Il doit couvrir la demande attendue jusqu’à l’arrivée de la commande plus une marge, le stock de sécurité, pour une demande supérieure à la moyenne. Dans ce modèle, le stock n’est contrôlé qu’à la fin de chaque mois et une commande arrive au début du suivant : le stock restant sans commande doit donc tenir tout un mois, et le point de commande couvre un mois de demande.

Quelle différence entre taux de service et probabilité de rupture de stock ?

Le taux de service est la part de la demande satisfaite sur stock sur une période ; la probabilité de rupture de stock est la part des périodes où le stock s’épuise au moins une fois. Ils racontent parfois des histoires différentes : dans ce modèle, la politique de base a un taux de service de 99,4 % et pourtant une probabilité de 28,0 % d’avoir une année avec un mois de rupture.

Pourquoi ne pas simplement choisir la politique au coût moyen le plus bas ?

Le coût moyen ne compte que les coûts du modèle et masque la gravité des mauvaises années. Ici, le coût moyen le plus bas, celui du point de commande 120, s’accompagne d’une probabilité de 70,0 % d’avoir une année avec rupture et du coût au P90 le plus élevé des trois points de commande. Vérifiez le P90 (voir P50, P80 et P90) et la probabilité de rupture à côté de la moyenne.

Que sont les nombres aléatoires communs ?

Les nombres aléatoires communs consistent à exécuter chaque scénario sur les mêmes tirages aléatoires, ici les mêmes 5 000 années de demande mensuelle. Les différences entre scénarios viennent alors des scénarios eux-mêmes et peuvent être comparées itération par itération, au lieu d’être brouillées par une chance différente d’une exécution à l’autre. xellstorm exécute ainsi chaque scénario.

Comment choisir la quantité à commander elle-même ?

La quantité à commander est une décision prise sous demande incertaine, comme le point de commande. Pour une politique récurrente comme celle-ci, comparez les quantités comme des scénarios ou balayez-les à l’étape Optimize, où l’on peut balayer ensemble deux cellules de décision, comme le point de commande et la quantité à commander. Pour une commande unique avant une saison de vente, voir combien d’unités commander quand la demande est incertaine.

À lire aussi

xellstorm est un outil de simulation de Monte-Carlo qui fonctionne dans le navigateur, pour les modèles Excel : aucun complément, et votre fichier ne quitte jamais votre ordinateur.