ENGINEERING THE NEXT GENERATION

Logo
Home/Blog/Intermittent Demand Forecasting: Croston, SBA and TSB Explained
Demand PlanningForecastingPredictive AnalyticsInventorySpare Parts

Intermittent Demand Forecasting: Croston, SBA and TSB Explained

September 21, 2026
Row of mostly empty warehouse bins with a few lit, representing sparse intermittent demand
Intermittent demand: most periods sell nothing, and the few that do carry the whole signal.

TL;DR & Quick Summary

If a large share of your catalogue sells nothing most weeks, your forecasting tool is probably using the wrong method on those items. Standard exponential smoothing and most ERP defaults assume demand shows up every period. Spare parts, slow movers and long-tail SKUs don't behave like that. Forecast them the standard way and you get stock that is highest right after a sale and lowest right before the next one.

  • Croston's method separates how much sells from how often it sells, and forecasts each on its own

  • SBA is Croston with a small correction for a known upward bias, and it's the sensible default

  • TSB tracks the probability of demand every period, so it handles items that are dying out

  • Classify first: two numbers per SKU (ADI and CV²) tell you which items need these methods at all

  • Don't use MAPE: it breaks when actual demand is zero, which is most of the time for these items

  • Key Takeaway: Choosing the method is the easy part. The value comes from classifying items correctly, measuring with the right metric, and converting the forecast into a stocking decision that reflects how lumpy the demand is.

  • Get Started: If your slow movers are driving either dead stock or emergency orders, schedule a strategy call with Cogniq AI or see how our predictive analytics services handle mixed catalogues.


Why Intermittent Demand Breaks Standard Forecasting

Take a spare part that sold in weeks 3, 7 and 9 of a twelve-week window, and nothing in the other nine weeks. Simple exponential smoothing, the default in many planning tools, updates its forecast every week. It drifts down through each run of zeros and jumps up after every sale. So the forecast peaks right after a sale, which is exactly when the next sale is least likely, and it's at its lowest just before demand comes back.

The underlying problem is that two random things are mixed into one series:

  1. Occurrence: whether a sale happens in a given period at all
  2. Size: how many units are sold when a sale does happen

A method that treats the combined series as one noisy signal can't tell a quiet month apart from a sign that demand is ending. That difference matters for inventory. A quiet month means keep the stock. Demand that is ending means stop reordering before you are left with obsolete parts.

This is also why intermittent items dominate the error on a mixed catalogue even though each one is small. We covered the metric side of that problem in forecast accuracy metrics: MAPE, WAPE and bias. This post covers the forecasting methods.

Step One: Classify Which Items Are Intermittent

Don't apply intermittent methods across the whole catalogue. Classify each item first. The standard scheme comes from Syntetos, Boylan and Croston (2005) and uses two numbers per item:

  • ADI (Average Demand Interval): the average number of periods between non-zero demands. An item that sells every period has an ADI of 1.
  • CV² (squared coefficient of variation): how variable the demand sizes are when demand does occur.

The paper's cut-offs of ADI = 1.32 and CV² = 0.49 divide items into four groups:

Category ADI CV² What it looks like Typical approach
Smooth < 1.32 < 0.49 Sells most periods, steady sizes Standard smoothing or regression models
Erratic < 1.32 ≥ 0.49 Sells most periods, sizes swing widely Standard models, wider safety stock
Intermittent ≥ 1.32 < 0.49 Many empty periods, fairly consistent sizes Croston-type methods (SBA, TSB)
Lumpy ≥ 1.32 ≥ 0.49 Many empty periods, very variable sizes Croston-type methods, distribution-based stocking

In practice this is a few lines of SQL or pandas over your sales history. Run it at the level you actually stock, which is usually SKU by location, not SKU across the whole network. An item can be smooth in total and intermittent at every individual branch. The branch is where the reorder decision is made.

Before classifying, remove periods where the item was out of stock. Zero sales during a stockout means zero supply, not zero demand. Leaving those periods in makes items look more intermittent than they are and pushes the forecast down.

Croston's Method

J.D. Croston's 1972 paper solved the core problem by splitting the series into two:

  • z: the smoothed size of non-zero demands
  • p: the smoothed interval between non-zero demands

Both are updated with ordinary exponential smoothing, but only in periods when a sale happens. In empty periods nothing changes. The forecast of demand per period is:

Forecast = z / p

A Worked Example

Use a smoothing constant α = 0.2. Suppose the first recorded demand is 5 units, arriving 3 periods after the start, so we initialise z = 5 and p = 3. The forecast is 5 ÷ 3 = 1.67 units per period.

