Skip to main content

Practitioner's Guide

What forecasting method should I use?

A practitioner's guide to choosing the right time-series method for your data. No hype. No buzzword salad. Just clear guidance from someone who uses these in production.

Revenue Forecast
HistoricalForecast
Jan Mar May Jul Sep Nov Jan 120 100 80 60 Today
Model: Theta + Holt-Winters ensembleMAPE 4.2%
Six Big Ideas

Six things most forecasting guides won't tell you

Before you touch a model, these six principles will save you from the most common forecasting mistakes.

  1. 01

    Simple methods win more than people expect.

    Naive, SES, and Holt-Winters regularly beat complex models on real data. Before you reach for Prophet or LightGBM, run the simple baselines. If they lose, great — now you know your complex model is earning its complexity. If they win, you just saved weeks.

  2. 02

    Always ensemble.

    A simple average of 2–3 reasonable methods almost always beats picking the single best one. M5 (2020) first place was an equal-weighted blend of 6 LightGBM variants. Ensembling is not a fallback — it is the default production strategy.

  3. 03

    Financial market data is fundamentally different.

    Asset prices and returns are near-random walks. M6 competition evidence shows forecast accuracy clusters near luck, and accuracy does not correlate with investment outcomes. The methods on this site apply to business time series — revenue, churn, demand. Market data needs a different toolkit (GARCH, risk models, factor models).

  4. 04

    Prophet is easy. It's not always accurate.

    Prophet's defaults are forgiving and its interface is clean. That makes it a good first model. It is not always the best model. Verify it against simpler methods before deploying. If Holt-Winters beats Prophet on your data, use Holt-Winters.

  5. 05

    The Theta method is the most underrated tool in forecasting.

    Theta finished in the top 10 in both M3 and M4 competitions. It is easy to implement, interpretable, and reliably strong on business time series. Most practitioners have never heard of it. That is a mistake.

  6. 06

    Foundation models are competitive, not universal.

    TimeGPT, Moirai, and Chronos are impressive. They are also new, expensive to run, and not universally better than classical methods. Treat them as additional ensemble members, not replacements for understanding your data.

Decision Worksheet

Describe your data in 7 questions

Answer these about your time series. Then scan the matrix below for methods that match all your answers. Aim for 2-3 candidate methods to implement and ensemble.

Q01

How many observations of history do you have?

Q02

Does your data have a trend?

Q03

Does your data have seasonality?

Q04

Is it univariate or multivariate with cross-series dependencies?

Q05

Do you have known external drivers? (marketing spend, holidays, weather)

Q06

Is the data intermittent (lots of zeros)?

Q07

Is this financial market data (asset prices, returns, volumes)?

12methods · answer questions to filter

Recommended action

Implement these 11 methods and ensemble them (simple average, weighted average, or stacking). A simple average of 2–3 reasonable methods almost always beats picking the single best one. M5 (2020) first place was an equal-weighted blend of 6 LightGBM variants.

Method Reference

The Complete Method Matrix

Twelve methods scored against seven data characteristics. Use the worksheet above to filter your shortlist, then reference this table for the full picture.

01Naive / Seasonal Naive
Trend:
Seasonality: Seasonal Naive: single cycle
Difficulty: Trivial
Interpretable: High
Exogenous: No
Min History: Any

Benchmark; every other method must beat these

02SES (Simple Exponential Smoothing)
Trend: No
Seasonality: No
Difficulty: Easy
Interpretable: High
Exogenous: No
Min History: 30+

Flat, noisy series with no pattern

03Holt (Linear Trend)
Trend: Linear
Seasonality: No
Difficulty: Easy
Interpretable: High
Exogenous: No
Min History: 30+

Trending series, no seasonality

04Holt-Winters
Trend: Linear
Seasonality: Single
Difficulty: Easy
Interpretable: High
Exogenous: No
Min History: 2 seasonal cycles

Trending + seasonal series; wins more often than expected

05Theta
Trend: Yes
Seasonality: Single
Difficulty: Easy
Interpretable: High
Exogenous: No
Min History: 30+

Strong simple baseline; top-10 in M3/M4; underused

06ARIMA / Auto-ARIMA
Trend: Linear
Seasonality: No (use SARIMA)
Difficulty: Medium
Interpretable: Medium
Exogenous: Via ARIMAX
Min History: 50+

Flexible univariate; linear trend

07SARIMA
Trend: Linear
Seasonality: Single
Difficulty: Medium
Interpretable: Medium
Exogenous: Via SARIMAX
Min History: 2-3 seasonal cycles

Univariate with seasonality + trend

08TBATS
Trend: Yes
Seasonality: Multiple
Difficulty: Medium
Interpretable: Low
Exogenous: No
Min History: 2-3 seasonal cycles

Multiple/complex seasonal cycles

09Prophet
Trend: Non-linear
Seasonality: Single or multiple
Difficulty: Easy
Interpretable: Medium
Exogenous: Yes
Min History: 30+

Fast deployment with messy data; verify against simpler methods

10LightGBM with features
Trend: Yes
Seasonality: Yes (via features)
Difficulty: Medium-Hard
Interpretable: Low
Exogenous: Yes
Min History: 100+

M5 winning approach; many series with shared structure

11Croston / TSB / iETS
Trend: No
Seasonality: No
Difficulty: Easy
Interpretable: Medium
Exogenous: No
Min History: 30+

Intermittent demand (many zeros)

12Ensembling
Trend: Inherits
Seasonality: Inherits
Difficulty: Medium
Interpretable: Low
Exogenous: Inherits
Min History: N/A

Almost always beats picking one method; default for production

Financial market data warning

Financial market data: M6 evidence shows competitor accuracy on price/return forecasting clusters near luck, and forecast accuracy doesn't correlate with investment outcomes. Use simple methods (Naive, Theta, Holt) as baselines, focus on volatility forecasting (GARCH family), and ensemble for stability. Complex models rarely earn their complexity here. This warning applies regardless of which row in the matrix matches your data.

Get Started

Where to next?

Pick 2-3 methods from the matrix that match your data. Click each to read the full page — when to use, when not to use, Python code, and a real finance example. Then implement them and ensemble for production.