STAR Reporting — reading and comparing results¶
One line: how a STAR result is reported — the numbers (scores, runoff counts, percentages), what a "no preference" ballot means (Equal Support vs abstention), and how the two reports in this repo — BetterVoting's visual display and the LH starvote engine's text report — present the same election (and where they occasionally diverge).
This folder is a hub: short, reporting-focused pages that link out to the canonical deep-dives rather than restate them.
What's in a STAR result¶
A STAR result is a short funnel, and every report shows the same stages:
- Counts / scores — add every star; each candidate gets a total. (STAR is summable: precinct totals add up. → STAR summability)
- Finalists — the two highest scorers advance.
- Automatic Runoff — each ballot goes to whichever finalist it scored higher.
- Percentages — the winner needs a majority of the voters with a preference between the two finalists. (→ Runoff percentages — two denominators)
- No-preference ballots — ballots that score the two finalists equally are Equal Support (counted in the score round, set aside from the runoff percentage); a fully blank ballot is an abstention. (→
GLOSSARY)
The two reports¶
| Page | What it covers |
|---|---|
| How the LH engine reports | the text/audit report — score distribution, matrix, both rounds, the self-reconciling runoff line + "Runoff math" funnel |
| How BetterVoting reports | the live visual — scoring bars, runoff bars/pie, the two percent columns, abstention count |
| Where the two reports differ | same winner, different abstention/score-total bookkeeping — the flat-ballot reconciliation |
| Two views of the same scores | not a disagreement — a division of labour: LH reads the ballot grid down the columns (per candidate), BetterVoting's nerd stats read it across the rows (per voter) |
Report elements, up close¶
| Page | What it explains |
|---|---|
| Score Distribution | the per-score breakdown (how many 5s, 4s … 0s, blanks); Total and Avg; 0 vs blank |
| Range of Scores vs Score Distribution | the two margins of the ballot grid, and which report answers which question |
| Preference Matrix & Condorcet | head-to-head For – Equal Support – Against; two-candidate vs full N×N; show_condorcet |
| Reporting true ties | how a tie shows up in each report; why the runoff-percentage line is suppressed on an exact tie |
| LH reporting options | what each options: flag (show_matrix, show_condorcet, brief, show_runoff_percent …) adds to or removes from the report |
Canonical deep-dives (linked, not duplicated)¶
- Reading a STAR report — the LH report, section by section.
- Reading a BetterVoting results page — the same walk-through for the live visual report: the four decks, and the four different denominators hiding in them.
- BetterVoting and the LH engine — why one election has two reports, and how they map.
- Runoff percentages — the two-denominator idea.
- Tabulation, step by step — STAR's two steps vs IRV's rounds.
Worked examples — always two views¶
House rule: every reporting example carries two views of the same election — the BetterVoting result (by its BV election ID) and the LH engine result (the BV JSON tabulated by LH, i.e. the _tabulated mirror). Compare them side by side.
| Example | BetterVoting (election ID) | LH engine (tabulated mirror) |
|---|---|---|
| Pet race, 461 ballots | pet → bettervoting.com/pet/results |
best_pet_c7_b461_tabulated.txt · lesson |
| 3-candidate flat-scores | dq2dmm |
flat_scores_abstention_c3_b8_tabulated.txt · lesson |
| 2-candidate minimal | 3w6v4b |
small_abstention_c2_b5_tabulated.txt · lesson |
| Runoff tie | (create one — see ties) | 02b_c3_b2_three-candidates_tabulated.txt |