Skip to content

Ranked Robin vs. "the Condorcet winner" — same animal, until there's a cycle

A question that trips up almost everyone: aren't Ranked Robin (RCV-RR) and Condorcet the same thing? Almost — and the gap between them is the whole lesson.

→ Topic hub: Condorcet efficiency · cycles in depth: Cycle Resolution — why Minimax, Ranked Pairs, and Schulze exist · the method: Ranked Robin (RCV-RR / Copeland) · the deeper math: the math behind Condorcet · Level: 301 · deep dive — Curriculum 301.7


The one-line answer

  • A Condorcet winner is a candidate who beats every other candidate one-on-one. Sometimes nobody does (a cycle), so the Condorcet winner is undefined — blank.
  • Ranked Robin (RCV-RR / Copeland) counts each candidate's head-to-head wins and elects whoever has the most (ties broken by total margin, then lot). It always produces a winner.

Ranked Robin = Condorcet + a built-in tiebreaker for cycles. When a Condorcet winner exists, Ranked Robin elects exactly that candidate — same animal. When none exists, Condorcet is blank but Ranked Robin still names someone.

The cleanest way to see it is the same three candidates, two different electorates.

Case 1 — a Condorcet winner exists → they agree

Five voters, candidates Ada / Ben / Cara (01_condorcet_winner.yaml):

3 × Ada > Ben > Cara
2 × Ben > Ada > Cara

Ada beats Ben (3–2) and beats Cara (5–0) — Ada beats everyone, so Ada is the Condorcet winner. Ranked Robin agrees, because Ada also has the most wins:

    #  Candidate  W–L–T  Copeland  Margin  Beats
    1  Ada        2–0–0         2      +6  Ben, Cara
    2  Ben        1–1–0         1      +4  Cara
    3  Cara       0–2–0         0     -10  —

Winner — Ranked Robin (RCV-RR): Ada
   beats every opponent head-to-head — the Condorcet winner.

Ranked Robin = Condorcet = Ada. No daylight between them.

Case 2 — a cycle (rock-paper-scissors) → they part ways

Now seven voters, same three candidates (02_cycle_no_condorcet.yaml):

3 × Ada > Ben > Cara
2 × Ben > Cara > Ada
2 × Cara > Ada > Ben

Now the head-to-heads chase each other in a circle — exactly like rock-paper-scissors:

  • Ada beats Ben 5–2
  • Ben beats Cara 5–2
  • Cara beats Ada 4–3

Nobody beats both others, so there is NO Condorcet winner — the Condorcet answer is blank. But Ranked Robin still resolves it: everyone is 1–1, so it breaks the tie by total margin, and Ada (the strongest margins) wins:

    #  Candidate  W–L–T  Copeland  Margin  Beats
    1  Ada        1–1–0         1      +2  Ben
    2  Ben        1–1–0         1      +0  Cara
    3  Cara       1–1–0         1      -2  Ada

Winner — Ranked Robin (RCV-RR): Ada
   *** 3 candidates tie on wins — a Condorcet cycle. Resolved by total margin, then lot order.

This is the whole distinction in one election: Condorcet = (blank), Ranked Robin = Ada. (How a cycle gets resolved is itself a design choice — Minimax, Ranked Pairs, and Schulze each break it differently. See Cycle Resolution — why Minimax, Ranked Pairs, and Schulze exist.)

In the wild — record 0 from the random sweep

This isn't just a contrived 3-candidate trick. It's why the Condorcet column was blank in the random STAR sweep you ran (tools_adam/random_star_divergence.py). Take its very first divergent election — record 0, 6 candidates, 5 voters (03_real_record0_c6_b5.yaml):

     A  B  C  D  E  F
#1:  3  3  0  2  4  3
#2:  3  2  3  2  4  1
#3:  4  1  2  1  0  4
#4:  2  4  5  4  1  2
#5:  0  5  0  5  2  3

A full 6×6 pairwise grid is hard to read, so look at the win–loss record instead — it tells the story at a glance:

    #  Candidate  W–L–T  Copeland  Margin  Beats
    1  B          3–1–1       3.5      +3  D, E, F
    2  A          2–1–2         3      +1  C, D
    3  C          2–3–0         2      -1  B, D
    4  D          2–3–0         2      -1  E, F
    5  E          2–3–0         2      -1  A, C
    6  F          2–2–1       2.5      -1  C, E

Winner — Ranked Robin (RCV-RR): B  (the most head-to-head wins, 3)

Read the top row: B went 3–1–1 — not 5–0. B beats D, E, F, ties A, and loses to C. So no candidate beats all five rivals → there is no Condorcet winner → the column is blank. Ranked Robin doesn't care: B has the most wins (3), so Ranked Robin elects B — which also happens to be the STAR winner here.

That's the takeaway from the sweep: with only 5 ballots and 6 candidates, an undisputed head-to-head champion rarely exists, so Condorcet is usually blank — but Ranked Robin always answers, because "best record" always has a top.

(The full 6×6 matrix is in the file's _tabulated mirror if you want it.)

Same ballot, two different conversions (and why IRV is fragile)

Neither method reads scores — they read ranks, so a score ballot is converted first. But Ranked Robin and RCV-IRV convert it differently, and that gap is the whole reason IRV can be fragile. Take voter #1 from record 0 — A3 B3 C0 D2 E4 F3:

Method The ranking it reads What it did with the tie
Ranked Robin (weak ranks) E > A=B=F > D > C kept the three-way tie at 3 as a real tie (=)
RCV-IRV (strict ranks) E > A > B > F > D forced A=B=F into A > B > F by priority, and dropped C (0 = unranked)

Ranked Robin keeps equal scores tied — no head-to-head preference — which is exactly what its pairwise count uses. RCV-IRV can't represent a tie, so it invents a strict order: it breaks A=B=F by candidate priority into A > B > F, and treats C's 0 as unranked (so the ballot can later exhaust). That manufactured order is precisely why IRV is fragile — reverse the priority and A > B > F becomes F > B > A, which can change who gets eliminated and flip the winner. Ranked Robin never has to invent an order it wasn't given.

→ More on this: strict vs. weak ranks.

So which should I say?

You mean… Say…
Is there an undisputed head-to-head champion? (may be none) Condorcet winner
Who has the best head-to-head record? (always someone) Ranked Robin (RCV-RR)
Both, when a Condorcet winner exists they're the same candidate

Glossary: Condorcet.