[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