Preferential Voting

Preferential Voting

by Charles Grapski -
Number of replies: 1
I would love to see someone develop (its probably beyond my capacity) a choice module that conducts preferential votes.

If you have heard of IRV (Instant Run-Off Voting) - or STV (Single Transferable Vote) - that is what I am talking about.

The simple idea is as follows (there are a few improvements on it - to make it work more ideally - which I can explain later).

When casting a ballot - the person does not simply indicate a single choice - but ranks order the avaialbe choices. (THey don't have to rank them all - only the ones they like).

So lets imagine there are 10 possible choices. The individual likes 5 of them and dislikes 5. Of the five they like - they rank order them in order of preference - highest to lowest (from 1 to 5).

When the ballots are counted - the choice with the highest preference for the voter that will cause a "winning" choice is where the ballot is applied.

So - imagine you are trying to create a representative body (or a smaller set of options approved) - you use what is techically called the STV form of preferential voting. Imagine of the ten choices - five of them will be chosen.

Each ballot will count for the highest preference indicated on it that will cause it to win. To win - you need to achieve a "quota" of votes. The quota is determined by the number of winning choices and the number of individuals voting. (Take the two and divide them - adding one to get rid of the remainder problem and the possibility of ties). That is now the quota. Lets say 100 individuals vote - that means that every 1/5th of them is entitled to a "representative" (5 winners out of the 10). That means it would take 20 votes to create a winner (I didn't add the one for the mathematical part - just to keep it simple and more intuitive).

Thus the votes - in counting - are done in stages. The first stage - after determining the quota - is to sort the ballots into piles according to choice - by which choice is listed as #1 in ranking on each ballot. If a particular choice has reached (or exceeded) the quota - it is declared a winner.

So lets imagine on the first round - one choice gets 30 votes at #1 preference. That means that choice met the quota - and thus is one of the five winners. But it also means that the 10 extra votes above the quota were effectively wasted - because those votes didn't have to be cast to win - and once the choice reached 20 - it had already won. The individual casting the vote - had they know in advance this fact - would have put their ballot behind a different choice (their second choice) - because they could now influence the determination of a second choice (this will produce a representative sample).

So this sets of the next round - the first round of transfers (and the first of two types of transfers). You take all of the excess ballots from winning choices - and transfer them to the second choice listed on that ballot. So you would take the extra ten - and move those ballots to the pile of the #2 choice listed on each. And then determine if, after this second round, any of the choices has now reached the quota.

(As I said - this is the simple view. The question of which ballots out of the 30 constitute the extra 10 - has a simple solution. YOu could just take the last 10 counted. Or you could take 10 at random. But there is an even better way. You transfer all 30 - but at a weighted value. This way the choice of which ballots to transfer and which to leave - does not have an impact on the final outcome. So - in this case - where you needed 20 but got 30 (ten extra) - you transfer each of the ballots to the number two at a weight of 1/3. (You get this by taking the total number of ballots for the candidate divided by the number exceeding the quota - thus 10/30). This means that the net number of votes transfered is 10 (even though you moved 30 ballots - because each only counted as 1/3 of a vote).)

This process of transferring excess ballots continues until there are no more choices with excess. Lets say at this point you have filled 3 of the 5 winners. Two still remain - but there are no choices with excess (just seven choices with less than the quota).

Now starts the next round - this time using the second type of transfer. At this point - you eliminate the choice with the lowest number of ballots in its pile - and transfer them all (at the full weight of each - so those that were originally there from round one - at a full vote - those that were added through transfers - at their weighted vote) to their next highest preference indicated.

This type of transfer will continue (if at any point from this - choices win with excesss - you go back to the first type of transfer before returning to the elimination type of transfer) until all the five winning choices are determined.

The outcome is AS REPRESENTATIVE of the whole, on a smaller scale, as you can possibly get.

This same time of system can also be used to obtain a majority (rather than mere plurality) when there are more than two choices. And it also produces a more widely supported majority than most systems.

In this case - the number of winners will be 1 - and so the quota will be 50% (plus 1). The minute you have a choice that reaches this quota - the process ends - and you have the sole winner. But again - people can rank order as many or all of the ten choices.

Imagine this as a run-off system - but the voter only has to cast a ballot on one occasion. What they would do if there was a second round - is already indicated on their ballot by their preferences. (And you don't have to simply take the top two vote getters from the first round - but all remain in play until eliminated).

There are many, many uses for this. And I would love to see if someone could develop this. This is ideal for trying to derive a consensus (which is why I would like to incorporate it into my moodle site.) I'd like to be able to have a group working on a project be able to use this system to rank order possible choices - in an effort to build consensus toward the final product - say a report.

If anyone is interested in this - but wants more information - I'd be happy to discuss it more, and you could also take a look at the Center for Voting and Democracy's website - it has some great resources to help understand it. (its at http://fairvote.org ).

Charlie
Average of ratings: -
In reply to Charles Grapski

Re: Preferential Voting

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

Hi Charlie,

nice Idea, - there are 2 components to this that I had planned on adding at some point, - allowing Multiple choices to be selected, and also to allow ranking of choice's - however I hadn't thought of allowing IRV/STV type of voting, - I've added this as a feature request in the bugtracker - see: Bug #3337

smile

Dan