Skip to content

BV parity — STAR_PR (Allocated Score): fractional surplus reweighting

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

Method: Allocated Score (proportional STAR) · 2 seats · Expected winners: Allison, Doug

Scenario

Ported from BetterVoting's tabulator unit tests (AllocatedScore.test.ts :: "Fractional surplus"). Allison has 8 top-level supporters but the Hare quota is only 6, so her surplus is spread fractionally: each of her supporters' ballots is reweighted to (1 − 6/8) = 0.25 rather than fully spent. That leftover weight keeps her bloc partly active, but Doug still takes the second seat. Represents the fractional-surplus family of BetterVoting's AllocatedScore tests (the "single vote" and "lower split" variants elect the same committee, {Allison, Doug}). LH's allocated method matches BetterVoting.

Ballots

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

Allison,Bill,Carmen,Doug
5,5,1,0
5,5,1,0
5,5,1,0
5,5,1,0
5,5,1,0
5,5,1,0
5,5,1,0
5,4,4,0
0,0,0,3
0,0,4,5
0,0,4,5
0,0,4,5

What the engine says

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

--- Allocated Score Voting Method (2 winners) ---

[Allocated Score Voting]
 Tabulating 12 ballots to fill 2 seats.
Count × Allison,Bill,Carmen,Doug
    7 ×       5,   5,     1,   0
    3 ×       0,   0,     4,   5
    1 ×       5,   4,     4,   0
    1 ×       0,   0,     0,   3

[Allocated Score Voting: Round 1]
 The highest-scoring candidate wins a seat.
   Allison       -- 40 -- First place
   Bill          -- 39
   Carmen        -- 23
   Doug          -- 18
 Allison wins a seat.

[Allocated Score Voting: Round 1: Ballot allocation round]
 Allocating 6 ballots.

[Allocated Score Voting: Round 1: Ballot allocation round: Round 1]
 Allocating 8 ballots at score 5.
 This allocation overfills the quota.  Returning fractional surplus.
 Allocating only 75.00% of these ballots.
 Keeping these ballots, but multiplying their weights by 1/4.
 8 ballots reweighted from 1 to 1/4.

[Allocated Score Voting: Round 2]
 The highest-scoring candidate wins a seat.
   Doug          -- 18     -- First place
   Carmen        -- 14+3/4
   Bill          --  9+3/4
 Doug wins a seat.

[Allocated Score Voting: Winners — Allocated Score Voting Method (2 winners)]
 Allison
 Doug

Full audit — preference matrix, Condorcet, and score distribution

--- Preference Matrix ---
Head-to-head / pairwise comparison
Legend: For - Equal Support - Against
        Informational only — not part of the 2-winner count below,
        so no Top-2 finalists are marked.
                 |    Allison   |     Bill    |    Carmen   |     Doug    |
---------------------------------------------------------------------------
       Allison > |     ---      | 1 - 11 -  0 | 8 -  1 -  3 | 8 -  0 -  4 |
          Bill > |  0 - 11 -  1 |    ---      | 7 -  2 -  3 | 8 -  0 -  4 |
        Carmen > |  3 -  1 -  8 | 3 -  2 -  7 |    ---      | 8 -  0 -  4 |
          Doug > |  4 -  0 -  8 | 4 -  0 -  8 | 4 -  0 -  8 |    ---      |

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

[Condorcet Loser]
  Condorcet Loser: Doug — 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
Allison    8  0  0  0  0  4  |    40   3.3
Bill       7  1  0  0  0  4  |    39   3.3
Carmen     0  4  0  0  7  1  |    23   1.9
Doug       3  0  1  0  0  8  |    18   1.5
 Hare quota is 6.

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 method_comparisons/BV_Library/cases/BV_Library_star_pr_fractional_surplus.yaml

See also

More cases in this set: BV_Library_approval_single_winner · BV_Library_plurality_single_winner · BV_Library_ranked_robin_single_winner · BV_Library_ranked_robin_ties · BV_Library_star_condorcet_winner · BV_Library_star_pr_basic_two_seats · BV_Library_star_pr_voters_fewer_than_seats · BV_Library_star_runnerup_tie · BV_Library_star_runoff · BV_Library_star_runoff_score_tie_five_star · BV_Library_star_runoff_tie_score_resolves