Intermittent demand: why ordinary averages disappoint
In this article (5 sections)
Intermittent demand contains many zero periods separated by irregular nonzero orders. A constant mean can achieve a modest average error by predicting a small positive value every period, yet it predicts neither when demand occurs nor how large a replenishment should be. Inventory decisions need this distinction.
Croston’s method separately smooths nonzero demand sizes and intervals between them, then divides estimated size by estimated interval to obtain a demand rate. It is a classic starting point, not a complete inventory policy.
A seeded sparse-demand case
The local lab generates 120 seeded integer observations, uses the first 100 for fitting and holds out 20. Training is 72% zero; test is 70% zero.
| Constant forecast | Rate | Test MAE |
|---|---|---|
| Training mean | 1.130 | 1.965 |
| Simple Croston, alpha 0.2 | 0.875 | 1.850 |
from timeseries_cases import intermittent_case
result = intermittent_case()
assert result["train_zero_share"] == 0.72
assert result["test_zero_share"] == 0.70
print(round(result["test_mae_mean"], 3), round(result["test_mae_croston"], 3))Croston has lower MAE in this authored run, but neither constant rate identifies the exact next nonzero period. No model was selected using this test result, and one seed is not a general benchmark.
Diagnose the demand process first
Measure the share of zero periods, average interval between nonzero demands and variability of nonzero sizes. Separate a genuinely inactive item from a slow mover, a new item and data missing because a store was closed. Choose the time bucket deliberately: weekly aggregation can turn daily intermittency into a denser series while reducing decision resolution.
Observed sales may be zero during a stockout even when demand exists. Treating stockout zeros as no demand biases both occurrence and size. Retain availability, lost-sales estimates and censoring flags where the business process supports them.
Evaluate the inventory decision
MAE and WAPE remain useful, but add measures connected to operations: stockout frequency, fill rate, average inventory, expiry or holding cost, and order stability under a specified lead time. Backtest the policy using forecasts available at each order date. A slightly lower point error can still produce worse inventory if forecast variability causes unstable orders.
Croston variants address known bias and obsolescence patterns. Compare them with simple benchmarks through rolling origins and multiple series. Sparse item-level scores are noisy, so report portfolio and item-segment behavior without hiding critical items in an aggregate.
The Data Science course uses intermittent demand to connect statistical modeling with data quality, evaluation design and operational outcomes.
Exercise
Simulate two items with the same mean demand: one smooth and one intermittent. Apply the same base-stock rule using mean and Croston forecasts. Compare fill rate and average inventory under lead times of one and four periods.
Continue learning
This article is part of the Forecasting and time-series analysis sequence. Use the neighbouring tasks when you need the prerequisite or the next application.
- Review the prerequisite or neighbouring task in Lag features for tree-based forecasting.
- Continue with Reconcile forecasts across product and regional totals.
Reference: Forecasting: Principles and Practice on count and intermittent data.
Pankit Kumar has 10 years in Data Science & AI, building and shipping production systems in regulated pharma and clinical environments. He is a freelance trainer at Boston Institute of Analytics, AnalytixLabs and Scaler, and has taught this material to thousands of working professionals.
This article is part of our Data Science programme — 6 months. From data foundations to machine learning, deep learning and deployment.
Explore Data Science