Last time ended on a warning:
Before raising service on everything, find out which items are carrying the average.
That was asserted. Today we earn it.
Each item has its own demand, its own lead time, its own lead time demand distribution.
Nothing in the evaluation of item \(j\) refers to item \(i\).
So a storeroom of 3,000 items is 3,000 separate problems.
Until you notice what they share.
One storekeeper. The order handling capacity is fixed, so the average order frequency across the portfolio is constrained rather than priced.
One budget. The money is spent once.
One service figure. The organization commits to an average fill rate across items, not to a fill rate on each.
Let \(j\) index the items. Both couplings are the stochastic counterpart of what we did in the deterministic multi-item chapter.
A common backorder cost \(b\), charged per unit per unit time:
\[ G_{j}(r_{j}^{*}) = \frac{b}{b + h_{j}} \]
A common stockout cost \(k\), charged per unit short:
\[ G_{j}(r_{j}^{*}) = \frac{k\lambda_{j}}{k\lambda_{j} + h_{j}Q_{j}} \]
In both, the order quantities are the multi-item economic order quantities \(Q_{j} = \sqrt{2A\lambda_{j}/h_{j}}\), with \(A\) the shared ordering cost.
\[ \underbrace{\frac{b}{b + h_{j}}}_{\text{no } Q_j} \qquad\qquad \underbrace{\frac{k\lambda_{j}}{k\lambda_{j} + h_{j}Q_{j}}}_{Q_j \text{ is here}} \]
Thus, in the stockout formulation the reorder points cannot be set independently of the order quantities.
That is not a detail of notation. It fixes the order the search has to run in.
Replace both with constraints:
\[ \min \; \text{inventory investment} \quad\text{subject to}\quad \overline{\mathit{OF}} \le F, \quad \overline{\mathit{FR}} \ge S \]
Two constraints, two multipliers. Search on them in turn.
The order matters. \(A\) sets the order quantities, the order quantities appear in the stockout condition, and so the reorder points depend on \(A\).
The reverse is not true. Thus, settling order frequency first converges; the other order chases itself.
The parameters are computed from the approximation.
The constraints are checked with the exact measures.
That is the practice recommended two lectures ago, arrived at here again for the same reason: the approximation is a good way to find a policy and a bad way to report one.
This is the result worth carrying away, and it contradicts what most organizations do.
In Hopp and Spearman’s worked example, a 95% average fill rate is reached by giving
The algorithm buys service where it is cheap and where it moves the average. That means low unit cost and high demand.
Take the fuse cutout’s backorder cost, \(b = \$287.50\) per unit per year, and apply that one figure across the storeroom. Charge each item its own \(h_{j} = 0.25c_{j}\) and read off \(b/(b+h_j)\).
| Item | \(c_j\) | \(h_j\) | implied ready rate |
|---|---|---|---|
| Pad-mount transformer | $3,800.00 | $950.00 | 0.2323 |
| Fuse cutout | $115.00 | $28.75 | 0.9091 |
| Meter socket | $48.00 | $12.00 | 0.9599 |
| Ground rod | $14.00 | $3.50 | 0.9880 |
| Warning tape | $2.10 | $0.53 | 0.9982 |
From 23.2% to 99.8% across one storeroom, and nothing but the unit cost produced the spread.
The transformer’s own backorder cost was established earlier in the chapter: $8,550 per unit per year.
That is thirty times the cutout’s $287.50. Reading the same condition at the item’s own figure:
\[ \frac{8550}{8550 + 950} = 0.90 \qquad\text{against}\qquad 0.2323 \]
The shared-cost model would run the transformer at a 23% ready rate where its own cost calls for 90%.
It would do so because the cutout’s penalty was applied to an item worth thirty-three times as much.
A portfolio-wide shortage cost is defensible when the items are alike.
The storeroom’s items are not alike. Unit costs span three orders of magnitude.
Where they are not alike, the constrained form is the honest one, because a constraint on the average does not claim that every item has the same penalty.
The deterministic chapter drew aggregate investment against aggregate order frequency, and read a firm’s implied cost ratio off its own practice.
The same curve exists here, between aggregate investment and aggregate fill rate, with one curve per order frequency.
Read the same way. Same warning:
A point above the curve is a portfolio whose parameters are not the ones it thinks it is using.
The demand rate was \(\lambda\). The lead time was \(L\). The costs were \(k\), \(h\) and \(b\).
In a system that is actually running:
Throughout, we assume stationary demand: a level that drifts slowly, not one carrying a trend or a season.
Let \(t_{F}\) represent the basic forecast period, and \(\hat{D}_{t}\) the forecast of demand in one such period, revised at the end of period \(t\).
\[ \lambda = \frac{\hat{D}_{t}}{t_{F}} \]
This is the same \(\lambda\) every formula in this chapter has used.
Notice that it carries a period subscript in everything but name. It is the rate as of period \(t\), and next period it is a different number.
Let \(\mathit{MAD}_{t}\) represent the smoothed mean absolute deviation of the one period ahead forecast error.
Forecasting systems track mean absolute deviation rather than variance because updating it costs an absolute value instead of a square.
Converting one to the other takes an assumption. For a normally distributed error, \(E[|X - E[X]|] = \sigma\sqrt{2/\pi}\), so
\[ \sigma_{D} = \sqrt{\tfrac{\pi}{2}}\,\mathit{MAD}_{t} \approx 1.2533\,\mathit{MAD}_{t} \]
What that conversion assumes normal is the forecast error.
It is not a statement about the shape of \(D(L)\).
\(D(L)\) still gets its family chosen the way we chose it: by matching two moments to a Poisson, a negative binomial or a gamma.
And we said why the normal is not among the candidates offered there.
Confusing the two is how the normal gets into a lead time demand model without anyone deciding to put it there.
The policy is exposed to demand over a lead time, not over a forecast period.
Let \(\eta\) represent the scaling exponent. Then
\[ \theta = \frac{\hat{D}_{t}}{t_{F}}L, \qquad \sigma_{D(L)} = \sigma_{D}\left(\frac{L}{t_{F}}\right)^{\eta} \]
\(L/t_{F}\) is the number of forecast periods in a lead time, and it is dimensionless.
\(\eta = \tfrac{1}{2}\) recovers the familiar square root rule, and it is correct when the one period forecast errors are independent.
In practice \(\tfrac{1}{2} \le \eta \le 1\). You raise \(\eta\) toward 1 as the errors become positively autocorrelated.
That is what happens when the smoothing is slow to follow a change in level.
Thus, \(\eta\) is where a forecast that lags gets paid for.
Monthly forecasting, so \(t_F\) is one month. The system reports \(\hat{D}_{t} = 3.75\) units and \(\mathit{MAD}_{t} = 1.55\) units.
\[ \lambda = \frac{3.75 \text{ units}}{1 \text{ month}} \times \frac{12 \text{ months}}{1 \text{ year}} = 45 \text{ units per year} \]
\(\sigma_{D} = 1.2533(1.55) = 1.94\) units per month. A two month lead time puts \(L/t_{F} = 2\), so at \(\eta = \tfrac{1}{2}\):
\[ \theta = 7.5 \text{ units}, \qquad \sigma_{D(L)} = 1.94\sqrt{2} = 2.75 \text{ units} \]
Earlier in the chapter, from the Poisson assumption, we got 7.5 and 2.74.
A Poisson demand averaging 3.75 a month has a mean absolute deviation of 1.5502 units.
\[ \sqrt{\pi/2}\,(1.5502) = 1.9429 \qquad\text{against}\qquad \sqrt{3.75} = 1.9365 \]
The conversion is 0.33% high, and it introduces nothing else.
That check is worth performing whenever a forecasting system’s numbers first replace a fitted distribution’s, because it prices the conversion before the policy depends on it.
At \(\eta = \tfrac{1}{2}\): \(\sigma_{D(L)} = 2.75\) units.
At \(\eta = 1\): \(\sigma_{D(L)} = 1.94(2) = 3.89\) units.
42% higher, and the safety stock rises with it.
If you take \(\eta = \tfrac{1}{2}\) because it is the familiar square root rule, you should be able to say why the forecast errors on this item are independent.
The fixed order cost is normally the same for a whole group. It is a property of the ordering process, not of the item, so it changes when the process changes.
The holding cost follows the item’s value, since \(h = ic\). A repriced item has a new \(h\) whether or not anyone recomputed one.
The lead time varies by item, and we saw that its variance can contribute more to \(\mathit{Var}[D(L)]\) than the demand does.
With \(\lambda\), \(\theta\) and \(\sigma_{D(L)}\) in hand, recompute exactly as the classical approximation did the first time.
Nothing here is a new model. It is the classical approximation with its inputs refreshed.
Recall that the total cost is flat near the economic order quantity. A \(Q\) computed from a stale \(\lambda\) costs very little.
The reorder point has no such tolerance. It sits in the tail of \(D(L)\), where a small shift in \(\theta\) or \(\sigma_{D(L)}\) moves the fill rate visibly.
Recompute \(r\) on the forecast’s own cycle.
Recompute \(Q\) when \(\lambda\) has moved enough to matter.
Throughout, the lead time was a number the supplier quoted.
Next chapter: what happens when the supplier is a stock point of your own.