RidingWatch — Canada's Federal Seat Projection Model

LIVE NATIONAL POLLING AVERAGE
LPC
CPC
NDP
BQ
GRN
LPC LEAD
30D POLLS
P(MAJ)
LIBERAL
PROJECTED SEATS · 95% CI
VOTE SHARE
P(MAJORITY)
VS 2025
CONSERVATIVE
PROJECTED SEATS · 95% CI
VOTE SHARE
P(MAJORITY)
VS 2025
172 TO WIN
ALL 343 RIDINGS · DETERMINISTIC PROJECTION · 95% CI FROM 10,000 SIMULATIONS BQ — · NDP — · GRN —

Liberals hold a commanding lead — projection moves to seats, a majority probability.

UPDATED RECENTLY
Latest poll Tightest race Seats in play
By-election watch 5 vacant · 1 opening · no by-election called yet

By-Election Watch — 6 open seats

QuebecOpen seat

Saint-Hyacinthe—Bagot—Acton

Simon-Pierre Savard-Tremblay (Independent, elected as Bloc Québécois) resigned June 19, 2026 to run for the Parti Québécois.

Vacant since June 19, 2026 · by-election not yet called

Projected: BQ · 90% win probability
BQ43.9
LPC37.0
CPC10.8
NDP5.6

2025 result: BQ 44.0 · LPC 34.0 · CPC 18.0

OntarioOpen seat

Scarborough North

Shaun Chen (Liberal) resigned August 15, 2026 for health reasons.

Vacant since August 15, 2026 · by-election not yet called

Projected: LPC · >99% win probability
LPC68.7
CPC22.6
NDP7.3
GRN1.5

2025 result: LPC 63.0 · CPC 33.0 · NDP 4.0

QuebecOpen seat

Rosemont—La Petite-Patrie

Alexandre Boulerice (Independent, elected as NDP) resigned August 25, 2026 to run for Québec solidaire.

Vacant since August 25, 2026 · by-election not yet called

Projected: NDP · 95% win probability
NDP43.9
LPC34.5
BQ17.4
GRN3.7

2025 result: NDP 41.0 · LPC 32.0 · BQ 18.0

QuebecOpen seat

Laurier—Sainte-Marie

Steven Guilbeault (Liberal) resigned August 28, 2026.

Vacant since August 28, 2026 · by-election not yet called

Projected: LPC · >99% win probability
LPC54.9
NDP24.1
BQ15.4
GRN4.2

2025 result: LPC 52.0 · NDP 19.0 · BQ 15.0

SaskatchewanOpen seat

Yorkton—Melville

Cathay Wagantall (Conservative) resigned August 31, 2026.

Vacant since August 31, 2026 · by-election not yet called

Projected: CPC · >99% win probability
CPC70.4
LPC16.5
NDP9.6
GRN3.6

2025 result: CPC 78.0 · LPC 14.0 · NDP 6.0

OntarioOpening seat

Brantford—Brant South—Six Nations

Larry Brock (Conservative) is resigning effective September 18, 2026 to return to the Crown attorney's office.

Seat opens September 18, 2026 · by-election not yet called

Projected: LPC · 51% win probability
LPC43.2
CPC43.2
NDP9.9
GRN3.7

2025 result: CPC 52.0 · LPC 41.0 · NDP 4.0

RidingWatch models general-election riding outcomes from national polling. By-elections differ — turnout, candidates, local dynamics — so read these as what the model says about each riding today, not a by-election forecast. Seats shown are vacant or about to be; Elections Canada has not yet set voting days.
MOST LIKELY SCENARIOS

Outcome probabilities

LPC MAJORITY
Liberals reach 172+ seats outright.
LPC MINORITY
Liberal plurality, short of 172.
CPC MINORITY
Conservative plurality, short of 172.
HUNG
No party with a clear plurality.
Based on 10,000 Monte Carlo iterations — each percentage is the share of those simulated elections that produced that outcome. Percentages may not sum to exactly 100 due to rounding; outcomes under 0.5% are shown as <1% or —.

