How to Tally Ranked Ballots with Ranked Pairs

Carl Schroedl
4 min readNov 4, 2020


Many resources explain why you should use the stupendously fair Ranked Pairs method to tally up ranked ballots. A few:

This post focuses on how to tally with Ranked Pairs.

We aim to put candidates through the rigorous selection process of a round-robin tournament. We can achieve this by breaking ranked ballots down into pairs of candidates. When a ranked ballot says A > B > C, it’s the same thing as saying A > B, and B > C, and A > C.

A > B > C
A > B > C, { A > B, B > C, A > C }
A > B > C = { A > B, B > C, A > C }

As election administrators, we have a tally sheet that lists every possible pairing of candidates.

(0: A>B, 0: A<B), (0: B>C, 0: B<C), (0: A>C, 0:A<C)

We add one to each pair that we discover while breaking a ranked ballot down into pairs.

(1: A>B, 0: A<B), (1: B>C, 0: B<C), (1: A>C, 0:A<C)

When we tally ranked ballots this way, each ballot contributes a whole round of a round-robin tournament to our understanding of the people’s preferences. The more ballots we tally, the more rounds of a round-robin tournament we run.

(100: A>B, 0: A<B), (25: B>C, 75: B<C), (100: A>C, 0:A<C)

It’s easy to identify the pairs that have the strongest support among voters. We examine opposing pairs (A > B vs. A < B), and pick the pair that appeared more often across all ballots.

Earlier, we turned voters’ rankings into pairs. We can run the same process in reverse. We turn the winning pairs back into a ranking of the candidates.

Ranked Pairs builds such a complete picture of the electorate’s opinion that it can discover something other tallying methods cannot. Very rarely, a group’s opinion will contradict itself. In these rare situations, you won’t be able to convert the winning pairs back into the ranking because the winning pairs form a never-ending loop. For example, here are some winning pairs that would form a loop:

A > B , B > C , C > A

It’s easier to understand this if we draw a picture, extending the > symbols into arrows.

Fortunately, there is a reasonable way to resolve this — ranking the pairs. Pairs with stronger popular support are more important than pairs with weaker popular support. Pairs with stronger popular support are locked in first. If pairs locked in later contradict earlier pairs, we discard them because they have less popular support.


  • Break each ranked ballot down into pairs of candidates. Add each pair discovered to a running tally of pairs.
  • After all ballots have been tallied, find the winning pairs.
  • Rank the winning pairs according to the number of times they occurred in the election.
  • Lock in each of the winning pairs one by one, starting with the most popular winning pair.
  • Check to see if the most recently locked-in winning pair contradicts more popular winning pairs that were locked in earlier. If it does, ignore it, and move to the next winning pair.
  • Inspect the locked-in winning pairs, convert them into a ranking of candidates.


Ranked Pairs Voting Explained Using The Ten Hundred Most-Used Words

Are you an activist, lawyer, marketer, or educator? Help us spread this idea! One way we might brand it:

Conduct Ranked Pairs elections online

Are you a software developer or web designer? Help us build free, open-source Ranked Pairs software on GitHub.

Wikipedia has more on Ranked Pairs

Canadian MP Ron Mckinnon’s vision of how to achieve a mixed-member proportionally representative legislature using Ranked Pairs voting.

Tideman, T.N. Independence of clones as a criterion for voting rules. Soc Choice Welfare 4, 185–206 (1987).

Zavist, T.M., Tideman, T.N. Complete independence of clones in the ranked pairs rule. Soc Choice Welfare 6, 167–173 (1989).



Carl Schroedl

Science, Service, Software • Posts are my own, not my employer's • • @carlschroedl