practice

Demand Forecasting

Projecting future load from historical trends, business plans and known events, and translating it into resource requirements with explicit lead times.

Capacity planning fails in two directions, and both are expensive: over-provisioning wastes money continuously; under-provisioning causes an outage at the worst possible moment, because demand peaks and capacity shortfalls coincide by definition.

Inputs that a usable forecast combines: historical growth decomposed into trend, weekly and annual seasonality; business plans — a marketing campaign, a new market, an onboarded enterprise customer — which are step changes no time series will predict; and known events with dates.

The translation step is where most models are wrong. Resource usage is rarely linear in demand. Cache hit rates change with working set size; database performance degrades non-linearly with data volume; and queueing delay grows as 1/(1−utilisation), so the last increment of load costs disproportionately. Deriving requirements from measured load-versus-resource curves rather than extrapolating a ratio is what makes the difference.

Two things to state explicitly: the lead time for each resource — autoscaling is minutes, reserved capacity is days, hardware or a new region is months, and a forecast shorter than the longest lead time is not actionable — and the confidence interval, since planning to the central estimate means being short half the time.