Electioneering: Part III

Final part a three-part series looking at how the composition of the Australian Federal parliament might vary under different electoral systems.

In this part, we conduct a comparative analysis of each voting system.

R
auspol
Published

November 9, 2023

Last time we determined the makeup of parliament under the three different systems. This time, we’ll reframe these results so we can perform a side-to-side analysis and draw some reasonable inferences. If you’ve skipped to the end1, a reminder that the series is divided into three parts:

1 This is the good bit, though.

Due to the presence of list seats in an MMP system, looking at electorates alone elides the comparative advantage of the MMP system. For this reason, I’ve broken this section into two subsections: the first determines the total composition of parliament under each of FPTP, MMP, and STV, whilst the second compares the winners of electorates under FPTP and STV.

Composition by Party

First, we’ll pull all our results for each electorate system into a single table. We’ll also calculate the percentage difference in party vote and received seats as a marker of how well each system reflects the preferences of the electorate.

compare.parliament = votes %>%
  group_by(PartyAb) %>%
  filter(CountNumber == 0) %>%
  summarise(partyVoteN = sum(prefCount)) %>%
  mutate(partyVotePC = (partyVoteN / sum(partyVoteN)) %>%
           multiply_by(100) %>%
           round(digits = 2)) %>%
  # Join to MMP
  full_join(mmp %>%
              select(PartyAb,
                     mmpElecSeatsN = seatsElecN,
                     mmpListSeatsN = seatsListN,
                     mmpTotSeatsN = seatsTotalN,
                     mmpTotSeatsPC = seatsTotalPC)) %>%
  # Join to STV
  full_join(stv %>%
              group_by(PartyAb) %>%
              summarise(stvSeatsN = n())) %>%
  # Join to FPTP
  full_join(fptp %>%
              group_by(PartyAb) %>%
              summarise(fptpSeatsN = n())) %>%
  # Tidy up the missing
  mutate(across(c(stvSeatsN, fptpSeatsN), ~ ifelse(is.na(.), 0, .)),
         stvSeatsPC = (stvSeatsN / sum(stvSeatsN)) %>%
                  multiply_by(100) %>%
                  round(digits = 2),
         fptpSeatsPC = (fptpSeatsN / sum(fptpSeatsN)) %>%
           multiply_by(100) %>%
           round(digits = 2)) %>%
  # Difference from party vote
  mutate(across(ends_with("SeatsPC"), ~ . - partyVotePC, .names = "{.col}_diff"))
Comparison of Parliament Under Three Voting Systems
Australian Federal Election 2022
Party Total Vote (%) Mixed Member Proportional Single Transferrable Vote First Past the Post
Electorate Seats (n) List Seats (n) Total Seats (n) Seats (%) Deviance (%) Seats (n) Seats (%) Deviance (%) Seats (n) Seats (%) Deviance (%)
ALP 32.58 71 10 81 36.65 4.07 77 50.99 18.41 71 47.02 14.44
LP 23.89 40 19 59 26.70 2.81 27 17.88 -6.01 40 26.49 2.60
GRN 12.25 2 29 31 14.03 1.78 4 2.65 -9.60 2 1.32 -10.93
LNP 8.00 23 0 23 10.41 2.41 21 13.91 5.91 23 15.23 7.23
IND 5.30 3 0 3 1.36 -3.94 10 6.62 1.32 3 1.99 -3.31
ON 4.96 0 12 12 5.43 0.47 0 0.00 -4.96 0 0.00 -4.96
UAPP 4.12 0 0 0 0.00 -4.12 0 0.00 -4.12 0 0.00 -4.12
NP 3.60 10 0 10 4.52 0.92 10 6.62 3.02 10 6.62 3.02
LDP 1.73 0 0 0 0.00 -1.73 0 0.00 -1.73 0 0.00 -1.73
AJP 0.60 0 0 0 0.00 -0.60 0 0.00 -0.60 0 0.00 -0.60
CYA 0.39 0 0 0 0.00 -0.39 0 0.00 -0.39 0 0.00 -0.39
KAP 0.38 1 0 1 0.45 0.07 1 0.66 0.28 1 0.66 0.28
XEN 0.25 1 0 1 0.45 0.20 1 0.66 0.41 1 0.66 0.41
WAP 0.23 0 0 0 0.00 -0.23 0 0.00 -0.23 0 0.00 -0.23
GAP 0.21 0 0 0 0.00 -0.21 0 0.00 -0.21 0 0.00 -0.21
NB: Parties receiving fewer than 30,000 votes are not displayed.
Deviance is the percentage difference between the proportion of seats held compared to the 1st preference vote.
Total vote percentage includes independents, whilst the 5% threshold for qualification for list seats was based on party vote, which excluded independents.

This is why One Nation received list seats, despite receiving <5% of the total vote.

I was initially a bit surprised by these results, as my assumption when I started this project was that STV would be the superior system as it removes the need for tactical voting. This reflects my own biases - the MMP system is explicitly designed to produce a parliament that reflects the voting preferences of the electorate.

