Intermittent Demand: Why Your Forecast Fails and What to Use (Croston, SBA)
What intermittent demand is, how to recognize it with ADI and CV², why moving averages and exponential smoothing forecast it badly, and how Croston, SBA and TSB work.
What intermittent demand is
Demand is intermittent when there are periods, many of them, in which nothing sells, followed by periods in which something does. Spare parts, slow movers, niche products, maintenance materials, uncommon sizes and colors: in a distribution catalog it is normal for a quarter to half of the SKUs to behave this way.
The problem is not that they sell little. It is that the series has two unknowns instead of one: when there will be demand and how much when there is. The usual forecasting methods were designed to answer only the second, and that is why they fail.
When the quantity also varies a lot from one sale to the next (2 units one month, 40 another), the demand is called lumpy, and it is the hardest case of all.
How to recognize it: ADI and CV²
Syntetos and Boylan proposed in 2005 a classification with two measures computed on each item\'s history:
- ADI (Average Demand Interval): the average number of periods between two periods with demand. If an item sold in 12 of 36 months, its ADI is 36 ÷ 12 = 3.
- CV² (squared coefficient of variation): the variability of demand size when there is demand. It is computed only on periods with sales: (standard deviation ÷ mean)².
| CV² < 0.49 (stable size) | CV² ≥ 0.49 (variable size) | |
|---|---|---|
| ADI < 1.32 (frequent demand) | Smooth: classic methods work | Erratic: high variability but no zeros |
| ADI ≥ 1.32 (intermittent demand) | Intermittent: Croston or SBA | Lumpy: SBA, aggregation, service-based inventory |
The thresholds (1.32 and 0.49) come from analytically comparing Croston\'s error against simple exponential smoothing; they are not magic, but they work well in practice and are the ones serious software uses. The important thing is to classify before forecasting: the same model does not work for the four quadrants.
Why the usual methods fail
Take an item that sells 10 units once every four months. Average demand is 2.5 units per month, and that is what a good forecast should say.
The three-month moving average gives 0 most of the time and 3.3 in the three months after a sale. It never gives 2.5 and swings with every event.
Simple exponential smoothing does something worse: right after a sale it jumps up (it is at its highest exactly when the probability of another immediate sale is lowest) and then decays month by month toward zero. The forecast is biased upward right after demand and downward right before the next one. If you replenish on that forecast, you buy after selling and run out before the next sale.
Excel\'s FORECAST.ETS inherits the problem: it is exponential smoothing with seasonality, and on top of that it tries to find a seasonal pattern in a series full of zeros, with sometimes absurd results.
And there is an additional measurement problem: MAPE is undefined when actuals are zero, so you cannot even evaluate properly how badly you are doing. We will come back to that.
The Croston method
In 1972, J. D. Croston proposed separating the two unknowns and forecasting them separately with exponential smoothing:
- Demand size (z): updated only in periods where there was a sale.
- Interval between demands (p): the number of periods elapsed since the last sale, also updated only when there is a sale.
With the previous example (10 units every 4 months), z converges to 10 and p to 4, and the forecast is 10 ÷ 4 = 2.5 units per month, stable, with no jumps after each sale. It is no longer a forecast of "how much will sell next month" (probably zero) but of the demand rate, which is what the inventory policy needs.
The parameter α is usually between 0.05 and 0.2; higher values react faster and more noisily. It is tuned per item by minimizing error on historical data.
SBA: the Syntetos-Boylan correction
Croston has a known bias: dividing two smoothed estimates tends to land slightly above the real demand rate. Syntetos and Boylan proved it in 2001 and proposed a simple correction, the SBA method (Syntetos-Boylan Approximation):
With α = 0.1 the factor is 0.95: Croston\'s forecast is reduced by 5 %. It seems small, but accumulated over hundreds of items with safety stock computed from that forecast, the difference in capital is real. In empirical comparisons SBA usually beats Croston, and it is the one we recommend as the default for the intermittent quadrant.
TSB: when the item is dying
Croston and SBA have a limitation: since they only update when there is demand, they never notice that an item stopped selling. If the last sale was 18 months ago, the forecast is still the same as back then.
The TSB method (Teunter, Syntetos and Babai, 2011) solves it by forecasting, instead of the interval, the probability of demand in each period, and updating it every period, including zero ones:
With every month without a sale the probability drops and the forecast decays toward zero, which is what should happen with an end-of-life item. TSB is the right method for spare parts of equipment leaving circulation and for catalogs with a lot of obsolescence.
How to evaluate an intermittent forecast
Since MAPE is undefined with zeros and MAE rewards always forecasting zero (a forecast of 0 for a series that is almost all zeros has a very low MAE and is useless), you have to measure differently:
- MASE (Mean Absolute Scaled Error): the MAE divided by the MAE of a naive method on the history. Below 1 means you beat the naive method. It is comparable across items.
- RMSSE (Root Mean Squared Scaled Error): the squared version, which penalizes large errors more; it was the metric of Walmart\'s M5 competition, dominated by intermittent demand.
- Cumulative bias (actual minus forecast, summed over time): tells whether the method over- or underestimates the rate. It is what matters most for inventory.
- Inventory metrics: in the end, the intermittent forecast exists to set an inventory policy. Simulating the service level and average inventory each method would have produced on the history is the definitive evaluation.
What to do in practice
- Classify the whole catalog with ADI and CV² and update the classification every cycle. An item can go from smooth to intermittent when it loses a customer.
- Apply SBA to intermittent items, TSB to those showing obsolescence and leave classic methods (exponential smoothing, ARIMA) for the smooth quadrant. There is no one model for everything.
- Aggregate when you can. Demand that is intermittent by item and customer is often smooth by item and country, or by family and month. Forecasting at the level where the series is smooth and breaking down works better than fighting each intermittent series. Aggregation analysis decides at which level.
- Set inventory by service, not with the Z-factor formula. Intermittent demand is not normal; use the empirical distribution of demand during lead time or a discrete distribution.
- Measure with MASE and bias, and always compare against a forecast of zero and against the naive method. If you do not beat them, you have not gained anything.
- Be careful with machine learning on short series. With twelve demand points there is nothing to learn. Global models that train on thousands of items at once can help, but they demand data and careful validation.
All of this is what ForecastSolve does inside Excel: it classifies each series into 15 categories, runs Croston and SBA on the intermittent ones alongside the other tournament models, picks the winner by measured error and tells you at which aggregation level forecasting works best. Without writing a formula.
Is half of your catalog full of zeros?
That is normal in distribution and spare parts. We show you with your data how many series are intermittent and what changes when you forecast them properly.
Learn about ForecastSolve →Frequently asked questions
How many zeros make a demand intermittent?
The most used rule is the average demand interval (ADI): if on average more than 1.32 periods pass between two periods with sales, the series is intermittent. In simple terms, if more than a quarter of the months are zero, it is worth treating it as such.
Does machine learning work for intermittent demand?
It can, but it is not the first option. With few demand periods there is little information for a complex model to learn from, and Croston or SBA usually win. Where machine learning helps is in grouping similar items and learning from them together, which requires more data and more care.
What do I do about safety stock for an intermittent item?
Do not use the Z-factor formula with the standard deviation, because it assumes normal demand. It is better to work with the empirical distribution of demand during lead time (or a discrete distribution such as the negative binomial) and set inventory by service level or by cost, not by a quick formula.
Can I do this in Excel?
Croston and SBA can be implemented with formulas, although it is laborious for hundreds of items and the classification has to be kept up to date. ForecastSolve does it automatically inside Excel: it classifies every series and applies intermittent methods to those that need them.
Want to apply this in your operation?
Book a 15-minute call. We will tell you where we would start with your data, no sales pitch.
Book 15 minutes →