Data study 06 of 09 · Public health

What did the pandemic do to opioid deaths?

Canada's overdose crisis is usually told through single terrible numbers. Ten years of federal data allow a fuller account: what changed in 2020, how long it lasted, and where the country stands now.

PHAC / Health Infobase data 40 quarters, 2016 to 2025 ~4 minute read Skip to the technical notes

This page comes in two parts: the story in plain language first, then technical notes with the model, full estimates, and the design's limits. The subject is heavy; the numbers are handled with care.

The national picture

A crisis that was already here found a second gear in 2020

The Public Health Agency of Canada publishes a quarterly count of deaths from opioid toxicity, assembled from every provincial coroner and medical examiner. It is one of the country's most carefully maintained public datasets, and it is free to download.

How to read the first chart: each vertical bar is one quarter's deaths across Canada, from 2016 through 2025. Before 2020, the country lost on average about 916 people a quarter. The dashed line marks the second quarter of 2020, when pandemic disruptions hit drug supplies, services, and the people who use them, all at once. Deaths jumped about 85% and stayed near that level for three years, peaking at 2,082 in the last quarter of 2021. The most recent quarters show the wave receding: 1,404 deaths in late 2025, about a third below the peak, though still far above the pre-2020 level.

Opioid deaths jumped 85% when the pandemic hit, and stayed high for three years

apparent opioid toxicity deaths per quarter, Canada – 2016 Q1 to 2025 Q4 – the dashed line marks the second quarter of 2020

0 500 1,000 1,500 2,000 pandemic onset · 2020 Q2 pre-2020 average: 916 a quarter peak: 2,082 · 2021 Q4 2025 Q4: 1,404 one third below the peak 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025

Public Health Agency of Canada / Health Infobase · deaths reported as of May 12 2026 · recent quarters can be revised upward

The provincial picture

One crisis, very different provincial curves

National totals hide how differently the crisis has run across the country. Rates per 100,000 people put provinces of very different sizes on the same footing.

How to read the second chart: each line is a province's annual deaths per 100,000 residents. British Columbia has carried the highest rate for the whole decade and peaked most recently, in 2024. Alberta's rate has fallen by more than a third since its 2023 peak. Ontario's has halved since 2021 and is now close to where it stood before the pandemic. The federal dataset itself cautions that provinces identify cases somewhat differently, so the honest comparison is each line against its own history rather than line against line.

Ontario's death rate has halved from its peak; British Columbia's remains about four times as high

Apparent opioid toxicity deaths per 100,000 people (crude rate), annual – B.C. · Alberta · Ontario · Canada – the source cautions that provinces identify cases differently, so read each line against its own history

0 10 20 30 40 B.C. 32.3 Alberta 22.8 Ontario 8.6 Canada 13.5 2016 2018 2020 2022 2024

Public Health Agency of Canada / Health Infobase · annual crude rates, 2016–2025

This page reports deaths as data because that is what the analysis can speak to. Behind every count is a person. Context, technical notes, and links to support resources are maintained by the federal government alongside the dataset itself on the Health Infobase site cited below.

The model, shown honestly

What the models actually look like on the data

A model is a claim about the shape of the data, so the fairest way to judge one is to draw it over the observations it claims to describe. Here are both of this study's specifications, drawn over all forty quarters.

How to read this chart: the light dots are the raw quarterly deaths. The dark curve is the model with a quadratic post-2020 trend; the thin dashed line is the simpler model with a straight post-2020 trend. The two agree on the jump at 2020 and on the long plateau. They part ways at the end: the curve follows the recent decline down to within thirty deaths of the actual final quarter, while the straight line overshoots it by more than two hundred. That gap, visible here, is the entire content of the sensitivity analysis reported in the technical notes below.

Both models drawn over the data: they agree on the jump and part ways at the end

deaths per quarter · quadratic post-trend fit (R² = 0.90) · thin dashed = linear post-trend fit (R² = 0.87) – both include seasonal terms; the sensitivity analysis in the notes below, made visible

0 500 1,000 1,500 2,000 2020 Q2 curve fit straight-line fit 2025 Q4: actual 1,404 curve 1,374 · line 1,637 2016 2018 2020 2022 2024

PHAC / Health Infobase · fitted values committed alongside the raw series

What this does not prove

The honest fine print

A nationwide shock leaves no comparison group: there is no group of Canadians the pandemic did not touch. So unlike my shelter study, which had a comparison series and a placebo check, this is a before-after model, and a before-after model cannot fully separate the pandemic from other forces moving at the same time, most importantly the increasingly toxic illegal drug supply, which was worsening before 2020 and kept worsening after. The model describes when and how sharply the series changed; the causal story behind that change is genuinely mixed.

Recent quarters can also be revised upward as coroners' investigations close, so the newest numbers are best treated as slightly provisional. One more nuance for careful readers: how much of the 2020 surge arrived in a single jump versus a rapid climb over the following year depends on how the post-2020 curve is modeled; the technical notes report both versions, which bracket the immediate jump between roughly +54% and +85%. The overall elevation does not depend on that choice.

Technical terms, translated

