263

The election pages' sidebars state that Stack Exchange elections use the Meek STV vote-counting method:

After m days, the final voting results will be freely downloadable from this page forever, and we will calculate the n winners using OpenSTV with the Meek STV method.

How does that work? I suspect that Meek STV is unfamiliar to most Stack Exchange users, with experience from previous SE elections notwithstanding. After reading the linked description of Meek STV twice, as well as some other descriptions of the Meek method, I finally understand it... I think. Kinda. Sorta. Can someone provide a layman's explanation?

0

5 Answers 5

202

Meek's method of STV is an iterative process that approaches the will of the people asymptotically.

TL;DR Your vote, valued at 1.00 vote, is applied to your candidates in the order you rank them. Each candidate only uses as much of your vote as needed to become elected (shared equitably between all who voted for that candidate). The fractional remainder of your vote is then passed down your list to your next choice, in the order of preference. If a candidate is considered out of the race, you get that part of your vote back to apply further down your list.

For a more detailed example, assume:

  • 24 people voting
  • 6 candidates
  • 3 open seats

Thus, 6 is the vote "quota"¹ for becoming elected (24 votes ÷ (3 seats + 1)).

To cast their ballot, each voter chooses who should receive their vote by selecting a first choice, second choice, and a third choice candidate.

At the beginning of the counting process, every vote is fully applied to the first choice candidate. So now the question is asked: "Did any candidate receive more votes than the quota?":

  • Yes. If a candidate receives more than the 6 vote quota, the "excess" (which is the number of votes over the quota for that candidate) is redistributed to those votes' next choices.

    If Candidate A has received 10 votes when the threshold is 6, then only 6/10 of each vote is needed to elect Candidate A. Therefore the remaining fraction (4/10) of each of those votes is transferred to each votes' next choice down the list of candidates on that ballot.

    or...

  • No. If no candidate's status changed to be above the quota, the candidate with the least number of votes is removed from the race. Those votes are then transferred to count fully toward their next choice down the ballot.

Once the votes are transferred at the end of the current iteration, the quota is recomputed (I believe this is to remove the partial votes for candidates that are out of the running), and the same question is asked again. This is repeated until there are only three candidates left in the running and each has votes at (or "near" for small values of near) the quota value.

If all candidate choices on a ballot are eliminated, that vote no longer has an impact on the outcome.

If a candidate has votes above the quota, votes are transferred (at the end of option 1.) before determining if a candidate should be eliminated. That's why choosing a popular candidate as your first choice isn't "throwing your vote away" under this method.


¹ The quota can actually vary as the process iterates. See the wiki article for the formula which is actually recomputed at each step.

