Optimale Service-Level-Formel (Supply-Chain)

Illustration-Notebook-als-Buch






von Joannès Vermorel, letzte Revision: Januar 2012

Service-Level (Lagerbestand) repräsentiert die erwartete Wahrscheinlichkeit keine Fehlbestände zu verzeichnen. Dieser Prozentsatz ist erforderlich, um den Sicherheitsbestand zu berechnen. Intuitiv schafft der Service-Level einen Ausgleich zwischen Lagerbestandskosten und Fehlbestandskosten (die unter anderem entgangene Umsätze, ungenutzte Chancen und Kundenunzufriedenheit mit sich bringen). In diesem Artikel erklären wir, wie man den Service-Level-Wert optimieren kann. Anschließend bieten wir eine detailliertere Analyse für den Fall von verderblichen Lebensmitteln.

Dieser Artikel wurde 2011 aus der Perspektive von klassischen Prognosen geschrieben. Doch einige Jahre später haben wir festgestellt, dass aus der Perspektive der quantitativen Lieferkette viel bessere Optionen zur Verfügung stehen, dank denen man auf die Optimierung des Service Levels verzichten kann, wenn probabilistische Vorhersagen benutzt werden.

Modell und Formel

In der klassischen Supply Chain-Literatur findet man bezüglich der Zahlenwerte, die für den Service-Level übernommen werden sollten, keine eindeutige Aussage. Wir empfehlen die Berechnung eines optimalen Service-Level durch Modellierung der entsprechenden Kosten für Lager- und Fehlbestände (siehe unten).

Folgende Variablen sind erforderlich:
  • $p$ = Service-Level, d. h. die Wahrscheinlichkeit der Nicht-Lieferunfähigkeit.
  • $H$ = Lagerkosten pro Einheit für die Dauer der Durchlaufzeit (1).
  • $M$ = Grenzertragskosten des Fehlbestands (2).

service-level-formula.xlsx (illustrierte Kalkulation) herunterladen

(1) Der hier berücksichtigte Zeitrahmen ist die Durchlaufzeit. Von daher berücksichtigen wir nicht, wie allgemein üblich, die jährlichen Lagerkosten $H_y$, sondern $H = \frac{d}{365}H_y$, unter der Annahme, dass $d$ der Durchlaufzeit in Tagen entspricht.

(2) Die Fehlbestandskosten enthalten ein Minimum, die Bruttogewinnspanne, d. h. schneller Profit hätte erwirtschaftet werden können, wäre kein Fehlbestand eingetreten. Jedoch sind der Verlust der Bruttogewinnspanne nicht die einzigen anfallenden Kosten: z. B. Kundenunzufriedenheit und Verlust der Kundentreue müssen ebenfalls berücksichtigt werden. Als Faustregel gilt: wir konnten beobachten, dass viele Lebensmitteleinzelhändler davon ausgehen, dass $M$ der 3-fachen Summe der Bruttogewinnspanne entspricht.

Der optimale Service-Level wird erreicht durch (folgende detaillierte Begründung): $$p=\Phi\left(\sqrt{2\ln\left(\frac{1}{\sqrt{2\pi}}\frac{M}{H}\right)}\right)$$ Wobei $\Phi$ die kumulative, der Normalverteilung zugeordnete, Verteilungsfunktion ist. Dieser Wert lässt sich in Excel einfach berechnen; $\Phi$ ist die NORMSDIST Funktion. Auch im Hinblick auf die numerische Berechnung: $\sqrt{2 \pi} \approx 2.50$

Kostenfunktion

Für die Modellerstellung der Kostenfunktion verwenden wir zwei weitere Variablen:
  • $Q$ = amortisierte Lagerbestandsmenge (3), eine Funktion, die abhängig ist von $p$.
  • $O$ = durchschnittliche überbordende Nachfrage im Falle eines Fehlbestands.

(3) Wir nehmen folgenden Standpunkt ein: Amortisierte Laufzeitanalyse. Der Lagerbestand schwankt beständig. Unser Ziel ist jedoch, um die Analyse praktisch anwenden zu können, einen Service-Level-Wert zu erhalten, der Bedarfsprognosen-unabhängig ist. Von daher gehen wir davon aus, dass $Q$ dem Reorder-Point entspricht. (Weitere Informationen erhalten Sie in unserem Leitfaden: Sicherheitsbestand).

