MRO forecasting reference

Intermittent demand methods and boundaries.

Compact definitions for describing a sparse series, generating candidate level forecasts, testing them, and auditing later adjustments.

Demand pattern

ADI = number of periods / number of nonzero-demand periods
CV² = variance(nonzero demand sizes) / mean(nonzero demand sizes)²

This implementation uses population variance and the traditional boundaries ADI 1.32 and CV² 0.49: smooth is below both, intermittent has high ADI only, erratic has high CV² only, and lumpy is high on both. At least two nonzero sizes are required.

Croston and SBA

At each nonzero demand, Croston exponentially smooths observed size z and inter-demand interval p. The level forecast is:

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

ReliabilityBench initializes size at the first nonzero value and interval at the number of periods from the series start to that observation. The level remains constant between nonzero events. It is not a probability distribution or prediction interval.

TSB

TSB updates occurrence probability q every period and size z only on a nonzero event:

qₜ = qₜ₋₁ + β(Iₜ − qₜ₋₁)
if demand > 0: zₜ = zₜ₋₁ + α(yₜ − zₜ₋₁)
TSB forecast = qₜ × zₜ

I is 1 when demand occurs and 0 otherwise. The declining probability supports an obsolescence-risk review; it is not an obsolescence declaration.

Rolling-origin evaluation

MAE = mean(|forecast − actual|)
Mean bias = mean(forecast − actual)

An expanding-origin test trains on periods 1…t and predicts t+1, then reveals the actual and repeats. Positive bias means over-forecasting on average. Model ranking from one series is not universal evidence.

Forecast value added

FVA = MAE(baseline) − MAE(final forecast)

Positive FVA means the final judgmental forecast reduced MAE. Evaluate changed periods separately so unchanged periods do not dilute the result. Relative FVA is undefined when baseline MAE is zero.

Stockout censoring

Observed sales = min(true demand, available supply)

During a stockout, recorded sales are a lower bound on true demand. No universal arithmetic correction is defensible from sales and a flag alone. Preserve flagged periods and recover lost-request evidence.

Data boundary

Use equally spaced periods, a stable part and unit of measure, and explicit treatment of planned demand, supersessions, returns, cancellations, installed-base changes, and stockouts. Keep forecast generation separate from reorder, safety-stock, service, and critical-spare decisions.