Published
•
The Best Way to Elect, Part 2 of 2
In Part 1, we built three ranked choice voting systems from scratch, broke two of them, and landed on Instant-Runoff Voting — a method with no double-counting, no silent vote loss, and a winner who holds a genuine majority. But IRV is not the only serious method in the field, and "it works better than the two things we invented" is not the same as "it is correct." Part 2 puts IRV up against a different kind of system entirely.
A quick recap of where Part 1 left us:
Scenario 1 (cumulative ranking) elected Alfred, by 10 votes out of nearly 20,000 — a margin so thin it is almost certainly noise produced by double-counting every ballot at every rank level.
Scenario 2 (fixed rank redistribution) also elected Alfred, by a cleaner margin, but via a system that silently discards votes whenever a ballot's fixed rank position has already been eliminated.
Scenario 3 (IRV) elected John, with 7,029 votes to Robert's 2,971 in the final round. No double-counting. No vanishing ballots. A clear majority.
The question for Part 2: is John actually the right answer?
The Schulze Method: A Fundamentally Different Question
The three scenarios in Part 1 all share the same basic structure: eliminate candidates one by one, round by round, until one remains. The Schulze method abandons this architecture entirely.
Instead of sequential elimination, Schulze compares every candidate directly against every other — all fifteen pairings in a six-candidate race — and asks a more fundamental question: who do voters actually prefer when they are asked to choose between two people specifically?
How it works:
Step 1 — Build the pairwise matrix. For every pair of candidates, count how many of the 10,000 voters ranked one above the other. This produces a 6×6 table of head-to-head results. Every ballot contributes to every relevant pairing.
Step 2 — Find the strongest paths. A candidate does not need to beat another directly. They can beat them through a chain: if A beats B, and B beats C, then A has a path to C. The Schulze algorithm finds the strongest such chain between every pair, where strength is measured by the weakest link — the closest matchup in the chain.
Step 3 — Determine the winner. For each pair, compare the strength of each candidate's path to the other. The candidate with the stronger path wins that matchup. The candidate who wins all their matchups is the Schulze winner.
No elimination. No rounds. No risk of the wrong candidate being knocked out early because their first-choice numbers happened to be low on day one.
What the simulation showed:
John's head-to-head record:
John vs Robert: 7,029 — 2,971 (John wins)
John vs Alfred: 7,585 — 2,415 (John wins)
John vs Raymond: 6,166 — 3,834 (John wins)
John vs Sebastian: 7,792 — 2,208 (John wins)
John vs Isidra: 5,466 — 4,534 (John wins)
John beats every other candidate directly. He does not need indirect paths — his pairwise victories are all first-order. In the language of electoral theory, John is the Condorcet winner: the candidate who would win a straight two-person race against any individual opponent.
The full Schulze ranking:
1. John (5 pairwise wins)
2. Alfred (4 pairwise wins)
3. Isidra (3 pairwise wins)
4. Raymond (2 pairwise wins)
5. Sebastian (1 pairwise win)
6. Robert (0 pairwise wins)
Winner: John.
IRV and Schulze Agree — But for Different Reasons
The most important result of this entire simulation is not who won. It is that IRV and Schulze elected the same person.
Both methods elect John. But they arrive at that answer through completely different mechanisms, and understanding why they agree — and where they might not — is what separates a good voting system from a lucky one.
Schulze finds John immediately. It looks at all 10,000 ballots simultaneously, constructs the full pairwise picture, and identifies the Condorcet winner in a single pass. There is no attrition, no sequence of eliminations, no risk of a bad early round.
IRV finds John through attrition. It eliminates Sebastian, then Raymond, then watches Isidra fall at round 3. It is only once Isidra's ballots redistribute — with a significant portion flowing to John — that his lead becomes decisive. He survives to the final two and wins comfortably, but it required the right sequence of eliminations to surface his broad coalition support.
The question is: what if the sequence had gone differently? What if a strong candidate had weak first-choice numbers and got knocked out in round 2 before their coalition could consolidate? IRV cannot guarantee that this won't happen. Schulze can.
This is not a hypothetical concern. There are well-documented ballot distributions — not edge cases, but realistic ones — where IRV eliminates the Condorcet winner early because their support is spread across many voters as a second or third choice rather than concentrated as a first choice. In those cases, IRV and Schulze would disagree, and Schulze would be correct.
In Westbrook, we got lucky. IRV found the right answer. But luck is not a design principle.
Why Scenarios 1 and 2 Got It Wrong
Returning to Alfred: both Scenario 1 and Scenario 2 elected him, and both were wrong to do so.
Alfred loses to John 7,585 to 2,415 in a direct comparison. That means if you put Alfred and John on a ballot together and asked Westbrook's 10,000 voters to choose one, more than three quarters of them would pick John. Alfred is not a bad candidate — he places second in the Schulze ranking, above Isidra, Raymond, Sebastian, and Robert. But he is not the candidate most voters prefer, and any system that elects him over John is rewarding the wrong thing.
What Scenarios 1 and 2 are actually rewarding is diffuse high-ranking. Alfred sits near the top of a lot of ballots. He is many voters' second or third choice in a way that inflates his standing under cumulative systems. But consistently being many people's second preference is not the same as being most people's first preference in a direct comparison.
Schulze is the only method among the four that cannot be fooled by this. The pairwise matrix is immune to the inflation of cumulative rankings — it simply asks, for each pair, who do more voters prefer? Alfred's high general ranking does not help him when the question becomes "Alfred or John, specifically?" and 7,585 voters choose John.
The Case for Schulze
Schulze satisfies a set of properties that IRV cannot guarantee and that Scenarios 1 and 2 do not come close to meeting.
It always elects the Condorcet winner if one exists. If there is a candidate who beats every other in a direct comparison, Schulze finds them. Always.
It satisfies monotonicity. Ranking a candidate higher on your ballot cannot cause them to lose. This sounds obvious, but IRV actually violates it in certain configurations — there are ballot distributions where a bloc of voters switching their top preference to the winner causes the winner to lose. Schulze does not have this problem.
It is clone-proof. Adding a near-identical candidate to the race does not change the outcome. Under plurality voting, a second candidate similar to the frontrunner splits their vote and can hand the election to someone neither bloc wanted. Schulze handles this correctly.
It is highly resistant to strategic voting. Because Schulze looks at all pairwise preferences simultaneously, it is very difficult to game by voting dishonestly. The incentive to rank candidates in an order you do not actually believe in is much lower than under sequential elimination methods.
It produces a full ranking, not just a winner. The complete ordering — John, Alfred, Isidra, Raymond, Sebastian, Robert — is itself informative, and useful for things like filling multiple positions or understanding the shape of public opinion.
The Case Against Schulze
None of this makes Schulze perfect, and its weaknesses are worth taking seriously rather than dismissing.
Explainability is the main one. "The candidate with the most first-choice votes after redistribution" fits in a sentence. "The candidate with the strongest beatpath through a pairwise preference graph computed via Floyd-Warshall" does not. A democratic system that voters cannot understand is a system voters cannot meaningfully consent to. Public trust requires transparency, and transparency requires that an ordinary person can follow the logic of why their preferred candidate won or lost.
Verifiability is related. IRV can in principle be verified manually — you can watch the ballots move from pile to pile. Schulze produces results from a matrix calculation that requires software for any realistic election size. That introduces a dependency on technology and on the institutions that run it, which is not a trivial concern in contexts where election integrity is contested.
Condorcet cycles are possible. If voters collectively prefer A over B, B over C, and C over A, there is no Condorcet winner — the preferences form a loop. Schulze handles this through its path-strength algorithm, and the resolution is mathematically principled, but explaining to voters why the algorithm chose the winner it did in a cycle scenario is genuinely difficult. IRV has no equivalent problem because it simply keeps eliminating until someone has a majority.
Finally, Schulze is not widely used in public governmental elections. It appears in internal organizational votes — Wikimedia, various open-source projects, the Pirate Parties in several countries — but asking a general public to adopt it requires institutional investment in voter education that may not be politically feasible.
The Verdict
Here is what the simulation, taken as a whole, actually tells us.
John is the right answer. He is the Condorcet winner. He beats every other candidate in a direct comparison, by comfortable margins in most cases. Three of the four methods find him. Any serious discussion of the Westbrook mayoral election should start from the premise that John is the candidate most voters genuinely prefer.
Schulze is the best method. It finds John directly, guarantees the result in any ballot distribution, and satisfies a stronger set of democratic criteria than any sequential elimination system. If Westbrook — or any jurisdiction — is willing to invest in explaining how it works, Schulze is the correct choice.
IRV is the best practical method. It found John in this simulation, it is deployed at scale in real democracies, it is explainable in plain language, and it eliminates the worst failures of simpler systems. It cannot guarantee finding the Condorcet winner in every possible ballot distribution, but it does so in a wide range of realistic ones. For a jurisdiction that needs a system people can trust and understand on election night, IRV is the right answer.
Scenarios 1 and 2 should not be used. They elected Alfred, who loses to John three-to-one in a direct comparison. One double-counts votes. The other silently discards them. They were useful as a design exercise — building them taught us exactly why the problems they introduced matter — but as actual electoral systems, they fail the most basic test: finding the candidate most voters prefer.
A Final Thought
We started this project by asking what happens to votes after an elimination. The answer, it turns out, is less important than we initially thought — because the best system sidesteps the question entirely.
Schulze does not eliminate candidates. It does not ask what happens to the votes after someone loses. It asks, for every possible pair, which candidate do more voters prefer? And the candidate who answers that question most convincingly, across all pairs, wins.
IRV approximates this through a sequence of eliminations. When the approximation works — as it did in Westbrook — it produces the same answer. When it doesn't, the Condorcet winner is stranded in an early round, and the election produces a result that, if you showed voters the pairwise table afterwards, they would not recognise as representing their preferences.
The right question to ask in any election is not "who is left standing after we knock everyone else out?" It is "who do the most voters actually prefer?" Schulze answers the second question directly. IRV usually gets there anyway. Everything else is a more or less costly approximation.
Simulation details: 10,000 voters, 6 candidates, 7 preference coalitions, seeded random number generator for reproducibility. Pairwise preference matrix and strongest-path calculations follow the standard Schulze/Beatpath algorithm (Floyd-Warshall). All methods used identical ballots.