Um einen bestimmten Service-Level zu erhalten, werden die Gesamtkosten $C(p)$, die sowohl Lagerhaltungskosten als auch Fehlbestandskosten enthalten, folgendermaßen berechnet: $$C(p) = Q(p)H + (1-p)MO$$ Wobei $Q(p)H$ den Lagerhaltungskosten und $MO$ den Fehlbestandskosten entspricht; allerdings passiert dies nur mit einer Wahrscheinlichkeit von $1-p$. Unter Verwendung, der in unserem Leitfaden Sicherheitsbestand verwendeten Formel und unter der Annahme, dass $Q(q)$ dem Reorder-Point entspricht, ergibt sich folgende Berechnung: $Q(p) = Z + \sigma \Phi^{-1}(p)$, wobei $Z$ der Durchlaufzeit, $\sigma$ den erwarteten Prognoseabweichungen und $\Phi(p)^{-1}$ dem Kehrwert der kumulativen Verteilungsfunktion, in Verbindung mit der standardmäßigen Normalverteilung (Mittelwert = 0, Varianz = 1) entspricht.

Analyse des Durchschnittswerts entgangener Umsätze

Die Analyse von $O$, dem Durchschnittswert entgangener Umsätze, is subtil. Angenommen, die Verteilung der Nachfrage entspricht der normalen Verteilung $\mathcal{N}$ und $q$ entspricht dem verfügbaren Lagerbestand, dann ist $O(q)$ der von der Nachfrage $x$ abhängige Mittelwert, vorausgesetzt $x > q$ (abzüglich des verfügbaren Lagerbestands $q$), d. h.: $$O(q)=\frac{\int_q^\infty{x\mathcal{N}(x)dx}}{\int_q^\infty{\mathcal{N}(x)dx}}-q=\frac{1}{q}+\mathcal{o}\left(\frac{1}{q}\right)$$ Siehe Funktion (1).

Diese Ergebnis lässt sich folgendermaßen interpretieren: Schließt die Nachfrage sich konsequent der Normalverteilung an, konvergiert der Durchschnittswert der entgangenen Umsätze im Falle eines Fehlbestands zügig gegen Null, während der Lagerbestand wächst.

Unserer Erfahrung nach, verfügt der Prognosefehler jedoch nicht über eine Konvergenz, die der durch eine Normalverteilung prognostizierten Konvergenz gleich kommt. Von daher gehen wir in folgendem Beispiel davon aus, dass $O=\sigma$, d. h. der Durchschnittswert der entgangenen Umsätze entspricht dem durchschnittlichen Prognosefehler. Offensichtlich handelt es sich hierbei um eine Faustregel und keine ausführliche Analyse. Gemäß unserer Erfahrung liefert diese Approximation in der Praxis jedoch vernünftige Ergebnisse.

Minimierung der Kostenfunktion

Durch Anwendung der oben definierten Ersatzwerte in folgendem Ausdruck $C(p)$, erhalten wir folgendes: $$C(p) = \left(Z + \sigma \Phi^{-1}(p)\right)H + (1-p)M\sigma$$ Im Anschluss kann der Ausdruck $C(p)$ in $p$ differenziert werden, mit: $$\frac{\partial C}{\partial p} = \sigma H \partial \Phi^{-1}(p) - \sigma M$$ Da wir den Mindestwert benötigen, versuchen wir folgendes zu lösen: $\frac{\partial C}{\partial p} = 0$, wodurch hervorgeht, dass: $$\sigma H \partial \Phi^{-1}(p) - \sigma M = 0$$ Dies kann vereinfacht werden in $\sigma$, mit: $$H \partial \Phi^{-1}(p) - M = 0$$ Und schließlich: $$\partial \Phi^{-1}(p) = \frac{M}{H}$$ Dann verwenden wir die Beziehung zwischen $\partial \Phi^{-1}$ und $\Phi^{-1}$ : $$\partial \Phi^{-1}(p)=\sqrt{2\pi}e^{\frac{1}{2}\Phi^{-1}(p)^2}$$ Für einen visuellen Nachweis über deren Gleichwertigkeit können Sie (1) und (2) vergleichen.

Aus dieser Beziehung geht hervor: $$\sqrt{2\pi}e^{\frac{1}{2}\Phi^{-1}(p)^2}=\frac{M}{H}$$ $$\frac{1}{2}\Phi^{-1}(p)^2=\ln\left(\frac{1}{\sqrt{2\pi}}\frac{M}{H}\right)$$ Wir nehmen die positive Wurzellösung der Gleichung (die negative Wurzel entspricht einem lokalen Maximum der Funktion) mit: $$\Phi^{-1}(p)=\sqrt{2\ln\left(\frac{1}{\sqrt{2\pi}}\frac{M}{H}\right)}$$ Durch die Übertragung von $\Phi$ auf beide Seiten, erhalten wir schließlich den optimalen Service-Level mit: $$p=\Phi\left(\sqrt{2\ln\left(\frac{1}{\sqrt{2\pi}}\frac{M}{H}\right)}\right)$$

