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.