Polling Averages — National

LPC
%
vs. last week
vs. 3 months
vs. last election
Liberal Party
CPC
%
vs. last week
vs. 3 months
vs. last election
Conservative Party
NDP
%
vs. last week
vs. 3 months
vs. last election
New Democratic Party
BQ
%
vs. last week
vs. 3 months
vs. last election
Bloc Québécois (nat.)
GPC
%
vs. last week
vs. 3 months
vs. last election
Green Party
PM
PROJECTED MAP · 343 FEDERAL RIDINGS

The map

Each polygon is one riding, coloured by projected winner. Saturation reflects margin: pale = tossup, deep = safe. Hover for details, click to scroll to that riding in the directory below.

Tip: scroll to zoom, drag to pan, double-click to reset.

Projected results for all 343 federal ridings. Use this table if the interactive map doesn't load.
RidingProvinceProjected winnerMarginP(win)

Riding-by-Riding Projections — All 343 Federal Ridings

Quick views:
343 ridings
Current Projected
Page 1 of 14

Leader Popularity

Preferred prime minister · Nanos Research rolling average
%
preferred PM
vs. last week
vs. 3 months
vs. last election
Liberal Party
%
preferred PM
vs. last week
vs. 3 months
vs. last election
Conservative Party
%
preferred PM
vs. last week
vs. 3 months
vs. last election
New Democratic Party
%
preferred PM
vs. last week
vs. 3 months
vs. last election
Green Party
%
preferred PM
vs. last week
vs. 3 months
vs. last election
Bloc Québécois
BATTLEGROUND

The nine closest races

Loading closest races…

Poll Tracker

Month-end polling averages since Nov 2025 · latest point is the current average · all pollsters included

Poll tracker, Nov 2025 – Sep 2026, latest point as of September 14, 2026: Liberals 45%, Conservatives 32%, NDP 11%, Bloc 6% (national), Greens 3%.

Regional Breakdown

Click ▶ any region to expand by province / territory
Region LPC CPC NDP BQ GPC Leader
56%30%10%3% LPC
46%16%7%26%3% LPC
49%34%11%3% LPC
35%46%15%2% CPC
35%49%12%2% CPC
44%33%17%4% LPC
47%23%28%2% LPC

Recent Polls Full poll archive →

🗳️ Federal seats are open or opening — what the model says about each riding →

PollsterDatesnMethodLPCCPCNDPBQ*GPCLead
LiaisonNEWSep 121,526IVR44%32%14%26%2%+12
AbacusNEWSep 91,479Online47%33%8%30%3%+14
LegerNEWSep 71,538Online49%33%6%29%3%+16
Angus ReidSep 71,811Online46%32%12%21%2%+14
NanosSep 41,020Phone+Online47.3%31.3%10.8%22%3.4%+16.0
LiaisonSep 51,526IVR45%31%13%26%2%+14
NanosAug 281,017Phone+Online43.7%32.6%12%26%3.9%+11.1
IpsosAug 271,001Online44%33%10%35%2%+11
LiaisonAug 291,526IVR46%29%13%26%3%+17
AbacusAug 262,022Online45%35%9%34%2%+10
NanosAug 211,022Phone+Online44.1%30%12.9%29%4%+14.1
LiaisonAug 221,526IVR43%32%13%26%3%+11
* BQ figure = Quebec share only. Raw figures as published.

🔬 Scenario Modeler

Drag the sliders to model different vote share outcomes. The parliament chamber and seat counts update live.
Vote Share Distribution = 100%
LPC CPC NDP BQ GRN Other
auto
All parties must sum to 100% — others rescale automatically when you drag.
Seats to Majority (172)
0172 ←343
Liberal
Conserv.
Bloc
NDP
Green
🏛 Liberal Majority Government — 196 seats

Paths to Victory — Strategic Outcome Analysis

Methodology

National and regional polls are aggregated through a multi-stage statistical pipeline. Each step from raw polling data to seat projection is described below.

