A moving average smooths short-term variation, while seasonal indices represent recurring calendar patterns. Use complete, evenly spaced history, choose windows from the business cycle, and separate trend from seasonality without leaking future observations. Compare forecasts through rolling backtests and report prediction ranges, assumptions, and event overrides.
Who this is for: Operations and planning analysts creating transparent demand, volume, staffing, or revenue baselines from historical time series.
- Plot and clean the time series before selecting smoothing windows or seasonal periods.
- Estimate baselines using only information that would have been available at each forecast date.
- Evaluate several simple methods with rolling backtests and communicate error ranges, not just point forecasts.
Prepare a forecasting series
Define the measure, time grain, timezone, cutoff, and planning horizon. Daily orders, weekly support cases, and monthly recurring revenue have different cycles. Create every expected timestamp and distinguish true zero from missing collection. Adjust or annotate source changes, closures, promotions, outages, and one-time events rather than treating all history as comparable.
Plot the level, changes, and seasonal overlays. Look for trend, weekday patterns, annual events, variance that grows with level, and structural breaks. Ensure enough repeated cycles exist to estimate seasonality. Two holiday observations rarely support a stable annual adjustment, especially when promotion timing changed.
Use moving averages appropriately
A trailing moving average uses the most recent observations to smooth noise. A seven-day window can reduce weekday variation in daily data, while a thirteen-week window may suit quarterly planning. Longer windows are smoother but react slowly to real changes. Never use a centered moving average as an operational forecast if it includes future data.
Moving averages are baselines, not automatic explanations. They lag trends and can be biased after a step change. Compare them with naive forecasts such as last period and seasonal naive forecasts such as the same weekday last week. A complex method should earn its use by improving out-of-sample decisions.
Estimate recurring seasonality
Seasonal factors describe expected position within a cycle. Additive seasonality assumes a roughly constant absolute effect; multiplicative seasonality assumes the effect scales with level. Estimate factors from detrended historical values and normalize them so they do not create extra annual volume. Keep fiscal, holiday, and event calendars explicit.
Calendar effects can overlap. A holiday landing on Monday differs from an ordinary Monday. Movable events and leap days need rules. Do not call a one-time campaign seasonal. If the business has too little stable history, use scenario adjustments supplied by accountable planners and label them separately from the statistical baseline.
Backtest and publish uncertainty
Simulate past forecast dates, train only on earlier observations, and predict the same horizon used by planners. Compare mean absolute error, bias, and service-relevant errors across quiet and peak periods. Average percentage errors can behave badly near zero, so choose metrics suited to the scale and decision.
Create prediction ranges from historical forecast errors or an appropriate model. Report baseline, approved overrides, key assumptions, and actual-versus-forecast tracking. Forecasts should be revised on a schedule, not rewritten after every surprising day. When a structural change invalidates history, explain the break and use scenarios until enough new evidence accumulates.
Forecast weekly support demand
A support team needs an eight-week staffing baseline, and ticket volume has a strong Monday peak plus a December holiday pattern.
- Build a complete daily series with local timezone, closure days, outages, and routing-change annotations.
- Compare last-week seasonal naive, a trailing four-week weekday average, and a trend-plus-weekday baseline.
- Roll each method through prior eight-week forecast origins and score absolute error, bias, and peak-day underforecast.
- Choose the simplest competitive method, then add a separately labeled holiday adjustment based on comparable years.
- Publish weekly totals, daily staffing ranges, assumptions, and an actual-versus-forecast review cadence.
Forecast baseline worksheet
Use this worksheet to build and review a moving-average or seasonal forecast.
- Series: measure, grain, timezone, source, history, horizon, missing timestamps, zeros, and revisions.
- Structure: trend, seasonal periods, calendar effects, variance pattern, outliers, and structural breaks.
- Candidates: naive, seasonal naive, moving-average windows, seasonal factors, and override policy.
- Backtest: rolling origins, horizon, error measures, bias, peak performance, and leakage prevention.
- Output: point forecast, range, assumptions, overrides, owner, refresh schedule, and actual comparison.
Common mistakes
- Using a centered moving average that quietly includes observations after the date being forecast.
- Calling one promotional spike seasonality and repeating it in every future period.
- Selecting the model with the best in-sample fit without a rolling out-of-sample comparison.
Try one
A daily sales forecast uses a thirty-day moving average despite strong weekday variation. Propose a better baseline and validation.
A better baseline compares the same weekday from recent weeks, a weekday-specific trailing average, and possibly a trend-adjusted seasonal method. It creates a complete date series, marks closures and campaigns, and uses rolling forecast origins with the real planning horizon. The answer should report bias and range by weekday and peak period, while preventing future data from entering any historical forecast.
Sources
- NIST process and production control handbookNIST statistical methods for monitoring processes, time series, and change.
- NIST exploratory data analysis handbookNIST methods for exploring data, checking assumptions, and revealing structure.