Demand Bench

Demand planning field guide

Intermittent demand forecasting: choosing a model for zero-heavy SKUs

Croston, SBA, TSB and ADIDA solve different parts of the same problem. The reliable workflow is to classify the SKU, test only appropriate candidates on identical historical periods, and publish the forecast with its error record—not to choose a method from the SKU label alone.

By Kiran Puthezhath · Updated 18 September 2026 · 10-minute read

Why intermittent demand needs a different test

An intermittent SKU has many periods with zero demand and occasional non-zero orders. A monthly average can describe its long-run rate, but it does not tell a planner whether the next order is likely to arrive next month or several months later. Percentage-error measures also become unstable when actual demand is zero.

The mistake is not using a simple model. A simple model can win. The mistake is deciding in advance that one model must fit every SKU, or comparing models on different historical periods. A useful benchmark keeps the zeros, uses the same forecast origins for every eligible method, and reports both error size and bias.

Keep zero-demand periods. Deleting a zero changes the intervals between orders and therefore changes ADI, Croston-family estimates and every later month in the series.

Classify the demand pattern with ADI and CV²

Average Demand Interval (ADI)

ADI measures how many periods, on average, separate non-zero demands. If a 24-month history contains demand in 16 months:

ADI = 24 periods ÷ 16 non-zero periods = 1.50

An ADI of 1.50 means demand occurred once every 1.5 months on average. It does not mean the gaps were all exactly 1.5 months.

Squared coefficient of variation (CV²)

CV² measures how much the positive order sizes vary relative to their mean. Zero periods are excluded from this calculation because ADI already captures demand occurrence.

CV² = sample variance of positive demand ÷ mean positive demand²

The commonly used Syntetos–Boylan–Croston boundaries are ADI 1.32 and CV² 0.49:

PatternRuleWhat it means
SmoothADI < 1.32; CV² < 0.49Demand is frequent and positive quantities are comparatively stable.
ErraticADI < 1.32; CV² ≥ 0.49Demand is frequent but order size varies strongly.
IntermittentADI ≥ 1.32; CV² < 0.49Demand is sparse but positive order sizes are comparatively stable.
LumpyADI ≥ 1.32; CV² ≥ 0.49Both demand timing and positive order size are unstable.

Classification narrows the candidate models. It does not select the winner. Two intermittent SKUs can still favour different methods when they are tested on their own histories.

What Croston, SBA, TSB and ADIDA actually do

MethodMechanismMost useful whenMain caution
CrostonSeparately smooths positive demand size and the interval between demands.Intermittent demand remains active and arrival behaviour is reasonably stable.The original estimator is biased and stays unchanged through a run of zeros.
SBAApplies an approximate bias correction to the Croston estimate.A Croston-style forecast is suitable but its positive bias matters.Like Croston, it does not decay simply because zeros continue.
TSBSeparately smooths positive size and demand-occurrence probability every period.Demand probability may be declining, including end-of-life or obsolescence risk.Its responsiveness depends on the smoothing parameters and must be backtested.
ADIDAAggregates demand into wider buckets, forecasts the aggregate and disaggregates it.Aggregation reduces sparsity enough to reveal a usable level or pattern.The aggregation period can hide timing detail and should be selected consistently.

Regular-demand benchmarks still matter for smooth and erratic series: naive, moving average, simple exponential smoothing, Holt trend, Holt-Winters and an ARIMA baseline provide reference points. For an intermittent or lumpy series, however, a continuous-demand model should not win merely because a favourable scoring window rewarded its treatment of zeros.

Backtest every eligible model on the same forecast origins

A rolling-origin backtest imitates how the forecast would have been produced at the time. The first training window is fitted, the next month is predicted, the window moves forward, and the process repeats. Each eligible model must start from the same first origin and predict the same months.

Read three metrics together

  • WMAPE expresses total absolute error relative to total actual demand. It remains usable with some zero months, but is undefined if all evaluated actuals sum to zero.
  • MASE compares absolute error with a naive in-sample scale. Below 1 means the model beat that naive scale.
  • Bias shows systematic over- or under-forecasting. A low absolute error can still conceal a directional planning problem.

A defensible ranking can use WMAPE as the main loss and add an absolute-bias penalty, provided that every candidate has the same folds. The fold count should be displayed: a 12-month history with only a few test origins does not justify the same confidence as a 48-month history.

Worked interpretation for one intermittent SKU

Suppose a chemical spare has 24 monthly observations, 16 positive months, ADI 1.50 and CV² 0.06. It falls into the intermittent quadrant: orders do not arrive every month, but their positive sizes are relatively consistent.

  1. Route Croston, SBA, TSB and ADIDA into the eligible set.
  2. Fit each model repeatedly on the same rolling histories.
  3. Compare WMAPE or MASE together with signed bias.
  4. Select the best supported model, then publish 3-, 6- and 12-month totals with a prediction range.
  5. Document external information—contract changes, shutdowns, lost customers or a product phase-out—as a separate scenario adjustment rather than silently altering history.

If TSB wins after a long zero run, that can indicate its declining occurrence probability is useful. If SBA wins, the Croston structure may fit while its bias correction improves the historical result. The correct conclusion is not “TSB is always better” or “SBA is the intermittent model”; it is that this SKU supported that method on the evidence available.

What the model cannot know

History alone cannot observe censored demand during stockouts, future promotions, a newly signed contract, price changes, cannibalisation, a supplier shutdown or an engineering phase-out. Negative transactions may represent returns rather than negative demand and should be cleaned before modelling. New products without sufficient history need an analogue, a commercial assumption or a launch curve—not a statistical contest over a handful of points.

Forecast accuracy is also not an inventory policy. Reorder points additionally require lead-time behaviour, service objectives, review cadence and operational constraints such as MOQ, pack size, shelf life and storage limits.

Benchmark your own SKU history

Demand Bench calculates ADI and CV², routes the appropriate model family, compares candidates on common rolling-origin folds and exports the selected forecast and its evidence to Excel. Calculations run in your browser.

Open the forecasting calculator

Research references