10.2 Seasonality, Decomposition & Seasonal Index Forecasting

Key Takeaways

  • A time series decomposes into four components: level, trend, seasonality, and random or irregular variation.
  • Multiplicative decomposition assumes seasonal swings scale with the level of demand; additive decomposition assumes they are a constant absolute amount.
  • Seasonal indices in a multiplicative model must average 1.00 across the full cycle, which is why raw ratios are normalized before use.
  • Deseasonalizing data before fitting a trend, then re-applying the seasonal index to the trend projection, is the standard seasonal forecasting sequence.
  • Holt-Winters triple exponential smoothing extends Holt's method with a third constant, gamma, that smooths the seasonal component.
Last updated: August 2026

Seasonality, Decomposition & Seasonal Index Forecasting

Most industrial and consumer demand carries a repeating annual, quarterly, or weekly pattern. A forecasting model that ignores it will over-forecast every trough and under-forecast every peak — and the resulting error will look like random noise even though it is entirely predictable. Exam 2 asks you to compute seasonal indices and apply them, so this is arithmetic worth practising.


The Four Components of a Time Series

ComponentSymbolWhat it isExample
Level$L$The baseline average around which demand fluctuates4,000 units per month
Trend$T$Persistent long-run upward or downward movement+80 units per month
Seasonality$S$A repeating pattern of fixed and known periodQ4 always 40% above average
Cyclical$C$Longer wave-like movement tied to economic cycles, of variable length5–8 year capital equipment cycle
Random / irregular$I$Unexplained residual variationA one-off strike or storm

Exam distinction: seasonality has a fixed, known period (12 months, 4 quarters, 7 days). Cyclicality has a variable, unpredictable period driven by economic conditions. Items that describe a "seasonal business cycle of roughly six years" are misusing the terms deliberately — that is cyclical variation.


Additive vs. Multiplicative Models

Additive: Yt=Lt+Tt+St+ItMultiplicative: Yt=Lt×Tt×St×It\text{Additive: } Y_t = L_t + T_t + S_t + I_t \qquad \text{Multiplicative: } Y_t = L_t \times T_t \times S_t \times I_t

AdditiveMultiplicative
Seasonal effectA constant number of units each cycle ("December is always +900 units")A constant proportion of the level ("December is always 1.45× average")
Appearance on a chartSeasonal swings stay the same height as the series growsSeasonal swings widen as the series grows
Seasonal factor formAdded or subtracted, averaging to 0Multiplied, averaging to 1.00
When to useStable-level series; low-growth mature productsGrowing or declining series — the common business default

Computing Seasonal Indices — Worked Example

Scenario: Three years of quarterly demand for an industrial coating.

QuarterYear 1Year 2Year 3
Q1620700780
Q29401,0401,140
Q31,2801,4001,520
Q4760860960
Annual total3,6004,0004,400

Step 1 — Compute each year's quarterly average.

  • Year 1: $3{,}600 / 4 = 900$ Year 2: $4{,}000 / 4 = 1{,}000$ Year 3: $4{,}400 / 4 = 1{,}100$

