Mean versus median seasonal returns: what the gap reveals
Two real SPY calendar windows, one where a single bad year opens a wide gap between the two averages and one where they agree.
On SPY's 15 sessions from October 31, the middle year beat holding by +1.38 pp; the average year by +0.12 pp. One year, 2008, at −19.09 pp, accounts for much of the gap. On the November window the two summaries nearly agree: +1.83 pp and +1.73 pp. The median describes the typical year; the mean carries the size of every year, including the worst. Read together, the gap between them says how much a few extreme years shape the result. Neither is a forecast.
Two averages, two questions
The mean adds every result and divides by the count. It answers: if each year had contributed equally, how much did the rule add on average? A single extreme year moves it in proportion to its size.
The median lines the results up and takes the middle one. It answers: what did a typical year look like? It ignores how far the extreme years went, only which side of the middle they fell on.
Both are honest. They disagree when the results are lopsided, and the direction of the disagreement is informative: a median above the mean points to a few large losses; a median below it points to a few large gains doing much of the work.
October 31: a median well above the mean
Sorted from best to worst, the 26 October 31 trades show why. Most years cluster a few points either side of zero. Then 2008 falls to −19.09 pp, more than twice as far below as the best year, 2023, is above (+8.34 pp).
One year sits far below the rest; the median barely notices it.
Removing one year at a time shows which summary is sensitive to what:
| Sample | Mean | Median |
|---|---|---|
| All years | +0.12 pp | +1.38 pp |
| Without 2008 (worst) | +0.89 pp | +1.57 pp |
| Without 2023 (best) | −0.21 pp | +1.20 pp |
Dropping 2008 lifts the mean to +0.89 pp; dropping 2023 turns it negative. The median moves far less in either case. That is the practical meaning of the gap: the mean of this rule rests on a handful of years, and which handful you keep changes its sign. The median says the typical year was positive; it says nothing about how bad the bad years were. The full evidence is on the October 31 research page.
November: mean and median close together
The November window has its own bad year, 2008 at −10.28 pp, and its own best, 2020 at +9.97 pp. But the body of the distribution sits clearly above zero, so neither extreme drags the mean far from the middle.
Mean and median nearly coincide.
Without 2008 the mean rises to +2.19 pp; without 2020 it falls to +1.41 pp. Both stay positive, and the median stays between +1.68 pp and +1.99 pp. When the two summaries agree and survive these checks, the average is less dependent on any single year. That is a statement about this sample, not about next November.
Looking for a mean carried by a few big years
The opposite pattern, a positive mean with a median near or below zero, would mean most years trailed holding while two or three large ones carried the average. We looked for it in every rule and symbol in this set of studies.
| Rule · ETF | Mean | Median | Gap | Years |
|---|---|---|---|---|
| October 31 · SPY | +0.12 pp | +1.38 pp | +1.26 pp | 26 |
| October 31 · QQQ | +0.04 pp | +0.93 pp | +0.89 pp | 26 |
| October 31 · IWM | +0.40 pp | +0.82 pp | +0.42 pp | 26 |
| November · SPY | +1.73 pp | +1.83 pp | +0.10 pp | 27 |
| November · QQQ | +1.87 pp | +2.05 pp | +0.18 pp | 27 |
| November · IWM | +2.50 pp | +2.73 pp | +0.23 pp | 26 |
None of the six shows it: in every case the median sits above the mean, so the large years that matter are losses, not gains. The published studies do not yet contain a clear example of a mean carried by a few large years.
The closest is the turn of the month, measured by year. Its 26 yearly averages have a median of +0.054 pp against a mean of +0.088 pp, and removing its 3 best years turns the mean of the rest negative. But its median is still well above zero, so most years did beat holding, if only slightly.
Per trade or per year changes the answer
For a once-a-year rule, a trade and a year are the same observation. The turn of the month trades about twelve times a year, and its two medians point in opposite directions. By year, the median (+0.054 pp) is below the mean (+0.088 pp). By trade, across all 311 trades, the median (+0.188 pp) is above the per-trade mean (+0.090 pp).
Both are correct. Most single trades beat holding by a little and a minority lost a lot; averaging each year's trades first folds those losses into their years and leaves a few strong years standing out. Any mean or median quoted for a rule that trades more than once a year should say which unit it uses.
The FOMC announcement-day rule, about eight trades a year, shows no such flip: its median is above its mean both by year (+0.091 pp against +0.024 pp) and by trade (+0.037 pp against +0.028 pp). The unit does not always change the answer, which is why it has to be stated.
What neither number tells you
A median is not the return of a normal year to come, and a mean is not an expected return. Both describe a fixed set of past observations. With 26 or 27 annual observations, removing one year visibly moves either figure, as the tables show.
- Report both, and say whether they count trades or years.
- Show every observation, sorted or in date order, so the extremes are visible.
- Show what removing the best and worst year does to each.
- Keep the comparison with ordinary holding; a raw return's mean and median mostly reflect the market's drift.
Scope: all figures are gross, before costs and tax, on history through 31 December 2025.
Read a study with all its years shown
Each research page lists every year against holding, so the mean, the median and the extremes can be checked.
Browse SeasonalEdge researchSources and research notes
- October 31 (SPY, QQQ, IWM) and November (SPY, QQQ, IWM): SeasonalEdge MCP
check_rule, retrieved 2026-10-19; rule idsdd9df50ad4b1eb0f,d95c4ebdeb2ecc21,ec39492da11d70ec,d7bff62caad48bf0,1319f86ec77a49b4,b5968a8c353e6dd4. - Turn of the month and FOMC (SPY): SeasonalEdge public research API, retrieved 2026-10-19T20:51:46Z.
- Research cutoff 31 December 2025; prices through 16 October 2026. Means and medians with a year removed, yearly medians and the count of best years are computed from the returned observations; other figures are evaluator fields.
- How SeasonalEdge research is computed · Glossary
Join our newsletter
We share our research, product news and upcoming seasonalities. Free, and you can unsubscribe at any time.