When Review Is Periodic

Manuel D. Rossetti, PhD P.E.

Agenda

  • The \((R, S)\) policy, and the protection interval that replaces the lead time
  • Ten months at the storeroom, worked one review at a time
  • The four measures under periodic review, and a second route to the fill rate
  • The transformer reviewed monthly, and the trap in the critical ratio
  • Choosing the interval, the \((R, s, S)\) policy, and the price of not watching

Periodic Review

Every model so far assumed the position is known at all times: assumption (a), the one that is a fact about the organization rather than the item.

Let \(R\) represent the review interval. The position is observed at \(0, R, 2R, \ldots\) and an order may be placed only then. It is usually imposed, not chosen: a delivery calendar, a weekly buying meeting, a shared truck, an overnight planning run.

Let \(S\) represent the order-up-to level. The \((R, S)\) policy: at every review, order the difference between \(S\) and the observed position.

This is the \((s, S)\) rule with the trigger removed. The calendar decides when to order; only the quantity is left to compute. One substitution carries the whole chapter across.

The Protection Interval

Fix the review at \(t\). The position goes to \(S\); that order arrives at \(t + L\). The next order is placed at \(t + R\) and arrives at \(t + R + L\). Thus, the stock committed at \(t\) is all there is until \(t + R + L\). Let

\[ \tau = R + L \]

represent the protection interval. Let \(u\) represent the time since the last receipt, \(0 \le u < R\):

\[ \begin{aligned} \mathit{IN}(t + L + u) &= S - D(L + u) &&\text{every earlier order has arrived, no later one has}\\ \mathit{IN} &= S - D(L + U), \quad U \sim \text{Uniform}[0, R) &&\text{a random instant in the cycle} \end{aligned} \]

Under \((r, Q)\): a fixed exposure \(L\), a position uniform over \(Q\) levels.

Under \((R, S)\): a fixed position \(S\), an exposure uniform over \(R\) of time.

Ten Months at the Storeroom

The transformer, \(\lambda = 45\) a year (3.75 a month), \(L = 2\) months, now on a monthly review with \(S = 13\), so \(\tau = 3\) months.

Question Answer
What is stocked? One item, the transformer
What is the demand process? Random arrivals of one unit each, about 3.75 a month
When is inventory reviewed? Every month, at the month end
What triggers replenishment, and how much? The review itself; order \(S\) less the observed position
What happens to unmet demand? Backordered
What costs are incurred, and when? Not needed to run the ledger

An order placed at the end of month \(t\) is available in month \(t + 3\). Each row is recorded at the month end, before that month’s order is placed.

The Ledger, One Review at a Time

Month Rcpt Dmd \(I\) \(B\) \(\mathit{IN}\) \(\mathit{IO}\) \(\mathit{IP}\) Order What happened
0 5 0 5 8 13 0 \(\mathit{IP} = S\): nothing to order
1 4 3 6 0 6 4 10 3 Shelf 9, then 6; order \(13 - 10\)
2 4 5 5 0 5 3 8 5 Shelf 10, then 5; order \(13 - 8\)
3 0 2 3 0 3 8 11 2 No receipt: month 0 ordered nothing
4 3 6 0 0 0 7 7 6 \(3 + 3 - 6 = 0\) on the shelf
5 5 4 1 0 1 8 9 4 Filled from the receipt
6 2 3 0 0 0 10 10 3 Shelf empty; the position counts 10 coming
7 6 7 0 1 \(-1\) 7 6 7 One backordered. Decided when? Month 4: \(13 - (4+3+7) = -1\)
8 4 2 1 0 1 10 11 2 Backorder filled first: \(4 - 1 - 2\)
9 3 4 0 0 0 9 9 4 \(1 + 3 - 4 = 0\)
10 7 3 4 0 4 6 10 3 \(7 - 3 = 4\)

Two Checks on the Ledger

The first check. Every row satisfies \(\mathit{IP} = I + \mathit{IO} - B\). Month 7 is the one row on which a backorder enters the sum: \(0 + 7 - 1 = 6\).

The second check, the one this section is about. The position set at each review, against the next three months of demand:

Review Next three demands \(13 - \text{sum}\) \(\mathit{IN}\) three months on
month 4 4, 3, 7 \(-1\) month 7: \(-1\)
month 5 3, 7, 2 1 month 8: 1
month 7 2, 4, 3 4 month 10: 4

Thus, \(\mathit{IN} = S - D(\tau)\) holds at each month end, and the model is nothing more than taking its expectation.

Interpretation. The storekeeper ordered in ten months out of ten and was short in one. Recall that two orders covered thirteen weeks of the \((r, Q)\) ledger. Ordering on a calendar means ordering often and in small amounts, and that bill comes due later today.

Notice also that the ledger never had fewer than three units on order. “At most one order outstanding” would be a severe restriction here.

The Four Measures

Let \(G^{1}_{v}\) represent the first order loss function of \(D(v)\), and average over the cycle:

