Counting IMS elections by single transferable vote

By Bernard Silverman

By a resolution of the Council in August 2002, the elections for Council are counted by the Single Transferable Vote system. One of the properties of this system is that if any group of candidates gets a sufficient share of the votes (1/(m+1), where m is the number of candidates to be elected) then one of this group is bound to be elected. Therefore it is hoped that this method will lead to a more diverse Council than the result of the present election, and furthermore that individual members, other than those chosen by the nominating committee, will feel able to stand with a real chance of being elected.

There are many descriptions of the STV system (see, for example, but the basic principle is that voters rank the candidates in order of preference. In order to be elected a candidate must achieve the quota of N/(m+1), where N is the total number of votes cast. Excess votes over the quota are appropriately downweighted and allocated to the next preference of voters. If no candidate reaches the quota, the candidate with the least number of votes is eliminated and their votes transferred to next preferences.

Voters in IMS council elections are asked to rank the candidates 1, 2, 3, …, r until they have no further preference between candidates. Thus 1 is a voter’s first preference, 2 is their next choice, and so on. There is no disadvantage to higher candidates in expressing a full list of preferences; later preferences are only used when the fate of candidates given higher preferences has been decided one way or the other. A vote is reckoned as spoiled if the preferences are not numbered consecutively starting at 1. Apart from the candidates not numbered at all, no ties are allowed among the numbered preferences. The fact that voters may not express a full list of preferences is allowed for by reducing the quota as necessary during the later stages of the count.

The votes should be entered into a spreadsheet, with the first row of the spreadsheet containing the names of the candidates and each subsequent row the votes cast, with blank preferences being replaced by zeroes. It is advisable to number the ballots before entering them and to enter the full data twice. This will allow a check for errors and will also allow a reference back to the original vote if necessary. Of course it is preferable for votes to be cast electronically, so that the spreadsheet can be creted automatically.

Once the votes are all recorded in the spreadsheet, they should be exported as a tab delimited text file, called, for the sake of argument, votes.s. The count is carried out by an R package for election counting located here: The program needs to be supplied with a filename x giving the tab-delimited file, for instance votes.s, in which the data are stored, together with an argument mcan=the number of candidates to be elected. Invoking the program stv with these arguments will then check the validity of the ballots, eliminate any which are spoiled, and carry out the various stages of the count. The argument oldcount (not recommended) allows for a demonstration of what would have happened with the old method of counting the votes. On the other hand the argument verbose displays the various stages at which candidates are elected or eliminated, and shows how the first preference votes are redistributed at each stage.

At the end of the process, the program yields a list of the successful candidates in the order in which they were elected. The order may be useful, for instance, when an extra member of Council has to be elected to fill a casual vacancy, in which case the last candidate to be elected would be in this position. However, usually it is not appropriate to publish the list in this order.

The method resolves ties deterministically; if a candidate is to be elected, the last named member of a tie is chosen. On the other hand, if there is a tie for elimination, it is the first named who is eliminated. These choices are aimed at compensating in a small way for the tendency of candidates higher up the ballot paper to get more votes.

Bernard Silverman,
August 3, 2002