Poll Collection & Weighting

We collect every publicly released federal voting-intention poll from all major Canadian firms: Abacus Data, Ipsos, Léger, Research Co., Nanos, Angus Reid, Mainstreet, Ekos, and Campaign Research. Each poll is weighted by recency (exponential time-decay with a 28-day half-life outside campaigns, 14-day during writ periods), sample size, and methodology. Polls older than 90 days are excluded. No house-effect corrections are applied (removed September 2026: the earlier corrections were a frozen calibration to the April 2025 campaign; firm-by-firm deviations are now monitored from current data and would be reinstated only from that evidence).

Province-Level Partial Pooling

Where pollsters publish provincial or regional crosstabs (Ontario, Quebec, British Columbia, Alberta, the Prairies, Atlantic Canada), they are averaged with the same decay and sample weighting as the national aggregate and compared with the region's official 2025 result. The difference between that regional swing and the national swing is added to every riding in the region, scaled by a partial-pooling weight n / (n + 2,000) where n is the decayed regional sample: a single thin crosstab barely moves a riding, a month of trackers moves it substantially. The Bloc Québécois is modelled only in Quebec; its share is held at zero in all other provinces.

Riding Prior

Each riding's starting point is a weighted blend of historical election results: 75% from the 2025 (45th) federal election and 25% from the 2021 (44th) election, adjusted where riding boundaries changed. This multi-election baseline provides more stability than relying on a single cycle. The model is structured to incorporate riding-level demographic data as a third prior component in future updates.

Adaptive Swing Model

National vote-share changes are distributed to individual ridings using a blend of uniform swing (adding the national change evenly) and proportional swing (scaling each party's local result by its national poll-to-baseline ratio). Since July 30, 2026 the blend is predominantly uniform (90% uniform, 10% proportional): backtesting the engine against the 2025 election showed uniform swing materially reduces seat error and better preserves parties' local-strength seats. Proportional ratios are capped between 0.40 and 1.40 to prevent extreme distortions. Quebec is modelled separately to handle the Bloc's regionally concentrated vote.

Incumbency & Local Effects

No incumbency advantage is assumed. Most sitting MPs were also the incumbents in 2025, so their personal vote is already in the riding's baseline; adding a blanket boost on top would double-count it. Only two adjustments are applied: +1.0 point for a first-term MP (elected in 2025 for a party that did not hold the riding in 2021, so their personal vote is not yet in the baseline) and +2.0 points for a party leader. Open seats and ridings that have held a 2026 by-election receive none. Individual riding-level overrides can be applied for known local factors such as star candidates or controversies.

Turnout Layer

A riding-level turnout index is computed from age demographics, using Statistics Canada census data and age-group turnout rates from Elections Canada. Ridings with lower expected turnout (younger populations) receive slightly wider uncertainty bounds in the simulation, reflecting the greater unpredictability of low-turnout areas. This layer is scaffolded for demographic data — currently using national defaults pending census integration.

Monte Carlo Simulation

We run 10,000 full-election simulations on every page load. In each simulation, correlated random errors are added at three levels: national (affecting all ridings), provincial (affecting ridings within a province), and local (riding-specific noise). Errors are correlated between parties using Cholesky decomposition — when one major party gains, the other tends to lose. The seat ranges, win probabilities, and confidence intervals you see are the direct output of these simulations.

Riding Ratings

Ratings are assigned based on win probability from the Monte Carlo simulations: Safe (≥95% probability of the leading party winning), Likely (80–95%), Lean (60–80%), and Toss-up (<60%). This is more informative than simple margin-based ratings because it accounts for the full distribution of possible outcomes, including correlated errors across ridings.

Limitations & Future Work

All models are simplifications. The model does not yet incorporate riding-level demographic regression priors (structured for future addition), sub-provincial polling crosstabs, or candidate-quality scoring. Seat projections widen in uncertainty during periods of rapid vote-share movement. The scenario modeller uses a fast deterministic projection without Monte Carlo. Treat all projections as probability estimates, not predictions.

Data Sources

Poll data is sourced from public press releases and media coverage from Abacus Data, Ipsos, Léger, Research Co., Nanos, Angus Reid, Mainstreet, Ekos, and Campaign Research. Historical riding results are drawn from Elections Canada official returns for the 44th (2021) and 45th (2025) general elections.

About

Why I Built This

I'm a technology professional based in Vancouver, BC who has always been fascinated by data modelling and Canadian politics. I built RidingWatch because I wanted a tool that let me (and anyone else who's curious) dig into riding-level projections, play with scenarios, and actually understand what's happening across all 343 federal ridings. This is a passion project, updated mostly in the evenings and on weekends, as time permits. I care about connecting data to real conversations and people. Understanding how the numbers align (or don't) with what's unfolding on the ground and in the national conversation. I hope this can be one tool in your toolbox to aid in that.

