What is Seasonality?
A pattern that repeats on a fixed calendar — measured as a seasonal index, period average ÷ overall average.
Seasonality is a regular pattern in your numbers that repeats on the calendar — retail peaks in Q4, landscaping in spring, B2B software in budget-refresh season. It's not trend (steady growth) and not noise (never repeats); it's the shape the year imposes on top of everything else.
You measure it with a seasonal index: for each calendar period, its average across several years divided by the overall period average. An index of 1.14 says that period runs 14% hot; 0.93 says 7% cold. Two full cycles is the practical minimum — with one year you can't separate the pattern from whatever else happened that year.
The index earns its keep by going back into planning: divide actuals by the index to de-seasonalize (is growth real, or just Q4?), multiply a forward view by the index to re-seasonalize (Q4 will not look like Q3). A run rate or rolling forecast built on a seasonal business without this correction is precisely wrong.
Formula
Seasonal index = average of period across years ÷ overall period average
A period's average over N years divided by the average of all periods. Index > 1 = hot period, < 1 = cold. Needs at least two full cycles to mean anything.
The Sumwise question
Compute the seasonal index by quarter from two years of revenue: each quarter's two-year average, the overall average, and each quarter's index.
Runs on seasonality_sample.csv. An inline two-year quarterly sample (downloadable below) — the repo's monthly demo sample is deliberately trend-only, so the glossary carries its own small seasonal table with a Q4 peak.
Worked example — seasonality_sample.csv
| Q1 two-year average ÷ overall average | $1,365,000 ÷ $1,468,750 = 0.93 |
| Q2 index | 0.96 |
| Q3 index | 0.97 |
| Q4 index | 1.14 |
| De-seasonalized Q4 2025 ($1,715,000 ÷ 1.14) | $1,504,386 |
Q4 runs 14% hot (index 1.14) and Q1 7% cold (0.93): the $1,715,000 Q4 is only ~$1.50M once the calendar effect is divided out — that residue is the real growth signal.
seasonality_sample.csv — drop it into the demo's Your-own-CSV tab (or Excel) and re-run the example.
Common questions
How many years do I need to compute a seasonal index?
Two minimum, three to be safe. One year conflates the pattern with one-off events (a launch, a lost customer); averaging across years is what washes those out and leaves the calendar shape.
Monthly or quarterly indices?
Match the rhythm of the business: monthly for most transactional businesses, quarterly when the driver is budget cycles or fiscal quarters. The formula is identical — just pick periods and stay consistent.
My business isn't seasonal — how would I know?
Compute the indices anyway: if they all sit near 1.00 (±3%), there's no material calendar pattern and a straight run rate is safe. The check costs one query; skipping it is how Q4 surprises Q1.
Compute seasonality on your own export, every month
Free workspace: 10 questions/day, files up to 10 MB. Pro $15/mo ($99/yr) for 100 MB. Your files never leave your browser.
client-side by design SQL always shown
Related terms
Rolling forecast
Actuals for closed months plus a re-cut forecast for the rest of the year — same horizon, refreshed every cycle.
Run rate
A trailing period's revenue annualized to a full year — the forward-looking size of the business.
Year-over-year growth
Change versus the same period last year — (current − prior) ÷ prior, the growth measure that cancels seasonality.