Forecasting in Practice — Choosing Methods and Shipping Forecasts

Knowing the methods is the easy part; building a forecasting system that's accurate, honest, and maintainable is the real job. This closing post assembles the series into practical judgment — how to choose a method, how to ship forecasts that keep working, and the hard-won lessons (start simple, respect baselines, monitor for drift) that no single technique teaches. It turns the series into something you can actually run.

Posts 1–7 built the toolkit — components, classical methods, evaluation, ML, deep learning, uncertainty. This post is how to use it as a practitioner. The theme, consistent across the whole series, is disciplined simplicity: forecasting rewards starting simple, benchmarking honestly, and escalating complexity only when it earns its place.

Choosing a method: the complexity ladder

There’s no universally best forecasting method — the right choice depends on the data and the problem. A reliable decision process is to climb a complexity ladder, stopping when added complexity stops helping:

  1. Start with naive baselines (post 4) — “predict the last value,” “repeat last season.” Free, instant, and shockingly hard to beat. They set the floor every other method must clear.
  2. Try classical methods (post 3) — ETS/exponential smoothing and auto-ARIMA. Fast, robust, strong on single and short series, and frequently the winner. For most individual business series, this is where you should expect to land.
  3. Try ML (post 5) — gradient-boosted trees on lag/rolling/calendar/driver features — when you have many related series, rich external drivers, or complex nonlinear patterns. Benchmark against classical.
  4. Try deep learning (post 6) — only with many long series, abundant data, and complex multivariate dynamics, and only if it demonstrably beats the simpler options on honest backtests.

The decision factors that place you on the ladder: how much data (little → classical; lots → ML/deep), how many series (one → classical; thousands → global ML/deep), external drivers (none → classical; many → ML), pattern complexity (simple trend/season → classical; complex nonlinear → ML/deep), and interpretability/cost needs (high → classical). The governing principle, repeated all series long: start simple and only add complexity when it measurably helps — because in forecasting, uniquely, the simple methods win far more often than intuition suggests, and the M-competition evidence (posts 3, 6) backs this hard. Reaching for deep learning first is the classic mistake.

Shipping forecasts: the practical realities

Getting a good backtest number is not shipping — production forecasting has its own realities:

The reality: a forecasting system is the model plus honest evaluation, uncertainty quantification, monitoring, retraining, and data hygiene — and the model is often the smallest part.

The hard-won lessons

Closing the series with the wisdom that outlasts any method:

The series’ synthesis: forecasting is the discipline of using the past to anticipate the future while respecting that time breaks ordinary ML assumptions, that simple methods often win, that honest evaluation is everything, and that uncertainty is irreducible and decision-relevant. Build up the complexity ladder from naive baselines, evaluate with leakage-free backtesting against baselines, ship calibrated uncertainty not bare points, monitor for drift and shocks, and stay humble about the limits of extrapolating the past. Do that, and you’ll build forecasts people can actually trust and act on — which, in a field full of confidently-wrong single numbers, is rarer and more valuable than it should be.

The throughline: shipping good forecasts is mostly disciplined judgment, not method knowledge. Choose a method by climbing a complexity ladder — naive baselines → classical (ETS/auto-ARIMA) → ML (gradient-boosted trees on features) → deep learning — stopping when complexity stops measurably helping, placed by data volume, number of series, external drivers, pattern complexity, and interpretability/cost needs; the governing rule (backed by M-competition evidence) is start simple and escalate only when it demonstrably wins, because simple methods win far more than intuition expects. A forecasting system then adds the realities: honest leakage-free backtesting vs naive baselines (post 4, where projects secretly fail), calibrated uncertainty intervals not bare points (post 7), monitoring + retraining for concept drift, vigilance for regime changes/shocks (where human judgment must override), and data-pipeline hygiene (most incidents are data problems). The enduring lessons: respect the baselines, evaluation discipline beats sophistication, forecast uncertainty, stay humble that the future isn’t the past, and match effort to value.

Key takeaways

Further reading

Sources & References