Skip to content

Three candidates, one ballot - single-winner STAR

Generated from 02a_c3_b1_three-candidates.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: Choco

Scenario

Election: Pick your favorite ice cream flavor. Edge case: one voter only (one ballot).

Caroline - she scores all three flavors: - she loves Choco flavor (5 stars) - she is OK with Vanilla flavor (3 stars) - she dislikes Almond flavor (0 stars)

With a single voter, the winner is simply her highest-scored flavor (Choco); the automatic runoff can't change that. This is our baseline before we add more voters in the next example.

Ballots

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

# Ballot as marked Choco Vanilla Almond
1 A 0–5 STAR ballot — Caroline loves Choco flavor: Choco 5, Vanilla 3, Almond 0. 5 3 0

The same ballot as the file records it:

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

Choco,Vanilla,Almond
    5,      3,     0  # Caroline loves Choco flavor

What the engine says

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

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

[STAR Voting]
 Tabulating 1 ballot.
Choco,Vanilla,Almond
    5,      3,     0

[STAR Voting: Scoring Round]
 The two highest-scoring candidates advance to the next round.
   Choco         -- 5 -- First place
   Vanilla       -- 3 -- Second place
   Almond        -- 0
 Choco and Vanilla advance.

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

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

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
                |   * Choco   | * Vanilla  |   Almond   |
---------------------------------------------------------
      * Choco > |     ---     | 1 - 0 - 0  | 1 - 0 - 0  |
    * Vanilla > |  0 - 0 - 1  |    ---     | 1 - 0 - 0  |
       Almond > |  0 - 0 - 1  | 0 - 0 - 1  |    ---     |

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

[Condorcet Loser]
  Condorcet Loser: Almond — loses every head-to-head matchup

[Score Distribution] (how many ballots gave each star rating)
                Score
Candidate  5  4  3  2  1  0  | Total   Avg
Choco      1  0  0  0  0  0  |     5   5.0
Vanilla    0  0  1  0  0  0  |     3   3.0
Almond     0  0  0  0  0  1  |     0   0.0

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/02_Examples/cases/02a_c3_b1_three-candidates.yaml

See also

More cases in this set: 02b_c3_b2_three-candidates · 03a_c3_b3_style-bullet-vote · 03b_c3_b3_1_style-protest-vote · 03b_c3_b3_2_expand_style-protest-vote · 03c_c6_b8_style-gallery · 03d_c5_b5_style-gallery-five-more · 04b_c4_b3_display-options-all · 05a_c5_b3_unanimous-ballots · 06a_c9_b3_large-field-equal-support · 06b_c9_runoff-overturns-leader · 09_c4_b100_tennessee-capital · abstentions · bv2182_tg4779_faq_runoff_reversal · bv2184_fyy886_lunch_vote · bv2187_qrw6wb_ann-bob-cal · bv2256_c8h3tb_traditional_style · bv2263_xw23m9_over_50_percent · csv_ambiguity_ex1_c4_b8 · display_options_demo · equal_support_runoff_demo · quorum_demo_c3_b6 · quorum_fail_demo_c3_b6 · same_mean_different_spread_c2_b5 · star_ala_approval · three_winners_cw_score_runoff · vote_splitting · vote_splitting2 · vote_splitting3 · vote_splitting_scenario1_spoiler · vote_splitting_scenario2_bloc_leads · vote_splitting_scenario3_outsider_wins