Syntetos–Boylan Approximation (SBA): The Bias-Corrected Intermittent Demand Forecast
SBA is the bias-corrected version of Croston's intermittent demand forecasting method. Formula: SBA = (1 − α/2) × (d̂ / p̂). Why Croston systematically over-estimates mean demand, how SBA corrects it, and how LineNow routes each item to SBA or exponential smoothing via the SBC demand classification.Before a closed-loop procurement platform — a system where every step of the buying workflow handles itself, from demand signal to purchase order to supplier reply to receiving — can place an order, it needs a demand forecast. For items that sell every day, a simple exponential moving average works well. For items with intermittent demand — items that sell some days and not others — it doesn't. The Syntetos–Boylan Approximation (SBA) is the bias-corrected method for forecasting intermittent demand: the standard correction to Croston's original method, which Syntetos and Boylan proved systematically over-estimates true demand by a factor tied directly to the smoothing constant.
Quick answers
What is the Syntetos–Boylan Approximation? SBA is a modification of Croston's method for intermittent demand forecasting. It applies a deflating correction factor (1 − α/2) to the Croston forecast to remove a known positive bias, where α is the exponential smoothing constant used to update the demand-size and demand-interval estimates.
Why does SBA exist? Syntetos and Boylan (2001, 2005) proved that Croston's method has a systematic positive bias — it over-estimates mean demand, especially when the smoothing constant α is large. Using the uncorrected Croston forecast leads to persistent over-ordering for intermittent items.
What is the SBA formula?
SBA forecast = (1 − α/2) × (d̂ / p̂)
where d̂ is the smoothed estimate of demand size (conditional on a non-zero period), p̂ is the smoothed estimate of the demand interval (average number of periods between non-zero demands), and α is the smoothing constant (typically 0.05–0.20 for intermittent series).
When is SBA used instead of simple exponential smoothing? SBA is used for items classified as intermittent or lumpy in the SBC demand classification framework — items with an Average Demand Interval (ADI) above 1.32. Items with ADI ≤ 1.32 (selling most days) use standard exponential smoothing.
The problem: why Croston's method over-estimates
Croston (1972) proposed a sensible approach to intermittent demand: rather than averaging over all periods — including zero periods, which drag the estimate artificially down — separately smooth the demand size when it occurs and the interval between occurrences.
Define:
d_t= demand in period t (zero in zero-demand periods, positive otherwise)q_t= the most recently observed non-zero demand sizep_t= the most recently observed inter-demand interval (number of periods since the previous non-zero demand)
Croston's method updates only when demand occurs:
d̂_t = (1 − α) × d̂_{t−1} + α × q_t [demand size update]
p̂_t = (1 − α) × p̂_{t−1} + α × p_t [interval update]
Croston forecast = d̂_t / p̂_t
This is intuitive: the expected demand rate is (average demand size) ÷ (average interval between demands). If an item sells 4 units every 5 days on average, the expected daily rate is 4 / 5 = 0.8 units/day.
The problem Syntetos and Boylan identified is a statistical artifact: the ratio of two separately smoothed estimators is not itself unbiased. Taking the statistical expectation of the ratio d̂/p̂ gives a value larger than the true mean demand rate μ. The bias is approximately proportional to α/(2−α), meaning larger smoothing constants amplify the over-estimation.
For a smoothing constant of α = 0.10, Croston over-estimates by roughly 5%. At α = 0.20, the bias grows to ~11%. At α = 0.30 — which practitioners sometimes use for items that have recently moved from smooth to intermittent — the over-estimate is around 18%.
In a procurement context, this bias translates directly to carrying excess inventory on every intermittent item in the catalog. Across a retail SKU roster with 60 intermittent items, a persistent 8–10% over-estimate in demand inflates PAR levels, order quantities, and cash tied up in stock — without improving service level.
The SBA correction
Syntetos and Boylan's correction is compact:
SBA forecast = (1 − α/2) × (d̂ / p̂)
The factor (1 − α/2) deflates the Croston estimate back toward the true mean. At α = 0.10, the correction factor is 0.95 — a 5% reduction. At α = 0.20, it is 0.90 — a 10% reduction. This closely matches the bias it removes.
The SBA estimate is not perfectly unbiased in the strict statistical sense, but it is "approximately unbiased" — and empirically, it consistently outperforms Croston's method. Syntetos and Boylan (2005) demonstrated inventory savings of over 11% relative to Croston across a large empirical dataset while holding the service level constant. The paper established SBA as the de facto standard correction for intermittent demand forecasting in the operations-research literature.
A worked example
A specialty retailer carries a slow-moving imported condiment — call it Item X. Here are its sales events over the last 30 days (days with sales shown; all other days are zero):
Day 3: 2 units · Day 6: 3 units · Day 9: 1 unit · Day 14: 2 units · Day 19: 2 units · Day 23: 1 unit · Day 27: 2 units · Day 30: 3 units
8 non-zero events in 30 days.
Step 1: Compute ADI.
ADI = 30 days / 8 non-zero periods = 3.75 days
ADI = 3.75 > 1.32 → Item X is intermittent. SBA applies.
Step 2: Smooth demand sizes (α = 0.15, starting from d̂₀ = 2.0).
Observed demand sizes: 2, 3, 1, 2, 2, 1, 2, 3. Running exponential smoothing yields d̂ ≈ 2.05 after 8 updates.
Step 3: Smooth demand intervals (α = 0.15, starting from p̂₀ = 3.75).
Intervals between events: 3, 3, 5, 5, 4, 4, 3 days. Running smoothing yields p̂ ≈ 3.85 days.
Step 4: Compute Croston forecast.
Croston = d̂ / p̂ = 2.05 / 3.85 = 0.533 units/day
Step 5: Apply SBA correction.
SBA = (1 − 0.15/2) × 0.533 = 0.925 × 0.533 = 0.493 units/day
Step 6: Project over a 7-day order cycle.
Croston base demand = 0.533 × 7 = 3.73 units
SBA base demand = 0.493 × 7 = 3.45 units
The SBA estimate is 7.5% lower than Croston — and that 7.5% difference flows into every downstream calculation: the PAR level, the safety stock, and ultimately the quantity on the purchase order. Across 50 intermittent SKUs, this compounds into a meaningful reduction in excess inventory and carrying cost without degrading service level.
SBA in the SBC demand classification
SBA does not stand alone. It is one output of the Syntetos–Boylan–Croston (SBC) demand classification framework — the standard method for deciding which forecasting model to apply to each item. The framework classifies every SKU using two axes computed from historical demand:
- ADI (Average Demand Interval): the average number of periods between non-zero demand events.
ADI = total periods ÷ periods with non-zero demand. - CV² (coefficient of variation squared): the squared coefficient of variation of non-zero demand sizes.
CV² = variance(non-zero demand) ÷ mean(non-zero demand)².
| Demand pattern | ADI | CV² | Forecasting method |
|---|---|---|---|
| Smooth | ≤ 1.32 | ≤ 0.49 | Exponential smoothing |
| Intermittent | > 1.32 | ≤ 0.49 | SBA |
| Erratic | ≤ 1.32 | > 0.49 | Exponential smoothing + wider safety stock |
| Lumpy | > 1.32 | > 0.49 | SBA + manual adjustment |
The ADI threshold of 1.32 derives from the Syntetos–Boylan (2005) empirical analysis: below 1.32, items sell frequently enough that standard smoothing doesn't systematically misclassify them. The CV² threshold of 0.49 separates low-volatility demand sizes from high-volatility ones.
SBA is the prescribed method for intermittent and lumpy demand. For lumpy demand — think B2B special orders, seasonal specialty items that sell in bulk sporadically, or restaurant catering event SKUs — SBA provides the base estimate, but experienced operators add a manual buffer or use external signals (events calendar, B2B order schedule) to supplement the statistical model.
What this means for SMB operators
Most retail and restaurant operators carry a mix of demand patterns. A specialty retailer running 150 active SKUs might have 80 smooth items (daily staples), 45 intermittent items (specialty SKUs, niche flavors), 20 erratic items (trending products, weather-driven demand), and 5 lumpy items (large-format or B2B-adjacent).
Applying a simple moving average to all 150 items — which is the default behavior of most inventory software — means the 50+ non-smooth items will consistently receive a forecast that is systematically too high (for intermittent/lumpy) or too noisy (for erratic). Over-forecasting intermittent items inflates PAR levels, locks up capital in inventory, and generates purchase orders that are larger than the business actually needs.
For perishables, the consequences are more acute: over-ordering translates directly to spoilage. An intermittent item where SBA estimates 0.49 units/day versus Croston's 0.53 units/day sounds marginal in isolation. Across a 7-day order cycle with a 5% daily spoilage rate, however, the excess quantity compounds with the decay rate into real shrinkage. The right demand model for intermittent perishables is SBA first, decay adjustment second.
The practical fix is demand-pattern classification with model routing: smooth and erratic items use exponential smoothing; intermittent and lumpy items use SBA. This requires building the classification engine once and letting it run daily. No manual per-item tuning, no judgment calls at the SKU level.
How LineNow uses SBA
For every item in a LineNow account, the replenishment engine runs a daily classification cycle:
- Pulls the rolling 30-day daily-bucketed demand sequence from your connected POS (Shopify, Square, Toast, Clover, Faire, Lightspeed).
- Computes ADI and CV² from the non-zero demand events in that window.
- Routes to the appropriate model: exponential smoothing for smooth and erratic items; SBA for intermittent and lumpy items.
- Applies SBA with a smoothing constant calibrated to the item's observation density — items with fewer non-zero events in the window use a more conservative α to avoid overfitting to sparse data.
- Feeds the resulting per-day demand estimate into the PAR level formula alongside statistical safety stock, decay adjustment, and lead time.
The classification updates every day. An item that drifts from smooth to intermittent — a seasonal item going off-peak, a specialty SKU whose novelty fades — is automatically reclassified and switched to SBA without manual intervention. An item that drifts in the opposite direction moves back to standard smoothing.
The result is that every purchase order LineNow generates uses the demand model appropriate to each item's actual behavior pattern — not a one-size-fits-all average.
Start a 90-day free trial to see demand classification and SBA-driven replenishment working across your real inventory.
Related
- Coefficient of variation (CV²) — the second axis of the SBC classification; determines whether SBA or standard smoothing applies
- PAR level — the target inventory level built on the SBA-derived demand estimate
- Safety stock — the statistical buffer above the demand estimate, computed separately from the SBA forecast
- Decay rate — spoilage adjustment layered on top of the SBA estimate for perishables
- Reorder point — the inventory level that triggers a new order; uses the SBA-derived consumption rate
- Closed-loop procurement, in plain English