What is impressive about the MMP system is just how well it achieves this, which suggests my subjective anxiety for tactical voting is probably overstated. With the exception of independents, who receive significantly fewer seats under the MMP system2, prominent minor parties gain a significant number of seats that better reflects voter preference. Another unexpected finding was how both FPTP and STV demonstrated similar levels of deviance.

2 This also reflects the approach I took by explicitly disqualifying independents from competing for list seats. This compromise was made because independents don’t exist under the MMP system, but significantly the independent cohort relative to parties.

One of the key limitations here is that as STV removes the benefit of tactical voting, this does not necessarily reflect what Australian voter behaviour would look like under an MMP system.

Composition by Electorates

Now we will compare the outcomes of electorates under STV and FPTP, highlighting electorates where the outcome was different. As MMP uses FPTP to determine the winner of electorates, there is no additional value for including MMP in this comparison.

compare.seat = full_join(
  stv %>%
    mutate(name = paste(GivenNm, Surname)) %>%
    select(StateAb, DivisionNm,
           stvID = CandidateID, stvName = name, stvParty = PartyAb, stvCount = prefCount, stvMargin = margin),
  fptp %>%
    mutate(name = paste(GivenNm, Surname)) %>%
    select(StateAb, DivisionNm,
           fptpID = CandidateID, fptpName = name, fptpParty = PartyAb, fptpCount = prefCount, fptpMargin = margin),
  by = c("StateAb", "DivisionNm")) %>%
  mutate(identical = ifelse(stvID == fptpID, TRUE, FALSE)) %>%
  select(-c(stvID, fptpID))
Comparison of Electorates with Differing Outcomes Under STV and FPTP
Australian Federal Election 2022
State Single Transferable Vote First Past the Post
Elected Member Party Votes (n) Margin (n) Elected Member Party Votes (n) Margin (n)
Bennelong NSW Jerome LAXALE ALP 50,801.00 1,954.00 Simon KENNEDY LP 41,206.00 3,610.00
Boothby SA Louise MILLER-FROST ALP 60,579.00 7,451.00 Rachel SWIFT LP 43,196.00 6,450.00
Brisbane QLD Stephen BATES GRN 58,460.00 8,122.00 Trevor EVANS LNP 41,032.00 11,380.00
Curtin WA Kate CHANEY IND 53,847.00 2,657.00 Celia HAMMOND LP 43,408.00 12,466.00
Fowler NSW Dai LE IND 44,348.00 2,793.00 Kristina KENEALLY ALP 30,973.00 5,627.00
Gilmore NSW Fiona PHILLIPS ALP 56,039.00 373.00 Andrew CONSTANCE LP 46,941.00 6,766.00
Goldstein VIC Zoe DANIEL IND 51,861.00 5,635.00 Tim WILSON LP 39,607.00 5,792.00
Higgins VIC Michelle ANANDA-RAJAH ALP 49,726.00 3,941.00 Katie ALLEN LP 38,859.00 11,672.00
Kooyong VIC Monique RYAN IND 54,276.00 6,035.00 Josh FRYDENBERG LP 43,736.00 2,433.00
Lyons TAS Brian MITCHELL ALP 37,341.00 1,344.00 Susie BOWER LP 27,296.00 6,001.00
Mackellar NSW Sophie SCAMPS IND 51,973.00 4,955.00 Jason FALINSKI LP 40,993.00 3,269.00
North Sydney NSW Kylea Jane TINK IND 51,392.00 5,666.00 Trent ZIMMERMAN LP 36,956.00 12,479.00
Robertson NSW Gordon REID ALP 50,277.00 4,344.00 Lucy WICKS LP 38,448.00 2,217.00
Ryan QLD Elizabeth WATSON-BROWN GRN 52,286.00 5,256.00 Julian SIMMONDS LNP 38,239.00 8,236.00
Tangney WA Sam LIM ALP 56,331.00 5,114.00 Ben MORTON LP 43,008.00 2,068.00
Wentworth NSW Allegra SPENDER IND 48,186.00 7,449.00 Dave SHARMA LP 35,995.00 4,185.00

There are a couple of interesting observations here. Firstly, the teal wave would not have occurred in a FPTP system3. This may reflect the fact that centrist independents are uniquely positioned to draw preferences from both major parties and the Greens. Secondly, the L/NP benefits significantly more than Labor under FPTP. This may reflect the greater number of minor parties on the left wing, which dilutes the Labor vote.

3 Teal candidates include Kylea Tink, Sophie Scamps, Allegra Spender, Monique Ryan and Zoe Daniel. The only teal who would have held her seat under FPTP was Zali Steggall.

Again, one of the key limitations here is that as STV removes the benefit of tactical voting, first preferences may not reflect voter behaviour under FPTP.

Electoral Maps

The below maps are very similar, reflecting that ~90% of the parliament remains unchanged in each system4. The fact that the changed electorates were in dense urban areas further adds to the unimpressiveness.

4 This is still significant though!

Conclusions

After this, I think that MMP is a better system for mapping voter preferences to parliament composition. Whilst I think STV tends to track voter preferences at an electorate level, it’s failing is that it only tips relatively unsafe seats and so only makes a difference on the margins. Conversely, MMP works at the level parliament rather than electorate level, and so better expresses views that are held by a small percentage of the population across a wide geographical area.