Erörterung der Formel

Der erste interessante Aspekt der Formel ist, dass der optimale Service-Level ausschließlich abhängig ist von $H$ (Lagerhaltungskosten) und $M$ (Fehlbestandskosten). Jedoch besteht eine implizite Abhängigkeit von der Durchlaufzeit, da $H$ als Lagerhaltungskosten für die Dauer der Durchlaufzeit definiert wird.

Zweitens, höhere Lagerhaltungskosten senken den optimalen Service-Level, während höhere Fehlbestandskosten den Service-Level erhöhen. Dieses Verhalten kann als intuitiv bezeichnet werden, da es sich bei dem Service-Level um einen Ausgleich zwischen größeren Lagerbeständen und größeren Fehlbeständen handelt.

Drittens, die Formel kann nicht für alle Werte von $M$ und $H$ angewendet werden. Wir benötigen $\sqrt{2\pi}\frac{M}{H} > 1$ oder der Logarithmus erzeugt einen negativen Wert, der unter Berücksichtigung der äußeren Quadratwurzel nicht lenkbar ist. Daraus ergibt sich folgendes: $M > \sqrt{2 \pi} H$, das folgendermaßen kalkuliert werden kann: $M > 2,5 H$. Wird diese Bedingung nicht bestätigt, bedeutet dies, dass die anfängliche Kostenfunktion $C(p)$ über keinen Mindestwert verfügt, bzw. der Mindestwert entspricht $-\infty$ for $p=0$. Praxisbezogen könnte $M < 2,5 H$ als pathologische Situation interpretiert werden, wobei der rentabelste Lagerbestand Null ist (d. h. 100% Fehlbestände)

Praxisbezogenes Beispiel

Nehmen wir beispielsweise eine 1L Milchpackung zum Verkaufspreis von 1,50€, die mit einer Gewinnspanne von 10% verkauft wird (d. h. 0,15€ der Bruttogewinnspanne). Angenommen, die Durchlaufzeit beträgt 4 Tage. Die jährlichen Lagerhaltungskosten belaufen sich auf 1,50€ (der Wert ist hoch, da Milch ein leicht verderbliches Produkt ist). Wir gehen davon aus, dass die Fehlbestandskosten der 3-fachen Summe der Bruttogewinnspanne entsprechen, d. h. 0,45€ . Darauf folgt: $M=0,45$ und $H=\frac{4}{365} 1,5\approx 0,0055$.

Anhand dieser Werte und der oben berechneten Formel für den optimalen Service-Level, erhalten wir einen für frische must-have-Produkte, die in Lagerhallen gelagert werden und Teil des Lebensmittelhandelsnetzwerk sind, typischen Wert von $p\approx 98,5\%$.

Verderbliche Lebensmittel

Eine Frage von Vyacheslav Grinkevych, Supply-Chain-Experte, 13.02.2012:

Ich arbeite an der Prognose und Angebotsplanung für leicht verderbliche Milchprodukte, für die ein optimaler Service-Level essentiell ist. Die interessanteste und trickreichste Komponente hierbei ist H - die Bestandskosten und der tatsächliche Wert in der Praxis.

Beispielsweise sollte für leicht verderbliche Milchprodukte die wichtigsten Faktoren für H nicht nur die rein finanziellen Kosten von eingefrorenem Cash in Lagerbeständen und betrieblicher Logistiklagerungskosten sein, sondern auch die Kosten für potenzielle Verluste aufgrund von Abschreibungen abgelaufener Produkte bzw. Sonderaktionen mit Rabatten für Verkaufsaktionen nahe dem Verfallsdatum. Dies tritt ein, wenn die Verkaufszahlen weit unter der Prognose liegen.

Dieser Kompromiss kann als Risiko potenzieller übermäßiger Lagerbestände im Vergleich zum Risiko potenzieller Fehlbestände bezeichnet werden. Zwei Risiken, die sich trotz gleichem Ursprung entgegenwirken (der Verknüpfung mit dem Sicherheitsbestand). Im Fall deutlicher Über-Prognosen, die generell Probleme mit Verfallsdaten verursachen, werden Prognosefehler nicht normal verteilt. Infolgedessen frage ich mich, wie man diese Risiken von potenziellen Überbeständen besser zum Ausdruck bringen kann.