\[ \bar{G}(x) = \frac{1}{R}\int_{0}^{R} P\{D(L+u) \le x\}\,du, \qquad \overline{G^{1}}(x) = \frac{1}{R}\int_{0}^{R} G^{1}_{L+u}(x)\,du \]

\[ \begin{aligned} \overline{\mathit{OF}} &= \frac{P\{D(R) \ge 1\}}{R} &&\text{a review orders iff some demand arrived}\\ \bar{B}(S) &= \overline{G^{1}}(S) &&\text{base stock, averaged over the cycle}\\ \bar{I}(S) &= S - \lambda\left(L + \tfrac{R}{2}\right) + \bar{B}(S) &&E[D(L+U)] = \lambda(L + R/2)\text{; } I = \mathit{IN} + B\\ \overline{\mathit{RR}}(S) &= \bar{G}(S - 1) &&\text{shelf not empty} \end{aligned} \]

Write \(\bar{I} = \mathit{ss} + \lambda R/2 + \bar{B}\) with \(\mathit{ss} = S - \lambda\tau\). The middle term is stock that exists only because the system orders on a calendar: the cycle stock of the EOQ, with the order quantity written \(\lambda R\).

The Fill Rate, a Second Route

Demand is filled late across the cycle from \(t + L\) to \(t + R + L\) exactly to the extent the backlog grows across it:

\[ \begin{aligned} E[\text{units short per cycle}] &= G^{1}_{\tau}(S) - G^{1}_{L}(S) &&\text{backlog at the end less at the start}\\ \overline{\mathit{FR}}(S) &= 1 - \frac{G^{1}_{\tau}(S) - G^{1}_{L}(S)}{\lambda R} &&\text{demand per cycle is } \lambda R \end{aligned} \]

Notice the shape against the \((r, Q)\) ready rate, \(1 - [G^{1}(r) - G^{1}(r+Q)]/Q\). Under \((r, Q)\) the two loss functions are at levels \(Q\) apart; under \((R, S)\) they are at one level over intervals \(R\) apart.

Do not evaluate at the end of the interval

\(G^{1}_{\tau}(S)\) is the worst instant of the cycle, not a typical one. It is an upper bound on \(\bar{B}(S)\), and on the transformer it overstates by a factor of 2.8. It is right for a cycle service level, which asks about that instant on purpose.

Computing \(\overline{G^{1}}\) by Hand

The integrand is smooth in \(u\), so Simpson’s rule on three points:

\[ \overline{G^{1}}(S) \approx \frac{1}{6}\left[G^{1}_{L}(S) + 4\,G^{1}_{L+R/2}(S) + G^{1}_{\tau}(S)\right] \]

Three loss-function evaluations, at mean demands over \(L\), \(L + R/2\) and \(\tau\). The same rule applies to \(\bar{G}\).

A bracket for free. The exposure grows through the cycle, so

\[ G^{1}_{L}(S) \le \overline{G^{1}}(S) \le G^{1}_{\tau}(S) \]

A narrow enough bracket settles the question with no weighted average.

The rule has a range. It is exact for a cubic and the integrand is not one. On the transformer its error is invisible at a monthly review, 3.9% at a quarterly one, 17% at a half-yearly one and 66% at an annual one. Use it when \(R\) is short against \(L\); integrate properly when it is not.

Choosing the Level

Substitute the measures into the cost rate:

\[ C(S) = k\,\overline{\mathit{OF}} + h\left(S - \lambda\left(L + \tfrac{R}{2}\right)\right) + (h + b)\,\overline{G^{1}}(S) \]

which is the base-stock cost with \(\overline{G^{1}}\) in place of \(G^{1}\) and an ordering term no \(S\) can change. Thus, the answer is again a critical ratio:

\[ S^{*} = \min\left\{S : \bar{G}(S) \ge \frac{b}{b + h}\right\} \]

The transformer, monthly: \(b/(b+h) = 0.90\). The three means are \(45 \times \tfrac{2}{12} = 7.5\), \(45 \times \tfrac{2.5}{12} = 9.375\) and \(45 \times \tfrac{3}{12} = 11.25\) units. Which row does the critical ratio read?

\(S\) 12 13 14 15 16
\(\bar{G}(S)\) 0.8339 0.8928 0.9340 0.9612 0.9782
\(G_{\tau}(S)\) 0.6611 0.7576 0.8352 0.8935 0.9344

\(\bar{G}\), so \(S^{*} = 14\). Reading \(G_{\tau}\) returns 16, at $9,301.76 against $8,397.22: 10.8% more for a service level nobody asked for.

The Transformer Reviewed Monthly

\[ \begin{aligned} \bar{B}(14) &\approx \frac{0.0181 + 4(0.1156) + 0.4200}{6} = 0.1501 &&\text{Simpson; the integral gives 0.150059}\\ \bar{I}(14) &= 14 - 9.375 + 0.1501 = 4.7751 &&\text{units on hand}\\ \overline{\mathit{FR}} &= 0.8928 = \bar{G}(13) = \overline{\mathit{RR}} &&\text{two routes agree: Poisson}\\ \overline{\mathit{OF}} &= 12\left(1 - e^{-3.75}\right) = 11.7178 &&\text{orders a year}\\ C(14) &= 220(11.7178) + 950(4.7751) + 8550(0.1501) &&\\ &= 2577.91 + 4536.31 + 1283.00 = \$8{,}397.22 &&\text{a year} \end{aligned} \]

