STV (Single Transferable Vote) options for surplus transfer, elimination etc: Baas, Meek, Warren


I’m helping run (“facilitate”) the May 2019 election for some members of the Wikimedia Foundation Board, in which ranked choices and STV are used.

There are a number of approaches to surplus transfer and elimination in the STV world. E.g. see:

What do others think of these methods?

What software options do people have experience with? I’d particularly love an open-source option to try out the Baas method, since it seems quite promising to me. The Java jar file provided is pretty inconvenient to play with.


Depends how much influence you think you would have over suggesting the method.
It looks like there’s very little way that we can influence this current election, but it would be great to involve the CES organization to make recommendations on how to increase proportionality and reduce complexity in the electoral process.

What are the organizations concerns?


We actually had a thread that wound up discussing Baas’ STV. See: When are "Real World Failure Rates" Useful?
(It’s not mentioned in the thread name because it wasn’t the original topic of the thread.)
The fact that Baas’ version is Borda in the single-winner case (and thus is essentially Borda with weighted ballots for the last seat, and possibly other late seats if no one has a quota) is a cause for concern, because it means that Borda manipulation tactics can be employed for very late seats. While for large parties this might not be worthwhile when there are many winners (at least double digits), for very small parties, such exploitation might be their only shot at winning a seat.
This could be fixed by altering the set ordering algorithm to count ballots that don’t rank any of the candidates in a set as requiring n-1 choice demotions (where n is the total number of candidates) rather than just as many demotions as there are ranked candidates.


Thanks for the pointer.
Can you give an example of the sort of manipulation tactic you’re talking about?


For example, in the following election of 3 candidates:
60% vote A1>A2
40% vote B1>…>B10 (where there are 10 candidates from party B.)
The Hare Quota is 33.333%. The first set of candidates considered is {A1,B1}, since it is the smallest possible set containing everybody’s first choice. Both meet quota, but A1 has more support then B1, so A1 is elected, and 33.333 percentage points worth of A votes are used up. Going into the second round, the count is:
26.667% vote A2
40% vote B1>…>B10
The first set considered is {A2, B1}. Only B1 makes quota, so B1 is elected, and 33.333 percentage points worth of B votes are used up. So for the third round, the count is:
26.667% vote A2
6.667% vote B2>…>B10
The sets considered would be {A2, B2}, {A2}, and {B2} (there are other sets, but they are are of the form {A2, some B candidates}, in which no one makes quota, or {some B candidates}, which is dominated by {B2}.)
{A2, B2} is considered first, but since no one achieves quota, the next set is chosen.
With the set {B2}, it takes 1 choice demotion for the A ballots to run out of candidates, so there are a total of 0.26667 * Votes choice demotions
With the set {A2}, it takes 9 choice demotions for the B ballots to run out of candidates, so there are a total of 0.06667 * 9 * Votes= 0.6 * Votes choice demotions.
So {B2} is considered first and wins.
If you treat ballots that run out of candidates as requiring number_of_candidates-1 choice demotions (in this case, 9 for the third round), the problem goes away.


Although technically, his description of the method on OpaVote says to disregard ballots that run out of choices, however, that would mean that sometimes no one will ever reach the quota on any subset, and his method is somewhat ambiguous about what to do in that case. I assumed that it elects the candidate whose set containing only that candidate is highest ranked, because he says that his method is Borda in the single winner case.