How Wright STV Works

There is way too much confusion over this, so I’m going to do my best to explain it. I hope CCP explains it too, and does it well, but nevertheless, here’s my crack at it.

First, the actual casting of the vote. This part is easy. You have X candidates – 35 this year, minus whoever gets knocked out by the preliminary voting. From those, you select up to 14, ranking them by preference. So another goon, perhaps, would have a list that looked like this.

  1. Mynnna
  2. Kesper North
  3. Kaleb Rysode
  4. Artctura
  5. Unforgiven Storm

And so on, whereas a wormhole dweller would no doubt rank all five wormhole candidates in his preferred order, followed by whoever else.

Let’s create a real example to go forward with. In this example, we have five candidates for two seats, and 80 people voted. The ballots look like this:

19 C D A B E
15 E D B C A
14 D E A B C
12 A C D B E
9 C B E A D
9 A E C B D
2 B

In other words 19 people cast a ballot declaring that they preferred C as their first choice, followed by D, A, B and E. And yes, that last pair of ballots does have just one candidate on them. You can do that if you want – there is no requirement to fill your ballot – but it’s unwise to do so, as we’ll soon see!

The first step in a round is to determine the quota – the number of votes a candidate needs to get elected. This is simply quota = (Total Votes/(seats+1))+1, with any remainder discarded. So at the start of this mock election, we have 80 ballots for two seats. The quota is 27 votes.

Next, the first choices on each ballot are added up, and ranked in a list.

28 C
21 A
15 E
14 D
2 B

Candidate C has exceeded the threshold necessary to get elected, and so is declared provisionally elected. The quota was 27 votes, so his overage or surplus vote is one vote. Those votes will be distributed to the second choice candidates on ballots listing him as the first choice. A total of 28 voters chose C as their first choice, and so the overage is split evenly amongst all of them, thereby eliminating randomness. That means each of those second choices receives 1/28 ~= 0.035714… votes per ballot. Candidate D was a second to C 19 times, and so receives 19*0.035714 = 0.678571 votes, bringing his total to 14.678571. Candidate B was a second to C 9 times, and gets 9*0.035714 = 0.321426, so he now has 2.321426 votes.

At this point, no other candidate has any surplus votes, but we also have not filled all of our seats yet, and the election must be re-run. But first, the candidate with the fewest first-choice votes is eliminated – that’s B. Candidate B is removed from any ballots, which gives us this.

19 C D A E
15 E D C A
14 D E A C
12 A C D E
9 C E A D
9 A E C D
2 (no preference)

Now here’s a twist! Those two die-hard B supporters who refused to vote for anyone else now are effectively voting for no one! As a result, their ballots are declared exhausted and removed from the count, which can lower the threshold to get elected. In this example, I’ve chosen my arbitrary numbers poorly and it actually changes nothing – (78/3)+1 turns out to be 27 exactly. But in a larger election, the elimination of ballots over several rounds can reduce the quota, making it an important mechanic for bringing things to a close.

In any case, at this point the election is re-run with the parameters changed as described. Round two plays out very much like round one did. The first choices look like this:

28 C
21 A
15 E
14 D

As before, there is one overage, and 0.035714 votes are distributed to the candidates listed as seconds to C. But B is gone, no longer a valid candidate! So, 9 of the surplus votes go to candidate E, and his total is 15.321426. As before, candidate D now has 14.678571 votes after the surplus was distributed. No other candidate has met the quota, and so another candidate must be eliminated and the election re-run. As candidate D has the fewest votes, he is struck from the ballots.

And it continues like this. As all ballots still have valid candidates listed, the quota is unchanged. But the elimination of D has changed what the ballots look like significantly!

19 C A E
15 E C A
14 E A C
12 A C E
9 C A D
9 A E C

That generates this list of first choices.

29 E
28 C
21 A

Counting begins, and candidates C and E have met the quota. The election is over and the winners, in order of preference, are E and C.

If you want to look at what this can look like in practice, Trebor put together a simulation using the vote totals from CSM7, making some assumptions about what the ballots cast would look like. The actual ballots themselves are not available, but you can follow the process as I described above through a much more “realistic” election. Unless, of course, Trebor changed it to an ASCII penis as he indicated he might do, in which case I apologize. Don’t open it at work, just to be safe.

Hopefully my explanation helps clear up some of the confusion over this voting system. It is more complicated than the First-Past-The-Post used last year, but not grossly so – I feel much of the confusion stems from the poor explanations available on Wikipedia & elsewhere. The key thing to take away is this: Vote as close to a full ballot as you can or want to, ranked in the order you prefer.

Advertisements

5 thoughts on “How Wright STV Works

  1. Nice explanation. An full written example always helps to clarify things for me. Already voted with a full ballot. Failed to locate any ACII penises though, guess we need local chat for that. (or constellation/regional chat once local has been replaced by another intelligence tool? Like Dscan with auto refresh and different range)

    Like

    Reply
  2. Pingback: STV? WTF? | Blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s