Method Details

I. Introduction

The single transferable vote (STV) is an election method that is used to obtain proportional representation. STV is used for national elections in Ireland, Northern Ireland, Malta, Australia, and New Zealand. In addition, many organizations use STV, including the Church of England and the Green Party of the United States. However, no two of the above use precisely the same definition of STV. With the same set of ballots, the above methods could produce different winners. STV can best be described as a class of election methods and users of STV must specify precisely which version of STV is to be used. The purpose of this software is to help organizations use STV and also to specify precisely which STV rules they will use.

Below, I classify and describe a variety of methods for implementing STV. The first two methods are not STV methods, but they provide a good introduction. The methods are listed roughly in order of increasing effectiveness for providing proportional representation.

The examples below will be for a hypothetical election where 99 voters are electing four candidates from a field of eight.

II. Single Non-Transferable Vote (SNTV)

For this method, only the first-place votes are used. In reality, the voter would simply pick one candidate instead of ranking the candidates. The four candidates receiving the largest number of first-place votes are elected. SNTV provides only limited proportional representation, but it is a useful alternative if it is not possible to have ranked ballots.

III. Instant Runoff Voting (IRV)

IRV is more typically used in the context of electing one person to an office. However, it can also be used to obtain proportional representation. The procedure is the following:

  1. Count the first place votes.
  2. Eliminate the candidate with the fewest number of votes and transfer the votes to the next candidate on each ballot.
  3. Repeat step (2) until only four candidates remain.

IRV provides better proportional representation than SNTV and the method for counting the votes is still quite simple.

IV. Basic Structure of STV

The basic structure of an STV method can be described as follows:

  1. Establish the winning threshold.
  2. Count the first place votes.
  3. If one or more candidates have surplus votes (votes in excess of the winning threshold), then transfer votes from the candidate with the largest surplus. Otherwise, eliminate the last place candidate and transfer those votes. The only candidates who can receive votes are those who are under the winning threshold and not eliminated. If there are no further candidates on a ballot than that vote is "exhausted" and does not count towards any candidate.
  4. If there are more than 4 candidates remaining, then go to step (3).

The above is ambiguous in that it does not define the winning threshold and does not describe precisely how votes are to be transferred. Specific implementations of STV define both of these and may also modify the basic structure.

The winning threshold is also called a quota. I avoid the term quota because it has negative connotation in the US. A commonly used threshold is defined as

                number of votes
threshold =  --------------------- + 1
              number of seats + 1
and then dropping any fraction.

This is the smallest threshold such that any candidate receiving this number of votes is guaranteed to be elected. This will be discussed in more detail below.

Methods for transferring surplus votes can be classified into two main groups: random transfer of votes and fractional transfer of votes. Methods for transferring votes from eliminated candidates do not vary greatly.

IV. Random Transfer STV

With random transfer of surplus votes, a number of ballots corresponding to the candidate's surplus are transferred to their next choices. One could choose the last ballots the candidate received, the first ballots the candidate received, or choose some other method. It is important to note is that changing the order of the ballots can change the outcome of the election. In reality, this will only happen in a close election. However, many people find this aspect disturbing.

One could choose a stack or a queue model for transferring ballots. It is useful to visualize the candidates' ballots in separate piles. With a stack model, one would take the ballots off the top of one pile and place them on the top of another pile. With a queue model, one would take the ballots off the top of one pile and place them on the bottom of another pile. With a stack model, one ballot could be transferred many times, while with the queue model, a ballot would probably transferred only once. This implementation uses the queue model.

Another consideration is whether to allow secondary surpluses. A primary surplus arises only after counting the first choices. A secondary surplus could arise after the transfer of a surplus or the transfer of votes from an eliminated candidate. This implementation allows secondary surpluses.

V. Fractional Transfer STV

