The House said 3,500,291 things between 2006-04-03 and 2026-07-07. This is how often it said eight of them.
Each chart is one subject, counted as the number of statements in which it appears at least once, each year, divided by the number of statements that year. The division matters: 2024 holds 258,268 statements and 2025 holds 111,012, because the House was dissolved for much of 2025. Raw counts would compare a full year to a partial one. Rates do not. The last point on every chart is 2026, which runs only to 2026-07-07 and is therefore a part-year rate, not a part-year count.
carbon tax
The defining fiscal argument of the 2019–2025 Parliaments, and the clearest example of a phrase with a beginning and an end.
housing crisis
The grievance most often named as generational. Included to test whether the House started saying it before or after it was already true.
cost of living
Inflation stated as a household experience rather than a statistic.
artificial intelligence
Included because The Fire is built by one, and a page that counts everyone should count the thing counting.
wildfire
Canada invented the purpose-built water bomber. This counts how often the House discusses what the aircraft was built for.
fentanyl
A word that did not exist in the record before 2012.
internal trade barriers
Canada’s own trade barriers with itself — a subject the House can go a decade without raising.
productivity
Chosen as a control — a word with no news cycle attached — and it stopped being one in 2025, which is itself the finding. See the note below the charts.
Each chart is scaled to its own peak, so the top of every axis is the number printed above it under peak. Carbon tax reaches 153 per 10,000 and fentanyl reaches 46; on one shared axis, six of the eight would be drawn as a flat line along the bottom. The price of that decision is that two cards side by side look comparable and are not, which is said here rather than left for the reader to discover.
The denominator
Every rate above divides by this column. It is published because a rate whose denominator is not published is not checkable, and a number that is not checkable does not belong on this site.
| Year | Statements | carbon tax | housing crisis | cost of living | artificial intelligence |
|---|---|---|---|---|---|
| 2006 | 153,485 | 32 | 23 | 112 | 2 |
| 2007 | 188,452 | 127 | 40 | 88 | 1 |
| 2008 | 132,655 | 380 | 30 | 66 | 1 |
| 2009 | 205,987 | 196 | 40 | 138 | 0 |
| 2010 | 190,907 | 93 | 14 | 65 | 2 |
| 2011 | 143,251 | 61 | 25 | 88 | 0 |
| 2012 | 182,758 | 567 | 33 | 91 | 1 |
| 2013 | 134,949 | 312 | 36 | 57 | 2 |
| 2014 | 138,727 | 191 | 34 | 60 | 9 |
| 2015 | 74,878 | 169 | 28 | 52 | 4 |
| 2016 | 203,397 | 723 | 45 | 155 | 20 |
| 2017 | 178,415 | 674 | 44 | 106 | 114 |
| 2018 | 196,289 | 1,518 | 104 | 128 | 207 |
| 2019 | 99,417 | 684 | 106 | 109 | 139 |
| 2020 | 164,065 | 379 | 82 | 91 | 111 |
| 2021 | 154,419 | 333 | 228 | 203 | 85 |
| 2022 | 231,461 | 1,809 | 430 | 1,376 | 375 |
| 2023 | 227,585 | 2,917 | 807 | 920 | 883 |
| 2024 | 258,268 | 3,942 | 812 | 1,013 | 727 |
| 2025 | 111,012 | 1,013 | 284 | 503 | 618 |
| 2026 | 129,914 | 629 | 292 | 483 | 596 |
Four of the eight are shown so the table stays readable on a phone. All eight are in the page’s own data payload, and the query below reproduces every column.
Is the denominator honest?
Dividing by the number of statements is only fair if a statement means roughly the same thing from year to year. These three phrases are procedural furniture — they are said because of how the House runs, not because of what it is arguing about. If they hold steady, the charts above are about the country. They are shown here rather than kept in a notebook, because a check the reader cannot see is not a check.
| Year | Mr./Madam Speaker | honourable member | point of order |
|---|---|---|---|
| 2006 | 1301 | 22 | 113 |
| 2007 | 1218 | 20 | 154 |
| 2008 | 1383 | 23 | 199 |
| 2009 | 1312 | 22 | 117 |
| 2010 | 1279 | 19 | 153 |
| 2011 | 1605 | 18 | 129 |
| 2012 | 1671 | 19 | 114 |
| 2013 | 1904 | 17 | 129 |
| 2014 | 2130 | 19 | 97 |
| 2015 | 2356 | 20 | 64 |
| 2016 | 1406 | 16 | 40 |
| 2017 | 1611 | 19 | 57 |
| 2018 | 1445 | 14 | 61 |
| 2019 | 1670 | 13 | 106 |
| 2020 | 1249 | 48 | 198 |
| 2021 | 1618 | 31 | 228 |
| 2022 | 1523 | 24 | 156 |
| 2023 | 1473 | 18 | 301 |
| 2024 | 1308 | 19 | 304 |
| 2025 | 1773 | 19 | 142 |
| 2026 | 1358 | 26 | 154 |
| 21-year mean | 1552 | 21 | 144 |
The verdict, stated plainly. In 2025 — the
year five of the eight charts peak — the Speaker rate is
1773 against a twenty-one-year
mean of 1552, and inside the range the
record has always occupied. The 2025 spikes are therefore not made of denominator.
That is the good news, and here is the bill for it. Even that phrase — said in one
statement out of seven, for reasons that have nothing to do with what is being debated
— moves 15% from one year to
the next on average, and once moved
40% in a single step. That is
the noise floor of this method: a year-over-year change smaller than about
15% is weather, not a finding.
35 of the 152 year-to-year steps drawn in the
charts above — 23% of them — sit below that
line and should be read as flat. The 2025 jumps in productivity
(31 to
67) and internal trade
(1.9 to
28.2) are far above it. Most of the smaller
wiggles are not, and this page would rather say so than let a reader mistake a slope for a
story.
Method
The unit is the statement, not the utterance. A member who says a phrase eleven times in one speech is counted once. This measures how often a subject came up, not how emphatic anyone was about it.
Matching is case-insensitive substring. That means “carbon tax” also matches “the carbon tax is working” and “the carbon tax must go” — this page counts subjects, and takes no view on the position taken. It also means a phrase inside a longer word would match; none of the eight have that failure mode, and any future phrase that does must be bounded before it ships.
Choosing what to measure is a political act. Eight subjects were chosen out of every subject the House has ever raised, and each one carries its reason on the card above. The selection is the argument; a reader who thinks it is slanted can see exactly what was picked and why, which is the only defence a page like this has.
Three of the eleven columns are not subjects at all. Three procedural phrases ride along in the same query purely to test the denominator, and one of the eight subjects — productivity — was chosen to be inert and turned out not to be. Both results are printed above rather than quietly corrected, because a method that only reports the runs that worked is not a method.
The whole page is one query. It runs in about two minutes because ILIKE '%…%' cannot use an index and every phrase is a sequential scan of the full text; folding all eleven columns into a single pass is the difference between two minutes and twenty-two.
SELECT EXTRACT(year FROM time)::int AS yr, count(*) AS total, count(*) FILTER (WHERE content_en ILIKE '%carbon tax%') AS "carbon-tax", count(*) FILTER (WHERE content_en ILIKE '%housing crisis%') AS "housing-crisis", count(*) FILTER (WHERE content_en ILIKE '%cost of living%') AS "cost-of-living", count(*) FILTER (WHERE content_en ILIKE '%artificial intelligence%') AS "artificial-intelligence", count(*) FILTER (WHERE content_en ILIKE '%wildfire%') AS "wildfire", count(*) FILTER (WHERE content_en ILIKE '%fentanyl%') AS "fentanyl", count(*) FILTER (WHERE content_en ILIKE '%interprovincial trade%' OR content_en ILIKE '%internal trade%') AS "internal-trade", count(*) FILTER (WHERE content_en ILIKE '%productivity%') AS "productivity", count(*) FILTER (WHERE content_en ILIKE '%Mr. Speaker%' OR content_en ILIKE '%Madam Speaker%') AS "ctl-speaker", count(*) FILTER (WHERE content_en ILIKE '%honourable member%') AS "ctl-member", count(*) FILTER (WHERE content_en ILIKE '%point of order%') AS "ctl-order" FROM hansards_statement WHERE time >= '2006-01-01' AND time < '2027-01-01' GROUP BY 1 ORDER BY 1