Fair point @meave
Author of Ranked Choice polls here, that is a dropped ball.
I do not have edit rights to the OP. Very happy for someone to copy this and format as they see fit, or if converted to a Wiki, happy to contribute:
Currently works exactly as described here, it’s classic Instant Run-off Voting:
https://courses.lumenlearning.com/waymakermath4libarts/chapter/instant-runoff-voting/
(my fork of the poll plugin actually contains that example as a unit test!)
Process is as follows:
Every voter submits an ordered list of candidates. In each round we only consider the 1st placed candidate (and focus on potential winners and the worst losers).
- Count the first place votes for each candidate
- Find the candidate(s) with the most votes
- Check for a clear, single, majority and return if found as winner (no more rounds, stop)
If not:
- Find the candidate(s) with the least votes
- Remove the candidate(s) with the least votes from all votes
If votes are now all empty
- Report the tie of those candidates that were just removed (no more rounds, stop)
Else
- Shift up all votes so that where 1st place was taken up by a loser (for a specific voter), the 2nd place candidate becomes their 1st choice.
And the rounds continue until a majority or a tie is found.