Skip to content
Kinematics edited this page Jul 22, 2019 · 7 revisions

This page of the wiki will describe the details of how ranked voting works in NetTally, as well as info on what went into the choices made for the algorithms used.

Voting Types

There are a large number of possible algorithms to use for voting. A quick overview of general voting type categories:

Plurality

Plurality (also known as First Past the Post) is the simplest voting method, where you select a single option out of all available options. It has the most number of problems in terms of choosing a winner, and its only real benefit is its simplicity.

Approval

Approval voting allows you to mark multiple options that you approve of, out of the list of all available options. Otherwise it works similarly to Plurality. All selected options are considered equally preferred.

Scored

Scored voting allows you to give each option a score rating, usually either 0-9 or 0-99, where 0 is the worst, and 9 or 99 is the best. The winner is determined by the best overall score.

Scoring systems are the least susceptible to many pathological flaws in voting systems in general, but work on a scale that's incompatible with ranked voting (where 1 is the best, and higher numbers are increasingly worse). Because of potential user confusion, scored systems were removed from consideration.

Ranked

Ranked voting allows you to rank the vote options from most desired (1) to least desired (9, in NetTally's case). The winner is determined based on the relative rankings of all voters.

Technically, ranks do not need to be consecutively chosen, so ranked voting can work as a poor-man's score voting system. However for the most part, users are expected to give strict winning preferences for their choices.

Ranking Algorithms

There are three general categories of algorithms to use for determining the winner of a ranked voting system.

Scored

Scored systems are based on the work of Jean Charles de Borda in the 18th century. Each rank in a voter's vote is given a score, and the total for a given option is determined by the composite score of all voters. Variations on this are basically different ways to generate the final score.

Options here include:

  • Borda count - The lowest ranking gets 1 point, and each higher ranking gets 1 more point than that. A list of 5 items would get 5 points for #1, 4 points for #2, and so on.
  • Borda fractional count. The highest ranking gets 1 point, and each lower ranking gets 1/N points. So rank 2 gets 1/2 a point, rank 3 gets 1/3 a point, and so on.
  • Wilson score - This is a Bayesian probabilistic score that uses the lower bound of the margin of error for the combined value of all votes (each rank being given a strict linear value). It correctly handles vote options where not every voter ranked every item.

The Wilson scoring method is used in all places where a scoring method is needed in NetTally.

Ordered

Ordered systems are based on the work of Marquis de Condorcet in the 18th century (a contemporary of Borda). Condorcet winners are those options that would beat every other option in a pairwise contest.

There are a number of algorithms that can be used to determine the Condorcet winner of a vote. The one that is provided in NetTally is the Schulze algorithm.

Preferred

This category includes Instant Runoff Voting (IRV) systems. Non-preferred options are eliminated, until a majority preferred option is revealed.

There are several variants on IRV, including Coombs method, the Baldwin method, and Rated Instant Runoff. The Coombs method was used in earlier versions of NetTally, but has been refined to use the Baldwin method, with support from Wilson scoring.

Issues

There are a large number of issues in selecting any voting system. Quest voting has the additional issue that all votes are explicitly non-anonymous, and fully visible to all users, and thus quite vulnerable to certain types of exploits, and to encouraging users to vote for non-preferred options simply to stop a least-preferred option from winning.

The voting algorithm chosen should be resilient to as many of those issues as possible, with a particular focus on discouraging people from changing their 'honest' vote to something else. At the same time, certain issues, such as tendencies to foster two-party election systems, are not relevant to quests, since there's never any 'incumbent' to worry about.

I may provide more details on this at a later time.

Algorithm

The final algorithm selected as the default for NetTally is the Rated Instant Runoff (RIR) system.

The RIR system first scores all voting options using the Wilson algorithm. The top two scores are then taken and put in a runoff (a simplified Condorcet test) to check for strict overall preference between the two. If the runoff is a tie, then the option with the higher score is the winner.

By combining both a scoring assessment and an ordering assessment, this helps mitigate or eliminate a number of pathological issues that work on only one or the other type of ranking algorithm, since they will rarely be able to affect both types of systems at the same time.