\(S\) 12 13 14 15 16
\(C(S)\) $9,093.07 $8,465.46 $8,397.22 $8,720.37 $9,301.76

The neighbors confirm 14. Against \((r, Q) = (8, 7)\) at $7,225.15 on the same item and supplier, the monthly review costs $1,172.07 a year more, 16.2%.

Choosing the Interval

Set the shortage term aside and take \(P\{D(R) \ge 1\} \approx 1\). Only ordering and cycle stock depend on \(R\):

\[ \begin{aligned} C(R) &\approx \frac{k}{R} + \frac{h\lambda R}{2} &&\text{the EOQ with } \lambda R \text{ for } Q\\ \frac{dC}{dR} &= -\frac{k}{R^{2}} + \frac{h\lambda}{2} = 0 &&\text{differentiate}\\ R^{*} &= \sqrt{\frac{2k}{h\lambda}} = \frac{Q^{*}_{\text{EOQ}}}{\lambda} &&\text{the EOQ as a time supply} \end{aligned} \]

\(R^{*} = \sqrt{440/42{,}750} = 0.1015\) years, and \(0.1015 \times 52 = 5.3\) weeks. Check: \(4.57/45 = 0.1015\).

With the shortage term in, the true optimum is about 6.2 weeks at $8,187; 5.3 weeks costs $8,222, 0.43% more.

\(R\) \(S^{*}\) Total
2 weeks 12 $9,926
4 weeks 13 $8,512
5.3 weeks 14 $8,222
6 weeks 15 $8,196
8 weeks 16 $8,361
13 weeks 20 $9,584

The \((R, s, S)\) Policy

\((R, S)\) orders after any demand at all, however small. When \(k\) is large, add a trigger: every \(R\), if the position is at or below \(s\), order up to \(S\). \(s = S - 1\) recovers \((R, S)\); \(R \to 0\) recovers \((s, S)\).

The undershoot returns, for a second reason: a whole review interval of demand accumulates before anyone looks, even when demand is one unit at a time. With \(D(R)\) in the role of the lot,

\[ \begin{aligned} E[U] &= \frac{E[D(R)^{2}] - E[D(R)]}{2E[D(R)]} &&\text{the undershoot mean}\\ &= \frac{(\mu + \mu^{2}) - \mu}{2\mu} = \frac{\mu}{2} &&\text{Poisson: } E[X^{2}] = \mu + \mu^{2}\\ &= \frac{3.75}{2} = 1.875 \text{ units} &&\mu = \lambda R \end{aligned} \]

That is \(\lambda R/2\) again: the stock the calendar forces the system to carry and the drift past the trigger are the same number seen from two sides. It is more than twice the 0.8 units the cutout’s lots produced.

The Price of Not Watching

Each policy optimized on its own terms, same item, supplier and costs:

Continuous \((8, 7)\) Periodic, \(R = 0.120\), \(S = 15\)
Safety stock 0.50 2.10
Cycle stock 4.00 2.70
\(\overline{\mathit{FR}}\) 0.8781 0.8819
Ordering $1,414.29 $1,825.05
Holding $4,428.59 $4,740.19
Backorder $1,382.28 $1,621.68
Total $7,225.15 $8,186.92

The fill rates match, so the $961.77 buys nothing: a like-for-like price.

The stock rows move apart. Safety stock rises because the exposure grew from \(L\) to \(\tau\), and the spread by only \(\sqrt{\tau/L} = 1.31\). Cycle stock falls, because the calendar orders 8.3 times a year against 6.4.

The premium lands on all three terms: about $411, $312 and $239.

Continuous review is worth 13.3%, about $960 a year on this item. If a perpetual record and the discipline to keep it cost less, they pay for themselves.

What We Did Today

The protection interval replaces the lead time. \(\mathit{IN} = S - D(L+U)\): a fixed position with an exposure uniform over \(R\).

The ledger verified it on every row. Month 7’s shortage was decided at month 4’s review.

Every measure is base stock averaged over the cycle, and the calendar adds \(\lambda R/2\) of cycle stock.

The critical ratio reads \(\bar{G}\), not \(G_{\tau}\). The transformer monthly: \(S^{*} = 14\), $8,397.22.

The best interval is the EOQ as a time supply, and continuous review is worth 13.3% on this item.

For Next Time

Read before next session: Many Items at Once, Updating \(r\) and \(Q\) in a Running System, Building These Models in a Worksheet and Designing the Software.

Today’s material was When Review Is Periodic.

Next session:

  • Many items under one budget or one service target, and why equal service is not efficient
  • Where the parameters come from in a running system, and which deserve attention
  • The worksheet and the software that compute everything this chapter derived

Every parameter so far has arrived as a given. Next session asks where they come from.

⌂ Index