Bestands-Belohnungsfunktion



Von Joannès Vermorel, Dezember 2015 (zuletzt überprüft im Februar 2017)

Die Bestands-Belohnungsfunktion quantifiziert die erwarteten, sowohl positiven als auch negativen, Rendite einer bestimmten Anzahl an Einheiten im Bestand. Grundsätzlich bietet die Bestands-Belohnungsfunktion eine Antwort auf die Frage Was haben wir von einer zusätzlichen Einheit im Bestand? Diese Funktion kann auch zur Erstellung einer priorisierten Bestellpolitik genutzt werden, bei der jede Einheit nach ihrer spezifischen wirtschaftlichen Rendite priorisiert wird. Lokad empfiehlt die Bestands-Belohnungsfunktion für die meisten Fälle der Bestandsoptimierung.


Die nicht allzu technische Perspektive

Aus der reinen Sicht der Prognose, wird der künftige Bedarf am besten durch die Wahrscheinlichkeiten aller möglichen künftigen Szenarien dargestellt. Damit ist die Wahrscheinlichkeit, 0 Einheiten zu benötigen, die Wahrscheinlichkeit 1 Einheit zu benötigen, etc. gemeint, wobei die Wahrscheinlichkeiten je nach Kontext für jeden Artikel (Produkt, SKU, Strichcode) berechnet werden.

Obwohl diese Wahrscheinlichkeiten die Zukunft genau schildern, geben Sie uns keine Hinweise zu den Entscheidungen, die hinsichtlich des Bestands getroffen werden müssen. Denn Entscheidungen bezüglich des Bestands können sich nicht ausschließlich auf die Wahrscheinlichkeit des Bedarfs stützen. Dabei sollten auch finanzielle Risiken berücksichtigt werden.

Gehen wir beispielsweise von zwei Produkten mit derselben Bedarfs-Wahrscheinlichkeit aus. Hält das erste Produkt lange, während das zweite eine kurze Haltbarkeit aufweist, wäre es aus der Sicht des Bestands sinnvoller, mehr Einheiten des langlebigeren Produkts zu halten.

Die Bestands-Belohnung ist eine mathematische Funktion, die die Rentabilität einer zusätzlichen Einheit eines bestimmten Artikels im Bestand berechnet. Dabei wird dies nach einer probabilistischen Vorhersage des zukünftigen Bedarfs und einiger Wirtschaftsvariablen, aus denen der erwartete Gewinn bei Lieferung der Einheit, sowie die voraussichtlichen Lagerhaltungskosten, wenn die Einheit aufgrund mangelnder Nachfrage auf Lager bleibt, berechnet.

Lokad betrachtet die Bestands-Belohnungsfunktion als den Grundpfeiler der modernen Bestandsoptimierung. Die über die Bestands-Belohnungsfunktion erhaltenen Lösungen sind naiven Ansätzen, die sich auf ein bestimmtes Service-Level oder Auftragserfüllungsrate konzentrieren allgemein überlegen. So ignorieren letztere Ansätze alle Negativszenarien, wie etwa die Kosten, die einhergehen, wenn der gelagerte Artikel nicht verkauft wird.

Wirtschaftsfaktoren der Bestandsbelohnung

Die Bestands-Belohnungsanalyse ist eine Wirtschaftsanalyse, im Sinne, dass sie die Feststellung der finanziellen Rendite des disponiblen Bestands darstellt. Um dies zu erreichen, müssen einige grundsätzliche Wirtschaftsfaktoren mit Auswirkung auf die Rendite des Bestands eingeführt werden.

Diese finanzielle Perspektive sollte sich nicht auf eine simple Gewinnmaximierungs-Analyse beschränken. Ein wesentlicher Bestandteil der Analyse sind die dem Kunden aufgrund von Fehlbeständen angefallenen Kosten. Dieser finanzielle Ansatz bietet nur einen Rahmen zum Ausgleich der Bestandskosten und der durch Fehlbestände verursachten Kosten. Doch die Festlegung des richtigen Gleichgewichts an sich hängt gewöhnlich stark vom Unternehmen ab.

