Instant Runoff Voting (IRV) - Web based voting example

IRV-Vote demonstrates Instant Runoff Voting (IRV). IRV is a voting system that ensures that the winner has a majority of the votes (50% + 1). It eliminates the "wasted vote" syndrome, where voting for you favorite candidate may help elect your least favorite candidate.

In IRV voters rank their choices, 1st, 2nd, 3rd. If no candidate has a majority, the candidate with the least number of votes is eliminated and his votes are transfered to the other candidates. If your first choice is eliminated, your vote is transfered to your second choice. These runoff rounds continue until one candidate has a majority. IRV has many advantages over plurality voting.

There are initiatives all over the country to use IRV at the state and local levels. San Francisco voters passed Proposition A which provides for using IRV to elect their mayor. To learn more about IRV visit www.instantrunoff.com or The Center for Voting and Democracy (www.fairvote.org).

IRV-Vote is an easily customized application written in Perl for conducting IRV elections and polls on the web. It is not intended to be used for real public elections (because of security issues). Here are some samples:

  1. Vote for the Greatest achievement of the Internet. See results so far.
  2. Vote for the most serious problem in the world. See results so far.
  3. Vote for the greatest US President of all time. See results so far.
  4. More samples - vote, see results so far.
  5. Samples in the download package - vote, see results so far.
  6. A sample that requires voters to register before voting (new in version 0.5) - vote, see results so far.
Downloading and installing. First read the README file. Then download the tar ball and install according to directions. The latest version (0.6) contains a minor bug fix for when conf files become contaminated with carriage returns (x0D).
  • MailList. Put a small mailing list/address book on your home page. Try this sample. Read the README for download/install instructions. Download the tar ball.
  • Other voting systems: Condorcet and Borda Count.
    Condorcet and Borda Count are other methods for tallying ranked ballot, in fact they can be used to count the same ballots used for IRV. For more information, see Condorcet Voting Explained and Borda count from Wikipedia. There is disagreement about which method is best for counting ranked ballots. Arrow's Impossibility Theorem shows that no voting system is perfect; each one has some bias, favoring, for example, the most broad appeal, or the most core supporters. Each voting system also has some flaw, such as permitting "strategic voting" or allowing lower choices to defeat higher choices. Rather than try to resolve this question, I've developed Perl/CGI scripts that tally the IRV demo ballots above using both the Condorcet and Borda Count methods -- so you can compare the results and judge for yourself!