DEMDemandStop 2 of 12
- Forecasting fundamentals
- Demand patterns & classification
- Exponential smoothing & ETS
- Intermittent demand: Croston, SBA, TSB
- ML & global forecasting models
- Forecast accuracy & bias
- Probabilistic forecasting
- Hierarchical forecasting
- Promotions, cannibalization & halo
- New products & phase-outs
- Demand sensing & shaping
- Consensus forecasting & FVA
Demand patterns & classification
Smooth, erratic, intermittent or lumpy. Classify each item's demand first, because the class decides which methods can work.
Read atChange any time
A common forecasting mistake is to run one method across every item, then blame the method when spare parts and slow movers come out badly. Experienced planners classify the demand pattern first, because the pattern decides which methods can work at all.
Two numbers do the job:
- ADI (average demand interval): total periods ÷ periods with non-zero demand. It measures how often demand happens. An item that sells every month has ADI = 1; one that sells in 4 months out of 12 has ADI = 3.
- CV² (squared coefficient of variation) of the non-zero quantities: it measures how much the size jumps around when demand does happen. Zero periods are left out on purpose; they belong to ADI.
Using the cut-offs from Syntetos, Boylan and Croston (ADI = 1.32, CV² = 0.49), every item lands in one of four boxes:
| Steady sizes (CV² < 0.49) | Jumpy sizes (CV² ≥ 0.49) | |
|---|---|---|
| Frequent (ADI < 1.32) | Smooth: classic methods work | Erratic: forecast, but buffer more |
| Sporadic (ADI ≥ 1.32) | Intermittent: Croston family | Lumpy: hardest of all |
A spare part that sells 5, 80, 12 and 150 units in four random months out of twelve has ADI = 3.0 and CV² ≈ 0.9: lumpy. No point forecast will predict it well, so the sensible move is to manage it through stock policy and a forecast of the range of demand.
Words to use
- ADI
- Average demand interval: periods per non-zero demand. Higher means more gaps.
- CV²
- Squared coefficient of variation of the non-zero demand sizes. Higher means bigger swings.
- Lumpy demand
- Sporadic and highly variable demand; manage it with stock policy rather than chasing a point forecast.
Computing the two numbers
For each item, take a fixed stretch of history, say 12 months:
- ADI = number of periods ÷ number of periods with demand.
- Take only the non-zero quantities, compute their mean and standard deviation , then .
- Place the item using the cut-offs ADI = 1.32 and = 0.49.
| Item | Monthly demand | ADI | Pattern | |
|---|---|---|---|---|
| Shampoo 200 ml | 40, 55, 38, 61, 47, 52, 44, 58, 49, 53, 42, 60 | 1.0 | 0.02 | Smooth |
| Industrial adhesive | 5, 90, 12, 140, 8, 70, 20, 110, 15, 95, 10, 130 | 1.0 | 0.73 | Erratic |
| Pump seal kit | 0, 0, 6, 0, 0, 5, 0, 0, 0, 7, 0, 6 | 3.0 | 0.01 | Intermittent |
| Spare gearbox part | 5, 80, 12 and 150 in four months, zero in the rest | 3.0 | 0.91 | Lumpy |
The seal kit and the gearbox part both sell in only 4 months out of 12. But the seal kit sells about 6 each time, while the gearbox part’s orders range from 5 to 150. Same frequency, completely different problems.
Here is the plain (population) standard deviation of the non-zero quantities. Some tools use the sample version, which gives slightly higher values, so stick to one convention.
From pattern to method
| Pattern | Forecasting approach | Inventory approach |
|---|---|---|
| Smooth | Exponential smoothing, ARIMA, regression or ML | Standard safety-stock formulas work |
| Erratic | As above, plus causal drivers if the swings have a cause | Larger buffers; check whether a few big customers drive the swings |
| Intermittent | Croston family (SBA), or TSB for items that may die | Fit a distribution of demand over the lead time, such as Poisson |
| Lumpy | SBA, TSB, bootstrapping, or no forecast at all | Make to order or hold central stock; agree lead times with customers |
For smooth items, check trend and seasonality next. Plot the series and compare each month’s average with the overall average: a seasonal index of 1.3 means a month runs 30% above normal.
The time bucket changes the answer
The same item can be lumpy week by week and smooth month by month. Adding periods together (temporal aggregation) reduces the zeros and smooths the sizes. Some methods exploit this on purpose: forecast at a coarser bucket where the pattern is easier, then split the result back down (the ADIDA approach). Choose the bucket that matches the decision: weekly replenishment needs weekly patterns, while capacity planning can use monthly ones.
Look behind the pattern
Erratic or lumpy demand often has a visible cause:
- A few large customers: one customer ordering 150 units twice a year makes an item lumpy even if many small customers buy steadily. Forecasting that customer separately, or simply asking about their plans, turns noise into information.
- Order batching: customers who order monthly instead of weekly create lumps out of smooth consumption. Their sell-through or usage data removes the lumps.
- Promotions and events: spikes that should be modelled as uplift, not left in as variability.
Before choosing a method for an awkward item, ask why it is awkward.
Patterns change
Items move between classes as they grow, mature and decline: a new product may be intermittent at launch, smooth at maturity and intermittent again before phase-out. A structural break, such as a lost contract or a new channel, can change the pattern overnight. Re-classify regularly, and use only recent history after a known break.
Where the cut-offs come from
The values 1.32 and 0.49 were derived by comparing the theoretical errors of Croston’s method, its bias-corrected version and exponential smoothing: they mark the regions where each tends to do best. They are sensible defaults, not physical constants, and many teams adjust them after checking which method actually wins on their own data.
Interview kit
Practise it out loud
Answer each question yourself before opening the model answer.
Before forecasting I classify each item by ADI, how often it sells, and CV² of the non-zero sizes, how much the quantity varies. With the Syntetos-Boylan cut-offs of 1.32 and 0.49, that gives smooth, erratic, intermittent and lumpy. Smooth items suit exponential smoothing, intermittent ones the Croston family, and lumpy ones are better handled through safety stock and probabilistic forecasts than through a point forecast.
Why are zero-demand periods excluded when computing CV²?
Because the zeros are already measured by ADI. Including them drags the mean down and inflates the variation, so a steady intermittent item can be misclassified as lumpy and end up with the wrong method. The two numbers are meant to measure separate things: timing and size.
What would you do with a lumpy item?
Stop chasing an accurate point forecast. Use an intermittent method such as SBA or TSB for the average, size stock from the distribution of lead-time demand, and look at the causes: maybe a few large customers order in bulk and could share their plans.
Connected stops
Where this idea feeds in, or gets its inputs from.
Sources and further reading
- Syntetos, A. A., Boylan, J. E. & Croston, J. D. (2005). On the categorization of demand patterns. Journal of the Operational Research Society, 56(5), 495–503.
- Hyndman, R. J. & Athanasopoulos, G. Forecasting: Principles and Practice (3rd ed.). OTexts.
- Nikolopoulos, K., Syntetos, A. A., Boylan, J. E., Petropoulos, F., & Assimakopoulos, V. (2011). An aggregate–disaggregate intermittent demand approach (ADIDA) to forecasting: An empirical proposition and analysis. Journal of the Operational Research Society, 62(3), 544–554.