Die Formel könnte weiterentwickelt werden, sodass ein Verhältnis zwischen H und p entsteht, bzw. H in eine Funktion von p wird, d. h. H(p), anstelle nach einer Minimierung der Minimierung der Gesamtkosten C(p) zu streben. Was halten Sie davon?

Die oben genannte Service-Level-Formel basiert tatsächlich auf einer einfachen Annahme, bei der Kosten, sowohl Lager- als auch Fehlbestandskosten, streng linear sind. In der Praxis können Nicht-Linearitäten ungeschont, wie folgt, auftreten:

  • Das Lager ist voll, und somit kann der Punkt erreicht werden, an dem 1 zusätzlicher Posten den enormen Aufwand einer zusätzlichen Lagerstätte verursacht.
  • Fehlbestände verursachen, das zunehmende Umsatzverluste eine Punkt erreichen, an dem ein zusätzlicher Fehlbestand den Verlust eines Stammkunden bedeutet.

Verderbliche Lebensmittel unterscheiden sich zudem folgendermaßen: Nähert sich die Lagerabdeckung, sozusagen der Lagerbestand in Tagen (nicht: Einheiten), dem Verfallsdatum des Produkts, steigen $H$, die Bestandskosten ins unermessliche.

Tatsächlich repräsentiert $H$ die Reibungsprobleme, die ein Lagerbestand mit sich bringt. Eine Lagerabdeckung, die das Verfallsdatum des Produkts übersteigt, repräsentiert eine absurde Situation, wenn man von einem FIFO-Lagerbestand (First In, First Out) ausgeht, bei der somit kein Produkt das Lager vor Ablauf des Verfallsdatums verlassen würde.

Um ein Modell für die Auswirkungen der Verderblichkeit von Lagerbeständen zu erstellen, stellen wir Ihnen hier einige wesentliche Laufzeiten vor:

  • $\lambda$, die Leitnachfrage.
  • $\lambda_\infty$, die Lebensdauer des Produkts vor Ablauf des Verfallsdatums (d. h. Marktwert = Null).
  • $\lambda_½$, die Laufzeit, die aufgrund des Verlust des Marktwert des Produkts die Original-Bestandskosten verdoppeln.
  • $\lambda_c(p)$, die Lagerabdeckung, d. h. der Lagerbestand in Tagen (nicht: Produkteinheiten). Diese Laufzeit hängt vom Sicherheitsbestandfaktor und somit $p$ ab.

Anhand dieser Laufzeiten können wir ein Modell für die Bestandskosten erstellen:

$$ H(p) = H \left(1 - \frac{\lambda_\infty - \lambda_½}{\lambda_\infty - \lambda} + \frac{\lambda_\infty - \lambda_½}{\lambda_\infty - \lambda_c(p)} \right) $$ Sehen wir uns die implizite Annahme im Detail an, da wir die gewöhnliche Vorstellung von Bestandskosten etwas verändern, um das Risiko einer Abschreibung zu berechnen.

1) Es gilt: $H(0,5)=H$. Dies stammt aus der oben genannten Definition. $\lambda_c(0.5)=\lambda$, mit einem Service-Leven von 50%, somit entspricht die Lagerabdeckung der Durchlaufzeit. Von daher, treffen wir die Aussage, dass in diesem Model $H$ die Bestandskosten repräsentiert, bei denen die Abschreibungskosten des Service-Level von 50% bereits in die Kosten $H$ eingerechnet wurden. Bitte beachten Sie, dass Sicherheitsbestände von Null nicht Null-Abschreibungen, sondern lediglich unregelmäßige Abschreibungen bedeuten.

2) Für den Service-Level gilt: $p_½$, wie z. B. $\lambda_c(p_½) = \lambda_½$, ergibt: $H(p_½)=2H$. Auch hier ist dies lediglich das Ergebnis aus der Anpassung der Definition für $H(p)$. Intuitiv repräsentiert $\lambda_½$ die Laufzeit, die die Kombination aus Bestands- und Abschreibungskosten, im Vergleich zu einer Situation mit Sicherheitsbeständen = Null, verdoppelt. Es ist eindeutig, dass in der Praxis, die Kosten aus Verfallsdatum-Rabatten und Abschreibungen einzelne Schritte durchläuft. Wir sind jedoch der Ansicht, dass eine Darstellung der Gesamtkosten anhand einer typischen Laufzeit, die in der Praxis als ein bestimmter Bruchteil der Produktlebensdauer definiert werden würde, wahrscheinlich den verschiedenen Approximationen dieses gesamten Ansatzes besser standhalten können, als ein detaillierteres Modell mit noch unsichereren Variablen.