Nun definieren wir drei Variablen, die mit jeder SKU assoziiert werden, wenn man eine Dauer, die der Durchlaufzeit gleicht ist, betrachtet:

  • $M$ ist die Bruttogewinnspanne vom Verkauf 1 Einheit
  • $S$ ist die Bestrafung der Fehlbestände (negativ) für 1 nicht gelieferte Einheit
  • $C$ ist die Bestrafung der Lagerhaltungskosten (negativ) für 1 nicht verkaufte Einheit im Bestand

Diese Variablen sind grundlegend im Sinne, dass keine Bestandsoptimierung ohne eine Schätzung dieser Variablen stattfinden kann. Wird nicht einmal eine sehr rudimentäre Schätzung der oben genannten Variablen vorgenommen, treten bei jeglichen Bestellmethoden eines oder mehrere der unten erwähnten Probleme auf:

  • die Methode spiegelt die Bestandsrisiken, die mit dem künftigen Bedarf, der unter Umständen nicht zustande kommt, nicht richtig wider. So entsteht durch diese Methode, auch wenn gute Durchlaufzeiten erreicht werden, toter Bestand.
  • die Methode spiegelt die dem Kunden angefallene Kosten durch Fehlbestände nicht wider und zeigt auch nicht die entgangenen Gelegenheiten, den Kunden zu beliefern.
  • die Methode spiegelt die Bedeutung der eigentlichen Lieferung der bestimmten Einheit und der Erzeugung von Gewinn, auf was sich der Bestand stützt, nicht richtig wider.

Auf Grundlage dieser Überlegungen, betrachten wir zwei einfache Szenarien, je nachdem, ob der Bedarf den Bestand übertrifft oder nicht. Sei $k$ die Anzahl gelagerter Einheiten und $y$ die von Kunden verlangten Einheiten.

Übertrifft der Bestand den Bedarf, das heißt, $k \geq y$, ist die direkt mit dem Bestand assoziierte Belohnung $yM+(k-y)C$. Tatsächlich ergibt sich $yM$ für die $y$ Einheiten, die mit ihren entsprechenden Belohnungen geliefert werden, während sich $(k-y)C$ für die Lagerhaltungskosten ergibt, die für die $(k-y)C$ Einheiten entsteht, die am Ende dieses bestimmten Zeitraums nicht verkauft werden.

Übertrifft der Bedarf den Bestand, also ist $k < y$, wird die direkte Belohnung alternativ als $kM+(y-k)S$ geschrieben. So werden in diesem Fall die ersten $k$ Einheiten richtig geliefert und führt zu einer Belohnung $kM$, doch es fehlen die Einheiten $y-k$, die zu einer Bestrafung von $(y-k)S$ durch Fehlbestände führen.

Definition der Bestands-Belohnungsfunktion

Im vorangehenden Abschnitt haben wir eine direkte Belohnung berechnet, doch die Bestandsoptimierung ist ein iterativer Prozess. Einheiten aus dem Bestand, die in der nächsten Zeitspanne nicht verkauft werden, könnten in der darauffolgenden Zeitspanne verkauft werden, so dass sie einen nachträglichen Gewinn erzeugen. Andererseits könnten Einheiten, die in der nächsten Zeitspanne nicht verkauft werden, womöglich auch nicht in der darauffolgenden Zeitspanne verkauft werden, wodurch weitere nachträgliche Lagerhaltungskosten anfallen. Die Bestands-Belohnungsfunktion nähert sich diesen Problemen an, indem sie nicht nur die nächste Zeitspanne, sondern alle darauffolgende Zeitspannen berücksichtigt

Wir definieren die Bestands-Belohnungsfunktion als: $$R(t, k)= \begin{cases} kM+(y_t-k)S & \text{if $y_t \geq k$ (stockout)} \\ y_tM+(k-y_t)C + \alpha R^*(t+1, k-y_t) & \text{if $y_t < k$ (leftover)} \end{cases}$$ wobei:

  • $k$ die Anzahl der Einheiten im Bestand ist.
  • $y_t$ der Bedarf für die Zeitspanne $t$ ist.
  • $M$, $S$ und $C$ die zuvor eingeführten wirtschaftliche Variablen sind.
  • $\alpha$ ein Abzinsungsfaktor, der im Folgenden erklärt wird, ist.
  • $R^*$ identisch zu $R$ aber mit $S=0$ ist und wir im Folgenden erklärt.