The next demand is 3 units, arriving 4 periods later:

  • z = 0.2 × 3 + 0.8 × 5 = 4.6
  • p = 0.2 × 4 + 0.8 × 3 = 3.2
  • Forecast = 4.6 ÷ 3.2 = 1.44 units per period

The next demand is 6 units, arriving 2 periods later:

  • z = 0.2 × 6 + 0.8 × 4.6 = 4.88
  • p = 0.2 × 2 + 0.8 × 3.2 = 2.96
  • Forecast = 4.88 ÷ 2.96 = 1.65 units per period

Two things stand out. First, the forecast is a rate: 1.65 units per period. No single week will ever show 1.65. It will show 0, or 3, or 6. That's normal, and it's why judging an intermittent forecast by looking at a chart of forecast versus actual is misleading. Second, the forecast stayed at 1.44 through every empty period between the second and third sales. Croston's method has no way to react to a long silence.

SBA: The Bias Correction

Croston's method looks unbiased but isn't. Syntetos and Boylan (2005) showed that dividing one smoothed estimate by another produces a forecast that is systematically too high. The bias grows with the smoothing constant.

Their fix, the Syntetos–Boylan Approximation (SBA), multiplies the Croston forecast by a correction factor:

SBA forecast = (1 − α/2) × z / p

With α = 0.2 the factor is 0.9. The 1.65 in the example becomes 1.48 units per period.

That looks like a small change, but bias doesn't average out over time. A forecast that runs about 10% high on every slow mover leaves about 10% excess stock across that whole segment, all the time. The correction costs nothing to implement, so SBA should replace original Croston as the default.

TSB: When Demand Can Die

Croston and SBA share a blind spot. They only update when a sale happens. If a part stops selling because the equipment it fits has been retired, the forecast stays at its last value indefinitely, and the replenishment system keeps reordering it.

Teunter, Syntetos and Babai (2011) addressed this with what is now called the TSB method. Instead of smoothing the interval between demands, TSB smooths the probability that demand occurs in a period, and it updates that probability every period:

  • In a period with demand, the probability estimate moves up and the size estimate updates
  • In a period without demand, the probability estimate moves down and the size estimate stays the same
  • Forecast = probability × size

The practical effect is that the forecast decays during long runs of zeros. That's the behaviour you want for items at risk of obsolescence: service parts for discontinued models, seasonal or fashion SKUs near end of life, and anything whose customer base is shrinking.

Choosing Between Them

Situation Use Why
Default for intermittent and lumpy items SBA Removes Croston's upward bias at no cost
Items that may be going obsolete TSB Forecast decays when demand stops arriving
Product end-of-life or supersession known in advance TSB, plus a manual phase-out rule Don't wait for the model to notice what you already know
Smooth or erratic items Neither Standard methods are better when demand arrives most periods
Thousands of related slow movers with rich attributes Test a global ML model as well Cross-series learning can beat per-item methods at scale

If you're unsure, run SBA and TSB side by side on the same history and compare them with the metrics below. On most catalogues the answer differs by segment, not across the whole catalogue.

Measuring Accuracy Without MAPE

MAPE divides by actual demand. On intermittent items actual demand is zero most of the time, so MAPE is undefined or explodes. Use these instead:

  • MASE (Mean Absolute Scaled Error): proposed by Hyndman and Koehler (2006), MASE divides your forecast's error by the error of a naive forecast on the same series. Below 1 means you beat the naive benchmark. Above 1 means you would do better by copying last period's number. It works when actuals are zero.
  • Bias (mean signed error): whether the forecast runs consistently high or low. For slow movers this matters more than error size, because consistent bias turns directly into consistent excess stock or consistent stockouts.
  • Cumulative forecast vs cumulative actual: plot both over the evaluation window. Intermittent forecasts should track the running total even though they never match any single period.

Most importantly, judge the forecast by the stocking decision it drives. An intermittent forecast is used to set reorder points and order quantities, so the result that matters is fill rate and inventory value on those items. A method with slightly worse MASE that gives you the same fill rate with less stock is the better method.

From Forecast to Stocking Decision

Croston, SBA and TSB produce a mean rate. For smooth demand, the mean plus a normal-distribution safety stock works reasonably well. For intermittent demand it often doesn't. The distribution of demand over a replenishment lead time is skewed and full of zeros, and a normal approximation can badly misjudge the right stock level for high service targets.

