In the example, we run an election with five candidates (A, B, C, D, E), who are competing to fill two positions, and there are ten voters.
Each voter gets a ballot paper which looks like this:
Voters fill in their preference by ranking the candidates 1 to 5, with 1 being the most preferred candidate. For example, for someone whose favourite candidate is Candidate D:
(On a real paper ballot, the order of the candidates would be randomised, to prevent people who just fill in “1, 2, 3, 4, 5” top-to-bottom from giving an advantage to the earlier candidates.)
In this simple example, all five preferences must be indicated for the vote to be valid.
The idea is: we proceed in rounds. Each round we count the first-choice (#1) votes for each candidate, and all but one of the candidates go through, selected by those having the most votes.
Then, for each ballot paper, the remaining candidates are automatically re-ranked, preserving the preference order.
Here is a quick example of what that means. Suppose someone voted like this:
| A | B | C | D | E |
|---|---|---|---|---|
| 1 | 3 | 5 | 4 | 2 |
and candidates A, B, C and D go through to the next round. Then Candidate E is no longer available, so remaining ballots are adjusted like this:
| A | B | C | D | E |
|---|---|---|---|---|
| 1 | 2 | 4 | 3 |
A is still this voter’s #1 choice; their #2 choice is no longer available, so their new #2 choice is their old #3 choice; their new #3 choice is their old #4 choice; their new #4 choice is their old #5 choice. The remaining four candidates are now ranked 1–4, with the same preference order as before.
We keep going, with one fewer candidate going through each round, until there are the same number of candidates as positions to fill: the remaining candidates have the strongest support overall, and take those positions. In the special case that there is only one position to fill, we can stop when the one candidate has over 50% of the vote.
The ballots are all returned; this is how everybody voted:
| Candidate: | A | B | C | D | E |
|---|---|---|---|---|---|
| Voter 1 | 1 | 3 | 5 | 4 | 2 |
| Voter 2 | 1 | 3 | 4 | 2 | 5 |
| Voter 3 | 5 | 3 | 2 | 4 | 1 |
| Voter 4 | 5 | 1 | 2 | 4 | 3 |
| Voter 5 | 2 | 1 | 5 | 4 | 3 |
| Voter 6 | 1 | 5 | 2 | 4 | 3 |
| Voter 7 | 3 | 4 | 1 | 5 | 2 |
| Voter 8 | 4 | 3 | 2 | 5 | 1 |
| Voter 9 | 2 | 3 | 1 | 5 | 4 |
| Voter 10 | 2 | 5 | 3 | 1 | 4 |
In this table, each row is one voter’s ballot paper, with their numbered preferences, and each column is the votes which each candidate got. The first-choice (#1) votes are highlighted blue.
At the end of Round 1, the #1 vote counts are as follows:
| Candidate: | A | B | C | D | E |
|---|---|---|---|---|---|
| Round 1: #1 votes | 3 | 2 | 2 | 1 | 2 |
These are calculated by just counting #1 votes down each column.
In this round there were five candidates at the start, and the four with the strongest support go through to the next round. In our example, A, B, C and E go forward (highlighted yellow).
At the start of the second round we have one fewer candidates. Candidate D is no longer in the race, so they are removed from the ballot papers and everyone has their preferences automatically re-ranked to preserve the preference order.
This "adjusting the ballot paper" can feel inappropriate, but it perfectly preserves everyone’s ordered preference for the remaining candidates. There are other mathematically equivalent ways to think about it (such as now counting #2 votes from voters whose #1 preference isn’t available), but the way I’m describing it here just keeps things simple for the purposes of counting.
So now the votes for the remaining candidates look like this:
| Candidate: | A | B | C | D | E |
|---|---|---|---|---|---|
| Voter 1 | 1 | 3 | 4 | 2 | |
| Voter 2 | 1 | 2 | 3 | 4 | |
| Voter 3 | 4 | 3 | 2 | 1 | |
| Voter 4 | 4 | 1 | 2 | 3 | |
| Voter 5 | 2 | 1 | 4 | 3 | |
| Voter 6 | 1 | 4 | 2 | 3 | |
| Voter 7 | 3 | 4 | 1 | 2 | |
| Voter 8 | 4 | 3 | 2 | 1 | |
| Voter 9 | 2 | 3 | 1 | 4 | |
| Voter 10 | 1 | 4 | 2 | 3 |
In pink, I’ve highlighted the new #1 vote which has resulted from the re-ranking of remaining candidates.
Now again counting the #1 votes for each candidate we get these counts:
| Candidate: | A | B | C | D | E |
|---|---|---|---|---|---|
| Round 1: #1 votes | 3 | 2 | 2 | 1 | 2 |
| Round 2: #1 votes | 4 | 2 | 2 | 2 |
And now the 3 strongest candidates should go through to the next round.
However, you’ll notice a problem: Candidate A clearly has the most #1 votes and goes through (yellow highlight), but Candidates B, C and E are tied for second place. So to break the tie we count #2 votes for the tied candidates:
| Candidate: | A | B | C | D | E |
|---|---|---|---|---|---|
| Round 1: #1 votes | 3 | 2 | 2 | 1 | 2 |
| Round 2: #1 votes | 4 | 2 | 2 | 2 | |
| Round 2 TIEBREAK: #2 votes | 1 | 5 | 2 |
So now it’s clear that even though Candidates B, C and E were tied for #1 votes, C and E are more voters’ second choice, so they have the strongest overall support and go through alongside Candidate A. (Shown by the yellow highlights.)
In case there are ties for #2 votes too, proceed to counting #3 votes, and so on. If you run out of lower preferences to count and it’s still tied, then there is no difference in voter preference among the tied candidates, so the ones to progress to the next round must be chosen by another method, such as drawing straws (or the digital equivalent).
Again we have one fewer candidates. Like last round, Candidate B is no longer in the race, so like last round we remove them from the ballots and re-rank the remaining candidates:
| Candidate: | A | B | C | D | E |
|---|---|---|---|---|---|
| Voter 1 | 1 | 3 | 2 | ||
| Voter 2 | 1 | 2 | 3 | ||
| Voter 3 | 3 | 2 | 1 | ||
| Voter 4 | 3 | 1 | 2 | ||
| Voter 5 | 1 | 3 | 2 | ||
| Voter 6 | 1 | 2 | 3 | ||
| Voter 7 | 3 | 1 | 2 | ||
| Voter 8 | 3 | 2 | 1 | ||
| Voter 9 | 2 | 1 | 3 | ||
| Voter 10 | 1 | 2 | 3 |
Again I’ve highlighted the existing #1 votes in blue and the new #1 votes for the remaining candidates in pink.
Now again we count the #1 votes:
| Candidate: | A | B | C | D | E |
|---|---|---|---|---|---|
| Round 1: #1 votes | 3 | 2 | 2 | 1 | 2 |
| Round 2: #1 votes | 4 | 2 | 2 | 2 | |
| Round 2 TIEBREAK: #2 votes | 1 | 5 | 2 | ||
| Round 3: #1 votes | 5 | 3 | 2 |
This time there are two clear winners, and no ties. Candidates A and C go through to the next round.
In this round there are two remaining candidates, and two positions to fill, so we stop.
Candidates A and C have the strongest overall support from the voters, and take the positions.
One of the goals of the single-transferable vote system is to allow voters' greater expressive power, and reduce the need for tactical voting: as well as voting for their favourite candidates, they can also express preference about the remaining candidates. However one drawback is that it is more complex than one-preference first-past-the-post voting. There are many variants to single-transferable voting which allow voters’ aggregate preferences to be even more efficiently represented in the election outcome, at the cost of far more complexity in the counting. What is presented here is, I think, a good balance between being representative, and being clear, transparent and accessibly explainable in the counting.
Written by Cai. Dedicated to XR.
The source of singletransferablevote.info is CC0 public domain.
If you spot an error, or want to contribute clear guides to the other flavours of single transferable voting, please submit a merge request what is a merge request?. Or you could email me.
Download a PDF version of this page.
Last updated 2021-03-11.