Polling Averages — National
Seat Projection
343 seats · 172 for majority · 10,000 simulations
Riding-by-Riding Projections — All 343 Federal Ridings
| Riding ↕ | Prov. | Rating ↕ | Current | Projected | LPC% | CPC% | NDP% | BQ% | GPC% |
|---|
Leader Popularity
Poll Tracker
Regional Breakdown
| Region | LPC | CPC | NDP | BQ | GPC | Leader |
|---|---|---|---|---|---|---|
| ▶Atlantic | 56% | 30% | 10% | — | 3% | LPC |
| ▶Québec | 46% | 16% | 7% | 26% | 3% | LPC |
| ▶Ontario | 49% | 34% | 11% | — | 3% | LPC |
| ▶Prairies | 35% | 46% | 15% | — | 2% | CPC |
| ▶Alberta | 35% | 49% | 12% | — | 2% | CPC |
| ▶Brit. Columbia | 44% | 33% | 17% | — | 4% | LPC |
| ▶North | 47% | 23% | 28% | — | 2% | LPC |
Recent Polls
| Pollster | Dates | n | Method | LPC | CPC | NDP | BQ* | GPC | Lead |
|---|---|---|---|---|---|---|---|---|---|
| Abacus DataNEW | May 2 | 2,800 | Online | 44% | 37% | 8% | 26% | 2% | +7 |
| Nanos ResearchNEW | Apr 30 | 1,050 | Phone+Online | 45% | 33% | 11% | 24% | 3% | +12 |
| Liaison StrategiesNEW | Apr 25 | 2,508 | Online | 45% | 34% | 9% | 24% | 2% | +11 |
| Nanos ResearchNEW | Apr 24 | 1,050 | Phone+Online | 45% | 32% | 12% | 25% | 4% | +13 |
| Abacus DataNEW | Apr 22 | 2,800 | Online | 45% | 36% | 8% | 25% | 2% | +9 |
| Léger | Apr 17 | 1,521 | Online | 44% | 35% | 9% | 26% | 3% | +9 |
| Angus Reid | Apr 14 | 5,029 | Online | 44% | 36% | 9% | 25% | 3% | +8 |
| Spark Advocacy | Apr 6 | 1,504 | Online | 46% | 32% | 9% | — | 3% | +14 |
| Spark Advocacy | Mar 26 | 1,504 | Online | 46% | 31% | 11% | — | 4% | +15 |
| Abacus Data | Mar 24 | 2,800 | Online | 45% | 36% | 9% | 25% | 3% | +9 |
| Liaison Strategies | Mar 21 | 2,508 | Online | 46% | 32% | 8% | 24% | 3% | +14 |
| Nanos Research | Mar 20 | 1,050 | Phone+Online | 46.8% | 33.1% | 10.5% | 25.8% | 1.9% | +13.7 |
| Angus Reid | Mar 17 | 5,029 | Online | 44% | 37% | 9% | 24% | 3% | +7 |
| EKOS | Mar 15 | 1,847 | IVR | 47.5% | 27% | 15.1% | 25% | 3.1% | +20.5 |
| Ipsos | Mar 12 | 1,501 | Online | 44% | 36% | 8% | 24% | 3% | +8 |
🔬 Scenario Modeler
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. House effect corrections are applied to each firm before aggregation.
Province-Level Partial Pooling
When provincial poll crosstabs are available, they are blended with national-implied provincial estimates using a partial-pooling formula: the more provincial data we have, the more weight it receives. This prevents small provincial samples from dominating while still incorporating genuine regional signal. 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 proportional swing (scaling each party's local result by its national poll-to-baseline ratio) and uniform swing (adding the national change evenly). The blend weight varies per party: parties with a stronger local base receive more proportional swing, while marginal parties receive more uniform swing. 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
Incumbency advantage is applied conditionally: only if the sitting MP is actually seeking re-election (+1.5 points) or holds a cabinet/leadership position (+2.0 points). Open seats where the incumbent is not running receive no incumbency bonus. This is more realistic than a blanket party-hold boost. 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 177–237 seats as of May 5, 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 an adaptive proportional-uniform swing with conditional incumbency, 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 an adaptive proportional-uniform swing model with 10,000 Monte Carlo simulations. Check Methodology for more information.