Why Compare Seasonal Forecasts?
A quarterly series can rise over time and still repeat a seasonal pattern. For example, a hypothetical service might receive more claims in one quarter than another, with the overall claim volume also increasing. A forecast must represent both features: the changing level or trend and the recurring quarter-to-quarter pattern.
This tutorial compares three approaches. A seasonal-naive forecast repeats the value from the same quarter in the previous year. Additive Holt-Winters represents seasonality as a fixed amount added to the trend. Multiplicative Holt-Winters represents seasonality as a factor multiplied by the trend. Their errors can differ substantially, especially when seasonal fluctuations grow as the series rises.
Holt-Winters Equations and Seasonal Alignment
Let \(y_t\) denote the observed value at quarter \(t\), \(\ell_t\) the estimated level, \(b_t\) the estimated trend per quarter, and \(s_t\) the seasonal component for the quarter at time \(t\). The smoothing parameters \(\alpha,\beta,\gamma\) lie between 0 and 1. The formulas below use the updated level in the seasonal update and forecast from the state at time \(t\). Other conventions exist, so calculations must follow the specified convention consistently.
Here \(q(h)\) means the seasonal position of the quarter being forecast: use the seasonal component for the quarter that occurs \(h\) quarters after \(t\). For instance, if \(t\) is Quarter 1, \(h=1\) uses the Quarter 2 seasonal component.
The level and trend states depend on the model's initialization. In worked calculations, the initial states are supplied or obtained from a stated initialization procedure; they should not be silently replaced by a different set of starting values.
Worked Example: Comparing Three Forecasts Over a Validation Year
A hypothetical quarterly volume series has a rising baseline and seasonal factors \(0.8,1.0,1.2,1.0\). Its values for Years 1 through 3 are shown below. Treat the state estimates at the end of Year 2 as given: the level is \(117.5\), the quarterly trend is \(2.5\), and the multiplicative seasonal factors are \(0.8,1.0,1.2,1.0\). For the additive method, use centered seasonal components \(-21.25,-0.25,21.75,-0.25\). Forecast Year 3 from the end of Year 2 and compare the results with the observed values.
| Year | Quarter 1 | Quarter 2 | Quarter 3 | Quarter 4 |
|---|---|---|---|---|
| 1 | 80 | 102.5 | 126 | 107.5 |
| 2 | 88 | 112.5 | 138 | 117.5 |
| 3 | 96 | 122.5 | 150 | 127.5 |
Method and seasonal-naive forecasts. Repeat each Year 2 value for the same quarter in Year 3. Thus the forecasts are \(88,112.5,138,117.5\). Subtract each forecast from its Year 3 observation to obtain errors \(8,10,12,10\). The mean absolute error (MAE) is \((8+10+12+10)/4=10\). The mean squared error (MSE) is \((8^2+10^2+12^2+10^2)/4=408/4=102\), so the root mean squared error (RMSE) is \(\sqrt{102}\approx10.0995\).
Additive Holt-Winters forecasts. From the end of Year 2, the trend-adjusted levels at the four Year 3 quarters are \(117.5+2.5=120\), \(117.5+2(2.5)=122.5\), \(117.5+3(2.5)=125\), and \(117.5+4(2.5)=127.5\). Add the corresponding seasonal components:
Quarter 1: \(120-21.25=98.75\). Quarter 2: \(122.5-0.25=122.25\). Quarter 3: \(125+21.75=146.75\). Quarter 4: \(127.5-0.25=127.25\).
The errors (observation minus forecast) are \(-2.75,0.25,3.25,0.25\). Therefore, MAE is \((2.75+0.25+3.25+0.25)/4=1.625\). The squared errors sum to \(7.5625+0.0625+10.5625+0.0625=18.25\), so MSE is \(18.25/4=4.5625\) and RMSE is \(\sqrt{4.5625}\approx2.1360\).
Multiplicative Holt-Winters forecasts. Multiply each trend-adjusted level by the corresponding seasonal factor: \(120(0.8)=96\), \(122.5(1.0)=122.5\), \(125(1.2)=150\), and \(127.5(1.0)=127.5\). These equal the four Year 3 observations, so all errors, MAE, MSE, and RMSE are zero for this validation year.
Check. Both Holt-Winters methods use the same level and trend, but their seasonal patterns differ. Here the observations follow the supplied multiplicative factors exactly, whereas the seasonal-naive method misses the rising baseline. The zero multiplicative error reflects this constructed data pattern; it does not establish that multiplicative seasonality will always forecast best.
Why the Forecast Formula Works
The Holt-Winters forecast holds the latest estimated trend and seasonal pattern fixed beyond the final observation. After \(h\) quarters, extending the current level by a constant quarterly trend gives \(\ell_t+h b_t\). In the additive model, the quarter-specific effect is an amount, so it is added. In the multiplicative model, it is a factor, so it is multiplied.
Assuming the estimated trend continues, the level at horizon \(h\) is \(\ell_t+h b_t\).
For quarterly data, select the seasonal component for the actual quarter at horizon \(h\); the seasonal sequence repeats every four steps.
Add the seasonal amount for the additive model or multiply by the seasonal factor for the multiplicative model.
This construction also explains why the trend must be expressed in the same time unit as the forecast horizon. If \(b_t\) is a change per quarter, a four-quarter forecast uses \(4b_t\), not \(b_t\).
Worked Example: Updating Both Seasonal Models After a New Quarter
Continue the hypothetical series in the previous example. The end-of-Year-2 states are \(\ell_{t-1}=117.5\), \(b_{t-1}=2.5\), additive Quarter 1 seasonality \(s_{t-4}=-21.25\), and multiplicative Quarter 1 factor \(s_{t-4}=0.8\). The newly observed Year 3 Quarter 1 value is \(y_t=96\). For both models, use \(\alpha=0.5,\beta=0.25,\gamma=0.5\). Update the states, then forecast the next four quarters.
Additive update. First remove the prior seasonal amount: \(y_t-s_{t-4}=96-(-21.25)=117.25\). The one-step trend-adjusted level before observing \(y_t\) is \(117.5+2.5=120\). Thus
\(\ell_t=0.5(117.25)+0.5(120)=58.625+60=118.625.\)
The updated trend is \(b_t=0.25(118.625-117.5)+0.75(2.5)=0.25(1.125)+1.875=0.28125+1.875=2.15625.\) The new Quarter 1 seasonal amount is \(s_t=0.5(96-118.625)+0.5(-21.25)=0.5(-22.625)-10.625=-11.3125-10.625=-21.9375.\)
The next quarters are Quarter 2, Quarter 3, Quarter 4, and Quarter 1. Their additive forecasts are respectively \(118.625+2.15625-0.25=120.53125\); \(118.625+2(2.15625)+21.75=144.6875\); \(118.625+3(2.15625)-0.25=124.84375\); and \(118.625+4(2.15625)-21.9375=105.3125\).
Multiplicative update. Deseasonalize the observation: \(96/0.8=120\). Hence \(\ell_t=0.5(120)+0.5(120)=120\), and \(b_t=0.25(120-117.5)+0.75(2.5)=0.625+1.875=2.5\). Update the seasonal factor using the updated level: \(s_t=0.5(96/120)+0.5(0.8)=0.4+0.4=0.8\).
The next four trend-adjusted levels are \(122.5,125,127.5,130\). Applying the Quarter 2, Quarter 3, Quarter 4, and Quarter 1 factors gives forecasts \(122.5(1)=122.5\), \(125(1.2)=150\), \(127.5(1)=127.5\), and \(130(0.8)=104\).
Check. The multiplicative update preserves the exact \(0.8\) Quarter 1 factor because the new observation divided by its factor is exactly the predicted level. The two methods then produce different forecasts because their seasonal states are amounts versus ratios. The common mistake avoided here is using the Quarter 1 seasonal component for every forecast horizon.
Reading the Comparison and Avoiding Traps
Forecast errors should be calculated on the same validation quarters for every method. MAE is the average absolute error, while RMSE is the square root of the average squared error. Both are expressed in the units of the series; RMSE gives relatively more weight to large errors. A lower value indicates better performance on the evaluated observations, not guaranteed future superiority.
The seasonal-naive method is a useful reference, but it carries forward last year's level as well as its seasonal pattern. When the series rises, it may systematically underforecast. Holt-Winters methods project the trend forward, while their seasonal formulation determines whether seasonal differences stay roughly constant in units or scale with the series level.
The choice between additive and multiplicative seasonality is guided by the pattern in context. Fixed seasonal swings in the original units support an additive representation. Seasonal swings that increase or decrease in proportion to the level support a multiplicative representation. A multiplicative model requires meaningful positive values for its ratios; it is unsuitable when observations or required seasonal factors are zero or negative. Either form can still perform poorly if the trend or seasonal structure changes.
Check Your Understanding
Work each problem before checking its final answer.
- A quarterly series has last year's values \(41,50,59,50\). State the seasonal-naive forecasts for the next four quarters. (Answer: \(41,50,59,50\).)
- At the end of Quarter 4, a model has level \(200\), quarterly trend \(3\), and additive seasonal components for the next four quarters \(-12,0,12,0\). Calculate the next four forecasts. (Answer: \(191,206,221,212\).)
- A multiplicative model has level \(80\), quarterly trend \(2\), and seasonal factors \(0.75,1,1.25,1\), beginning with Quarter 1. Calculate the first three forecasts. (Answer: \(61.5,84,107.5\).)
- For four validation quarters, errors are \(-2,1,3,0\), defined as observation minus forecast. Calculate MAE and RMSE. (Answer: MAE \(=1.5\); RMSE \(=\sqrt{14/4}\approx1.8708\).)
- At time \(t\), an additive model has \(\ell_{t-1}=50\), \(b_{t-1}=2\), \(s_{t-4}=-5\), \(y_t=58\), and \(\alpha=0.4\). Calculate the updated level. (Answer: \(\ell_t=0.4(58-(-5))+0.6(50+2)=56.4\).)