Step 2 — Compute the seasonal ratio for each quarter in each year (actual ÷ that year's quarterly average).

QuarterYear 1 ratioYear 2 ratioYear 3 ratioAverage ratio
Q1620/900 = 0.689700/1,000 = 0.700780/1,100 = 0.7090.699
Q2940/900 = 1.0441,040/1,000 = 1.0401,140/1,100 = 1.0361.040
Q31,280/900 = 1.4221,400/1,000 = 1.4001,520/1,100 = 1.3821.401
Q4760/900 = 0.844860/1,000 = 0.860960/1,100 = 0.8730.859
Sum3.999

Step 3 — Normalize so the indices sum to 4.00 (average 1.00). Normalization factor = $4.000 / 3.999 = 1.00025$. The adjustment is negligible here, giving final indices of Q1 = 0.699, Q2 = 1.040, Q3 = 1.401, Q4 = 0.860.

Exam trap: the indices in a multiplicative model must average 1.00 over the full cycle (sum to 4 for quarters, 12 for months). An item presenting four quarterly indices that sum to 4.6 is presenting an unnormalized — and therefore wrong — set.

Step 4 — Project the annual total for Year 4. Annual totals rise by a steady 400 units per year (3,600 → 4,000 → 4,400), so Year 4 is projected at 4,800, a quarterly average of 1,200.

Step 5 — Reseasonalize: forecast = deseasonalized projection × seasonal index.

QuarterQuarterly average× IndexYear 4 forecast
Q11,2000.699839
Q21,2001.0401,248
Q31,2001.4011,681
Q41,2000.8601,032
Total4,800

The reseasonalized quarters sum back to the annual projection, which is the arithmetic check that the indices were normalized correctly.


The Standard Seasonal Forecasting Sequence

  1. Deseasonalize the history: divide each actual by its seasonal index. What remains is level, trend, and noise.
  2. Fit the trend to the deseasonalized series using regression or double exponential smoothing.
  3. Project the trend forward across the forecast horizon.
  4. Reseasonalize: multiply each projected period by its seasonal index.

Fitting a trend to raw seasonal data is a classic error — the trend line is distorted by wherever the fitted window happens to start and stop in the seasonal cycle.


Holt-Winters Triple Exponential Smoothing

Where single exponential smoothing handles level and Holt's double method adds trend, Holt-Winters adds a third component for seasonality, using three smoothing constants:

  • $\alpha$ (alpha) — smooths the level
  • $\beta$ (beta) — smooths the trend
  • $\gamma$ (gamma) — smooths the seasonal component

The multiplicative form, with season length $s$:

Level: Lt=αAtSts+(1α)(Lt1+Tt1)\text{Level: } L_t = \alpha \frac{A_t}{S_{t-s}} + (1-\alpha)(L_{t-1} + T_{t-1}) Trend: Tt=β(LtLt1)+(1β)Tt1\text{Trend: } T_t = \beta (L_t - L_{t-1}) + (1-\beta) T_{t-1} Seasonal: St=γAtLt+(1γ)Sts\text{Seasonal: } S_t = \gamma \frac{A_t}{L_t} + (1-\gamma) S_{t-s} Forecast: Ft+m=(Lt+mTt)×Sts+m\text{Forecast: } F_{t+m} = (L_t + m T_t) \times S_{t-s+m}

Holt-Winters requires at least two full seasonal cycles of history to initialize the seasonal factors, which is exactly why it cannot be used for a new product and why introduction-stage forecasting falls back on analogy and judgment.


Practical Cautions for Supply Managers

  • Separate seasonality from promotions. A December spike caused by an annual promotion is a promotional effect. If the promotion is discontinued, a seasonal index built from it will over-forecast every December thereafter. Promotional lift should be modelled and removed from history before indices are computed.
  • Watch for shifting seasons. Holiday timing, fiscal-year-end buying, weather patterns, and channel changes move seasonal peaks. Recompute indices annually rather than treating them as permanent.
  • Trading-day and calendar effects. A month with five Mondays sells differently from one with four. Normalizing history for working days removes a source of apparent seasonality that is really a calendar artifact.
  • Seasonality is a capacity problem, not just a forecasting one. A Q3 index of 1.40 means peak-quarter volume is double the Q1 trough. That gap must be resolved by inventory pre-build, flexible capacity, or supplier surge agreements — and those commitments must be negotiated months before the peak, which is the supply management deliverable that the seasonal forecast exists to trigger.
Loading diagram...
Deseasonalize, Trend, Reseasonalize
Test Your Knowledge

A planner computes quarterly seasonal ratios of 0.72, 1.05, 1.38, and 0.85 from three years of history and applies them directly to a trend projection. What check has been skipped, and does it matter here?

A
B
C
D
Test Your Knowledge

Three years of quarterly data produce normalized seasonal indices of Q1 = 0.70, Q2 = 1.04, Q3 = 1.40, and Q4 = 0.86. The deseasonalized trend projects an annual total of 4,800 units for next year. What is the Q3 forecast?

A
B
C
D
Test Your Knowledge

A product line's demand swings have grown wider in absolute units each year as total volume has increased, although the percentage swing has stayed roughly constant. Which decomposition model fits, and which smoothing method extends the basic exponential smoothing family to handle both trend and season?

A
B
C
D