Skip to content

Bloc Approval — 2 seats, majority sweep

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

Method: Approval Voting · 2 seats · Expected winners: Amy, Ben

Scenario

Multi-winner (bloc / at-large) Approval: same 0/1 ballot, but the TWO most-approved candidates win. Six voters, four candidates, two seats. A cohesive majority (4 of 6 voters — all approve Amy, two also Ben) takes BOTH seats; the minority's candidates (Cora, Doug) win nothing. Ben and Cora tie 2–2 for the last seat, and candidate priority order (left-to-right columns) breaks it for Ben — watch the engine's tie note. The lesson: bloc Approval is majoritarian, not proportional — same trade-off as Bloc STAR (02_STAR_Bloc). Proportional rules on the SAME ballots (SPAV, PAV, seq-Phragmén — run them via 06_Other/abcvoting_tabulation_engine/) instead elect Amy + Cora decisively, giving the minority its seat; see 04_Approval/01_Learn/approval_multiwinner.md.

Ballots

The ballots as marked — a filled Yes is a 1 in that candidate's column, a filled No a 0:

# Ballot as marked Amy Ben Cora Doug
1 A Yes/No Approval ballot — Voter 1 — majority faction: bullet-approves Amy: Amy Yes, Ben No, Cora No, Doug No. 1 0 0 0
2 A Yes/No Approval ballot — Voter 2 — majority faction: Amy and Ben: Amy Yes, Ben Yes, Cora No, Doug No. 1 1 0 0
3 A Yes/No Approval ballot — Voter 3 — majority faction: Amy and Ben: Amy Yes, Ben Yes, Cora No, Doug No. 1 1 0 0
4 A Yes/No Approval ballot — Voter 4 — majority faction: bullet-approves Amy: Amy Yes, Ben No, Cora No, Doug No. 1 0 0 0
5 A Yes/No Approval ballot — Voter 5 — minority faction: Cora and Doug: Amy No, Ben No, Cora Yes, Doug Yes. 0 0 1 1
6 A Yes/No Approval ballot — Voter 6 — minority faction: bullet-approves Cora: Amy No, Ben No, Cora Yes, Doug No. 0 0 1 0

The same ballots as the file records them:

Row 1 = candidate names; each later row is one voter's approvals (1 = approve, 0/blank = not approved).

Amy,Ben,Cora,Doug
1,0,0,0   # Voter 1 — majority faction: bullet-approves Amy
1,1,0,0   # Voter 2 — majority faction: Amy and Ben
1,1,0,0   # Voter 3 — majority faction: Amy and Ben
1,0,0,0   # Voter 4 — majority faction: bullet-approves Amy
0,0,1,1   # Voter 5 — minority faction: Cora and Doug
0,0,1,0   # Voter 6 — minority faction: bullet-approves Cora

What the engine says

Full report from the _tabulated mirror (regenerated on every run; every analysis forced on):

--- Approval Voting (2 winners) ---
 Tabulating 6 ballots (any non-zero score = approval).

Ballots:
   columns = Amy, Ben, Cora, Doug      (1 = approve; 0 = not approved)
     2 × 1,0,0,0
     2 × 1,1,0,0
     1 × 0,0,1,1
     1 × 0,0,1,0

   Amy  -- 4 (67%) -- Elected
   Ben  -- 2 (33%) -- Elected
   Cora -- 2 (33%)
   Doug -- 1 (17%)
  Note: Ben, Cora each have 2 approvals and tie for the last 1 seat.
        Candidate priority order (Ben > Cora) broke the tie: Ben elected, Cora not elected.

[Approval Distribution] (how many candidates each ballot approved)
   9 approvals across 6 ballots — average 1.5 of 4 (range 1–2).
     approved 1: 3 ballots
     approved 2: 3 ballots

[Co-Approval Matrix]
 Of the voters who approved the ROW candidate, the % who ALSO approved the COLUMN candidate.
         |  Amy   |  Ben   |  Cora  |  Doug  |
   -------------------------------------------
   Amy   |   --   |  50%   |   0%   |   0%   |
   Ben   |  100%  |   --   |   0%   |   0%   |
   Cora  |   0%   |   0%   |   --   |  50%   |
   Doug  |   0%   |   0%   |  100%  |   --   |

Winners — Approval Voting (2 winners)
  Amy, Ben

Run it yourself:

python STARVote_LH_tabulation_engine/starvote_larry_hastings.py 04_Approval/02_Examples/multiwinner/cases/approval_bloc_2seats_c4_b6.yaml

See also

More cases in this set: approval_bloc_3seats_c6_b5 · approval_bloc_4seats_c7_b12_lackner_skowron · approval_sav_covers_everyone_c3_b17_brams_kilgour · approval_sav_disjoint_c4_b10_brams_kilgour