Auf den ersten Blick mag diese Formel etwas überwältigend wirken, doch sie stellt eigentlich ein ziemlich klares Modell einer einzelnen SKU mit $k$ Einheiten im Bestand, bezüglich eines Bedarfs von $y_t$ Einheiten dar. Außer der $\alpha R^*(t+1, k-y_t)$ Komponente, stellt dieser Ausdruck die unmittelbare Belohnung, die in den vorangehen Abschnitten erläutert wurde, dar.

Anschließend kommen zwei Wendungen vor, um alle darauffolgenden Zeitspannen zu berücksichtigen. Zuerst besteht ein rekursiver Aufruf der eigentlichen Belohnungsfunktion; dies bedeutet, dass die Belohnung die Summe aller Belohnungen (oder Verluste) der nächsten Zeitspanne, plus die Belohnungen (oder Verluste) aller darauffolgenden Zeitspannen, ist. Es kann anfänglich etwas rätselhaft erschienen, eine Funktion zu betrachten, die unbestimmt in die Zukunft „läuft“, doch dies ist lediglich eine Darstellung des unverkauften Bestands, das von einer Zeitspanne in die nächste übertragen wird.

Als zweites wird $\alpha$ als Abzinsungsfaktor für die zukünftigen Belohnungen eingeführt. Dieser Ansatz stammt aus dem abgezinsten Zahlungsstrom, ein Konzept, das die Tatsache widerspiegelt, dass ein in ferner Zukunft erzeugter Gewinn einen geringeren Wert als ein in naher Zukunft erzeugter Gewinn besitzt. Umgekehrt gilt dieselbe Logik auch für Kosten: direkte Kosten haben einen höheren Einfluss als Kosten, die in ferner Zukunft anfallen.

Zuletzt wird Rekursion durch $R^*$ eingeführt, wodurch Kosten durch Fehlbestände ignoriert werden, statt $R$. Somit wird die Tatsache ausgedrückt, dass der aktuelle Bestand nicht zur Vorbeugung von Fehlbeständen in jeglicher andere Zeitspanne der Durchlaufzeit „verantwortlich“ ist, sondern nur in der aktuellen Zeitspanne. Laut Definition stellt die Durchlaufzeit die Dauer dar, die durch den aktuellen Bestand gedeckt werden muss. Laut dieser Definition besteht für die nächste Zeitspanne eine weitere Möglichkeit, mehr Bestands zu kaufen (auch wie keine Nachbestellungen eingebaut werden können, wird erklärt). Daher fällt die Verantwortung, einen Fehlbestand für eine Zeitspanne, die der nächsten folgt, zu vermeiden auf eine spätere Entscheidung bezüglich des Bestands.

Probabilistische Schätzung der Bestands-Belohnungsfunktion

Der Ausdruck der Bestands-Belohnungsfunktion $R$ hängt von einem zukünftigen Bedarf $y_t$ ab, der gewöhnlich unbekannt ist. Dennoch kann $R$, wenn Prognosen zur Verfügung stehen, berechnet werden. Zur Berechnung von $R$ empfehlen wir Ihnen, probabilistische Vorhersage des zukünftigen Bedarfs zu nutzen, also nicht nur eine Schätzung des durchschnittlichen Bedarfs, sondern Schätzungen der gesamten Wahrscheinlichkeitsverteilung. Auf Grundlage dieser Erkenntnisse kann $\hat{R}$ eingeführt werden, die empirische Schätzung von $R$, die sich auf eine probabilistische Bedarfsprognose stützt. Die Funktion $\hat{R}$ wird, wie folgt, geschrieben: $$ \begin{align} \hat{R}(t,k)= & \sum_{y |y \geq k} \mathbf{P}(Y_t=y) ( kM+(y-k)S ) \\ & + \sum_{y|y < k} \mathbf{P}(Y_t=y) ( yM+(k-y)C + \alpha \hat{R}^*(t+1, k-y) ) \end{align} $$ Durch diesen Ausdruck wird der ursprüngliche Ausdruck $R$ zu einer bedingten Wahrscheinlichkeit. Die erste Zeile widmet sich dem Szenario eines Fehlbestands, während die zweite Zeile die Szenarien von Restbeständen darstellt. Beide Zeilen sind nach ihren jeweiligen Wahrscheinlichkeiten gewichtet.

