Four things that tell different stories.
A poll
A survey of a sample of voters, taken during a particular period.
See the original surveysCurrent support
An estimate that combines polls to describe where opinion stands now.
Compare now and election dayAn election forecast
A range of possible results, allowing for opinion to change and polls to miss.
Explore the forecastA seat scenario
Votes translated into seats under stated electorate assumptions. A majority is not an agreement to govern.
Build your own scenarioReading a range: the mean is the average across simulations. A 90% range contains 90% of the model’s simulated outcomes; results can fall outside it. These experimental ranges depend on the model’s assumptions.
Evidence you can follow.
Every poll links to its source. Missing data stays missing. Forecasts show ranges and state their assumptions, and sponsorship has no role in the methods.
Full methods & research recordModel specification, provenance, validation and MMP rules
The live experimental forecast
The homepage now publishes the Bayesian dynamic model’s current-support estimate separately from its election-day prediction. The current release uses six complete, primary-source current-cycle polls. The 28 September Verian graphic has been recovered: its published 1% Te Pāti Māori figure completes that poll, with a labelled 1% residual for unreported parties. Each live snapshot lists its exact inputs and exclusions; later snapshots can have a different poll count. New verified polls generate immutable batch snapshots; opening a page never runs statistical inference.
The model jointly estimates eight vote-share categories with a logistic-normal state-space process, partially pooled pollster effects, respondent-base sampling uncertainty and extra non-sampling error. The election-day layer combines future opinion movement with an independently trained compositional election-error allowance. The original fixed miss layer is removed before that allowance is added, avoiding double counting.
The underlying priors and numerical kernels remain unchanged. The Bayesian model uses the registered nearest historical horizon; the recency comparator uses the registered calendar mixture. Both use only earlier election results available at the target cutoff. We do not fit mode, likely-voter or economic adjustments from this limited dataset, and no fundamentals model is included.
Historical checks cover 37 verified cutoffs across five independent histories; the main balanced comparison uses four complete MMP election cycles. Bayesian 90% party-vote intervals covered 94.2% of the checked outcomes. Its aggregate CRPS was 0.986 versus 1.010 for recency, with gains concentrated in 2020. The recency benchmark did better in the other three complete cycles and at 21, 30 and 31 days. This is enough for a transparently labelled experimental release, not a claim of general superiority or established probability calibration.
Sampling checks passed: all free variables were checked, with maximum R-hat below 1.01, effective sample sizes above 400 and no divergent transitions. Recorded posterior predictive checks show no gross in-sample misfit; they do not validate an election forecast. Conditional prior sensitivity checks report their actual importance ESS. Checks below 400 require a full refit before interpreting them. An exact doubled house-effect prior refit of the 8 October input is now complete: the largest party-mean change was 0.21 percentage points, and the largest event-probability change was 1.1 percentage points. Both were below the limits fixed before refitting. That review applies to its archived input; live snapshots retain their own conditional checks. Archived diagnostics keep their original review flags; these additional reviews are recorded separately.
Seat probabilities condition on explicit electorate scenarios. The separate nomination-aware report uses the exact live national joint draws, caps Te Pāti Māori’s available list at one, and includes zero to seven TPM electorate wins, ACT and Opportunity exemptions, a possible independent winner and explicit Te Tai Tokerau Party support assumptions. Unfilled list entitlements are not transferred to another party; the number of elected MPs and majority target vary by draw. The scenario selector shows these assumptions. No probabilities are assigned to electorate scenarios, and no government-formation model is fitted. The default one-electorate assumption is an illustration, not an electorate prediction.
The live policy is versioned separately from the frozen prospective test. Live data updates cannot refit or overwrite that registration. A prospective success rate cannot be claimed until qualifying new observations arrive. Failed updates retain the last successful snapshot and display its age.
Current release: nz-polling-bayesian-v14 · data cutoff 10 Oct 2026 · input 59a4c9a350176718. Download the current snapshot, source audit and validation summaries.
Testing larger election-wide polling misses
The live national model remains Bayesian. Its PyMC state-space model estimates evolving joint party support, partially pooled pollster effects and additional poll error. A separate historically trained layer allows a common election discrepancy. The V17 research tests whether a heavier-tailed version of that layer improves prediction.
Technical specification, controls and release decision
For each pre-miss composition p and precision κ, set α = κp. With an orthonormal logratio contrast H, match the existing Dirichlet layer’s logratio location μ = ψ(α)H and covariance C = Hᵀdiag(ψ₁(α))H. The challenger draws z from a multivariate Student-t with fixed ν = 7 and scale C(ν − 2)/ν, then maps z jointly back to party shares. A single chi-squared radial draw is shared across the whole party vector. Independent party-by-party t draws would produce a different model.
The precision control retains the regularising prior v ∼ InverseGamma(3, 0.045), κ = 8/v. The likelihood averages the complete election-result density over verified pre-miss polling draws. Coarse and doubled-resolution numerical integration must agree and have negligible edge mass. Density tests include the simplex Jacobian and independent SciPy checks. Matching logratio moments does not preserve arithmetic party means; this limitation is recorded explicitly.
The same 20 anchors and polling draws provide a Dirichlet control. The retained 19-anchor live rule and recency benchmark remain separate references. A matched normal limit checks whether differences come from transformation or tail shape; it is not a second model selected after looking at scores. Reported scores include CRPS, marginal log scores, joint energy, vote errors, interval coverage and width, threshold Brier and conditional seat errors.
The predeclared primary comparison uses past-only training and equal election weights. A candidate must improve CRPS, avoid worsening threshold Brier or 90% coverage, improve at least three of five cycles, and retain its CRPS/Brier advantage under a second simulation seed. Leave-one-election-out is a separate diagnostic. The challenger failed this comparison and was not promoted. The live model, immutable published forecast and prospective registration are unchanged.
The initial runner stopped on one normal-control draw with 96.7% assigned to Other. A separately frozen diagnostic continuation preserved the original specification and vote scores, checked seat support across every draw, and recorded undefined scenarios. Seat metrics for an undefined scenario remain null. No probability is calculated by dropping or renormalising failed draws, and no arbitrary tiebreak substitutes for the Electoral Commission’s lot procedure.
Current-input prior sensitivity uses half and twice the prior dispersion, reusing the same polling posterior and conditional nomination assumptions. No page request runs sampling. Five cycles remain insufficient to certify event-frequency calibration or a freely estimated tail parameter. Older 2005/2008 secondary poll tables were not admitted without verified primary releases.
Checking dependence on individual polling organisations
The V19 study freezes the complete 10 October input, all four whole-organisation deletions, priors, historical-error posterior, target date and numerical configuration before refitting. Each deletion removes both surveys when a pollster has repeated observations. The retained PyMC logistic-normal model runs four chains with 2,000 posterior draws per chain, following 2,000 tuning iterations. It is an offline batch job.
Reporting refuses missing or altered numerical caches and never starts MCMC. The full reference forecast must replay exactly before comparisons are calculated. The study checks every party’s current and election-day mean, 90% interval and threshold probability, leadership probabilities, and all 16 nomination-aware conditional seat scenarios. The 0.5-point mean and 5-point event thresholds flag dependence; they were chosen for disclosure, not as tests of predictive superiority.
This is a deletion sensitivity analysis, distinct from the predictive cross-validation described by Vehtari, Gelman and Gabry. It uses exact refits rather than relying on potentially unstable importance weights. Four overlapping source deletions are not four independent elections. They do not identify causal house effects, certify calibration or establish that a source should be excluded.
Historical source recovery also found two original Newshub campaign releases: 2017-09-21 and 2020-10-16. Exact dates, sample sizes, mixed survey modes and published shares are preserved in the poll database. Missing denominator, undecided and minor-party information remains explicit. These two records are excluded from modelling; we neither fill the gaps with zeroes nor use a later secondary table to silently replace the original figures.
Source payload hashes, original URLs, preserved publisher timestamps and admissions are available in the campaign-source audit. Only factual observations are stored, not copies of the full publisher articles.
Campaign-period source recovery
The V20 experiment adds two original Roy Morgan releases, one in each of 2011 and 2014. The 2011 release is dated 31 October; a 3 November archive capture supplies a conservative availability boundary. The 2014 primary-author syndication is dated 3 September at 3:48 pm NZST. Later retrospective table columns are not imported as independently released polls.
Both complete narrative vectors total 100% after rounding. The 2011 narrative reports Other at 0.5%; its longer table separately censors Progressive below 0.5%. We retain the narrative Other category used by the existing cycle composition without inventing a separate Progressive share. The 2014 release explicitly reports Internet-Mana at 1% and United Future at a rounded zero. The 19 November 2011 release has no exact United Future value and remains excluded even though its other reported shares total 100%.
Reported undecided fractions remain separate. Exact decided sample bases are unavailable, so the likelihood uses gross sample adjusted by the reported exclusion and the unchanged design effect. It does not reconstruct respondent counts.
Before inference, the comparison fixed 1, 7 and 14-day cutoffs, the unchanged PyMC kernel, original V16 error-training anchors and deterministic joint seat-draw selection. Six complete expanded fits are scored against the immediately preceding archived coverage. Every original forecast hash and score must reproduce. The target election is removed from all error-training anchors, and past-only training also excludes future official results. Retrospective leave-one-election-out is reported separately.
The audit retains CRPS, MAE, RMSE, interval coverage, marginal log, energy, threshold Brier and conditional seat errors, sampling diagnostics and source hashes. This coverage experiment changes no live model, prior, frozen prospective registration or calibration claim. Inspect the comparison · Download the results.
Recovering historical sources
The V18 archive addition transcribes the complete May 2011 vector from the original pollster-authored Reid Research report, using its exact 871 decided-party respondents. Raw results total 99.8% because of rounding; only the decided vector is normalised jointly to 100%. Undecided respondents and non-voters remain separate observations.
The cover’s 29 May release date is corroborated by a contemporaneous summary. We use a conservative 9 June availability boundary in backtests: a document dated 9 June 2011 links the exact original PDF. This boundary is not an asserted new publication date. Earlier columns from later reports cannot be backdated into what a forecaster would have known.
Before fitting, we froze four cutoffs: 1, 7, 14 and 30 days before the election. Each expanded fit uses the unchanged PyMC kernel and sampling configuration. Original and expanded predictions receive the same original V16 error-training inputs, excluding every 2011 outcome. Original forecast-draw hashes and scores must reproduce before the comparison can be published. Convergence, posterior predictive checks, held-out scores, source hashes, excluded attachments and fixed assumptions are recorded in the evidence API.
This is a retrospective data-coverage diagnostic across one election. The May poll adds pollster diversity but no fresh campaign observation. It does not change the live forecast, the frozen prospective registration or the model’s calibration status.
Current robustness and joint electorate research
The exact 10 October six-poll refit doubles only the house-effect prior. It reproduces the original joint forecast, holds the historical error rule fixed, and checks all 16 nomination-aware seat scenarios. Mean party support moves by at most 0.13 percentage points and event probabilities by 0.83 points. The declared prior is retained. The check is bound to that input and does not certify later snapshots.
A further review reuses 40 exact polling fits across five complete cycles. Twenty historical error anchors are compared with the retained nineteen-anchor training set, with each target election excluded before error training. Past-only scores also exclude results unavailable at the cutoff. The expanded-error challenger improved interval coverage but worsened CRPS and threshold Brier score, so it was not promoted. Recency remains the benchmark and wins in three of five cycles.
Technical electorate specification
For each verified TPM/Labour candidate pair, z = log(TPM/Labour). The observed historical discrepancy is the official candidate-count log ratio minus the reported poll log ratio. A Gaussian likelihood for a whole election has covariance diag(v + σ²) + τ²11ᵀ. Here v is the multinomial delta approximation from published all-respondent shares and gross sample size, with the declared design effect 1.5 and a rounding allowance. These terms do not reconstruct raw survey counts. The common τ term couples the electorates; σ captures additional local error.
The mean error has a Normal(0, 0.35) prior. Local and common scales have HalfNormal(0.5) priors in log-ratio units. Each new election simulation uses one shared normal error plus local errors, integrated over the PyMC hyperparameter posterior. Four chains and 8,000 posterior draws are checked for convergence, effective sample size, divergences and in-sample posterior predictive fit. A doubled common-scale prior is refitted exactly as a sensitivity check, without selecting it.
Candidate-pair shares condition on those two candidates; undecided and unreported responses are not redistributed. Finishing above the other candidate does not imply winning a multiparty electorate. Thirteen eligible historical pairs cover only two independent cycles, with one pollster. Two original 2017 records remain excluded because their candidate-response bases are unverified. Shared-error and pooled independent-error candidates are compared by whole-election past-only and leave-one-election-out CRPS, joint log density, energy, coverage and pair-event Brier scores. The correlated candidate did not beat the simpler comparator.
Neither the dependence with national party vote nor changed-boundary transfer, third-candidate support and all pivotal electorates are validated. The correlated electorate model remains in research. Seat scenarios on the live site retain explicit assumptions without weights. Government formation is a separate question.
Shirani-Mehr et al. (2018), JASA informs the separation of sampling, additional and shared error. Satherley, Greaves & Sporle (2023) discusses NZ poll reporting and Māori electorate limitations. These sources support the approach; they do not validate our NZ specification or supply imported error estimates.
See the completed comparisons · Download versioned results and original source links
Data & provenance
We accept public national party-vote surveys with an identifiable pollster, original release or identifiable primary-author syndication and verifiable fieldwork. Where separately published, we retain the party-support sample base rather than deriving it from rounded respondent exclusions. Otherwise the model uses a documented approximation; that does not remove non-sampling error. Every entry retains publication date, fieldwork, mode, sample, population, reporting basis and source. Missing fields remain missing.
The archive covers verified 2026 releases and selected primary-source releases from 2011, 2014, 2017, 2020 and 2023. Coverage is uneven by date and pollster. Incomplete named-party compositions remain inspectable but are excluded from model inputs. Reported outside-Parliament nets are separated from Opportunity only when the same original release explicitly gives its share; that transformation is documented in each record. It is incomplete and is not representative of every historical pollster. Month-only releases are retained with explicit calendar bounds and excluded from timed calculations; they are not treated as exact fieldwork dates. Detailed original poll reports take precedence over rounded or conflicting article summaries; discrepancies are noted on each record. The September 28 Verian graphic supplies the published Te Pāti Māori figure; its completed revision is now eligible, with a labelled residual for unreported Other parties. The incomplete original revision remains in the audit history. No missing named-party result is inferred from another article. For the RNZ–Reid report, all seven named parties are stated: a flagged residual completes the unreported Other category. This derived value is documented separately from the original results. Undecided and would-not-vote categories are preserved separately.
Corrections append a new revision with an author, time and reason. The original remains available for auditing. Source articles are linked, not reproduced. Commercial redistribution needs a separate rights review.
The provisional polling average
This baseline averages the latest complete verified poll from each pollster, where fieldwork ended within 45 days of the stated cutoff. Normalising rounded party totals to 100% is disclosed. Decided-voter percentages do not imply undecided voters will split proportionally on election day.
The baseline has no house-effect corrections, calibrated interval or trend model. It is not our intended final current-support estimate. Movement is withheld where successive snapshots do not have comparable coverage.
A joint, dynamic Bayesian model
Historical compositions are configured by election cycle. The first verified 2014 polls retain United Future, Conservative and Internet MANA; they are excluded from the current eight-category research model until a cycle-specific specification is validated. Contemporary secondary-source records are displayed but excluded from modelling.
Party support evolves together through time: an increase for one party must be balanced elsewhere. The research pipeline implements a logistic-normal random walk in an orthonormal log-ratio basis. This avoids treating party percentages as independent quantities.
Pollster × party effects are partially pooled and centred. A correlated additional-error term allows more uncertainty than simple sampling margins. A common election-day polling miss does not shrink to zero simply because more polls are added.
Design follows Stoetzer and colleagues, Political Analysis (2019), with NZ-specific validation still required. Fundamentals, mode effects and pollster-cycle effects are extension points, disabled until historical data can identify them and demonstrate improvement.
Technical specification
For K categories, H is a K × (K−1) orthonormal contrast matrix. Shares are softmax(H zₜ). Daily zₜ increments follow a multivariate normal. The original regularised LKJ covariance candidate failed diagnostics in this sparse archive; the simpler research candidate uses isotropic covariance in log-ratio coordinates. Poll observations use log-ratio-transformed rounded shares, and a multivariate-normal likelihood with delta-method multinomial covariance plus learned non-sampling variance in compositional coordinates. Both candidate structures produce dependent party shares that sum jointly to 100%.
Known effective sample sizes should be used; otherwise the gross sample is conservatively reduced for published undecided and a configured design effect. The likelihood is an approximation to weighted, rounded survey estimates. Zero shares require a declared continuity correction and sensitivity analysis. Fieldwork is averaged in probability space across observed days.
Future opinion evolves from the current posterior; a shared industry-miss vector is added at election day. Its prior must be calibrated on held-out election residuals. Priors are regularising assumptions, not empirical estimates until calibrated.
Uncertainty between tested horizons
The v5 research rule transfers additional election error between separately fitted 1, 7, 14 and 30-day anchors. It mixes adjacent precision distributions using calendar days. Each historical prediction uses a new PyMC polling fit from its exact cutoff; it does not interpolate party means or interval endpoints.
At a horizon h between anchors l and u, the error distribution is (1−w)Gₗ + wGᵤ, with w=(h−l)/(u−l). Conditional election compositions remain Dirichlet(κp), where p is an actual joint pre-miss forecast draw. Mixing anchor distributions avoids treating dependent historical snapshots as independent likelihood evidence. This is experimental forecast postprocessing, rather than a jointly fitted continuous-time discrepancy posterior.
The rule and comparison criteria were frozen before scoring new 3, 10, 21 and 31-day cutoffs. Each scored election is excluded at every anchor. Past-only training also checks result release dates. The independently trained recency benchmark uses the same uncertainty family and eligible training elections. Latest-poll, recent-average, fixed-error and conditional MMP comparisons are retained in the report.
Selection averages horizons within each election before weighting elections equally. The calendar mixture is retained for owner research only if past-only CRPS improves over nearest-anchor, observed 90% coverage does not decrease, and CRPS improves in at least three independent elections. Otherwise the simpler nearest-anchor rule is retained. The original selection report did not approve public release. The separately versioned v14 policy above now governs the experimental homepage forecast.
At 31 days the rule holds 30-day additional error while the exact polling model supplies another day of future movement. The offline updater rejects horizons outside 1–31 days. Neither total interval widths nor all event probabilities must shrink monotonically: poll arrivals and sparse coverage can change uncertainty.
Five historical cycles were already inspected at the anchor dates. New cutoffs do not add independent elections, and these are not untouched election-level model-selection data. The restricted Dirichlet covariance, source gaps and conditional electorate assumptions remain limitations. Probability calibration still needs broader and prospective evidence.
Forecast pooling was checked against Gneiting and Ranjan, Combining Predictive Distributions; that research shows why combinations still require calibration checks. This calendar rule is our experimental specification. Dynamic movement and common polling-error concerns are discussed by Gelman, Goodrich and Han (2024).
Explore the new tests · Complete v5 report · Frozen experiment plan
Predictions at 7 and 14 days
The v4 review extends the same full-party uncertainty model to 7 and 14 days, alongside 1 and 30 days. At each horizon, the discrepancy posterior uses one vector per eligible training election. The scored election is excluded; past-only checks also exclude results released after the cutoff. Repeated horizons are dependent and do not increase the number of independent elections.
The Bayesian model is compared with latest-poll, recent-average, fixed-error recency and independently calibrated recency benchmarks. Both calibrated models learn uncertainty from exactly the same training elections. Full-party and common-party scores are retained separately, with interval widths, misses, proper probability scores, prior sensitivity and conditional MMP seat errors.
Every fit checks input, configuration, inference-code and joint-draw hashes and convergence. Missing or stale historical evidence is disclosed for each cutoff. Source inputs and selected joint predictive draws are preserved offline. These v4 anchor tests remain unchanged. The separate v5 experiment tests transfer between them and records its owner research decision; no public production model has been selected.
Explore the horizon comparison · Complete v4 report · Source recovery audit
Full-party error at different horizons
The v3 research experiment retains every named party in each historical cycle and estimates additional error separately at one day and 30 days. The PyMC polling fit is unchanged. The archived v3 owner preview used 30-day error for its 31-day prediction; v5 now tests this boundary explicitly.
Four month-ahead tests show modestly improved probabilistic scores and better interval coverage. Election-eve results show no consistent advantage. We have not selected a production model or certified event-frequency calibration.
Technical specification, prior and limitations
For a pre-miss joint polling forecast p and precision κ, election composition Y follows Dirichlet(κp). Its conditional mean is p; variance is pⱼ(1−pⱼ)/(κ+1), and covariance is −pⱼpₖ/(κ+1). The latent polling mixture adds further dependence. This simple added covariance cannot represent every possible pattern of party errors.
We use κ ~ Gamma(shape 3, rate 0.045/8), equivalent to v ~ InverseGamma(3, 0.045) through κ=8/v. Eight is a declared symmetric reference composition for an approximate log-ratio variance scale, not eight independent elections. The prior is not fitted to the scored outcomes.
The historical likelihood averages the Dirichlet density over actual pre-miss polling draws. Each election supplies one vector at the selected horizon. Election-eve and month-ahead vectors are never counted as independent evidence in one fit. Grid-resolution and tail checks are automatic; prior dispersion factors 0.5 and 2 are sensitivity checks.
Leave-one-election-out excludes the scored result. Past-only training also respects result availability. Design followed inspection of this archive, so prospective validation remains necessary. Complete-party CRPS, joint energy, marginal log scores, threshold Brier scores, 50/80/90/95% coverage, and conditional seat errors are preserved.
Only four month-ahead elections are available. The current use is a near-30-day research experiment; no automatic interpolation across horizons, flexible covariance, fundamentals or electorate probability model is claimed. Other remains a collection of separate ineligible parties.
Distribution properties and sampling follow Frigyik, Kapila and Gupta (University of Washington, 2010). This discrepancy layer is our experimental specification, rather than a published NZ calibration claim.
Inspect the held-out results · Download the reproducible report
Earlier common-party error model (v2)
The owner research model now learns an additional election-error distribution from five historical elections. It uses each election’s joint forecast draws before the fixed miss allowance, so uncertainty already in polling and future movement is accounted for. The learned allowance replaces the assumed common miss; it is not stacked on top.
Technical specification and held-out evaluation
For a historical election e, the likelihood for the extra variance v is the average of Normal(y_e | z_e_draw, v I) over the polling model’s pre-miss ILR draws. The regularising prior is InverseGamma(3, 0.045). One terminal-day likelihood enters per election. Numerical integration over log variance retains variance uncertainty, with resolution and tail checks.
Six continuing parties plus remaining parties form a common composition. The remaining category never qualifies as one party. Its internal split retains a separate 0.1 log-ratio prior; the historical data cannot identify Opportunity-specific discrepancy. Error includes unexplained election discrepancy conditional on this model, rather than a causal estimate of pollster bias.
Leave-one-election-out training excludes the scored election; past-only training excludes results unavailable at the cutoff. 30-day forecasts test the same terminal-trained error specification. Prior sensitivity, CRPS, joint energy, threshold Brier scores, interval coverage and conditional MMP seat errors are recorded. Five sparse cycles do not establish reliable event-frequency calibration.
Validation & publication
The earlier Bayesian research used fixed priors at seven requested historical horizons for 2017, 2020 and 2023. Sixteen fits from the earlier archive snapshot are completed; newly added source records are not retroactively included. two earlier 2020 cutoffs are excluded because the election date known then was later postponed, and three 2017 cutoffs lack complete party data. Full-covariance runs failed convergence checks; a simpler isotropic model in compositional log-ratio coordinates passed the sampling checks. These are research results, not calibrated forecasts. A descriptive review now compares all 16 fits with baselines and examines in-sample predictive checks and terminal polling-prior stress tests. At that research stage, shared-miss uncertainty remained prior-driven. Later source recovery, sensitivity and held-out checks are separately archived; the live release uses the historically trained error layer described above.
Fit using only records published before each cutoff. Baseline backtests use 180, 90, 60, 30, 14, 7 and 1 day horizons; the Bayesian runner replays election-date announcements as known at each cutoff and excludes postponed-target forecasts from proper scoring. Historical revisions are replayed as known at the time. Compare latest-poll, equal-average, recency-weighted and Bayesian candidates.
Reports must include party MAE/RMSE, seat errors, 50/80/90/95% interval coverage, CRPS, log score, event Brier scores and reliability bins. Hyperparameters and common-miss calibration must exclude the held-out election. The small number of NZ MMP elections limits conclusions.
Earlier full-production publication criteria require R-hat ≤1.01, bulk and tail ESS ≥400, zero divergences, reviewed posterior predictive checks, sensitivity analysis and a reviewed out-of-sample report. A numerical check alone does not certify scientific validity. The v14 policy publishes a limited experimental forecast on the homepage. Its probability calibration is not established. Earlier research results below retain their original publication state.
Votes become seats under MMP
A party qualifies with at least 5% of valid party votes or an electorate win. Sainte-Laguë quotients allocate the proportional pool. Electorate wins above entitlement create overhangs. Independent electorate winners reduce the pool; insufficient list candidates leave vacancies. Exact quotient ties require the official lot procedure rather than an arbitrary software tiebreak.
Rules are configurable and the allocator is tested against the official 2023 result. Deferred by-election seats are a separate addition. The calculator makes electorate assumptions explicit and calculates the majority from the resulting Parliament size.
Read the Electoral Commission’s allocation procedureIndependence & sponsorship
Core polling information stays free. Sponsorship is clearly labelled and does not influence data inclusion, methods, conclusions or corrections. Political-party, candidate and partisan issue-campaign sponsorship is excluded unless a future policy and legal review explicitly permits it.
Future issue trackers will publish their underlying public-opinion series. No composite score will be published without a defined construct, weighting, missing-data policy, uncertainty and historical sensitivity tests.