Fractional transfer methods are designed so that the result of the election remains the same when the order of the ballots is changed. The basic idea is that, when transferring a candidate's surplus votes, all of the ballots are transferred but at a fractional value. The fraction is set so that the total value of all the transferred ballots equals the candidate's surplus.

With fractional transfers of votes, secondary surpluses must be allowed. Since the point of fractional transfers is to ensure that the method is independent of the order of the ballots, all the ballots transferred in a given round must be treated identically.

Since floating-point arithmetic, some implementations round all calculations to a number of decimal places. This implementation does all computations in floating point.

VI. Variations

Both random and fraction transfer STV have a number of variations.

A. The Winning Threshold

There are a variety of methods for computing the winning threshold. I prefer to define them in words rather than through formulas.

Within these two types there are two options. A threshold can be static or dynamic. A static threshold is determined once at the beginning and is the same until the end. A dynamic threshold is recomputed every round and decreases as the number of exhausted votes increases. The threshold can also be a whole number or a fraction. Thus, there eight variations for determining the threshold.

The above descriptions of the Droop and Hare thresholds is an ideal which is not always perfectly realized. How well a threshold conforms to the ideal is how "tight" the threshold is. For example, a fractional threshold is slightly tighter than a whole threshold since there is greater precision.

If voters are required to rank all the candidates, then there will be no exhausted votes and the static and dynamic thresholds will be identical. If voters are not required to rank all the candidates, then there will be exhausted votes and the dynamic threshold will be tighter than the static threshold.

The ERS97 rules implement a threshold that is a variation of the Droop threshold. For a static threshold, Droop and ERS97 are identical. For a dynamic threshold, ERS97 is tighter than Droop. For a given candidate, his surplus votes are transferred only once. Thus, when the threshold decreases, these votes that are above the new threshold do not help elect any candidate. The ERS97 threshold takes into account these nontransferable surplus votes when computing the threshold and this results in a threshold that is smaller (tighter) than the Droop threshold.

B. Delayed Transfer of Surplus

The basic algorithm above requires that all surplus votes be transferred before the last place candidate is eliminated. However, if the last place candidate can't win, even if he received all the surplus votes, then he can safely be eliminated before transferring the surplus votes. Thus, we can delay the transfer of surplus until after this losing candidate is eliminated.

There are two reasons for doing this. First, eliminating last place candidates is much simpler than transferring surplus votes. Thus, we should delay transferring surplus as long as we can. Second, it will help minimize the number of times that a given vote will be transferred. If we transfer surplus immediately, then part of it could transfer to a candidate who will be eliminated in the next round. These votes would be transferred twice. If we delay the transfer of surplus until after this candidate is eliminated, then the same vote would be transferred just once.

C. Batch Transfer of Surplus

The basic structure transfers surplus votes from only one candidate at a tie. One could instead transfer all surplus votes simultaneously.

D. Batch Elimination of Candidates

One could eliminate candidates in batches rather than one by one. There are two rationales for this. The first is practicality. If there are many candidates, each with very few votes, then it would be tedious to eliminate them one by one. The second is efficiency. If it is known that several candidates can't win, then it makes sense to eliminate them all right away.

The first method is to eliminate all candidates who have fewer votes than a flat cutoff. This would take place immediately after all surplus votes have been transferred to allow all candidates to take advantage of surplus votes to avoid being eliminated in this fashion. This will be useful when there are many candidates with very few (or even no) first place votes. With many such candidates, it would take many rounds to eliminate them one by one. The batch elimination simplifies the count by eliminating all candidates with very few votes in one round. Note that this will possibly eliminate candidates who have a chance of winning. However, this is not a problem as long as the cutoff is chosen wisely.

The second method is the same as the first, except that the cutoff is chosen as a percentage, say 0.5%, of the total number of votes cast. This method is suggested in the STV rules in Behind the Ballot Box.