Wie Sie im folgenden Abschnitt sehen werden, kann $\hat{R}$ für praktische Zwecke berechnet werden. Tatsächlich bietet Lokad eine eingebaute Funktion, namens stockrwd, die diese genaue Formel implementiert. Dies wird im nächsten Abschnitt genauer erläutert.

In der Praxis ist $\hat{R}$ das einzige verfügbare Maß, da $R$ nicht tatsächlich berechnet werden kann, weil der künftige Bedarf noch unbekannt ist. Daher bezieht man sich mit der Bestands-Belohnungsfunktion mehr auf ihre Schätzung $\hat{R}$ als auf die „eigentliche“ Funktion $R$. Dazu sollte auch erwähnt werden, dass die Genauigkeit der $\hat{R}$ Schätzung von der Genauigkeit der probabilistischen Vorhersage, auf die sie sich stützt, abhängt. Doch diese Debatte geht weit über das Ziel vorliegenden Dokuments aus.

Eigenschaften der Bestandsbelohnungsfunktion

Die Bestandsbelohnungsfunktion kann als $R(k, M, S, C)$ geschrieben werden, um die Wirtschaftsvariablen hervorzuheben. Die Bestandsbelohnungsfunktion ist additiv in Bezug auf seine Komponenten: $$\begin{align} R(k, M, S, C) = & R(k, M, 0, 0) + \\ & R(k, 0, S, 0) + \\ & R(k, 0, 0, C) \end{align}$$ Dann ist die Bestandsbelohnungsfunktion linear, in Bezug auf ihre Parameter $M$, $S$ und $C$: $$\begin{align} R(k, aM, bS, cC) = & aR(k, M, 0, 0) + \\ & bR(k, 0, S, 0) + \\ & cR(k, 0, 0, C) \end{align}$$ Diese Eigenschaften finden sich selbstverständlich in stockrwd, Lokads Envision-Funktion, wieder.

Die stockrwd-Funktionen in Envision

stockrwd ist eine Funktion in Envision, ein Feature von Lokad, das die Bestands-Belohnungsfunktion, oder besser gesagt, ihre probabilistische Schätzung, wenn eine probabilistische Vorhersage vorliegt, implementiert. Im Falle, dass uns die Erhöhung der Belohnung für die  kte Einheit im Bestand interessiert, definieren wir die Envision-Funktion als $$\text{stockrwd}: k \to R(k)-R(k-1)$$ Die entsprechende Syntax in Envision lautet, wie folgt:
// Komponente der Belohnung für Gewinnspanne
RM = stockrwd.m(Demand, AM) * M
// Komponente der Bestrafung für Fehlbestände
RS = stockrwd.s(Demand) * S
// Komponente der Lagerhaltungskosten
RC = stockrwd.c(Demand, AC) * C
// erneute Erstellung der Bestandsbelohnung mit punktweise Additionen
R = RM + RS + RC
Envision teilt die Bestandsbelohnungsfunktion in ihre drei Komponenten auf. Da die Komponenten in Bezug auf ihre lineare Wirtschaftsvariablen linear sind, bleiben die Wirtschaftsvariablen außerhalb des Aufrufs der stockrwd()-Funktion. Diese Aufteilung erleichtert die Analyse der Wirtschaftsgrößen, die durch die Bestandsbelohnung entstehen, und die Feinabstimmung der Annahmen, die der Berechnung unterliegen.

Das erste Argument D muss eine Verteilung sein. Diese Verteilung stellt die probabilistische Vorhersage dar und wird gewöhnlich vom Prognose-Engine erstellt. Als solche, wird von D nicht nur erwartet, dass sie eine Verteilung ist, sondern auch eine „Zufallsvariable“ (Menge gleich 1).