Independence & Transparency

In the interest of full transparency: I was once a federal candidate. That experience gave me a deep appreciation for how elections work at the riding level, but RidingWatch is purely a data project — it has no affiliation with any political party, campaign, media outlet, or polling firm. I'm committed to following the data wherever it leads, regardless of which party benefits. If you spot an error or think something looks off, I genuinely want to hear about it — reach out and I'll look into it.

Using This Site

National averages and the seat projection are at the top. Search for any riding directly or browse the full table. Click any riding for its detailed projection, historical trends, and local context. The Scenario Modeler lets you explore how national vote shifts would redistribute seats — try it out and see what happens.

On Uncertainty

These are probability estimates, not predictions — I want to be upfront about that. Seat totals are the mean of 10,000 correlated Monte Carlo simulations, with 95% confidence intervals shown (e.g. LPC 187–250 seats as of September 14, 2026). Local candidate effects and ground-game dynamics aren't fully captured by any model. The error standard deviations used in the simulation are starting estimates that will be calibrated through backtesting against 2019, 2021, and 2025 actual results. Treat this as one input among many when forming your own view.

How RidingWatch Is Different

The RidingWatch model uses a predominantly uniform swing (90/10 uniform-proportional blend, backtested against the 2025 election) with pooled provincial crosstabs, limited incumbency adjustments, multi-election riding priors, and 10,000 correlated Monte Carlo simulations with three error layers (national, provincial, riding). Beyond the projections, RidingWatch is focused on interactive tools that let you explore the data in more meaningful ways — things like a real-time scenario modeler, per-riding strategic voting analysis, leader approval tracking, and AI-inferred and generated explanations for why projections might have changed.

Contact

RidingWatch was built in Vancouver, BC by a single technology professional who likes to model data and build with AI.

For inquiries, partnerships, or feedback, please email hello@ridingwatch.ca 🇨🇦

All 343 Federal Riding Projections

Click any riding to view its detailed projection, historical trends, and strategic analysis. Projections are updated frequently using a predominantly uniform swing model with 10,000 Monte Carlo simulations. Check Methodology for more information.

A Living Project — Built by One Person

RidingWatch is an independent, one-person project. I'm constantly refining the model, expanding data sources, and building new tools — all driven by a commitment to following the data, not any party or agenda.

I embrace AI tools to help me build and maintain this site — they're a big part of how one person can do what would normally take a team. That said, AI isn't perfect and sometimes makes mistakes. If you spot something that doesn't look right, please let me know — your feedback helps me improve both the site and the AI models behind it.

Share feedback →
COMMON QUESTIONS

Frequently asked questions

What do Canadian federal polls say right now?

The national polling average as of September 14, 2026 is: Liberals 45%, Conservatives 32%, NDP 11%, Bloc Québécois 6% (national), Greens 3%. The average aggregates every published federal poll, weighted by sample size and survey mode with a 28-day exponential decay; no pollster house-effect corrections are applied.

When is the next federal election in Canada?

Under the fixed-date provision of the Canada Elections Act (s. 56.1), the next federal general election is scheduled for October 15, 2029 — the third Monday of October in the fourth calendar year after the April 2025 election. An earlier election is possible at any time if one is called or the government loses the confidence of the House.