The third method is to eliminate all candidates immediately who have no chance of winning. This can happen before surplus votes are transferred and at any time throughout the count. To test if a given candidate can win, it is assumed that she will receive all surplus votes and all transfers from eliminated candidates. Under this assumption, a candidate can win if it is possible that she can beat all candidates between her and the last seat. If it is known that a candidate can't win then she should be eliminated immediately. It is possible that at a given round, that several candidates can't possibly win and they should all be eliminated in a batch.

VII. Cambridge Rules

The Cambridge rules are a random transfer STV method. The Cambridge rules also use the stack model, but with a variation. Instead of taking the ballots on the top, the pile is "sliced." This means that every Nth ballot is selected starting from the top of the pile. N is chosen to go through as much of the pile as possible.

Secondary surpluses are not allowed. When transferring votes, once a candidate has reached the winning threshold, she cannot receive any more ballots. Any ballots that would go to this candidate instead go to the next choice on the ballot.

After all surplus votes have been transferred, all candidates with fewer than 50 votes are eliminated. This is related to Cambridge's requirement that one must collect 50 signatures to be put on the ballot. It is also a matter of convenience as any candidate with fewer than 50 votes at this stage has virtually no chance of winning a seat.

VIII. British Columbia STV (formerly Simple STV)

This is a straightforward implementation of fractional transfer STV. For a full description, see the British Columbia STV rules available in the Help menu.

IX. ERS97 Rules

The ERS97 rules are a combination of the principles behind random transfer and fractional transfer STV. In my opinion, the rules are excessively and unnecessarily complicated. See http://www.electoral-reform.org.uk/votingsystems/stvrules.htm for the official rules.

The ERS97 rules are independent of the order of the ballots. The first time a candidate's surplus votes are transferred, the method described in Section V is used. These transfers can lead to secondary surpluses. However, the secondary transfers of surplus votes are done differently. For secondary transfers, only the last group of ballots received will be transferred. This resembles how ballots are transferred with random transfer STV methods. Tertiary transfers are possible, but much less likely to occur.

The ERS97 rules differ from the other rules presented here in many ways. See the python code for more details.

X. Meek and Warren STV

Previous rules are all designed for hand counting. Meek and Warren STV provide the most accurate proportional representation, but the count must be done with a computer and cannot be done by hand. The basic idea is similar to Fractional Transfer STV. There are two main differences: (1) winning candidates also receive vote transfers from eliminated candidates and surplus votes from other winning candidates, and (2) when a candidate is eliminated it is as if the candidate never entered the election. These changes create a feedback loop of vote transfers which requires a computer to implement.

XI. Recommendations

For a group that values simplicity, I recommend British Columbia STV. It is by far the easiest method to understand and it provides accurate proportional representation.

For a group that desires the most accurate proportional representation, I recommend Meek or Warren STV (I don't know any reason for preferring one over the other).

XII. Other Methods

I've added several other methods--Borda, Bucklin, Condorcet, and Coombs--that use ranked ballots.

With the Borda count, if there eight candidates competing, then a candidate gets seven points for every first ranking, six points for every second ranking, and so on. If a candidate is not ranked on a ballot then he gets no points. When more than one candidate is to be elected, the Borda count provides some degree of proportionality, but not as well as STV methods.

With the Bucklin system, if a candidate receives a majority of first choices, then she is elected. Otherwise, if a candidate is first or second on a majority of ballots, then she is elected. This process is repeated for higher choices as necessary.

Condorcet elects the candidate who wins all pairwise competitions against the other candidates. Sometimes a cycle will occur where no Condorcet winner exists. In this instance, other techniques are necessary to break the cycle. The set of candidates in the cycle is called the Smith set. Three methods are available for choosing the winner from the cycle: Borda, IRV, and Schwartz Sequential Dropping (SSD). The SSD implementation was adapted from code written by Mike Ossipoff and Russ Paielli.

Coombs is like IRV, but with one difference. The candidate with the most last rankings is eliminated at each round. If a ballot does not rank all the candidates, then the unlisted candidates share the last ranking equally.