Crude rate
Deaths per 100,000 residents. It lets a province of five million be compared fairly with one of fifteen million.
Level shift
How far the whole series jumped at a chosen moment, once the seasonal rhythm and the earlier trend are accounted for.
Seasonal terms
Deaths follow a mild yearly rhythm. The model accounts for it so a seasonal high is never mistaken for a real change.
"Does not quite clear conventional significance"
The recent decline is estimated at 2.6% per quarter, but the uncertainty range narrowly includes zero (p = .063). Honest reporting says so instead of rounding the doubt away.
PHAC / Health Infobase Interrupted time series Python · statsmodels 40 quarters · 10 provinces and territories feeding one file
Part two · For technical readers

Technical notes

The specification, full estimates, and the design's limits, stated without varnish.

Data and variables

PHAC / Health Infobase substance-related harms file (deaths reported as of May 12, 2026). Outcome: apparent opioid toxicity deaths, overall numbers, by quarter, Canada (n = 40 quarters, 2016 Q1 to 2025 Q4). Provincial context: annual crude rates per 100,000 for British Columbia, Alberta, Ontario, and Canada. The source suppresses small cells and cautions that case identification differs across provinces and over time.

Model

Single-series interrupted time series on log quarterly deaths, in the segmented-regression framework of Bernal, Cummins and Gasparrini (2017): intercept, linear pre-trend, a level shift and a slope change at 2020 Q2, and quarter-of-year indicators for seasonality. Newey-West standard errors with 4 lags (Newey and West, 1987) handle serial correlation. Coefficients are reported as percentage changes, (e^b − 1) × 100. R² = 0.87.

log Yt = β0 + β1t + β2Postt + β3τt + Σq δqQqt + εt

where Postt = 1 from 2020 Q2, τt = quarters since 2020 Q2 (0 before), and Qqt are quarter-of-year indicators; Newey–West errors, 4 lags. The functional-form sensitivity adds β4τt2.

Estimates

TermEstimate95% CIp
Pre-2020 trend, per quarter+1.8%−0.5 to +4.1.13
Level shift at 2020 Q2+84.6%+47.4 to +131.2< .001
Slope change after 2020 Q2, per quarter−2.6%−5.3 to +0.1.063

Descriptives anchoring the plain-language claims: pre-2020 mean 915.9 deaths per quarter; peak 2,082 (2021 Q4); latest 1,404 (2025 Q4), a 32.6% decline from the peak. Provincial crude-rate peaks and 2025 values: B.C. 41.4 (2024) then 32.3; Alberta 39.8 (2023) then 22.8; Ontario 19.4 (2021) then 8.6.

Sensitivity: functional form

The primary model gives the post-2020 period a single linear slope. Refitting with a quadratic post-trend, the same fix my shelter study needed, fits better (R² 0.87 to 0.90) and the curvature term is strongly significant (p < .001): the post-2020 path is genuinely a curve that rises, rounds a peak, and bends down. Under that form the estimates re-divide the same elevation: an immediate level shift of +53.9% (95% CI +19.7 to +98.0) followed by a continuing climb of about +2.5% per quarter that the curvature then reverses. With a level term and two trend terms sharing 23 post-break quarters, the split between "instantaneous jump" and "rapid early climb" is partly a modeling choice, and the two specifications bracket it: the immediate jump is somewhere between roughly +54% and +85%. What is robust across both forms, and visible in the raw counts (984 deaths in 2020 Q1, 1,638 in 2020 Q2, 1,813 by 2020 Q4), is a large, abrupt, sustained elevation beginning in the second quarter of 2020. Formal model comparison agrees with the eye: the quadratic model wins on both information criteria (AIC −43.1 vs −32.8; BIC −29.6 vs −21.0), and since BIC penalizes the extra curvature parameter hardest, agreement between the two is the meaningful check. The recent decline is likewise better read from the descriptives (32.6% below peak) than from either model's trend term.

Threats to validity

No control series exists for a national shock, so the level shift is a descriptive break, and attribution to the pandemic specifically is partial: the fentanyl-driven toxicity of the illegal supply was rising before 2020 and continued after. Reporting lags mean recent quarters revise upward, which would shrink the estimated recent decline; this biases against the "receding wave" reading, and the write-up flags it. The break date is the second quarter of 2020 by construction (first full pandemic quarter), and moving it one quarter in either direction changes the level estimate by a few points without changing any conclusion.

Reproducibility

Three scripts (get_data.py, run_analysis.py, make_charts.py) on pandas and statsmodels. Every number on this page comes from the committed results.json and quarterly CSV.

References

  • Public Health Agency of Canada. (2026). Opioid- and stimulant-related harms in Canada [data set, deaths reported as of May 12, 2026]. Health Infobase. https://health-infobase.canada.ca/substance-related-harms/opioids-stimulants/ (retrieved July 2026). Data assembled by PHAC with provincial and territorial coroners, medical examiners, and health partners; hospitalization data collected by the Canadian Institute for Health Information.
  • Bernal, J. L., Cummins, S., & Gasparrini, A. (2017). Interrupted time series regression for the evaluation of public health interventions: a tutorial. International Journal of Epidemiology, 46(1), 348–355.
  • Newey, W. K., & West, K. D. (1987). A simple, positive semi-definite, heteroskedasticity and autocorrelation consistent covariance matrix. Econometrica, 55(3), 703–708.