How does the RidingWatch projection model work?

Three stages: (1) a polling aggregate of all published federal polls, weighted by sample size, recency (28-day half-life) and survey mode, with no pollster house-effect corrections; (2) riding-level projection from a blend of 2025 and 2021 results with proportional-plus-uniform swing, a pooled provincial adjustment where pollsters publish regional crosstabs, and limited incumbency adjustments (first-term MPs and party leaders only); (3) 10,000 correlated Monte Carlo simulations producing seat distributions, win probabilities, and confidence intervals. Full details are on the Methodology page.

How accurate are seat projections like this?

A projection is a probability statement, not a prediction. Its inputs are public polls, which carry both random sampling error and the risk of shared systematic error — if every pollster misses the same way, no aggregation fixes it. That is why RidingWatch reports confidence intervals and outcome probabilities rather than a single number, and why an outcome given a 10% chance should still happen about one time in ten.

Why do poll aggregators disagree with each other?

Aggregators make different judgment calls: how fast old polls decay, how pollster house effects are estimated, how national swing is translated to individual ridings, and how much correlated error the simulations assume. Small input differences compound at the seat level, so two models reading the same polls can land several seats apart while both being reasonable.

Why do polls from different firms show different numbers?

Survey mode matters (live phone, automated IVR, and online panels reach different people), as do weighting schemes, how undecided and leaning voters are treated, and field dates. Persistent, directional differences are called house effects. RidingWatch no longer applies house-effect corrections to the published average: the earlier corrections were calibrated to the April 2025 campaign and had gone stale. Firm-by-firm deviations are monitored from current data and would be reintroduced only from that evidence.

How many seats does a party need for a majority government?

The House of Commons has 343 seats under the 2023 Representation Order, so a majority requires 172. A party short of 172 can still govern as a minority, relying on other parties to pass legislation and survive confidence votes.

Why can a party win the most votes but not the most seats?

Canada uses first-past-the-post in 343 separate contests, so seat counts depend on where votes are, not just how many there are. Support spread efficiently across many competitive ridings converts to more seats than the same support piled up in safe ones — which is why the seat projection can move without the national vote share changing, and vice versa.

What is a riding?

A riding (formally an electoral district) is the geographic constituency that elects one Member of Parliament. There are 343 of them under the 2023 Representation Order, and RidingWatch projects every one, including the three territories. Each riding page shows past results, the current projection, and win probabilities.

What do the confidence intervals and probabilities mean?

Both come from 10,000 Monte Carlo simulations. A 95% confidence interval means 95% of simulations landed inside that seat range; a majority probability is simply the share of simulations in which a party reached 172 seats. A high probability is not certainty — it is a statement about how often an outcome occurs across thousands of plausible polling-error scenarios.

How much should I trust an individual riding projection?

Less than the national numbers — and that is by design, not failure. Riding projections start from a blend of 2025 and 2021 local results, apply regional swing, and adjust for incumbency, but local factors like star candidates or by-election dynamics are hard to model. Treat riding ratings probabilistically: a riding rated 70% is expected to go the other way three times in ten.

How often does RidingWatch update, and can I use the data?

The model updates with each weekly poll cycle; the site headline refreshes daily; the API and embeds always serve the live model. Data is free for non-commercial use with attribution (CC BY-NC 4.0) — there is a JSON API documented at /openapi.json, a machine-readable summary at /llms.txt, and embeddable widgets at /embed/.

Can I see the projection for my own riding?

Yes — every one of the 343 ridings has its own page with the current projection, win probabilities, a competitiveness rating, and full 2025 and 2021 results. Use the search bar, browse the riding directory, or star ridings on the map to build a personal watchlist.

Is RidingWatch affiliated with any political party?

No. RidingWatch is independent and non-partisan, with no affiliation with or funding from any party, campaign, or advocacy group. The model applies identical mathematical treatment to every party, and the full methodology is published so that treatment can be verified.