[EM] IRV party list PR with leveling seats

Kristofer Munsterhjelm km-elmet at munsterhjelm.no
Thu Aug 15 16:02:21 PDT 2024


Here's a relatively simple IRV-based method for doing party list in the 
Scandinavian setting, i.e. with a threshold below which parties get 
district seats but not top-up seats.

For closed list PR, voters rank parties. For open list PR, they may rank 
candidates or parties, but can't rank candidates within a party if they 
rank the party.

For instance, for OLPR, A1>A2>A3>B1>B2>B3 and Party A>Party B are both 
valid, but Party A>A2>A3>Party B is not.

Then I have two forms. The former has more nonmonotonicity and 
compromise incentive than the latter, but the latter is more complex.

The former proceeds like this:

1. Count the non-eliminated parties' first preference support and 
determine the national support.

2. Select the party with least support. If that party is above the 
threshold, go to 5 (finalization).

3. Otherwise, for each district where this party obtains a seat, elect 
the candidate and remove every ballot that voted for this party from 
further consideration.

4. Eliminate the party in question and go back to 1.

5. (Finalization) Do Sainte-Laguë with the remaining parties' support 
numbers, and assign leveling/top-up seats. Ideally use biproportional 
representation for this, but you could also use the greedy algorithm 
that's used in practice in Norway and Sweden. It's simpler but can lead 
to weird leveling seat assignments.

As for the latter, more complex variant:

This method assigns every ballot a "seat count". This seat count 
represents how many seats the ballot has contributed to electing, and 
the ballot's weight is 1/(2s+1) where s is the seat count.

Replace step 1 with:
	"Count the non-eliminated parties' first preference support, taking the 
different ballot weights into account, and determine the national support."

Replace step 3 with:
	"Otherwise, for each district where this party obtains a seat, elect 
the candidate and update the seat counts of the ballots that contributed 
to the candidate's election."

This is less unfair as voting for someone who obtains a seat doesn't 
wipe out your vote entirely. But you have to keep track of seat counts.

Both methods share some of the disadvantages of IRV (like 
nonmonotonicity). But I don't see how to do Condorcet like this without 
making the method much more complex.[1]

In practice, voters would vote up to the first party they think will 
pass the threshold. There's no point in ranking subsequent 
above-threshold parties because the elimination and vote redistribution 
stops when every remaining party is above the threshold.

-km

[1] It might be interesting to find out how other ranked methods could 
be fit into a Sainte-Laguë reweighting framework. Can Bucklin, for 
instance? Something about letting people's kth ranks count, but 
reweighting by 1/(2s+1) after the election of some candidate? The 
problem is it's not clear what "threshold" should be used.


More information about the Election-Methods mailing list