8
  • 40
    Voting for a candidate who you think is going to lose also isn't throwing your vote either - because 100% of it will transfer to the next candidate. Tactical voting is less relevant and less effective. And the iterative nature of this algorithm does away with the problem that occurs in other methods when two elected candidates transfer votes to each other (thus putting them both above the quota again, and meaning voters would have spent too large a proportion of their vote on them).
    – DMA57361
    Commented Feb 2, 2011 at 18:46
  • 1
    Finally, a system that actually makes sense! Commented Jan 31, 2014 at 21:10
  • 5
    "Thus, 6 is the vote "quota"¹ for becoming elected (24 votes ÷ (3 seats + 1))." Why is that how you calculate the quota? Why do you add 1 to the number of seats?
    – bpromas
    Commented Dec 1, 2015 at 14:12
  • @BrunoRomaszkiewicz I think the arithmetic is wrong. It would make sense to do ceil(voters / seats). in this case 6 isn't automatically elected, since 4 candidates could get 6 votes. One would then meet the quota, but not be elected.
    – Adam Smith
    Commented Dec 4, 2015 at 20:22
  • 1
    actually, compared to Condorcet, this system sucks. quite complicated and hard to explain to people who count on knowing how their votes are considered by the tabulator in order to know how to vote most effectively. Commented Mar 15, 2016 at 0:31
  • 1
    @robertbristow-johnson Condorcet isn't a voting system, it is a property of voting systems. Also, Maximal lotteries is rather hard to explain, but is better on average than any other voting system with voters who vote for how they want. Commented Apr 13, 2016 at 0:24
  • sorry, @PyRulez, but your initial statement is pedantic. the only difference between the "voting systems" that Condorcet is a "property" of, is how they would resolve the Rock-Paper-Scissors cycle if one were to happen (which is unlikely). otherwise Ranked-Pairs, MinMax, Schulze all pick the same candidate, the *Pairwise Champion". would you like me to explain to you how Condorcet, without any of those other specific qualifications works as a "voting system"? Pure Condorcet, no Tideman, no Schulze, no Kemeny... Commented Apr 13, 2016 at 2:38
  • so after all of the ballots are tabulated and you can constructed this Defeat Matrix, you might know what that is. now every candidate's forehead is nice and clean, and you (the election judge) have a marker pen. for each pair of candidates you see from the Defeat matrix, which candidate defeats the other (gets more votes). on the forehead of the defeated candidate, you mark a big L for Loser. after doing that for every candidate pair, you elect the candidate that doesn't have a big L on his/her forehead. (might not always work, but it's a system.) Commented Apr 13, 2016 at 2:45
128

Here's the so-über-short-it's-almost-misleading version:
Meek STV does calculations in rounds (or "iteratively," for you programmer types). In the first round, all votes count for the candidate marked as the first choice. The system figures out how many votes are needed to win. If anyone gets that many votes, he wins, and any "extra" votes he got are handed out to the voters' second choices. If nobody wins, the weakest candidate gets cut and all votes he received go to the voters' second choices. Then the next round starts. Rounds keep going until enough people have been elected.

Or, if you're into explanatory videos, check out Politics in the Animal Kingdom: Single Transferable Vote on YouTube.

As you might guess from the name "Single Transferable Vote," every voter gets one vote. But that doesn't make sense; you get to vote for three people in the election, right? Don't be fooled! In Meek STV, every voter's one vote might be split up into fractional bits and divided amongst the candidates or even thrown away. More on this later.

As with any voting system, there exists some threshold for victory, and any candidate who reaches the threshold is considered "elected." Meek STV calculates this threshold ahead of time. If a candidate gets more than enough votes to be elected, the difference between the votes received and the threshold is the "surplus." The candidate keeps just enough of everyone's vote to stay above the threshold; the rest is given to the voters' next-most-preferred choices in "redistribution."

Wait, what?

Example time. Let's say that 100 voters select candidate A as their first choice. Let's also say that the threshold is 25. At the end of the first round, candidate A is considered elected. Since the threshold is 25, candidate A only keeps 25/100, or a quarter, of the votes he got. But this doesn't mean that 75 of the people who voted for him transfer their votes to their second choice!

Instead, candidate A keeps one fourth of every one of those hundred votes he got. Then, all 100 voters get to transfer the remaining three quarters of their votes to their second-choice candidates.

In short: when someone you vote for gets elected, you lose a fractional bit of your vote based on the threshold and the total number of votes the candidate got.

Okay. But what if there are no surpluses to redistribute at the end of a given round? In that case, whoever has the lowest number of votes — let's call him candidate Z — gets thrown out of the election as if he had never participated in the first place. Whatever votes Z did accumulate get redistributed to the voters' next-most-preferred candidate, and they're worth just as much as they were when they were assigned to Z.

In short: when nobody gets elected and your vote is counting for the weakest candidate, your vote gets transferred to the next candidate on your priority list.

Finally, what happens when a vote is already on a voter's third choice, and it's time for redistribution? The remaining portion of that vote just gets thrown away, not counted towards any candidate. Any slivers of votes that get thrown away are still useful for one thing: they count towards "excess" in the threshold calculation.

In short: when everyone you voted for has either been elected or eliminated, any fraction of your vote that hasn't been used yet gets thrown away.

Note that, after any given redistribution, an already-elected candidate may exceed the threshold again; the algorithm re-redistributes votes to account for this.


Warning: optional math ahead that explains where your vote goes

The ratio of the threshold to the total number of votes a candidate gets is called the candidate's weight, or w. In the example above, wa is 25/100, or 1/4.

Say that your first choice was candidate A, your second choice was candidate B and your third choice was candidate C. Here's where your vote goes, assuming nobody you vote for gets eliminated:

A: wa
B: (1 - wa) wb
C: (1 - wa) (1 - wb) wc
excess: (1 - wa) (1 - wb) (1 - wc)

What if B got eliminated? Here's the adjusted breakdown:

A: wa
B: 0
C: (1 - wa) wc
excess: (1 - wa) (1 - wc)

(This concludes the math.)


Alright, so how is that threshold calculated, anyways? It's a lot harder than it is in older STV methods; actually, it's the reason the algorithm requires a computer. Meek STV is the only method to change quota mid-process. The quota generated at the start of every round by this expression:

 total number of voters - excess
---------------------------------
       available seats + 1

Note that total number of voters and available seats are constant, so the threshold is only affected by excess once tabulation begins.

Partial list of sources:

Wikipedia on Wright STV
Wikipedia on Meek STV
An article from The Computer Journal describing Meek STV (PDF)

8
  • nice! That pdf link is awesome! as I'm a math head :).
    – yhw42
    Commented Feb 2, 2011 at 18:54
  • btw: that PDF link breaks at the $
    – yhw42
    Commented Feb 2, 2011 at 18:54
  • @yhw, yeah, I originally tried to make the text a link, but the system wouldn't recognize it. $ is not in the list of illegal characters, so I'm saying it's Markdown's fault until proven otherwise. I've edited to de-linkify the whole thing.
    – Pops
    Commented Feb 2, 2011 at 18:59
  • 1
    Please define excess in the last paragraph. Commented Nov 14, 2011 at 21:46
  • excess is the votes that are thrown away (e.g. where all 3 candidates on the wishlist are eliminated) Commented Mar 12, 2013 at 21:25
  • 4
    Not that it matters, but I like this answer a lot better than the other one, even though the other currently has almost twice as many votes. That other answer is pretty good, but I feel the "accessible to lay people" portion of this answer is simultaneously a little more understandable and a little more rigorous; the walk-through of an example scenario is more thorough and less mysterious; there is a deeper dive into the math at the end for those who care for it; and there is a more complete list of references. This is a textbook example of a Great Answer.
    – John Y
    Commented Nov 24, 2015 at 22:40
  • May I suggest a switch to approval voting? It's so much easier to understand.
    – Mark
    Commented Feb 9, 2016 at 1:42
  • 1
    @Mark You may, but not here in the comments; probably nobody will see it other than me. Feel free to post as a feature request here on Meta SE though!
    – Pops
    Commented Feb 9, 2016 at 5:25
18

I had to write my own explanation in order to figure out how STV works in practice. This answer goes into more detail about how the system works for multiple position elections such as most Stack Exchange elections.

As I write this, Donald Trump is well on his way to winning the Republican primary even though most people predict he'd lose a two candidate race. The problem can be summed up with this (hypothetical) chart:

Percentage | First choice | Second choice | Third choice
---------- | ------------ | ------------- | ------------
33%        | Trump        | N/A           | N/A
22%        | Rubio        | Cruz          | N/A
22%        | Cruz         | Rubio         | N/A
 8%        | Bush         | Rubio         | Cruz
 8%        | Kasich       | Rubio         | Cruz
 7%        | Carson       | Cruz          | Rubio

Trump supporters tend to be pretty adamant about their candidate, so let's suppose they wouldn't bother to vote if he weren't running. And let's suppose that Cruz and Rubio supporters would rather have the other candidate rather than Trump. And let's suppose Bush, Kasich and Carson are stealing votes that would go to one of the leading "not-Trump" candidates. In this scenario, it's clear that Trump is only in play because the rest of the field is divided. He'd lose to Rubio in a two-candidate race.

This is precisely the sort of paradox that single transferable vote (STV) systems are designed to resolve. While the math can be daunting, the idea is rather simple. Instead of waiting for candidates to drop out, an STV system allows voters to rank their preferences and resolve the voting accordingly. So in the example above, Carson, as the least-supported candidate, would be dropped and his votes would be transferred to Cruz.1 The new tally would be:

Percentage | First choice | Second choice | Third choice
---------- | ------------ | ------------- | ------------
33%        | Trump        | N/A           | N/A
29%        | Cruz         | Rubio         | N/A
22%        | Rubio        | Cruz          | N/A
 8%        | Bush         | Rubio         | Cruz
 8%        | Kasich       | Rubio         | Cruz

Then the process of dropping the candidate with the least votes would continue until some candidate gets a majority:

Percentage | First choice 
---------- | ------------ 
67%        | Rubio
33%        | Trump

Moderator elections often involve multiple winners. Traditional plurality systems suffer from well-known problems that cause people to occasionally withhold votes to their prefered candidate. We use the Meek method which avoids this problem. Let's look at another hypothetical example of an election on The Beatles—Stack Exchange. The first round of voting looks like this:

Votes | First choice 
----- | ------------ 
64    | Paul
25    | John
15    | George
10    | Ringo

For this example, two moderator positions are open and there are four candidates. The first step is to establish a threshold for election. We use the Droop quota:

Votes           114
--------- + 1 = ----- + 1 = 38 (rounded down)
Seats + 1       2 + 1

Notice that if there were only one seat, the quota would be 50% + 1 vote which is the definition of a majority. Droop generalizes the definition for any number of seats.

We can see at a glance that Paul has passed the threshold and will be elected. But what happens to the 26 extra votes he got, but didn't need?2 One potential method is to take 26 random ballots and transfer them to their second choice. That doesn't feel very fair because the results depend on which random sample is transferred rather than something under the voter's control. So the Meek method transfers fractional votes instead.

To simplify the example, suppose John is a very divisive candidate and none of Paul's fans pick him as their second choice:

Votes | Second choice | Percentage | Transferred votes
----- | ------------- | ---------- | -----------------
 0    | John          |  0%        |  0
16    | George        | 25%        |  6.5
48    | Ringo         | 75%        | 19.5

Now transfer the votes:

Votes | First choice 
----- | ------------ 
38    | Paul
29.5  | Ringo
25    | John
21.5  | George

Introducing fractional votes complicates the calculation, but it's a practical way to account for the secondary preference of all 64 Paul supporters while only transferring 26 votes.

Unfortunately we need to eliminate one candidate and George is now the lowest on the totem pole. So we need to transfer his 21.5 votes. Remember that 15 of his votes were first choices for him and the rest were transferred from Paul. The George-first ballots get redistributed according to their second choice and the Paul-first ballots get redistributed according to their third choice. Even in a hypothetical situation, the calculations are too tedious to continue. But the mathematical principles aren't so difficult; it's just juggling everyone's preferences.

One complication that might come up is undervoting or (in a large field) all preferences on a ballot have been elected or eliminated. Meek's solution is to recalculate the threshold based on the new vote count. If someone has already been elected, they will have some surplus votes because the threshold always decreases when ballots are eliminated. This is where the process gets especially complicated.3 But the principles remain the same:

  1. Candidates are elected when they reach a "majority" threshold, which is a function of viable ballots and seats.

  2. Surplus ballots committed to elected and eliminated candidates are transferred proportionally according to valid secondary preferences.

  3. Once all seats are filled, the election ends.

No voting system is perfect. But we've run elections on 60 sites (many with multiple elections) since we started using STV and elected a diversity of well-qualified moderators who represent the interests of users. It's worked fairly well for us.


Footnotes:

  1. To simplify the explanation, I'm assuming all of the supporters of Carson would have identical preferences. In reality, other candidates, including Trump, would pick up some of those votes.

  2. The technical term for this is "wasted". Thankfully, that's also the common term for votes that don't count toward getting someone elected.

  3. For an example of how complicated it can be, take a look at the first Worldbuilding election which had 10 candidates vying for 4 spots and took 22 rounds.

2
12

Once more, with robots

Assume each voter gets a billion tiny robots. Their votes essentially are a preference list programmed into that robot.

Further assume, each candidate has a big robot-accessible, dry swimming pool assigned to them. All swimming pools are equally large. (To be precise, they are so large that all robots from all voters can exactly fill n + 1 swimming pools, where n is the number of available moderator positions.)

When all votes have been cast (i.e., all robots are programmed), all robots try to get into swimming pools according to their preference list. Now the following things can happen:

  • A swimming pool is full. In this case, the respective candidate is elected and all robots that do not fit into the swimming pool have to look for another pool (according to their preference list). The separation between robots that are allowed to go into this pool and those that don’t is made absolutely fairly (for the robots), i.e., each robot has the same chance to get into the pool it desires.

  • All robots have settled and there are still free moderator positions. In this case, the most empty swimming pool is closed and all contained robots are evicted and have to look for another pool according to their preference list. (To be precise, all robots from all pools are evicted and then start a new run on the pools. It’s fairer to the robots, you know.)

  • A robot‘s preference list is depleted and it hasn’t found a pool yet. In this case, it self-destructs.

The size of the pools is such that, when enough swimming pools are closed, a sufficient number of moderators is elected. To this purpose the swimming pools are slightly shrunken whenever robots self-destruct (as if those robots had never existed).

7

This is exactly the same voting system used in elections for the Upper House in New South Wales (an Australian State). Technically, it's called Optional Proportional Preferential voting. A similar voting system is used in elections for the Australian Senate.

Others have thoroughly described the mathematics of counting the vote. Here's a simple description of why such a voting system makes sense, addresing in reverse order the named components (Optional, Proportional, Preferential):

Preferential

Most voting systems around the world are based on "the most votes wins", but this is pretty poor at giving an outcome that genuinely reflects the preferences of the electorate, as it only counts your primary preference.

For example, 3 candidates for President (A, B and C) and 100 voters. 41 love A but hate B - they would prefer C if A isn't elected. 39 love B but hate A - they would prefer C if B isn't elected. 20 love C but 15 of them would prefer B if A doesn't win. In the basic counting system, A wins with 41 votes - even though 54 voters (the majority of the electorate) would prefer B to A.

In preferential voting, none of the candidates has won a majority of votes so it comes down to preferences. C has the fewest votes, so C is eliminated and the votes cast for C are redistrubuted to the remaining candidates based on preferences. A gets 5 redistributed votes: total 46. B gets 15 redistributed votes: total 54. B wins the election.

Proportional

Where there are multiple positions to be elected, the idea of a simple majority hurdle to be declared elected (more than 50% of the total vote) is replaced by a hurdle that is proportional to the number of positions. It's a simple formula: if n positions, the hurdle (called a "quota) is (votes cast)/(n+1), although it's more easily understood as a percentage: 100/(n+1). Any candidate popular enough to receive a quota of "first preference" (also known as "primary") votes is automatically elected. Of the remaining candidates, the one with the fewest primary votes is eliminated and their vote is redistributed to the remaining candidates based on their preferences, and the totals are then checked to see if any remaining candidate has achieved a quota. This pattern of eliminations continues until all quotas have been filled. Redistribution of votes for eliminated candidates and of the "excess" for elected candidates is quite complex but in all cases retains the effective value of the vote at each stage of the count.

Example: 5 positions, 12 candidates, 100 votes cast. The quota is 100/(5+1) = 16.67%, rounded up to 17 primary votes. A and B both got 20 primary votes so they're elected, and the actual votes are redistributed to the next highest preference with a value reflecting the amount of the "excess" vote. C got 16 votes, but the redistribution of the "excess" value gets them over the 16.67%, so they're elected. Their excess is calculated and redistributed but it's negligible. 3 candidates elected, 9 remaining, 2 positions to be filled. Candidate D only received 2 primary votes, so they're eliminated and their votes are redistributed at full value, but it's not enough to elect anyone. Candidate E is now the lowest with only 3 votes so they're eliminated and their votes are redistributed. Still no none has reached a quota, but candidate F had 9 primary votes and has picked up 3 of the redistributed preferences so they're sitting on 12. Candidates G and H, both with 4 votes, are eliminated, and F picks up enough redistributed preferences to reach the quota and be elected. 4 candidates remaining for the last position. The elimination process continues until there are just 2 left, which means one has achieved the final quota and is elected.

The vote count is complicated and highly mathematical, but it's an extremely fair system that gives a real value to every voter's preferences for * all * the candidates.

Optional

In the above example of 12 candidates for 5 positions, the voter has to indicate their preferences from 1-12, i.e. ranking every candidate. This is ideal, since if it comes down to 3 candidates for the final position and the voter had these three as their last 3 preferences, nonetheless they've indicated which of these three is the "least worst". Their vote is still able to be counted in deciding the last person elected.

However, some voting systems allow the voter the option to indicate their preferences for a reduced number. This might either be a defined number (e.g. "you must indicate your preferences for at least 5 candidates"), or the voter can decide for themselves how many preferences they indicate - they might even indicate just their "first" preference and no other. Stack Exchange voting is fully optional.

If a voter's indicated preferences have all been either elected or eliminated, their vote is "exhausted" and it plays no further part in the election. If a large number of voters all give just a single preference, this can lead to a situation where only a minority of voters are choosing the final position(s) to be elected. When electing a larger number of positions this can lead to unusual outcomes, but it should have little impact if there are only 2 or 3 positions to be filled.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .