The Election Booth Atlas

Every booth. Every election. · Victoria, 1999–2026
loading…
Loading booths…

Find a venue

A venue is one physical polling place. State booths are matched to federal premises by name; some rural booths carry only an approximate location.

Pick a venue to see every election held there.

Venue by venue

Summary

Largest differences

Loading…

Statewide

Seat spectrum

strongest Laborstrongest Coalition

Seat by seat

Loading polls…

Primary vote, statewide

Two-party preferred, Labor v Coalition

Pollsters’ own 2PP where published. With One Nation in the twenties it is an increasingly notional figure; the three-party split alongside is the better read of the regional contests.

Three-party preferred

Other two-party splits

Seat projections (MRP)

By region, latest poll

Leaders

Every poll

Seat by seat

Has the relationship changed over time?

Seats ranked

The personal vote
Who loses: the pendulum, tested
Swings and roundabouts
Preference flows and the two-candidate model
Loading the preference model…

Where each party’s voters go

How well it predicts: 2022 from 2018

Registered how-to-vote cards

Ballot order: donkey and adjacency voting
New boundaries: notional results

SQL over the loaded tables

Result

Run a query to see rows here.

What this is

Every polling place, election after election: results pinned to the place the votes were cast, so the vote can be followed by school hall and church porch rather than by electorate. Boundaries change; a school hall does not. It starts with Victoria — every state election since 1999 and every federal election in Victoria since 2004 (House, with the Senate from 2010) — and is built to take on other states and the federal map in the same way.

How to read it

Dots are election-day booths, sized by votes cast there. Catchments are a model: each booth is given the area closer to it than to any other booth in the same electorate, so the map fills in. Early, postal and absent votes are not tied to a booth by the electoral commissions and are shown at electorate level in the booth panel only. In 2022 about half of all state votes were cast before election day, so a booth map shows election-day voters, not everyone.

The Dashboard is the statewide view of any election: primary vote by party with the change since last time, the seat tally against the majority line, a seat spectrum (one box per seat from the strongest Labor seat to the strongest Coalition seat, by primary leader or after preferences), and every seat with who held it, who won or leads, the margin and the 2CP swing, filterable to the seats changing hands or in doubt. On election night it fills in by itself from the live feed; seats are called by this page’s own rule (a clear projected lead for the share of booths in) and marked declared only when the VEC publishes the distribution.

Polls is a separate compilation of published opinion polling for the 2026 election — statewide primaries and two-party figures with a smoothed trend, three-party splits, regional breakdowns, the MRP seat projections and leadership ratings — taken from Wikipedia’s polling page, plus “What voters say matters”: the issue questions from the Herald Sun / Freshwater Strategy monthly poll (which issue people want the government to prioritise, which will sway their vote, and which side they trust on each), with the pollster’s own breakdowns by age, income, education, housing, children and vote. It is for reading the campaign; nothing from it feeds the Dashboard or the election-night projections.

Demographics puts the 2021 Census beside the vote: every seat as a dot, any census indicator across, any of the map’s measures up (primary share, 2CP, swings, leader), with a fitted line and the correlation, and a second chart showing how that correlation has moved from election to election. The census figures come from the ABS Census tables. For the 2022 boundaries they are built from the smallest published areas (SA1s, a few streets each) in the ABS DataPacks for 2021, 2016 and 2011, summed onto each electorate and onto each election-day booth’s catchment (the area nearest the booth within its electorate) by the share of each SA1 that falls inside, with the Parliament of Victoria Library’s electorate data cards supplying the true electorate medians and a few extras; the electorates as drawn in 2013 (the 2014 and 2018 elections) and the federal divisions of 2021 (the 2022 election) use the ABS tables for those boundaries, so each election is read against the boundaries it was fought on, and other elections are matched by seat name. Because the three censuses are summed onto the same boundaries, the map, the Demographics axes and every seat panel can also show how an area has changed since 2016 or 2011, and the map’s census layer works by booth as well as by seat. Every seat’s panel carries a short “who lives here” table against the Victorian figure, and every booth panel a “who lives nearby” table for its catchment. One caution on the 2021 figures: the Census was taken during Melbourne’s August 2021 lockdown, so anything about travel to work describes that week.

Likely priorities (in each seat panel, on the map’s census layer and as a Demographics axis) are modelled, not polled. The Herald Sun / Freshwater Strategy monthly poll publishes its issue questions broken down by age, household income, degree and housing; each group’s gap from everyone (pooled across waves) is applied to how each seat’s 2021 Census mix differs from the state’s, with a correction so that overlapping traits (older seats are also owner-occupier seats) are not counted twice, on top of the latest statewide figure. The poll’s 2026 income bands are deflated to 2021 dollars by wage growth. It shows what a seat’s make-up implies, nothing more: local fights, geography and campaign issues are invisible to it, so a seat can care about something the model can’t see. The code is src/model_issues.py.

