====================================================================== SOURCE FILE: 01_c3_b31_graders-divide.yaml TABULATED FILE: 01_c3_b31_graders-divide_tabulated.txt ====================================================================== election_title: The Graders' Divide — a harsh 0-2 camp meets a gentle 3-5 camp bv_test_id: BV2234 bv_election_id: 4jmgrd bv_results_url: https://bettervoting.com/4jmgrd/results scenario_description: |- Two camps, two GRADING CULTURES. The Abby camp are harsh graders: even their favorite only earns a 2, everyone else 0-1. The Bruno camp are gentle souls: nobody gets less than a 3, their favorite a 5. Same kind of opinions underneath - wildly different ballots on top. The test: what do asymmetric scale habits do to the Scoring Round, and does the Automatic Runoff (which only asks WHO YOU PREFER, not how loudly you said it) keep the result sane? The electorate (31 ballots, all individual rows): - Abby camp: 15 voters (15 harsh) - Bruno camp: 16 voters (16 gentle) Ballot styles in play (taxonomy: 01_STAR/01_Learn/voting_styles/README.md): - gentle: gentle soul: everything squeezed into 3-5, no zeros - harsh: harsh grader: everything squeezed into 0-2 What the frozen seed produced: Scoring Round Bruno 80, Clara 80, Abby 78. The top two tie the Scoring Round dead even - both advance, and the runoff decides. Runoff Clara 13 vs Bruno 11 (Equal Support 7). STAR winner: Clara. No Condorcet winner - the pairwise order wobbles (see the full matrix). Choose-One (Plurality) would elect Bruno. RCV-IRV would elect Bruno. Approval would elect Abby. The engine flags the classic center-squeeze signature (RCV-IRV the lone outlier). RANDOM-BUT-HUMAN, reproducible: generated by 06_Other/ballot_style_lab/generate_ballot_styles.py (scenario 'graders_divide', seed 94) - utilities sampled from the faction model above, then rendered through each voter's ballot style. Per 07_Concepts/topics/simulate_utilities_not_ballots.md this is the 'stress-test the tabulator' job (with human-shaped renderings), not a method-welfare comparison. Regenerate byte-identically: python generate_ballot_styles.py --emit graders_divide voting_method: STAR num_winners: 1 ballots: |- Abby, Bruno, Clara 3, 5, 4 2, 0, 1 3, 5, 4 2, 0, 1 3, 5, 5 2, 0, 1 3, 5, 4 2, 0, 1 3, 5, 3 2, 0, 0 3, 5, 3 2, 0, 1 2, 0, 1 3, 5, 4 3, 5, 4 3, 5, 5 3, 5, 5 2, 0, 1 2, 0, 1 3, 5, 5 2, 0, 1 3, 5, 4 2, 0, 1 3, 5, 4 3, 5, 5 3, 5, 3 3, 5, 4 2, 0, 1 2, 0, 1 2, 0, 0 2, 0, 2 expected_winners: - Clara # file: 01_c3_b31_graders-divide.yaml ====================================================================== TABULATION RESULTS ====================================================================== === The Graders' Divide — a harsh 0-2 camp meets a gentle 3-5 camp === Two camps, two GRADING CULTURES. The Abby camp are harsh graders: even their favorite only earns a 2, everyone else 0-1. The Bruno camp are gentle souls: nobody gets less than a 3, their favorite a 5. Same kind of opinions underneath - wildly different ballots on top. The test: what do asymmetric scale habits do to the Scoring Round, and does the Automatic Runoff (which only asks WHO YOU PREFER, not how loudly you said it) keep the result sane? The electorate (31 ballots, all individual rows): - Abby camp: 15 voters (15 harsh) - Bruno camp: 16 voters (16 gentle) Ballot styles in play (taxonomy: 01_STAR/01_Learn/voting_styles/README.md): - gentle: gentle soul: everything squeezed into 3-5, no zeros - harsh: harsh grader: everything squeezed into 0-2 What the frozen seed produced: Scoring Round Bruno 80, Clara 80, Abby 78. The top two tie the Scoring Round dead even - both advance, and the runoff decides. Runoff Clara 13 vs Bruno 11 (Equal Support 7). STAR winner: Clara. No Condorcet winner - the pairwise order wobbles (see the full matrix). Choose-One (Plurality) would elect Bruno. RCV-IRV would elect Bruno. Approval would elect Abby. The engine flags the classic center-squeeze signature (RCV-IRV the lone outlier). RANDOM-BUT-HUMAN, reproducible: generated by 06_Other/ballot_style_lab/generate_ballot_styles.py (scenario 'graders_divide', seed 94) - utilities sampled from the faction model above, then rendered through each voter's ballot style. Per 07_Concepts/topics/simulate_utilities_not_ballots.md this is the 'stress-test the tabulator' job (with human-shaped renderings), not a method-welfare comparison. Regenerate byte-identically: python generate_ballot_styles.py --emit graders_divide --- Runoff (Preference) Matrix --- Head-to-head / pairwise comparison Legend: For - Equal Support - Against * indicates Top 2 Finalist | Abby | * Bruno | * Clara | ------------------------------------------------------------- Abby > | --- |15 - 0 - 16 |14 - 4 - 13 | * Bruno > | 16 - 0 - 15 | --- |11 - 7 - 13 | * Clara > | 13 - 4 - 14 |13 - 7 - 11 | --- | [Condorcet Winner] No Condorcet winner (majority cycle: Abby > Clara > Bruno > Abby) [Divergence from STAR] STAR = Clara Choose-One (Plurality) = Bruno (differs from STAR) RCV-IRV = Bruno (differs from STAR) Approval = Abby (differs from STAR) Note: 9 of 31 ballots (29%) had equal non-zero scores, so their ranks were decided by candidate priority order. The RCV-IRV result may be an artifact of score-to-rank tie-breaking rather than a deep difference. 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/01_c3_b31_graders-divide_RCV-IRV_tabulated.txt --- STAR Voting Method (single winner) --- [STAR Voting] Tabulating 31 ballots. Count × Abby,Bruno,Clara 12 × 2, 0, 1 8 × 3, 5, 4 5 × 3, 5, 5 3 × 3, 5, 3 2 × 2, 0, 0 1 × 2, 0, 2 [Score Distribution] (how many ballots gave each star rating) Score Candidate 5 4 3 2 1 0 | Total Avg Abby 0 0 16 15 0 0 | 78 2.5 Bruno 16 0 0 0 0 15 | 80 2.6 Clara 5 8 3 1 12 2 | 80 2.6 [STAR Voting: Scoring Round] The two highest-scoring candidates advance to the next round. Bruno -- 80 -- First place Clara -- 80 -- Second place Abby -- 78 Bruno and Clara advance. [STAR Voting: Automatic Runoff Round] The candidate preferred in the most head-to-head matchups wins. Clara -- 13 -- First place Bruno -- 11 Equal Support -- 7 Clara wins. Runoff math: 31 ballots cast − 7 Equal Support (no preference between the two finalists) ── 24 voters with a preference (majority = 13) Clara 13 (54%) · Bruno 11 (46%) [STAR Voting: Winner — STAR Voting Method (single winner)] Clara