3) Wenn $p$ sich $p_\infty$ mit $\lambda_c(p_\infty)=\lambda_\infty$ nähert, dann neigt sich $H(p)$ zur Unendlichkeit. Dies entgeht der angepassten Funktionsdefinition für $H(p)$. Auf den ersten Blick scheint es merkwürdig, Lagerkosten zu haben, die die Kosten pro Produkteinheit übersteigen. Es liegt jedoch kein Paradox vor. Der Wert $H(p)$ repräsentiert die Friktionskosten zur Auslieferung der Produkteinheit an den Kunden. Sollte eine Lagerstätte aufgrund massiver Abschreibungen, und um 1 Einheit an den Endkunden zu verschicken, durchschnittlich 3 Einheiten erhält (und 2 Einheiten vor Auslieferung verfallen), sind die Friktionskosten um einiges höher als der Originalpreis der Produkteinheit.

Zusammengefasst lässt sich sagen, dass es sich bei $\lambda_½$ um eine unsichere Variable handelt. $\lambda$ und $\lambda_\infty$ sind mit größter Wahrscheinlichkeit bekannt. Unserer Ansicht nach, ist diese Modell für $H(p)$ die einfachste Lösung, die mit der Einführung von lediglich 1 zusätzlichen Variablen erreicht werden kann. Für $\lambda_c(p)$ mit einer niedrigen Approximation gilt:

$$\lambda_c(p) = \lambda \left(1 +\frac{\sigma}{Z}\Phi^{-1}(p)\right)$$ $\lambda_c$, die Lagerabdeckung kann als Verhältnis der Durchlaufzeit, einschließlich Leitnachfrage und normalisierter Sicherheitsbestandfaktor, betrachtet werden. Somit entsteht die alternative Kostenfunktion:

$$C^*(p) = \left(Z + \sigma \Phi^{-1}(p)\right)H\left(1 - \frac{\lambda_\infty - \lambda_½}{\lambda_\infty - \lambda} + \frac{ \lambda_\infty - \lambda_½}{\lambda_\infty - \lambda \left(1 +\frac{\sigma}{Z}\Phi^{-1}(p)\right)} \right) + (1-p)M\sigma$$ Anders als vorherige Kostenfunktionen, verfügt diese Funktion anscheinend über kein einfaches mathematisches Minimum. Jedoch ist durch Verwendung eines Ansatzes, der dem Ansatz zur Berechnung der optimalen Bestellmenge gleich kommt, relativ einfach eineNäherungslösung durch Wiederholung der 0,1% Zunahmen von 80 auf 99.9%, zu finden. Hier werden 200 Wiederholungen benötigt um eine 0,1% Genauigkeit zu erhalten, die in der Praxis ausreichend ist.

Praktische Anwendung

Die Service-Level-Formel enthält einige Approximationen, so dass die Zahlenwerte eventuell nicht außerhalb anwendbar sind. Eine Anpassung ist erforderlich. Insbesondere der Faktor $\frac{1}{\sqrt(2\pi)}\approx0,4$ kann nach Bedarf angepasst werden. Wir sind jedoch der Meinung, dass diese Formel einen guten Einblick gibt, inwiefern die entsprechenden Service-Level Ihres Artikels vergleichbar sein sollten. Zum Beispiel: Erhalten Sie für zwei Produkte A und B, Service-Level von jeweils 95% (für A) und 90% (für B), ist zu erwarten, dass für die endgültige Produktion gilt: Service-Level für A ist größer als Service-Level für B.

Berücksichtigt man die Art der oben erstellten Analyse, ist davon auszugehen, dass diese Formel für Produkte mit einer niedrigen oder diskontinuierlichen Nachfrage nicht relevant ist. Tatsächlich werden Produkte mit derart niedrigem Volumen mit einem niedrigen Reorder-Point von 0 oder 1 Einheit assoziiert. Ein lineares Modell der Lagerhaltungskosten für das Produkt macht nicht wirklich Sinn, da die Komplexität der Lagerung eines weiteren Bezugswerts berücksichtigt werden sollte.