Better approaches for this segment:

  • Poisson or negative binomial stocking for items whose non-zero sizes are small, usually 1 to 3 units. Choose the stock level from the distribution's cumulative probability rather than from a mean plus a multiple of standard deviation.
  • Bootstrapping from history: resample actual demand over lead-time-length windows to build an empirical distribution, then read the stock level off it.
  • Separate service targets by segment: a lumpy low-value item and a lumpy critical spare shouldn't share a 95% target. The cost of running out is different, so the target should be too.

We cover the formulas for the smooth segment, and how lead-time variability changes them, in safety stock calculation formulas. Field-service teams face the same problem at a smaller scale when choosing parts for each van, covered in truck stock optimization.

Where Machine Learning Fits

Intermittent demand is one area where the simple statistical methods have held up well. The picture changes at scale. In the M5 forecasting competition, built on Walmart unit sales with a large share of intermittent series, the leading entries used gradient-boosted tree models trained across many series at once. A single global model learns patterns that no one slow-moving item has enough history to show on its own: price effects, day-of-week effects, the influence of related products.

That advantage depends on having many related series and useful attributes. For a catalogue of a few hundred slow movers without price or promotion data, SBA or TSB will usually get close to the best achievable accuracy and cost far less to run. The honest sequence is:

  1. Classify the catalogue
  2. Run SBA and TSB as the baseline and measure them properly
  3. Only then test a global model, and only keep it if it improves the stocking outcome, not just the error metric

If your planning software already offers Croston-type methods, you may not need a custom build at all. You may only need to switch the right items onto them and fix the metrics you judge them by. Our guide to connecting inventory systems to predictive reordering covers how forecasts like these get into purchasing in practice.

A Practical Rollout

  1. Pull 12 to 24 months of demand history at SKU-location level, with stockout periods flagged. See how much data demand forecasting actually needs if your history is shorter.
  2. Classify each item with ADI and CV².
  3. Backtest SBA and TSB on intermittent and lumpy items, scored with MASE and bias against a naive benchmark.
  4. Convert the forecasts into stock levels with a distribution-based method, and compare fill rate and inventory value with your current policy.
  5. Deploy by segment, starting with the items where the gap between current and simulated inventory is largest.
  6. Reclassify quarterly. Items move between quadrants as products age.

Conclusion

Intermittent demand is a common and expensive forecasting problem, and it doesn't require exotic technology to fix. It needs the right method applied to the right items, measured with a metric that works when demand is zero, and turned into stock levels that reflect how lumpy the demand really is. Most businesses already have the data. What's usually missing is the classification step and a fair comparison against a naive benchmark.

Schedule a strategy call with Cogniq AI to have your slow-moving catalogue classified and backtested, or explore our predictive analytics services.

Frequently Asked Questions

Intermittent demand is demand where many periods record zero sales and the non-zero periods arrive irregularly. Spare parts, slow-moving SKUs, B2B catalogue items and long-tail ecommerce products typically behave this way. The defining problem is that two things vary at once: whether a sale happens in a given period at all, and how large it is when it does. Methods built for continuous demand treat both as a single noisy series, which is why they perform poorly here.

Simple exponential smoothing drops towards zero after every empty period and jumps after every sale, so its forecast is highest immediately after a demand occurrence, which is exactly when the next sale is least likely. Croston's method avoids this by smoothing the size of non-zero demands and the gap between them separately, and only updating when a sale actually occurs.

Use SBA rather than original Croston as the default, because it corrects a known upward bias in Croston's forecast at no cost. Use TSB where items can go obsolete or where demand may be dying out, because TSB updates the probability of demand every period and lets the forecast decay during long runs of zeros, while Croston and SBA hold the forecast flat until the next sale. Test both against a naive benchmark on your own history before committing.

Calculate two numbers per item: the average demand interval (ADI), which is the average number of periods between non-zero demands, and the squared coefficient of variation (CV²) of the non-zero demand sizes. The widely used classification from Syntetos, Boylan and Croston uses cut-offs of 1.32 for ADI and 0.49 for CV², which splits items into smooth, erratic, intermittent and lumpy quadrants. Items above the ADI cut-off are candidates for Croston-type methods.

Not with MAPE, which is undefined whenever actual demand is zero. Use a scaled error such as MASE, which compares your error with the error of a naive forecast on the same series, and track bias separately. Ultimately the forecast is only as good as the stock decisions it produces, so also measure fill rate and inventory value on the items it drives.

Sometimes, particularly when you have many related series. In the M5 competition, built on Walmart unit sales with a large share of intermittent series, the top entries were gradient-boosted tree models trained across many series at once rather than one model per item. That advantage comes from learning shared patterns across the catalogue. For a small catalogue or a single slow-moving item, a well-tuned SBA or TSB forecast is often just as accurate and far simpler to run.