Skip to content

Runoff Reversal — the BetterVoting case series

Real BetterVoting elections that demonstrate a Runoff Reversal — the Scoring-Round leader loses the Automatic Runoff to the finalist more voters prefer (the score winner ≠ the STAR winner). Each is a two-view lesson: BetterVoting's own screenshots beside the Larry Hastings engine report, so you see both how the result looks in the BV UI and how it tallies in the engine.

New to the idea itself? Start with the concept folder next door — When the top-scoring candidate isn't the winner (the plain explanation + small teaching demos with no live BetterVoting election) — and the presenter's guide, Teaching Runoff Reversal. Concept hub: The Automatic Runoff Round.

When to use two views (house principle). Show BetterVoting beside the open-source engine's report (the "LH" tabulator) only where the two diverge (the discrepancy is the lesson, e.g. Runoff_07) or where reading BV's own UI is the point (this set — the screenshots teach how a STAR result looks). When BV and LH simply agree and there's no UI to teach, LH-only is enough (see the vote-splitting set).

Read them in order — the how much vs how many arc, smallest reversal first:

# Lesson Level What it shows
01 confirms the leader 101 control — leader leads and wins (baseline)
02 the atom 101 smallest reversal — broadly-liked runner-up loses
03 enthusiasts vs majority 201 intense minority leads stars, majority wins (5 cand)
04 reversal at scale 101 the atom blown up — 67/33, not a fluke
05 reversal with Equal Support 201 "no preference" voters → the two-denominator bridge
06 confirms at scale 101 control bookend — leader confirmed 4–1
07 ⚠️ flat ballot / BV bug (WIP) 201/301 the one case where the reports disagree — a flat ballot BV mis-files as an abstention (#1407)
08 CA Governor, a real field of 61 (BV2181, gvdy42) 201/301 the largest live case — Lapp (R) tops the score, Steyer (D) wins the runoff 98–80; also the Equal-Support reconciliation (141 = 124 + 17 abstentions) and the #1390 graph bug (PR #1431)

BV QA tracker: this set is the runnable home for BV90 (scoring/runoff divergence) and BV205 (top-scoring candidate ≠ winner) — the "Runoff Reversal" scenarios.

Each case is a trio — the two-view .md lesson, the tabulatable .yaml, and the frozen _bv_export.json — with the BetterVoting screenshots in img/ (prefixed by the election's bvid). The auto-generated reader pages and full _tabulated reports live in runoff_reversal_bv_cases_pages/ and runoff_reversal_bv_cases_tabulated/.