Skip to content

Federal electoral pendulum (post–2025 election)

Source: AEC TPP by division, Members elected — final 10 Jun 2025.
National 2PP: 55.22% Labor · Seats: 94 ALP · 43 Coalition · 13 crossbench
Last updated: 2026-05-30 (Phase 3 — AEC-verified)

2PP (two-party preferred) and 2CP — definitions in the Electoral glossary.

Non-classic seats (35 at this election): 2PP shown below for classic Labor–Coalition contests only. Teal/IND/Green finals are in the crossbench table. Bradfield 2PP is AEC-approximated.

Labor-held classics — Coalition targets (by 2PP margin)

Rank Seat St Member Party ALP 2PP % Margin Swing Watch
1 Bullwinkel WA Trish Cook ALP 50.51 +0.51 -2.84 Yes
2 Menzies VIC Gabriel Ng ALP 51.08 +1.08 +0.66 Yes
3 Petrie QLD Emma Comer ALP 51.17 +1.17 +5.61 Yes
4 Solomon NT Luke Gosling ALP 51.31 +1.31 -7.09 Yes
5 Bendigo VIC Lisa Chesters ALP 51.40 +1.40 +51.40 Yes
6 Wills VIC Peter Khalil ALP 51.43 +1.43 +3.77 Yes
7 Forde QLD Rowan Holzberger ALP 51.77 +1.77 +6.00 Yes
8 Banks NSW Zhi Soon ALP 52.39 +2.39 +5.03 Yes
9 Deakin VIC Matt Gregg ALP 52.82 +2.82 +2.84 Yes
10 Moore WA Tom French ALP 52.89 +2.89 +3.80 Yes
11 Hughes NSW David Moncrieff ALP 53.06 +3.06 +6.52 Yes
12 Aston VIC Mary Doyle ALP 53.43 +3.43 +6.04 Yes
13 McEwen VIC Rob Mitchell ALP 54.76 +4.76 +0.94 Yes
14 Bonner QLD Kara Cook ALP 55.00 +5.00 +8.41 Yes
15 Gilmore NSW Fiona Phillips ALP 55.13 +5.13 +4.96 Yes
16 Chisholm VIC Carina Garland ALP 55.70 +5.70 +2.37 Yes
17 Blair QLD Shayne Neumann ALP 55.71 +5.71 +0.48 Yes
18 Dickson QLD Ali France ALP 55.99 +5.99 +7.69 Yes
19 Leichhardt QLD Matt Smith ALP 56.06 +6.06 +9.50 Med
20 Whitlam NSW Carol Berry ALP 56.25 +6.25 -2.06 Med
21 Pearce WA Tracey Roberts ALP 56.44 +6.44 -2.40 Med
22 Sturt SA Claire Clutterham ALP 56.62 +6.62 +7.07 Med
23 Werriwa NSW Anne Maree Stanley ALP 56.77 +6.77 +1.43 Med
24 Paterson NSW Meryl Swanson ALP 56.89 +6.89 +4.29 Med
25 Tangney WA Sam Lim ALP 56.99 +6.99 +4.14 Med

Showing 25 of 94 Labor-held classics. Full list: run python scripts/build_federal_pendulum.py.

Coalition-held classics — Labor targets (by 2PP margin)

Rank Seat St Member Party L/NP 2PP % Margin Swing Watch
1 Longman QLD Terry Young LNP 50.11 +0.11 +2.97 Yes
2 Berowra NSW Julian Leeser LIB 51.63 +1.63 +5.93 Yes
3 La Trobe VIC Jason Wood LIB 52.06 +2.06 +6.37 Yes
4 Forrest WA Ben Small LIB 52.24 +2.24 +1.95 Yes
5 Bowman QLD Henry Pike LNP 52.43 +2.43 +3.08 Yes
6 Lindsay NSW Melissa McIntosh LIB 52.78 +2.78 +3.33 Yes
7 Casey VIC Aaron Violi LIB 52.89 +2.89 -1.46 Yes
8 Fairfax QLD Ted O'Brien LNP 53.23 +3.23 +5.72 Yes
9 Mitchell NSW Alex Hawke LIB 53.81 +3.81 +6.68 Yes
10 Goldstein VIC Tim Wilson LIB 53.97 +3.97 -0.25 Yes
11 Monash VIC Mary Aldred LIB 54.09 +4.09 -1.19 Yes
12 McPherson QLD Leon Rebello LNP 54.44 +4.44 +4.90 Yes
13 Grey SA Tom Venning LIB 54.64 +4.64 +5.43 Yes
14 Flinders VIC Zoe McKenzie LIB 54.78 +4.78 +1.38 Yes
15 Capricornia QLD Michelle Landry LNP 55.83 +5.83 +0.76 Yes
16 Fisher QLD Andrew Wallace LNP 56.03 +6.03 +2.64 Med
17 Hinkler QLD David Batt LNP 56.26 +6.26 +3.81 Med
18 Canning WA Andrew Hastie LIB 56.55 +6.55 -5.35 Med
19 Fadden QLD Cameron Caldwell LNP 56.88 +6.88 +3.75 Med
20 Cook NSW Simon Kennedy LIB 57.19 +7.19 +4.43 Med

Crossbench — decisive 2CP contests

Seat St Member Contest 2CP margin % Watch
Bradfield NSW Nicolette Boele IND v LIB 0.01 Yes
Kooyong VIC Monique Ryan IND v LIB 0.67 Yes
Fowler NSW Dai Le IND v ALP 2.68 Yes
Ryan QLD Elizabeth Watson-Brown GRN v LNP 3.27 Yes
Curtin WA Kate Chaney IND v LIB 3.27 Yes
Mackellar NSW Sophie Scamps IND v LIB 5.66 Yes
Calare NSW Andrew Gee IND v NAT 6.78 Yes
Wentworth NSW Allegra Spender IND v LIB 8.34 Yes
Indi VIC Helen Haines IND v LIB 8.64 Yes
Warringah NSW Zali Steggall IND v LIB 11.20 Yes
Mayo SA Rebekha Sharkie CA v ALP 14.89 Yes
Kennedy QLD Bob Katter KAP v LNP 15.75 Yes
Clark TAS Andrew Wilkie IND v ALP 20.38 Yes

Uniform swing benchmarks

Threshold Swing to Coalition (uniform 2PP)
Labor loses majority ~6.3%
Coalition largest party ~7.2%
Coalition wins government ~9.0%

Coalition vote is inefficiently distributed; Teal/IND seats break uniform-swing models.

Data maintenance

Regenerate after redistribution: python scripts/build_federal_pendulum.py