Democratic mood works the same way from a different source: the McKinnon Index 2026, a national survey of about 4,300 people whose dashboard publishes its unit records (answers with the respondent’s age band, education, household income band, birthplace, language and remoteness, but no state, electorate or vote). For each reading of a question — trusts state politicians, thinks Australia is more divided, thinks violence for a cause is sometimes justified, satisfied with local safety, and so on — a weighted regression on those demographics gives each group’s effect, and an area’s estimate is the national figure shifted by how its 2021 Census mix differs from Victoria’s. It is a statement about who lives somewhere, not a poll of them: the “local safety” figure, for instance, knows nothing about local crime. The code is src/model_mood.py.

Each modelled layer is shown only for the elections its survey speaks for. The Freshwater issue questions and the McKinnon Index 2026 (fieldwork July 2026) appear for the 2026 election. The McKinnon Index 2025, its first wave (about 4,400 people, some 1,000 of them Victorian, with each respondent’s state recorded), is used for the 2025 federal election, on the 2024 division boundaries, and the 2025 state by-elections; because it records state, its level is the Victorian figure rather than the national one. Nothing modelled is shown for earlier elections or for booths in them: attitudes measured in 2025 or 2026 say nothing reliable about what mattered in 2022, let alone 1999.

Preferences holds the preference-flow model. Every distribution of preferences in the Atlas is treated as observations of where an excluded candidate’s votes went; a Luce choice model fitted by maximum likelihood gives each voter-party a weight for every destination, so a flow can be worked out for any set of candidates still standing. The Dashboard’s “Modelled” spectrum and the “Modelled from first preferences” block in each seat run the first preferences through the exclusions with those flows, giving a two-candidate figure for any pair without a VEC two-candidate count. Each pile keeps track of where its votes started, so a Labor vote sitting on an excluded independent still moves like a Labor vote. Fitted on 2018 and tested on 2022 it picked the right final two in 75 of 76 seats with a mean error of 1.8 points, the misses being the Labor-v-Greens seats where the Liberal how-to-vote card changed; the registered cards close most of that gap (see the Preferences tab). Nothing from the polls goes in. The code is src/pref_flows.py, src/htv_follow.py and src/build_htv.py.

Switch from Booths to Electorates to see whole-seat results, which include every vote type and are what decide who is elected. Coalition means Liberal plus National; One Nation and the Victorian Socialists have their own colours; Independents are everyone running without a registered party. Shares are of the formal vote.

Where the numbers come from

Victorian Electoral Commission results pages and spreadsheets (the 1999–2018 pages via the Internet Archive, as the VEC no longer serves them; three booth pages were never captured — Ferntree Gully 2006, Evelyn and Nepean 2002, Geelong 1999 — so those seats carry their district totals only, and Frankston East 1999 is the supplementary election held after a candidate died); Australian Electoral Commission Tally Room downloads (the 2004 polling-place list has no coordinates, so those booths are placed by the polling-place id they share with later elections); Vicmap and AEC boundary files. Coordinates come from AEC polling place data where a state booth matches a federal premises by name, otherwise from OpenStreetMap at locality level, flagged as approximate. Every electorate’s booth totals reconcile to the published electorate totals, with one documented exception (Ripon 2018, where the only booth-level count published predates the recount). Narracan’s 2022 contest was deferred to a supplementary election on 28 January 2023 after a candidate died during the campaign; it is shown as part of 2022 (the 88th seat of that parliament) and flagged wherever it appears, including in the contests and booths tables under Query.

Pipeline, raw data and reconciliation checks: the election-analyser project folder.

Datasets and resources

Everything the Atlas is built from, by source. Open a group to see what each provides.

Election results3
Census5
Boundaries and maps3
Polls and surveys4
  • Herald Sun / Freshwater Strategy — monthly Victorian polls (primary vote, two-party, issue questions with breakdowns)
  • Roy Morgan — Victorian polls, compiled with the other published polls for the Polls tab
  • Wikipedia polling table — as a cross-check on dates and figures
  • McKinnon Index — 2025 and 2026 survey responses published on its dashboard (democratic mood layers)
Software2

Privacy

The public site counts visits with GoatCounter: which tab was opened and roughly where the visit came from, nothing more. No cookies, no personal data, no advertising, and nothing is counted when the atlas is run from a local copy. Map tiles are served by OpenFreeMap.