Die letzten vier Argumente M, S, C und A spiegeln die Wirtschaftsvariablen, die am Anfang des Dokuments definiert wurden, wider. In der Praxis wird erwartet, dass S und C negativ sind. Der A-Wert sollte voraussichtlich auch im Segment $[0;1[$ beinhaltet sein.

Die Funktion gibt R wider, eine Verteilung, die $k \to R(k) - R(k-1)$ widerspiegelt. Achten Sie darauf, dass diese Verteilung keine Zufallsvariable ist, sondern eine wirtschaftliche Belohnungsfunktion. So geht aus der formalen Definition hervor, dass es sich nicht einmal um eine Verteilung mit „kompaktem Träger“ handelt. Envision bietet besondere Algorithmen, die genau dieser Art Verteilungen ohne kompakten Träger gewidmet sind.

Doch in Envision ist R gekürzt, um mit dem Träger der Verteilung übereinzustimmen.

Analysieren wir die gewöhnliche Definition der wirtschaftlichen Variablen:
M = SellPrice - BuyPrice
// 0.5 arbitrary
S = -0.5 * (SellPrice - BuyPrice)
// 0.3 beliebig
C = -0.3 * BuyPrice * mean(Leadtime) / 365
// 'AM' für die Komponente der Gewinnspanne
AM = 0.3
// 'AC' für die Komponente der Lagerhaltungskosten
AC = 1 - 0.2 * mean(LeadTime) / 365
Wir haben:

  • M wird als Brutto-Gewinnspanne pro Einheit definiert.
  • S ist zufällig als 0.5-mal die Brutto-Gewinnspanne definiert. Natürlich variiert der Einfluss unter den Branchen deutlich, entsprechend der Toleranz des Kunden für Fehlbestände.
  • C wird als die jährlichen Lagerhaltungskosten ausgedrückt und macht 30% des ursprünglichen Einkaufspreises im Jahr aus. Der Faktor C spiegelt die Zeitspannen von mean(LeadTime) in Tagen statt in Jahren wider.
  • AM, der Abzinsungsfaktor für die Belohnung der Gewinnspanne wird als stufenweise Rückgang von 70% von einem Zeitraum zum nächsten ausgedrückt.
  • AC, der Abzinsungsfaktor für Lagerhaltungskosten wird als 20% jährliche Abzinsung auf zukünftige Belohnungen ausgedrückt. So wird der Wert durch mean(Leadtime) / 365 auch angepasst, um der Durchlaufzeit zu entsprechen.

In der Praxis wird auch erwartet, dass probabilistische Durchlaufzeiten auch vom Prognose-Engine prognostiziert werden. Folglich gehen wir im oberen Skript davon aus, dass Leadtime eine Verteilung ist.

Abzinsungsfaktoren für Gewinnspanne und Lagerhaltungskosten

Der Abzinsungsfaktor A, wie oben dokumentiert, wird in den drei Komponenten der Bestandsbelohnungsfunktion unterschiedlich angewandt.

Für die Komponente der Gewinnspanne der Bestandsbelohnung, besteht weiterhin die Möglichkeit, mehr Bestand zu einem späteren Zeitpunkt zu kaufen. Daher sollte der Abzinsungsfaktor gekaufter Mengen, deren Gewinnspanne nur zu späteren Zeitpunkten erzeugt wird, stark bestraft werden. Per Definition besteht ja weiterhin die Möglichkeit, zu einem späteren Zeitpunkt mehr Bestand für diese künftigen Zeitpunkte zu kaufen. Daher schlagen wir einen starken Abzinsungsfaktor von AM = 0.3 vor.

Für die Komponente Bestrafung für Fehlbestände der Bestandsbelohnung ist per Definition der Abzinsungsfaktor null. Daher hat der Abzinsungsfaktor keinen Einfluss auf diese Komponente.

Für die Komponente der Lagerhaltungskosten der Bestandsbelohnung ist der Bestand ein Vermögenswert, der an Wert verliert. Wir schlagen eine jährliche Abzinsung von 20 % vor, da der Bestand nur langfristig Kosten generiert und weil auch die Opportunitätskosten berücksichtigt werden müssen: das jetzt investierte Geld für den Kauf von Bestand ist zu einem späteren Zeitpunkt, wenn der künftige Bedarf beobachtet wurde, nicht verfügbar.

Auftragsrückstände und Bestandsbelohnung

Auftragsrückstände verkomplizieren die Lage. Wenn Auftragsrückstände auftreten, ist der künftige Bedarf nur teilweise unbekannt, da man davon ausgeht, dass die Menge der Auftragsrückstände bekannt ist. Außerdem ist die Erfüllung von Auftragsrückständen manchmal noch wichtiger als die von gewöhnlichen Aufträgen, weil Auftragsrückstände für die Kunden mit besonderem Aufwand verbunden sind. Das folgende Skript veranschaulicht, wie die Bestandsbelohnungsfunktion mit Auftragsrückständen kombiniert werden kann.
MB = 0.5 * SellPrice // beliebig
SB = 0.5 * SellPrice // beliebig

MBU = MB * uniform(1, Backorder)
SBU = SB * uniform(1, Backorder)

RM = MBU + (stockrwd.m(Demand, AM) * M) >> Backorder
RS = SBU + zoz(stockrwd.s(Demand) * S) >> Backorder
RC = (stockrwd.c(Demand, AC) * C) >> BackOrder
R = RM + RS + RC // einfache erneute Zusammensetzung
Die beiden Wirtschaftsvariablen MB und SB stellen die Bestrafungen pro Einheit für die Gewinnspanne und die Fehlbestände der Einheiten der Auftragsrückstände dar. Wir hätten auch M und S nutzen können, doch, wie bereits erklärt, werden Auftragsrückstände gewöhnlich als wichtiger als gewöhnliche Aufträge eingestuft.

Das Skript nutzt deutlich den Schiebeoperator >>, der von Envision zur Verfügung gestellt wird. Da davon ausgegangen wird, dass die Mengen des Auftragsrückstandes ein bekannter Bedarf ist, wird die Verteilung der Belohnung entsprechend nach rechts verschoben. Beachten Sie, dass, wenn der Bedarf zuerst verschoben wird, also Demand, nicht dieselben Ergebnisse erzielt werden. Das Verschieben des Bedarfs würde für die Bestandsbelohnung bedeuten, dass in jedem künftigen Zeitraum die Menge des Auftragsrückstands Backorder ein garantierter Bedarf ist.

Visuelle Darstellung der Bestands-Belohnungsfunktion

Dieses Skript scheint zu diesem Zeitpunkt vermutlich noch etwas kryptisch. Aber hierunter bieten wir eine visuelle Darstellung der Serientransformationen, die dem Bedarf zugeordnet werden, wenn eine Bestands-belohnungsanalyse bei Auftragsrückständen vorgenommen wird.

Image

Der erste Graph mit der Überschrift Future demand (Künftiger Bedarf) stellt eine probabilistische Bedarfsprognose einer bestimmten SKU dar. Die Kurve stellt eine Wahrscheinlichkeitsverteilung dar, bei der die gesamte Fläche unter der Kurve gleich eins ist. Im Hintergrund ist dieser künftige Bedarf implizit einer probabilistischen Prognose der Durchlaufzeiten zugeordnet, die auch als Wahrscheinlichkeitsverteilung dargestellt wird. Eine solche Verteilung wird gewöhnlich über einen probabilistischen Prognose-Engine erstellt.

Der Graph Marginal fill rate (Marginale Auftragserfüllungsrate) stellt den Teil des Bedarfs dar, der von jeder zusätzlichen Bestandseinheit gedeckt wird. Das heißt, dass dieser Graph die Auswirkungen eines wachsenden Bestands auf die Auftragserfüllungsrate veranschaulicht. Da hier eine geringfügige Auftragserfüllungsrate dargestellt wird, bleibt die gesamte Fläche unter der Kurve gleich eins. Die Verteilung der geringfügigen Auftragserfüllungsrate kann über die fillrate() Funktion berechnet werden.

Der Graph Demand with backorders (Bedarf mit Auftragsrückständen) ist mit dem Future demand Graphen (Künftiger Bedarf) identisch, außer, dass hier 8 Einheiten eingeführt wurden, um einen Auftragsrückstand darzustellen. Der Auftragsrückstand stellt einen garantierten Bedarf dar, da diese Einheiten bereits von Kunden gekauft wurden. Folglich bewegt sich die Wahrscheinlichkeitsverteilung des Bedarfs nach rechts, da die Einheiten des Auftragsrückstands einen garantierten Bedarf darstellen. Der shift Operator >> ist als Teil der Algebra der Verteilungen verfügbar, um solche Transformationen bezüglich der ursprünglichen Verteilung zu berechnen.

Der Graph Fill rate with backorders (Auftragserfüllungsrate mit Auftragsrückständen) ist dem Marginal fill rate Graphen (Marginale Auftragserfüllungsrate) ähnlich, doch hier wurden auch 8 Einheiten nach rechts verschoben. Hier ist die gezeichnete Auftragserfüllungsrate lediglich dem unbekannten Bedarf zugeordnet, daher bleibt die Form der Verteilung gleich.

Der Margin (Marge) Graph stellt die wirtschaftliche Belohnung dar, wie sie von der Bestands-Belohnungsfunktion mit dem Demand with backorders (Auftragserfüllungsrate mit Auftragsrückständen) als Eingabe berechnet wird. Die Bestandsbelohnung kann als Verteilung dargestellt werden, doch es handelt sich nicht um eine Wahrscheinlichkeitsverteilung: die Fläche unter der Kurve ist nicht gleich eins, sondern ergibt die gesamte Marge, die mit unbegrenztem Bestand erfasst werden würde. Im linken Bereich des Graphen, ergibt jede Einheit aus einen Auftragsrückstand dieselbe Marge. Dies ist nicht verwunderlich, da mit der Feststellung der Marge bei Einheiten, die bereits gekauft wurden, keine Ungewissheit verbunden ist.

Die Stockout penalty (Strafe für Fehlbestände) stellt die zweite Komponente der Bestands-Belohnungsfunktion dar. Die Form der Verteilung kann etwas unerwartet sein, doch sie zeigt einfach, dass bei der Erstellung der Bestands-Belohnungsfunktion die gesamte Fläche unter der Kurve gleich null ist. Gehen wir von einem Bestand von null aus, ergibt sich intuitiv die Summe aller Strafen aufgrund von Fehlbeständen, da der gesamte Bedarf fehlt. Umso weiter wird uns nach rechts mit höheren Beständen bewegen, wird mehr Bedarf gedeckt, womit die Strafen aufgrund von Fehlbeständen weiter gesenkt werden; bis keine mehr vorhanden sind, da der gesamte Bedarf gedeckt wird. Die Strafe für die Nichterfüllung von Auftragsrückständen wird höher als die für den weiteren Bedarf dargestellt. Somit wird veranschaulicht, dass Kunden mit Auftragsrückständen gewöhnlich höhere Anforderungen am Erhalt der Ware haben, als Kunden, die noch keine Artikel gekauft haben.

Der Graph Carrying costs (Lagerhaltungskosten) stellt die dritte und letzte Komponente der Bestands-Belohnungsfunktion dar. Da für Lagerhaltungskosten keine Obergrenze besteht – es kann immer eine weitere Einheit gelagert werden und die Lagerhaltungskosten somit erhöht werden – divergiert diese Verteilung: sie tendiert zur negativen Unendlichkeit rechts. Die gesamte Fläche unter der Kurve ist negativ unendlich, obwohl dies eine eher theoretische Perspektive ist. Rechts sind die den Einheiten der Auftragsrückstände zugeordneten Lagerhaltungskosten null: tatsächlich entstehen aus diesen Einheiten keine Lagerhaltungskosten, da sie ja bereits von Kunden gekauft wurden und so bald wie möglich an diese versandt werden.

Die endgültige Bestandsbelohnung, die oben nicht dargestellt ist, würde sich aus der Summe der drei Komponenten der Bestands-Belohnungsfunktion ergeben. Die daraus entstehende Verteilung könnte als ROI für jede zusätzlich zu kaufende Bestandseinheit interpretiert werden. Diese Verteilung beginnt gewöhnlich mit positiven Werten, womit sich die ersten Einheiten lohnen. Doch die Verteilung konvergiert, wegen der unbegrenzten Lagerhaltungskosten, gegen minus bei höheren Beständen.

Der Begriff Träger bezieht sich klassisch auf das Bedarfsniveau, das mit Wahrscheinlichkeiten ungleich null assoziiert wird. In den oberen Graphen bezieht sich der Begriff Träger weitestgehend auf den gesamten Bereich, der von Envision als Nichtnullstellen verarbeitet wird. Insbesondere sollte hervorgehoben werden, dass viele Berechnungen eine Erweiterung des Verteilungsträgers benötigen, um sicherzustellen, dass die entstehende Verteilung nicht gekürzt ist.

  • Bei der Shift-Operation, die vorgenommen wird, wenn Auftragsrückstände vorliegen, muss der Träger um die Anzahl der Einheiten der Auftragsrückstände vergrößert werden.
  • Die Komponenten der Margen und der Lagerhaltungskosten bei der Bestands-Belohnungsfunktion verfügen theoretisch über keine Grenzen nach rechts und können beliebig große Erweiterungen des Trägers erfordern.
  • Bestellbedingungen, sowie MOQs können höhere Bestände benötigen als diejenige, die bei den versetzten Verteilungen erreicht werden. Die richtige Bewertung der Ausläufer der Verteilung ist ausschlaggebend, um zu schätzen, ob die MOQ rentabel erfüllt werden kann.

Eine bemerkenswerte Erkenntnis der oberen Veranschaulichung ist die Notwendigkeit, die Bestands-Belohnungsfunktion über den Bereich des Bedarfs ungleich null hinaus zu berechnen. Tatsächlich kann das Unternehmen, wenn MOQs vorhanden sind, dazu gezwungen sein, Ware unter 100 % Service Level Deckung des künftigen Bedarfs für den nächsten Zeitraum zu kaufen. Die Bestands-Belohnungsfunktion deckt dies auch ab. Die Auswirkungen von MOQs werden im folgenden Abschnitt detaillierter erläutert. In der Praxis kümmert sich Envision Runtime darum, indem es automatisch den Träger anpasst, um sicherzustellen, dass Verteilungen während der Berechnungen nicht gekürzt werden.

Überblick gewöhnlicher Fälle

Die Bestands-Belohnungsfunktion ist direkt, im Sinne, dass sie die finanziellen Ergebnisse eines bestimmten Bestandsfalles auf eine relativ minimale Weise darstellt. So wäre es, wie wir gesehen haben, nicht sehr sinnvoll, einen Teil dieses Modells zu entfernen, da somit nicht mehr die drei grundsätzlichen Zustände eine SKU-Einheit berücksichtigt werden würden: verkauft, fehlend oder im Bestand. Durch die Anpassung der wirtschaftlichen Variablen kann die Bestands-Belohnung verändert werden, so dass sie die mit einer bestimmten Sparte einer Branche verbundenen Fälle widerspiegelt.

Luft- und Raumfahrt

In der Luft- und Raumfahrtindustrie werden Ersatzteile zur Instandhaltung von Flugzeugen benötigt. Ein fehlendes No-Go Ersatzteil führt zu einem AOG-Vorfall (Aircraft on Ground), das gewöhnlich deutlich höhere Kosten mit sich bringt, als das eigentliche Ersatzteil.

In diesem Kontext wäre es sinnvoll von Folgendem auszugehen:

  • M=0, es sei denn die Ersatzteile werden für einen Preis geliefert, besteht kein differenzierbarer Aufwärtswert bei der Lieferung.
  • S= constant, da alle No-Go-Teile die Lufttüchtigkeit eines Flugzeugs gleichermaßen beeinträchtigen können, ist die Strafe für Fehlbestände einheitlich.
  • C= constant (auf das Jahr berechnet), da die meisten Teile langlebig sind, ist es als erster Ansatz zulässig, die jährlichen Lagerhaltungskosten als Konstante zu approximieren.

Zeitung

Was den Zeitungsbestand betrifft, gehen wir davon aus, dass ein Artikel nur in der nächsten Zeitspanne verkauft werden kann und andernfalls seinen gesamten Marktwert bei der nächsten Iteration verliert. Zeitungen stellen das Paradebeispiel solcher Artikel dar, doch sie sind nicht ein einzigartiger Fall. Ein ähnliches Verhalten kann auch bei äußerst saisonabhängigen und verderblichen Artikel, mit einem geringen Zeitfenster für den Verkauf beobachtet werden.

In diesem Kontext wäre:

  • M, die Brutto-Gewinnspanne
  • S, ein Anteil der Brutto-Gewinnspanne
  • C = 0, da nichts von einer Zeitspanne in die nächste übertragen wird
  • A = 0, ebenso, da kein Gewinn von künftigen Zeitspannen erhalten werden kann.