Every model in this course takes one item and produces a policy. A distributor carries tens of thousands of stock keeping units, each with a demand history, a lead time, a unit cost, a supplier, and a policy that has to come from somewhere.
Computation is not what breaks. A spreadsheet produces forty thousand order quantities in a few seconds. What breaks is everything around the computation: someone has to decide which items deserve a considered decision instead of a default, keep the inputs current, investigate exceptions, and answer for the results.
Those activities consume people, and people are finite in a way that arithmetic is not.
A distributor stocks 12,000 items; one planner has about 30 hours a week for review; a considered review of one item takes about six minutes.
\[ \begin{aligned} \frac{(30)(60)}{6} &= 300 \text{ reviews a week} &&\text{minutes available over minutes per review}\\ 300 \times 50 &= 15{,}000 \text{ reviews a year} &&\text{50 working weeks}\\ 15{,}000 / 12{,}000 &= 1.25 \text{ reviews per item per year} &&\text{spread evenly} \end{aligned} \]
Now allocate it sensibly:
| Group | Items | Reviews a year each | Reviews | Running total | Against 15,000 |
|---|---|---|---|---|---|
| Top 8%, monthly | 960 | 12 | 11,520 | 11,520 | 3,480 left |
| Next 17%, quarterly | 2,040 | 4 | 8,160 | 19,680 | does not fit |
| Next 17%, yearly instead | 2,040 | 1 | 2,040 | 13,560 | 1,440 left |
| Remaining 75% | 9,000 | \(1{,}440/9{,}000 = 0.16\) | 1,440 | 15,000 | one review every six years |
Most items will never be looked at. Not through neglect, but by arithmetic. Whatever the portfolio size and however diligent the planner, the great majority of items must be handled by a rule that runs without anyone examining the item.
The scarce resource is attention, not computation. Giving all 12,000 items even a quarterly review would take
\[ 12{,}000 \times 4 = 48{,}000 \text{ reviews a year} = 48{,}000/15{,}000 = 3.2 \text{ planners doing nothing else,} \]
while the order quantities could be recomputed nightly at no meaningful cost.
The models answer how much and when, for an item, once the inputs are known. The manager decides which items get a considered answer and which get a default, and whether the inputs can be trusted at all.
| Responsibility | The question | Treated in |
|---|---|---|
| Segmentation | Which items deserve attention, and which can share a policy? | this session |
| Record accuracy | Do the quantities the policies read match the shelf? | next session |
| Policy parameters | How much to order, and when? | the rest of the course |
| Service targets | What availability is promised, and measured how? | the performance chapter |
| Stocking decisions | How much of an item is held at each location? | multi-echelon systems |
| Excess and obsolete | What happens to stock that will not sell? | next session |
Segmentation comes first because the models assume an allocation of attention that somebody has to make: every result is derived for an item whose parameters are known and current, and the attention budget shows that cannot hold for the whole portfolio.
Record accuracy comes first because the models read a record, not a shelf. A correct policy applied to a wrong quantity is wrong, and nothing in its output says so.
A manager responsible for forty thousand items cannot make forty thousand decisions. Grouping partitions the population so decisions are made once per group.
| Grouping for attention | Grouping for policy | |
|---|---|---|
| Question answered | Which items deserve review? | Which items can share a policy? |
| Typical attributes | Annual dollar usage, criticality | Demand rate, unit cost, lead time, demand pattern |
| Typical method | ABC classification | Clustering |
| Number of groups | Three to six | Whatever the data supports |
| Judged by | Whether attention lands on the right items | Cost penalty against individual policies |
Notice that the two columns share no row: not the question, the attributes, the method, nor the criterion. A scheme built for one column is not evidence about the other, and applying one where the other is needed is the commonest failure in practice.
Let \(\lambda_i\) represent item \(i\)’s annual demand and \(c_i\) its unit cost; the annual dollar usage is \(\lambda_ic_i\). Rank by it, accumulate, and cut.
| Item | \(\lambda\) | \(c\) | \(\lambda c\) | Cumulative | Cumulative % |
|---|---|---|---|---|---|
| IT-01 | 1,200 | $75.00 | $90,000 | $90,000 | 51.4% |
| IT-02 | 60 | $520.00 | $31,200 | $121,200 | 69.3% |
| IT-03 | 9,000 | $2.40 | $21,600 | $142,800 | 81.6% |
| IT-04 | 300 | $38.00 | $11,400 | $154,200 | 88.1% |
| IT-05 | 40 | $180.00 | $7,200 | $161,400 | 92.2% |
| IT-06 | 2,500 | $1.80 | $4,500 | $165,900 | 94.8% |
| IT-07 | 150 | $22.00 | $3,300 | $169,200 | 96.7% |
| IT-08 | 18,000 | $0.15 | $2,700 | $171,900 | 98.2% |
| IT-09 | 25 | $64.00 | $1,600 | $173,500 | 99.2% |
| IT-10 | 800 | $1.10 | $880 | $174,380 | 99.7% |
| IT-11 | 5,000 | $0.08 | $400 | $174,780 | 99.9% |
| IT-12 | 90 | $2.20 | $198 | $174,978 | 100.0% |
Cutting at 80% and 95% of cumulative value:
| Class | Items | Share of items | Share of value |
|---|---|---|---|
| A | IT-01 to IT-03 | 25% | 81.6% |
| B | IT-04 to IT-06 | 25% | \(94.8 - 81.6 = 13.2\%\) |
| C | IT-07 to IT-12 | 50% | \(100 - 94.8 = 5.2\%\) |
Three items of twelve carry 82% of the expenditure, and half the items carry 5%. A planner who reviews only IT-01, IT-02 and IT-03 is watching most of the money.
The cut points were chosen, not derived. Moving the A boundary down one item puts 88% of the value in class A, at the cost of reviewing a third of the portfolio. Nothing in the data says where to stop. The 80/15/5 split is a convention, and you should be prepared to defend the cut points you choose.
Read the curve left to right. It rises steeply over the first quarter of the items, reaching 82% of the value by the third, then flattens as each item adds less.
The diagonal is what the curve would be if every item carried the same usage. Thus, the gap between the curve and the diagonal is the concentration itself.
Notice what the gap says before any cut is chosen: an item file plotting close to the diagonal has no concentration to exploit, and ABC will not help there. The steeper the early rise, the more a small class A buys.
Dollar usage answers one question, where the money is. The failure runs both ways:
Criticality captures what dollar usage cannot see: the consequence of not being able to supply. Add a rating from 1 to 5, normalize both criteria to \([0,1]\), and score with equal weights:
\[ \text{score}_i = 0.5\left(\frac{\lambda_ic_i}{\max_j \lambda_jc_j}\right) + 0.5\left(\frac{\text{criticality}_i - 1}{4}\right) . \]
| Item | Dollar usage | Criticality | Score | New | Old |
|---|---|---|---|---|---|
| IT-01 | $90,000 | 3 | 0.750 | A | A |
| IT-08 | $2,700 | 5 | 0.515 | A | C |
| IT-11 | $400 | 5 | 0.502 | A | C |
| IT-05 | $7,200 | 4 | 0.415 | B | B |
| IT-03 | $21,600 | 3 | 0.370 | B | A |
| IT-07 | $3,300 | 3 | 0.268 | B | C |
| IT-04, IT-02, IT-06, IT-09, IT-10, IT-12 | 0.188 to 0.001 | C |
\[ \begin{aligned} \text{IT-11}: 0.5(400/90{,}000) + 0.5(4/4) &= 0.002 + 0.500 = 0.502 &&\text{C to A}\\ \text{IT-02}: 0.5(31{,}200/90{,}000) + 0.5(0/4) &= 0.173 + 0 = 0.173 &&\text{A to C} \end{aligned} \]
Seven of twelve change class. IT-11, an eight-cent part, would have been counted once a year and reviewed never. IT-02, the second most expensive line, is substitutable, and was getting weekly attention for its price tag alone.
The 0.5 is the problem: nothing justified it. A better line derives the ranking statistic from the cost model, so several parameters fold into one statistic without anyone choosing weights, and criticality enters through the cost of failing to supply. Where no defensible cost model exists, weighted scoring remains, and its weights should be recorded as the assumptions they are.
| Role | Meaning | Examples |
|---|---|---|
| Prevent grouping | Items differing here must not share a group | Storage structure, strategic importance |
| Weaken grouping | Differences degrade a shared policy without forbidding it | Demand dispersion, lead time |
| Useful to the manager | Make the groups actionable | Nature of the item, supplier |
The first row is the one that gets skipped. Two items at different echelons serve different functions, however similar their demand. Partition on structure first, then cluster within.
Two items with the same annual demand can behave entirely differently: four units every week, or two hundred twice a year. Let
\[ \mathit{ADI} = \frac{\text{number of periods}}{\text{periods with non-zero demand}}, \qquad \mathit{CV}^{2} = \left(\frac{s}{\bar{x}}\right)^{2}, \]
the average demand interval, measuring intermittence, and the squared coefficient of variation of the non-zero demand sizes, measuring lumpiness, with \(s\) computed on \(n - 1\).
| Frequent (\(\mathit{ADI} \le 1.32\)) | Infrequent (\(\mathit{ADI} > 1.32\)) | |
|---|---|---|
| Variable (\(\mathit{CV}^{2} > 0.49\)) | Erratic | Lumpy |
| Steady (\(\mathit{CV}^{2} \le 0.49\)) | Smooth | Intermittent |
This classification selects the model, not merely describes the item. The stochastic policies later in the course assume a demand distribution a smooth item satisfies and a lumpy one does not.
| Item | Demand by period |
|---|---|
| S-1 | 20, 22, 19, 21, 23, 20, 18, 22, 21, 19, 20, 21 |
| E-1 | 5, 40, 2, 60, 10, 35, 1, 50, 8, 45, 3, 30 |
| I-1 | 0, 10, 0, 0, 9, 0, 11, 0, 0, 10, 0, 0 |
| L-1 | 0, 0, 45, 0, 0, 3, 0, 0, 0, 80, 0, 12 |
| B-1 | 0, 15, 12, 0, 18, 14, 0, 16, 13, 0, 17, 15 |
\[ \begin{aligned} \text{I-1}: \mathit{ADI} &= 12/4 = 3.00 &&\text{4 non-zero periods}\\ \bar{x} &= (10 + 9 + 11 + 10)/4 = 10.0 &&\text{non-zero sizes}\\ s &= \sqrt{(0 + 1 + 1 + 0)/3} = 0.816 &&n - 1 = 3\\ \mathit{CV}^{2} &= (0.816/10.0)^{2} = 0.007 &&\text{intermittent} \end{aligned} \]
| Item | S-1 | E-1 | I-1 | L-1 | B-1 |
|---|---|---|---|---|---|
| \(\mathit{ADI}\), \(\mathit{CV}^{2}\) | 1.00, 0.005 | 1.00, 0.798 | 3.00, 0.007 | 3.00, 1.001 | 1.50, 0.018 |
| Class | Smooth | Erratic | Intermittent | Lumpy | Intermittent |
The thresholds are conventions. The literature does not agree on when a series becomes intermittent: proposals include at least 30% of periods at zero, no more than 60 to 70% of periods with demand, and a mean interval above 1.25 review periods.
The class depends on the period length. The same transactions bucketed daily rather than monthly show more zero periods and a longer interval. An item can be moved between classes by changing nothing but the reporting calendar, and you should never let such a result drive a policy.
A portfolio is rarely mostly smooth. In a hospital pharmacy study of about two thousand items, most fell outside the smooth class. That is the normal case, and it explains much of why fill rate estimates disappoint in practice: a fill rate computed for a lumpy item from a normal approximation can be badly wrong.
Clustering lets the data determine the groups: place items in a space whose coordinates are their operational attributes, and group those that lie close together. At scale the practical algorithm is k-means: assign each item to the nearest center, recompute the centers, repeat.
Attributes must be scaled. Demand in thousands and cost in dollars are not comparable distances; unscaled, the largest numbers dominate.
Choosing \(k\) is a judgment. More groups lower the penalty of a shared policy and raise the work of maintaining policies.
Group first, then decide how far to share. Under group policies every item in a cluster uses one policy from the group’s average attributes: fast, with a real penalty. Under grouped individual policies the clustering organizes the work but each item gets its own policy: close to individual optimization. Both beat ABC on cost and service.
Let the grouping penalty represent the loss against individual policies:
\[ \text{penalty} = \frac{C(\text{group policies}) - C(\text{individual policies})}{C(\text{individual policies})} \]
on relevant cost, since purchase cost is the same under every grouping.
| Item | A | B | C | D | E | F | Total |
|---|---|---|---|---|---|---|---|
| Individual | 4,200 | 3,800 | 5,100 | 1,150 | 980 | 1,340 | 16,570 |
| Two groups | 4,310 | 3,905 | 5,180 | 1,260 | 1,090 | 1,415 | 17,160 |
| Three groups | 4,250 | 3,845 | 5,140 | 1,200 | 1,030 | 1,370 | 16,835 |
\[ \frac{17{,}160 - 16{,}570}{16{,}570} = \frac{590}{16{,}570} = 3.56\%, \qquad \frac{16{,}835 - 16{,}570}{16{,}570} = \frac{265}{16{,}570} = 1.60\% \]
At six items nobody needs to decide. At forty thousand, the same 3.56% is the price of reducing forty thousand calculations to two hundred: same penalty, different purchase.
| Decision | How the class enters |
|---|---|
| Review frequency | A items reviewed individually and often, C on a rule |
| Service target | Higher fill rates for critical or high value classes |
| Count frequency | More frequent cycle counts for A items |
| Stocking decision | Whether to hold the item at a location at all |
| Policy sharing | A group policy, or each item set individually |
Classes become ends in themselves. A report of how many items are in each class, with no decision attached, costs money and returns nothing.
Boundaries are treated as cliffs. The items just either side of the A cut are nearly identical; where a decision is sensitive at a boundary, look at the items, not the rule.
Classes go stale. Demand moves and equipment retires; reclassification should be scheduled.
Attention is the binding constraint, not computation: one planner’s 15,000 reviews a year leave most of 12,000 items to a rule.
Grouping for attention and grouping for policy answer different questions with different attributes, methods and criteria.
ABC ranks by \(\lambda c\) and concentrates attention where the money is, but its cut points are chosen and its single criterion misses in both directions.
Demand pattern (\(\mathit{ADI}\), \(\mathit{CV}^{2}\)) selects the model, and depends on conventions and the period length.
A grouping is judged by its penalty on relevant cost against the policies it saves, and earns its place only through the decisions it changes.
Read before next session: Inventory Record Analysis and Other Responsibilities.
Today’s material was The Manager’s Problem and Grouping and Segmentation.
Next session:
Everything today assumed the item file was right. Next session asks whether it is.