📅 Interpretation guide

Seasonality Mistaken for Improvement

Seasonal variation is the most common source of false improvement signals in healthcare data. A programme launched in winter looks successful by spring — not because anything changed, but because spring always looks better than winter. This page explains how to recognise seasonal patterns, why standard charts miss them, and what to do.

StepChangeAnalysis.com  ·  Interpretation guide  ·  June 2026
☰  Contents

What seasonal variation is

Seasonal variation is predictable, recurring fluctuation caused by the time of year — not by any change in the underlying system. It is common cause variation: the normal noise of a stable process that happens to follow a calendar pattern.

In healthcare, seasonal patterns are pervasive. NHS A&E attendance peaks in winter and is lower in summer. Infection rates follow seasonal cycles. Referral volumes vary by month. Mental health presentations peak at predictable times of year. Respiratory admissions rise in cold weather. These patterns have been present for decades. They are features of the system, not signals that the system has changed.

The key test

Seasonal variation passes the same-time-last-year test: compare this January to last January, not this January to last October. If the difference disappears when you compare like-for-like months, you are looking at seasonal variation, not structural change.


The seasonal trap in improvement work

The seasonal trap is one of the most common and most damaging measurement errors in healthcare improvement. It works like this:

Step1

A programme launches in autumn or winter

Most NHS improvement programmes launch at the start of a financial year (April) or after a winter crisis (January–March). Both are near-seasonal lows for many metrics.

Step2

The metric improves over the following months

Of course it does — because spring and summer follow winter. The metric was always going to improve. The improvement is entirely seasonal.

Step3

The improvement is attributed to the programme

A before-and-after comparison between winter and summer shows a statistically significant improvement. The programme is declared a success. Resources are committed to scaling it up.

Step4

The following winter, performance deteriorates again

The team concludes that implementation has slipped, or that the programme needs reinforcing. More effort is applied. The seasonal cycle repeats. The programme is never properly evaluated because the measurement tool cannot separate the programme's effect from the season.

The cost of the seasonal trap

Programmes declared successful on seasonal data continue to receive investment long after they should have been evaluated honestly. Programmes that genuinely work are credited for seasonal gains they did not produce, making their actual effect invisible. And the seasonal trap compounds: once a false success is on record, the organisation has a vested interest in the narrative — making honest re-evaluation politically difficult. See False Alarms in Performance Charts for the broader pattern.


NHS examples

NHS A&E four-hour performance

NHS A&E four-hour performance follows a strong seasonal pattern: performance is consistently lower in winter (December–February) and higher in summer (June–August). The difference between a winter low and a summer high can be 5–10 percentage points. Any improvement programme launched in January and evaluated in June will appear successful purely from this seasonal recovery — regardless of whether anything structurally changed. The Bootstrap CUSUM analysis of 15 years of A&E data on this site finds no upward change point across 184 monthly observations despite multiple interventions — precisely because the seasonal appearance of improvement was never genuine structural change. See Why Nothing Has Worked: NHS A&E.

Infection rates

Healthcare-associated infection rates tend to be lower in summer and higher in winter, partly reflecting seasonal variation in respiratory and gastrointestinal pathogens circulating in the community. An infection control programme launched in spring and evaluated after three months will almost always show improvement. Whether that improvement represents genuine structural change — or the seasonal decline that was already happening — can only be answered by comparing to the same period in previous years, or by running Bootstrap CUSUM on the full annual series.

Referral volumes and waiting times

GP referral volumes and outpatient waiting times vary substantially by month, with predictable dips around August (junior doctor changeover, holiday period) and peaks in autumn and early spring. A waiting list reduction programme evaluated across the August dip will show improvement that reverses in September regardless of the programme's actual effect.


Quick checks — is this seasonal or structural?

Before drawing any conclusions from an improvement in your data, run these checks:

✅ The same-time-last-year test

Compare this month to the same month last year — not to last month.

If performance in April this year is better than April last year — that is potentially genuine. If performance in April this year is better than February this year — that may simply be April being better than February, as it always is.


How Bootstrap CUSUM handles seasonality

Bootstrap CUSUM is more robust to seasonality than visual inspection or before-and-after comparison — but it is not immune. Understanding how it interacts with seasonal data prevents misinterpretation.

On a short series with strong seasonality, Bootstrap CUSUM may detect the seasonal peak as a change point. This is not a bug — it is the algorithm doing its job correctly on data that contains a sustained deviation from the process mean. The seasonal peak genuinely is a sustained deviation. The question is whether it is a recurring seasonal deviation or a new structural level.

The practical check: run Bootstrap CUSUM on the full available series — not just the recent period. If the algorithm finds change points at the same time each year (e.g. every November and every May), those are seasonal boundaries, not structural ones. If a change point appears once and the new level is sustained across subsequent seasons — including the winter that follows — it is likely structural.

The best approach for highly seasonal series is one of these three options:

Option 1 — Use annual data

Run Bootstrap CUSUM on annual totals or annual averages rather than monthly data. This removes seasonal variation entirely — the annual mean is the same regardless of which month you are in. A genuine structural improvement will shift the annual mean. Seasonal variation cancels out within each year.

Option 2 — Compare same months across years

Run Bootstrap CUSUM separately on January data across multiple years, February data across multiple years, and so on. Each month-series removes the seasonal effect and shows whether that month is genuinely improving year-on-year. This requires more years of data but gives the most precise picture.

Option 3 — Use seasonally adjusted data

If you have access to seasonally adjusted figures (NHS England publishes these for some metrics), use those as your Bootstrap CUSUM input. Seasonally adjusted data removes the predictable seasonal component, leaving only the underlying trend and any structural changes.


What to do with seasonal data


Related concepts