Election Night NZ

Broadcast admin

Sign in to publish results and final projections.

Back to broadcast desk
Election Night NZ
Broadcast admin

Keep the count and the forecast in view.

XML results update the count every 30 seconds. Final-result forecasts run automatically after the first results, then every 10 minutes.

XML feedChecking…
Vote-count estimateChecking…
Published snapshot—

Discord Live Mode

Discord: checking…

Test Mode shows labelled sample figures in the existing message. Live Mode shows the latest real data, or awaits results. This switches Discord and the live broadcast outputs together. Test Mode ends automatically after two minutes.

Automatic projection: checking…
Edits are drafts until published. Existing broadcast outputs update automatically after publishing.

Reported count

PartyVote %Current seats
A connected XML feed replaces manual count edits.

Projected final result

Open output ↗
PartyFinal seatsLowHigh
Includes special votes.
Discord shaded party icons

Upload these shaded icons to your Discord server under Server Settings → Emoji, then paste each emoji ID below. Opportunity’s icon is teal. The webhook can display custom emojis but cannot create them on the server.

Download all party icons

Forecast model inputs

A sourced model loads automatically: current polling, all ten MMP elections, live count uncertainty, outstanding votes and all 71 electorates. The latest report records its assumptions and sources. You can load and update the baseline below; a manual import is not required to start automatic forecasts.

Latest calculation report
Polling-place weights and outstanding special votes

A researched baseline covering every current physical venue loads automatically. You can override it with updated venue estimates or a complete per-result-file manifest. Use historical booth turnout, or estimated catchment population × turnout, with advance voting and electorate boundaries accounted for. Include all places, not just those already reporting. Expected special votes remain in the denominator after the preliminary count finishes.

The default estimate is reported national ballots divided by expected ordinary venue volumes plus estimated specials. After the preliminary count completes, its actual ordinary total replaces the ordinary-turnout estimate. The saved sources and matching methods can be viewed below.

Format: {"source":"Source and assumptions", "expectedSpecialVotes":700000, "places":[{"file":"e01/votingplaces/01-01001.xml","expectedVotes":900}]} — these example numbers are illustrative, not configured weights.

Import a complete snapshot

Paste a normalised snapshot to publish count and projection together. Test fixtures are deliberately blocked from live publication.

Election-night recording and playback

New source files are recorded with their arrival times, together with every published count and projection. Playback is separate from live graphics and Discord.

Checking recording…

Default playback speed is 1× real time. The standalone file works offline. Recordings are included in recovery backups.

Recovery backup

Save the count, projection, model, history and Discord message identity together. Passwords and webhook credentials stay in Railway variables.

Download recovery backup

Checking automatic backups…

Restoring replaces saved election data and restarts the app. Keep the same Railway credentials to resume editing the existing Discord message. Sign in again after restart.

Recent published snapshots