Tutorials › Exam SRM - Statistics for Risk Modeling › A Worked Seasonal Forecast Comparison

Exam SRM · Smoothing and Forecasting · Tutorial 509 of 926

A Worked Seasonal Forecast Comparison

Learn to calculate and compare seasonal forecasts for a rising quarterly series, including how trend and seasonal form affect forecasts and errors.

Intermediate 12 min read

What You'll Learn

  • Construct seasonal-naive forecasts for a quarterly series and align each forecast with the correct quarter.
  • Apply initialized additive and multiplicative Holt-Winters equations to update level, trend, and seasonality.
  • Forecast multiple quarters ahead using the appropriate seasonal component for each horizon.
  • Compare methods using errors, mean absolute error, and root mean squared error.
  • Identify when additive and multiplicative seasonal patterns imply different forecasts.

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.

Definition: For quarterly data, the seasonal period is \(m=4\). A seasonal-naive forecast made at time \(t\) for time \(t+h\) is the observed value from the same quarter one year earlier, when available: \(\hat{y}_{t+h|t}=y_{t+h-4}\). The forecast error for an observed value is \(e_t=y_t-\hat{y}_{t|t-1}\). Positive error means the forecast was too low.

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.

Additive Holt-Winters: Seasonal effects are measured in the same units as the observations. The seasonal components for one full cycle are conventionally centered to sum to zero.
$$ \begin{aligned} \ell_t&=\alpha(y_t-s_{t-4})+(1-\alpha)(\ell_{t-1}+b_{t-1}),\\ b_t&=\beta(\ell_t-\ell_{t-1})+(1-\beta)b_{t-1},\\ s_t&=\gamma(y_t-\ell_t)+(1-\gamma)s_{t-4},\\ \hat{y}_{t+h|t}&=\ell_t+h b_t+s_{t-4+q(h)}. \end{aligned} $$

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.

Multiplicative Holt-Winters: Seasonal effects are dimensionless factors, conventionally averaging 1 over a full cycle. The observed value is divided by the seasonal factor when updating the level, and the trend-plus-level forecast is multiplied by the future quarter's factor.
$$ \begin{aligned} \ell_t&=\alpha\left(\frac{y_t}{s_{t-4}}\right)+(1-\alpha)(\ell_{t-1}+b_{t-1}),\\ b_t&=\beta(\ell_t-\ell_{t-1})+(1-\beta)b_{t-1},\\ s_t&=\gamma\left(\frac{y_t}{\ell_t}\right)+(1-\gamma)s_{t-4},\\ \hat{y}_{t+h|t}&=(\ell_t+h b_t)s_{t-4+q(h)}. \end{aligned} $$

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.

YearQuarter 1Quarter 2Quarter 3Quarter 4
180102.5126107.5
288112.5138117.5
396122.5150127.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.

1
Extend the level.
Assuming the estimated trend continues, the level at horizon \(h\) is \(\ell_t+h b_t\).
2
Locate the future season.
For quarterly data, select the seasonal component for the actual quarter at horizon \(h\); the seasonal sequence repeats every four steps.
3
Combine level, trend, and season.
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.

Common exam trap: Do not confuse a seasonal-naive forecast with a forecast that includes trend. If Year 2 Quarter 1 is 88, the seasonal-naive forecast for Year 3 Quarter 1 is 88, not 88 plus an estimated trend. The correction is to use \(y_{t+h-4}\) for seasonal-naive forecasting and reserve level-plus-trend extrapolation for Holt-Winters or another trend method. Also check that a quarterly trend is multiplied by the number of quarters ahead.

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.

Key takeaway: Align forecasts to the future quarter, extend trend in quarterly units, and apply the seasonal component in the form specified by the model. Compare errors on common validation observations, and interpret the result in light of the series' seasonal pattern.

Check Your Understanding

Work each problem before checking its final answer.

  1. 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\).)
  2. 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\).)
  3. 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\).)
  4. 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\).)
  5. 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\).)
Clinical Biostats