Skip to content

Exercise 6 — Bullet voting backfires: the honest ballots

Generated from ex06_bullet_honest.yaml — do not edit by hand. Regenerate: python STARVote_LH_tabulation_engine/tools_adam/scripts/build_yaml_pages.py.

Method: STAR (single winner) · 1 seat · Expected winner: Bree

▶ Live on BetterVoting: vote · results ↗ (election x4dkfd · test BV2193).

Scenario

The base case: nine voters, three speakers. Ari's four fans vote honestly (Ari 5, Bree 3, Cash 0). Scoring round: Bree 25, Cash 21, Ari 20 — Bree and Cash advance, and Bree (the broad compromise) beats Cash 5-4 in the runoff. Ari's fans get their second choice. The companion file ex06_bullet_backfire.yaml reruns the SAME election with those four fans bullet voting (Ari 5, everyone else 0) — and hands the win to Cash, their nightmare. Exercise: ex06_bullet_backfire.md. Ballots and cast are this repo's own. Live on BetterVoting (Test ID BV2193): https://bettervoting.com/x4dkfd/results — with RCV-IRV and Ranked Robin races on the same opinions (IRV elects Cash even on the honest ballots — the squeeze cameo; RR confirms Bree).

Ballots

The ballots as marked — the filled bubble is the score given, and the score is the number in its column:

# Ballot as marked Ari Bree Cash
1 A 0–5 STAR ballot — Ari fan 1 of 4 — honest: Bree really is a second choice: Ari 5, Bree 3, Cash 0. 5 3 0
2 A 0–5 STAR ballot — Ari fan 2 of 4 — same honest ballot: Ari 5, Bree 3, Cash 0. 5 3 0
3 A 0–5 STAR ballot — Ari fan 3 of 4 — same honest ballot: Ari 5, Bree 3, Cash 0. 5 3 0
4 A 0–5 STAR ballot — Ari fan 4 of 4 — same honest ballot: Ari 5, Bree 3, Cash 0. 5 3 0
5 A 0–5 STAR ballot — Cash fan 1 of 4 — Bree tolerable: Ari 0, Bree 2, Cash 5. 0 2 5
6 A 0–5 STAR ballot — Cash fan 2 of 4 — same ballot: Ari 0, Bree 2, Cash 5. 0 2 5
7 A 0–5 STAR ballot — Cash fan 3 of 4 — same ballot: Ari 0, Bree 2, Cash 5. 0 2 5
8 A 0–5 STAR ballot — Cash fan 4 of 4 — same ballot: Ari 0, Bree 2, Cash 5. 0 2 5
9 A 0–5 STAR ballot — The lone Bree fan — her Cash 1 outranks Ari's 0: Ari 0, Bree 5, Cash 1. 0 5 1

The same ballots as the file records them:

Row 1 = candidate names; each later row is one voter's 0–5 scores (a N × prefix = N identical ballots).

Ari,Bree,Cash
5,3,0 # Ari fan 1 of 4 — honest: Bree really is a second choice
5,3,0 # Ari fan 2 of 4 — same honest ballot
5,3,0 # Ari fan 3 of 4 — same honest ballot
5,3,0 # Ari fan 4 of 4 — same honest ballot
0,2,5 # Cash fan 1 of 4 — Bree tolerable
0,2,5 # Cash fan 2 of 4 — same ballot
0,2,5 # Cash fan 3 of 4 — same ballot
0,2,5 # Cash fan 4 of 4 — same ballot
0,5,1 # The lone Bree fan — her Cash 1 outranks Ari's 0

What the engine says

The count, step by step — the rounds and how the winner is reached:

[Divergence from STAR]
  STAR                   = Bree
  Choose-One (Plurality) = Ari   (differs from STAR)
  RCV-IRV                = Cash   (differs from STAR)
  Note: no ballots had tied scores, so RCV-IRV vs STAR here is a genuine
        method difference, not a tie-breaking artifact.
  Note: Ranked Robin (RCV-RR) agrees with STAR, so RCV-IRV is the lone
        outlier — the classic center-squeeze signature.
  Full round-by-round reports (generated for review):
  RCV-IRV rounds: cases_tabulated/ex06_bullet_honest_RCV-IRV_tabulated.txt

--- STAR Voting Method (single winner) ---

[STAR Voting]
 Tabulating 9 ballots.
Count × Ari,Bree,Cash
    4 ×   5,   3,   0
    4 ×   0,   2,   5
    1 ×   0,   5,   1

[STAR Voting: Scoring Round]
 The two highest-scoring candidates advance to the next round.
   Bree          -- 25 -- First place
   Cash          -- 21 -- Second place
   Ari           -- 20
 Bree and Cash advance.

[STAR Voting: Automatic Runoff Round]
 The candidate preferred in the most head-to-head matchups wins.
   Bree          -- 5 -- First place
   Cash          -- 4
   Equal Support -- 0
 Bree wins.
   Runoff math:
     9  ballots cast
   − 0  Equal Support (no preference between the two finalists)
     ─
     9  voters with a preference  (majority = 5)
           Bree 5 (56%)  ·  Cash 4 (44%)

[STAR Voting: Winner — STAR Voting Method (single winner)]
 Bree

Full audit — preference matrix, Condorcet, and score distribution

--- Runoff (Preference) Matrix ---
Head-to-head / pairwise comparison
Legend: For - Equal Support - Against
        * indicates Top 2 Finalist
               |     Ari    |  * Bree   |  * Cash   |
-----------------------------------------------------
         Ari > |    ---     |4 - 0 - 5  |4 - 0 - 5  |
      * Bree > | 5 - 0 - 4  |   ---     |5 - 0 - 4  |
      * Cash > | 5 - 0 - 4  |4 - 0 - 5  |   ---     |

[Condorcet Winner]
  Condorcet Winner: Bree — matches the STAR winner

[Condorcet Loser]
  Condorcet Loser: Ari — loses every head-to-head matchup — elected by Choose-One (Plurality)!

[Score Distribution] (how many ballots gave each star rating)
                Score
Candidate  5  4  3  2  1  0  | Total   Avg
Ari        4  0  0  0  0  5  |    20   2.2
Bree       1  0  4  4  0  0  |    25   2.8
Cash       4  0  0  0  1  4  |    21   2.3

Everything in one file: the _tabulated mirror (regenerated on every run; every analysis forced on).

Run it yourself:

python STARVote_LH_tabulation_engine/starvote_larry_hastings.py 01_STAR/05_Practice/cases/ex06_bullet_honest.yaml

See also

More cases in this set: ex01_district_combined · ex01_district_east · ex01_district_west · ex02_bella_exits · ex02_nine_ballots · ex02_tenth_ballot · ex03_five_verdicts · ex04_olympics_1994 · ex05_center_squeeze · ex06_bullet_backfire · ex07_vanishing_votes · ex08_minimal_reversal_2c · ex08_minimal_reversal_3c · ex09_game_night_cycle · ex10_generous · ex10_reticent · ex11_spoiler_added · ex11_two_way_base · ex12_bloc_sweep · ex12_proportional_share · ex13_approve3 · ex13_approve4 · ex13_bullet · ex13_opinions · ex14_two_novels · ex14_two_novels_fullranks · ex15_approval_pairwise · ex15_approval_yes_no · ex15_score_profile