← All methods

Smoothing · Free

Holt–Winters additive

Level + trend + a seasonal wave of constant width.

What it assumes

Level + trend + additive seasonal of fixed width.

When to use

Seasonal amplitude roughly constant in original units.

When to avoid

Many zeros / intermittent demand, or multiplicative seasonality.

Knobs

α, β, γ with seasonal vector of length m.

How it works

Holt–Winters additive keeps three states: level, trend, and a seasonal vector of length m. The seasonal terms add (they do not grow with the level). You need a known period and enough history (roughly n ≥ 2m). Many zeros make the seasonal indices unstable — send spare parts to Croston. If peaks get taller as the series grows, try multiplicative Holt–Winters.

Sample forecast question

Twelve quarterly observations have a stable seasonal bump and a mild rise. What is the additive Holt–Winters forecast for the next four quarters?

Step-by-step on these numbers

Sample series (covers)
PeriodActualFitted
Y1 Q14040.63
Y1 Q24848.99
Y1 Q34445.19
Y1 Q45556.28
Y2 Q14241.12
Y2 Q25149.93
Y2 Q34646.88
Y2 Q45858.06
Y3 Q14544.06
Y3 Q25352.97
Y3 Q34848.92
Y3 Q46160.33
Forecast
PeriodForecast95% interval
Y4 Q146.9445.18 – 48.69
Y4 Q255.1952.71 – 57.68
Y4 Q350.8447.80 – 53.88
Y4 Q463.1159.60 – 66.62

Parameters the engine found

  • alpha = 0.400
  • beta = 0.050
  • gamma = 0.500
  • level = 52.753
  • trend = 0.578
  • m = 4
  • s0 = -6.393
  • s1 = 1.285
  • s2 = -3.645
  • s3 = 8.047
  1. The question

    Twelve quarterly observations have a stable seasonal bump and a mild rise. What is the additive Holt–Winters forecast for the next four quarters? Sample quarters: Y1 Q1=40, Y1 Q2=48, Y1 Q3=44, Y1 Q4=55, Y2 Q1=42, Y2 Q2=51, Y2 Q3=46, Y2 Q4=58, Y3 Q1=45, Y3 Q2=53, Y3 Q3=48, Y3 Q4=61 (covers).

  2. Seasons

    m = 4, n = 12 (3 complete seasons). Additive HW adds a seasonal index of roughly constant width.

  3. Initialisation

    Season averages: S1=46.75, S2=49.25, S3=51.75. Initial level ℓ = 46.75, initial trend b = (49.25 − 46.75)/4 = 0.63. Initial seasonal indices from the first cycle: s_1=-6.750, s_2=1.250, s_3=-2.750, s_4=8.250.

  4. Smoothing weights

    The engine searches a small (α, β, γ) grid. Winner: α = 0.400, β = 0.050, γ = 0.500.

  5. End states

    ℓ = 52.75, b = 0.58, seasonal vector [-6.393, 1.285, -3.645, 8.047].

  6. Forecast

    ŷ_{n+h} = ℓ + h b + s_h. Y4 Q1: 53.33 + -6.393 → 46.94; Y4 Q2: 53.91 + 1.285 → 55.19; Y4 Q3: 54.49 + -3.645 → 50.84; Y4 Q4: 55.06 + 8.047 → 63.11.

  7. Interval

    Residual σ = 0.895. For h = 1 the 95% band is [45.18, 48.69] around 46.94. The engine labels this interval native for the method.

Graph of this sample

Y1 Q1 · 40 Y3 Q4 Y4 Q1
Holt–Winters additive on the canned sample: actuals, fitted, and a 4-step forecast. Actual Fitted Forecast
The chart plots the canned table on this page (actuals, in-sample fitted, forecast, 95% interval). Not your Excel series. Free analysis never uploads raw data.

Educational only. Not investment, weather, or operational advice. In the add-in, rank is rolling-origin MASE — “best supported among candidates on this series.”

Use it in the Excel Add-in