What even is this?
A seasonal index is a number that tells you how much a particular season is above or below the annual average. Summer might always be 40% above average, so its seasonal index is 1.4. Winter might always be 40% below, so its index is 0.6.
Once you have the indices, you can deseasonalise the data (remove the seasonal bump) to see what's really happening, and forecast future values by multiplying a trend value by the seasonal index.
e.g. SI = 0.6 means this season is typically 40% below the annual average
This season is typical, no seasonal effect in either direction
e.g. SI = 1.4 means this season is typically 40% above the annual average
Example, a beach resort's quarterly seasonal indices:
☀️ Summer
🍂 Autumn
❄️ Winter
🌸 Spring
Sum check: 1.4 + 1.0 + 0.6 + 1.0 = 4.0 ✓
Find the mean for each season
For each season (e.g. all the Summer quarters), add up all the values across every year and divide by the number of years.
Find the overall mean
Add all data values together and divide by the total number of data points.
Calculate each seasonal index
SI for a season = season mean ÷ overall mean. Check: all SIs should sum to the number of seasons.
| Season | Year 1 | Year 2 | Season Mean |
|---|---|---|---|
| ☀️ Summer | 140 | 168 | (140+168)÷2 = 154 |
| 🍂 Autumn | 100 | 120 | (100+120)÷2 = 110 |
| ❄️ Winter | 60 | 72 | (60+72)÷2 = 66 |
| 🌸 Spring | 100 | 120 | (100+120)÷2 = 110 |
| Total / Mean | 400 | 480 | Overall mean = 880 ÷ 8 = 110 |
Calculate each seasonal index
SISummer = 154 ÷ 110 = 1.4
SIAutumn = 110 ÷ 110 = 1.0
SIWinter = 66 ÷ 110 = 0.6
SISpring = 110 ÷ 110 = 1.0
Sum check
1.4 + 1.0 + 0.6 + 1.0 = 4.0 ✓ (equals the number of seasons)
To see the true underlying trend, without the seasonal bumps and dips, we deseasonalise the data. Divide each actual value by its seasonal index.
Using the beach resort data and the seasonal indices we just calculated:
Raw Data (seasonal)
| ☀️ Summer Yr1 | 140 |
| 🍂 Autumn Yr1 | 100 |
| ❄️ Winter Yr1 | 60 |
| 🌸 Spring Yr1 | 100 |
| ☀️ Summer Yr2 | 168 |
| 🍂 Autumn Yr2 | 120 |
| ❄️ Winter Yr2 | 72 |
| 🌸 Spring Yr2 | 120 |
Deseasonalised
| 140 ÷ 1.4 | 100 |
| 100 ÷ 1.0 | 100 |
| 60 ÷ 0.6 | 100 |
| 100 ÷ 1.0 | 100 |
| 168 ÷ 1.4 | 120 |
| 120 ÷ 1.0 | 120 |
| 72 ÷ 0.6 | 120 |
| 120 ÷ 1.0 | 120 |
Once you have a seasonal index and a trend value, you can predict a future value, adjusted for the expected seasonal effect.
Example: The trend line predicts that next winter's underlying value will be 130 (hundreds of visitors). What is the seasonally adjusted forecast for next winter?
The seasonal index "deflates" the trend value because winter is typically 40% below average.
• Deseasonalise (remove seasonal effect) → divide by SI
• Forecast (add seasonal effect back) → multiply by SI
This is where students lose marks, using ÷ when they should use ×, or vice versa.
Data: Year 1 Summer=140, Autumn=100, Winter=60, Spring=100. Year 2 Summer=168, Autumn=120, Winter=72, Spring=120. All in hundreds of visitors.
Overall mean = 880 ÷ 8 = 110
Add all 8 data values: 140+100+60+100+168+120+72+120 = 880. Divide by 8 data points.
Season means: Summer=154, Autumn=110, Winter=66, Spring=110
Average each pair: (140+168)÷2=154, (100+120)÷2=110, (60+72)÷2=66, (100+120)÷2=110.
Seasonal indices: 1.4, 1.0, 0.6, 1.0 (sum = 4 ✓)
Divide each season mean by the overall mean: 154÷110=1.4, 110÷110=1.0, 66÷110=0.6, 110÷110=1.0.
Interpret: Summer is 40% above average; winter is 40% below
SI=1.4 means a typical summer has 40% more visitors than the annual average. SI=0.6 means winter gets 40% fewer.
Forecast for Year 3 Winter (trend predicts 130)
Forecast = trend × SIWinter = 130 × 0.6 = 78 hundred visitors
Tap to reveal the answer. Try it yourself first!
Spring SI = 4 − (1.5 + 1.1 + 0.7) = 4 − 3.3 = 0.7
Spring SI = 0.7 means spring sales are typically 30% below the annual average, similar to winter. Both autumn and spring sit 10% above average, and summer is 50% above.
Step 2: SIWinter = 510 ÷ 350 = 1.457… ≈ 1.46
Winter is about 46% above average, as you'd expect for a ski resort! A seasonal index above 1 for winter is the opposite of a beach resort.
The deseasonalised value of 140 represents what the resort would have been expected to achieve if winter were an average season. In other words: the underlying trend suggests the resort should be getting about 14,000 visitors per quarter, but because winter is 40% below average, you actually only see 8,400 visitors.
Deseasonalising removes the seasonal "discount" to reveal the true trend.
The forecast is 22,400 visitors. The seasonal index multiplies the trend value because summer is above average, the seasonal effect amplifies the prediction upwards. Remember: forecasting = multiply by SI. Deseasonalising = divide by SI.
To deseasonalise (remove the seasonal effect), you DIVIDE by the seasonal index:
Trend value = 132 ÷ 1.1 = 120
The student's answer of 145.2 would be the forecast if you were going the other way, predicting a seasonal value FROM a trend value. They confused the two operations. A good way to remember: deseasonalising strips the season away → ÷. Forecasting adds the season back in → ×.