Forecasting Pitfalls and Worked Examples

Forecasting errors often come from problem formulation and validation mistakes rather than model choice. This page collects common failure modes and compact examples that connect data, features, baselines, metrics, and model selection.

Common forecasting mistakes

  • Random train-test splits that train on future observations.
  • Leakage through rolling features that include the prediction timestamp.
  • Leakage through future covariates that would not be known at prediction time.
  • Tuning on the final test period.
  • Incorrect season length.
  • Ignoring naive and seasonal-naive baselines.
  • Excessive lag dimensionality.
  • Evaluating only aggregate metrics.
  • Ignoring bias.
  • Using MAPE with zero demand.
  • Selecting a separate best model for noisy short series.
  • Optimizing ensemble weights on too little data.
  • Failing to evaluate cold-start entities.
  • Treating padded zeros as real observations.
  • Forgetting to inverse-transform forecasts.
  • Comparing models across different backtest folds.
  • Uncontrolled fallback behavior.
  • Over-parallelization.
  • Assuming attention weights are causal explanations.
  • Mixing prediction-time-known and prediction-time-unknown features.
  • Reporting prediction intervals without empirical coverage.
  • Using cost-aware losses without documenting cost assumptions.
  • Reconciling forecasts across an incorrect hierarchy or calendar.

Example 1: daily demand with weekly seasonality

A retailer forecasts daily product demand. Useful features include lag 1, lag 7, rolling mean over the previous 7 days, day-of-week encoding, and a promotion indicator.

datelag_1lag_7rolling_mean_7day_of_weekpromotiontarget
2026-01-08120105112.4Thursday1128

The seasonal-naive baseline for daily data with weekly seasonality uses:

A tree-based model can improve on the baseline when promotions, calendar effects, and product metadata explain deviations from regular weekly seasonality. Evaluation should report error by horizon and promotion status because promotional days may dominate operational value.

Example 2: intermittent spare-parts demand

A spare part has many zero-demand days and occasional positive demand:

daydemand
10
20
32
40
50
61

MAPE fails because many denominators are zero. Croston-style methods estimate nonzero demand size separately from the interval between demand events. Aggregate-disaggregate methods forecast over a coarser interval and distribute predictions back to the required frequency.

MASE or WAPE is usually more defensible than MAPE when denominators are handled explicitly. For cold-start parts, a category-level fallback can use similar parts, lifecycle stage, and installed base as metadata.

Example 3: multi-model ensemble

Suppose three models predict the same timestamp:

modelforecastweight
seasonal naive1000.2
gradient boosting1120.5
neural model1080.3

The ensemble forecast is:

The result is a weighted average. The seasonal baseline contributes stability, the tree model contributes covariate response, and the neural model contributes shared temporal representation. The weights should be fitted on validation forecasts and evaluated on untouched forecasts.

Practical guidance

  • Use examples to test whether the data contract is understandable.
  • Compute every feature in the example as it would be computed in production.
  • Include a baseline in every worked example.
  • Show metric denominator behavior when sparse or zero demand is present.
  • Treat examples as validation cases for documentation and implementation.

Connections

Most forecasting pitfalls are failures of backtesting, rolling-origin validation, or forecast error metrics. Drift-related examples connect directly to concept drift in forecasting and forecast monitoring.

References