What Makes Poliwave Different
Poliwave is the only Canadian electoral forecaster where the live simulator on the site IS the production model. Every input, every formula, every stage is open and verifiable.
Most electoral forecasters publish results from a black box. You see the projection; you don't see the model. The polling weights, the swing formula, the demographic adjustments, the regional corrections, the Monte Carlo error structure, none of it is typically open to inspection. You either trust the forecaster or you don't, and there is no way to check the work.
Poliwave is built the other way around. The interactive seat calculator that any visitor can drive from the homepage runs the same projection engine that produces the official forecasts. Every input that drives the published numbers is editable in the simulator. Every formula the engine applies is documented on the methodology page. Every prior projection sits next to the actual election result on the accuracy page, with no curation. This is not a marketing claim; it is the default state of the site and the verifiable consequence of how the model is built.
Every Canadian electoral forecaster has an internal model. Most keep theirs private and surface only the final numbers. Poliwave's model runs in your browser. The Canadian seat calculator, the UK seat calculator, and every per-jurisdiction simulator on the site are not toy versions of the production engine. They are the production engine, exposed directly to users with every parameter editable.
This means a reader who wants to verify the published federal projection can type the same polling numbers into the seat calculator and produce the same result. Anyone who wants to test how the projection responds to a different polling scenario can change the inputs and see the new numbers in real time, with the same riding-by-riding detail the official forecast provides. The model is not behind a paywall, an API key, or an institutional firewall.
A Poliwave projection is the output of a documented set of inputs: polling targets at four geographic levels (subregional, subnational, regional, national), vote-flow matrices between parties, vote-intake transfers, optional tactical voting rules, demographic adjustments, regional corrections, and per-riding overrides. Every one of those inputs is visible in the simulator UI. Every one of them is editable.
Other forecasters bury their inputs. Poliwave's are first-class UI elements. If you disagree with the polling weights, change them. If you think a particular demographic effect is too large, change it. If you think a riding has a strong incumbent the model isn't capturing, set a riding boost. Every change is transparent, every result is reproducible from the inputs you set, and every scenario produces a shareable URL anyone can open to see the same numbers.
The Poliwave methodology page documents all fourteen stages of the projection pipeline with their actual equations. The core swing formula, the gain/loss-asymmetric additive term that prevents low-share ridings from going negative, the three-branch historical reconstruction logic for parties that did not contest a riding in the prior cycle, the confidence-weighted baseline shrinkage, the three families of vote redistribution, the demographic z-score adjustment, the hierarchical reconciliation against user targets, the correlated-error Monte Carlo with population-scaled variance, all of it is on the page in math and prose. The page also documents the model's known limitations, including the cases where the reconciliation can fail to match user inputs exactly and the cases where the tactical-voting rules can miss the actual voter behaviour.
The accuracy page lists every election Poliwave has projected, with the projected seat counts next to the actual outcome. There is no curation. There is no cherry-picking. Misses are on the page with the same prominence as hits, because an honest track record is the only kind worth publishing. On the 2025 Canadian federal election, Poliwave produced the smallest aggregate gap between projected and actual seats for the top four parties among Canadian forecasters, with riding-level accuracy within one percentage point of the long-established national benchmark.
Every projection is anchored on the prior election under the current riding boundaries, and the model can use earlier cycles when their results have been transposed onto current boundaries. The underlying historical archive covers every Canadian federal and provincial general election since Confederation in 1867, riding-by-riding and candidate-by-candidate. The archive is browseable directly on the site, with full poll-by-poll detail for recent elections. No other Canadian electoral forecaster ships this depth of historical data alongside its projection tools.
The entire site runs without advertising. There are no display ads, no sponsored content, no affiliate links, no "premium tier" hiding the better projections behind a paywall, and no email-wall blocking the simulator until you sign up. Every projection, every riding page, every historical record, every poll-tracker, every download is free to use by anyone, with no account required.
That keeps Poliwave honest. A forecaster with advertisers has incentives to keep eyeballs on the site; a forecaster with a paid tier has incentives to hold the best numbers back. Poliwave has neither. The same projection a paying client would see elsewhere is the projection every visitor sees here, on the same page, with the same level of detail.
If you want to support the project, there is a Stripe donation link in the footer. It is entirely optional and has no effect on what you see on the site.
Radical transparency is not a slogan; it has concrete consequences. A journalist who wants to cite Poliwave can verify any specific riding call by opening the simulator and reproducing the result. A researcher who wants to use the historical archive can do so without scraping or licensing. A reader who is skeptical of any single projection can change the inputs and see how the result moves, which is the most honest answer the model can give to "how sure are you?" An academic who wants to compare Poliwave's swing math to a published technique has the formulas in front of them on a single page. None of this requires permission, payment, or a phone call.
Read this paragraph and try the steps. Open the Canadian seat calculator. Look at any recent national poll, type the national vote shares for each party into the general input, and run the model. The resulting riding-by-riding projection is exactly the output any other consumer of the model would get from those inputs. Now adjust the Conservative number up by five points. The seat count shifts. Adjust it back down by three points. The seat count shifts again. Every change is multiplicative, every stage is documented, every output is reproducible. The model has no secret ingredients.
Built and maintained by Raymond Liu since age 14. Free, open, no sign-up.