Method
How a priority becomes a recommendation
The ranking and the recommendation are different steps. The ranking asks where the law hurts and which office holds the pen. The recommendation asks whether a candidate on that ballot would reduce the harm, and whether they can win. Numbers on this page are read from the scoring module, not copied into the essay.
1. Harm, with the penalty made explicit
Harm is not a vibe. It is a blend of two 1–5 judgments. Conduct harm asks how directly the law punishes peaceful, non-violent people. Penalty severity asks what the sanction is. The default blend is 0.6 conduct and 0.4 penalty:
harm = round(conduct × 0.6 + severity × 0.4), clamped to 1–5
| Penalty class | Severity weight |
|---|---|
| Civil fine | 1 |
| License, property, or forfeiture | 2 |
| Misdemeanor, up to a year | 3 |
| Felony imprisonment | 4 |
| Decades, life, or civil death | 5 |
A civil fine on narrowly targeted conduct stays near 1. An extreme sanction on the same conduct cannot. That is the point of the penalty share. Change SCORING_POLICY.harmBlend or penaltySeverity and this table, plus the unit tests that lock the defaults, move with you.
| Conduct | Civil fine | License, property, or forfeiture | Misdemeanor, up to a year | Felony imprisonment | Decades, life, or civil death |
|---|---|---|---|---|---|
| 1 | 1 | 1 | 2 | 2 | 3 |
| 2 | 2 | 2 | 2 | 3 | 3 |
| 3 | 2 | 3 | 3 | 3 | 4 |
| 4 | 3 | 3 | 4 | 4 | 4 |
| 5 | 3 | 4 | 4 | 5 | 5 |
Conduct harm
- 1. Peaceful people are rarely the target. The harm is collateral.
- 2. Some peaceful conduct is burdened, usually at the edge of the statute.
- 3. Peaceful, non-violent conduct is regularly punished.
- 4. The statute is aimed at peaceful conduct, with narrow defenses.
- 5. The statute's point is to punish peaceful, non-violent people.
2. Power
Issue power is the product harm × reach × office impact. Reach and office impact are editorial 1–5 scores. They are not hidden formulas. The maximum is 125. This product is the sort key on the homepage. Winnability does not reorder it.
Reach
- 1. A narrow class, rarely charged.
- 2. A defined trade, county, or small population.
- 3. A common charge, or a sizable industry in the state.
- 4. A widespread rule touching many households or workers.
- 5. Nearly anyone in the state can fall under it.
Office impact
- 1. The office can comment. It can do little else.
- 2. The office influences appointments or the budget at the margin.
- 3. The office can veto, settle, or set an enforcement priority.
- 4. The office writes a real part of the outcome and shares the pen.
- 5. The office holds the decision that most directly changes the penalty.
3. Winnability, as its own function
winnabilityWeight multiplies after the product. A 3 is neutral (weight 1). The curve is gentle: a likely winner cannot drown a much harsher statute, and a long shot is discounted without being deleted from the chart.
- 1 — No credible path this cycle.× 0.4
- 2 — A real but outside chance.× 0.7
- 3 — A contest.× 1
- 4 — Favored.× 1.15
- 5 — The race is not seriously in doubt.× 1.3
Tune SCORING_POLICY.winnabilityWeights. Callers can also pass a policy argument, which is how the tests prove the function reads the curve instead of a hard-coded number.
4. From issues to a call
Alignment is a candidate's record on an issue, from −2 to +2. Dividing by 2 maps it onto −1…+1, so a full commitment moves the whole power of the issue and a blank record moves none. A candidate's score is the sum of those signed powers, multiplied by their winnability weight. Because the weight does not vary by issue, weighting each issue first and summing is the same arithmetic.
The call then applies three gates, in order:
- If the leading score is not positive, the call is a toss-up. Nobody would reduce the harm.
- If the leader's winnability is below 2, the call is a toss-up. A weight alone would still rank a doomed candidate above an opponent who expands the penalty. The coalition does not endorse that candidate.
- If the leading score is below 8, the record is too thin to name anyone.
- If the relative gap — (leader − runner-up) / |leader| — is below 0.18, the call is a toss-up.
- Otherwise the call is an endorsement of the leader.
Editors may publish a different call. They have to write the reason. The New Hampshire legislative sample is that case: the formula endorses a slate, and the editors mark a toss-up because one seat is not a majority.
Alignment
- 0. No usable record.
- 1. Would narrow the penalty or the way it is used.
- 2. Would remove the penalty or cut it substantially, with a credible path.
- -2. Would expand the penalty, or defend it without a recorded limit.
- -1. Leans toward keeping the penalty.
A worked example
Conduct 5, felony imprisonment (severity 4), reach 4, office impact 5, winnability 2.
- Harm = 5
- Power = 100
- Winnability weight = 0.7, so weighted power = 70
Two candidates on that single issue. One is aligned +2 with winnability 2. The other is aligned −1 with winnability 5. The formula endorses the first (clear-lead). Same power, both candidates aligned +1, winnabilities 3 and 4: the formula calls a toss-up (inside-gap, gap 0.1).
What the charts are showing
The radar is the four scores. Winnability on that chart is the leading candidate in the office, shared by every issue in the race, because winnability is not a property of the statute. The stacked bar is each candidate's signed contribution on each issue: power times alignment. It is there so a reader can see a mixed record instead of trusting the headline call.