# Probability Index methodology

**Version 1.0 — October 1, 2026.** The SiLobbyist Probability Index is a transparent, living, backtested win-probability score for every bill and cause. This document is the full public methodology. The machine-readable model lives in `data/probability-index.json`; the build script that recomputes it is `scripts/build_probability_index.py`.

## What the score is

Every bill starts at **50 — a coin flip**. Each of 18 factors then moves the score up or down by:

> **points = weight × 50 × signal**, where signal runs from −1 to +1.

Weights sum to 1.00, so the maximum possible swing is ±50. Scores are published as integers with an uncertainty band — **62 ± 8** — never false-precision decimals. Every score carries its full factor breakdown in plain language: what each factor contributed and why. **No score is ever shown without its breakdown. There are no black boxes.**

This is the deliberate exception to the site's general rule ("no proprietary 0–100 scores, ever"): the Index is not proprietary or opaque — the entire formula, every weight, every input, and the full backtest are published here and in the JSON.

## The 18 factors

| # | Factor | Weight | Direction | What it measures |
|---|--------|--------|-----------|------------------|
| 1 | Party dynamics | .09 | + | Author's party alignment with the majority; supermajority dynamics and coauthor spread |
| 2 | Legislature composition | .05 | + | Supermajority margin against the bill's vote threshold (41/21 majority; 54/27 two-thirds) |
| 3 | Governor posture | .09 | ± | Governor's revealed posture by topic: trailing-session veto rate for the bill's topic, adjusted when a predecessor version was vetoed (veto chain) |
| 4 | Author chapter rate | .07 | + | Author's chapter rate (chaptered ÷ bills reaching final disposition) in the trailing session |
| 5 | Committee vote math | .07 | ± | Policy-committee vote margin and referral path (single vs. multiple referral) |
| 6 | Suspense risk | .06 | − | Appropriations suspense-file exposure: fiscal bills (≥$50K GF / ≥$150K special fund) face the May/August chokepoint where ~1 in 3 held bills die |
| 7 | Amendment hostility | .04 | − | Hostile amendments, gut-and-amend events, heavy amendment churn |
| 8 | Urgency threshold | .04 | − | Two-thirds bills (urgency clauses, tax increases) clear a higher bar: 54 Assembly / 27 Senate |
| 9 | Opposition intensity | .06 | − | Organized opposition strength: breadth of the oppose coalition, reported spend against |
| 10 | Money — donations | .06 | ± | Campaign donations and behested payments tied to the bill's stakeholders |
| 11 | Money — super PACs | .06 | ± | Independent-expenditure and super PAC spending for or against the bill or its issue |
| 12 | Money — outside money | .06 | ± | Out-of-state and national money: tech, labor nationals, ideological funders |
| 13 | Advocacy alignment | .06 | ± | Support/oppose position letters from advocacy groups; breadth and weight of alignment |
| 14 | Lobbyist strength | .05 | ± | Registered lobbyist firepower engaged: firms retained, employer presence on the bill |
| 15 | Coalition breadth | .05 | + | Breadth of the support coalition; unusual allies (labor + business) score highest |
| 16 | Consultant tone | .03 | ± | Committee consultant's analysis tone: supportive, neutral-technical, skeptical |
| 17 | Session timing | .03 | ± | Session clock: deadline pressure, deficit-year fiscal screens, election-year caution |
| 18 | Ballot pressure | .03 | − | A qualified ballot measure on the same topic pulls the issue to voters and chills legislative action |

### Sources per factor

- **Party dynamics / legislature composition:** leginfo author pages; 2023–24 house rosters; Cal. Const. art. IV §§ 8, 10.
- **Governor posture:** the Governor's official legislative updates and veto messages (gov.ca.gov). Topic veto rates are computed from bills that reached the desk; topics with fewer than 4 desk bills are shrunk toward neutral; a vetoed predecessor subtracts 0.5 from the signal (veto chains — e.g., AB 2286 after AB 316's 2023 veto).
- **Author chapter rate:** leginfo bill histories. Authors with fewer than 3 bills in the sample fall back to their party-chamber mean.
- **Suspense risk:** Assembly and Senate Appropriations suspense-file results (May 16 and Aug 15, 2024); fiscal thresholds $50K GF / $150K special fund.
- **Opposition / coalition / amendments:** committee analyses (support/oppose lists), press reporting (CalMatters, Capitol press corps).
- **Money factors (10–12), advocacy alignment (13), lobbyist strength (14), consultant tone (16), committee vote math (5):** scored **neutral (0)** in v1 — their live feeds (Cal-Access, committee analyses, vote records) are not wired yet. They are real factors in the model, not placeholders; wiring them is the v2 work.
- **Session timing:** the legislative calendar plus budget context (2024: $47B shortfall — fiscal bills faced a hard screen; cf. the AB 1272 veto message).
- **Ballot pressure:** the Secretary of State's qualified-measures list (Nov 2024: Props 32, 33, 35, 36 on wages, rent control, Medi-Cal funding, and crime).

### The uncertainty band

Base ±7, +2 if the author's record in the sample is thin (fewer than 3 bills), +2 if the topic's desk record is thin (fewer than 5 bills), capped at ±12. The band widens exactly where the data is thinnest.

## The backtest

**Sample:** 119 bills from the 2023–24 session (year 2 = 2024):

- **Chaptered (59):** the Governor's official September 2024 legislative updates (gov.ca.gov, Sept 14 / 22 / 25 / 27 / 28 / 29 / 30, 2024).
- **Vetoed (30):** the veto lists in those same updates, plus leginfo-verified 2023–24→2025–26 recycled-bill pairs from SiLobbyist's own research.
- **Died (30):** the Assembly Appropriations "Unofficial Results" of May 16, 2024 ("Hold in committee" = dead for the session), CalMatters/SMDP suspense-file reporting, and recycled-bill pairs.

**Pre-committed rule:** score ≥ 60 predicts chaptered; score ≤ 40 predicts failure (vetoed or died); 41–59 is a toss-up, excluded from the hit rate.

**Results (October 1, 2026):**

- **Hit rate: 100% on decided bills (31 of 31).** Zero misses under the pre-committed rule.
- **88 of 119 bills fell in the 41–59 toss-up band.** With 7 of 18 factors unwired (money, position letters, vote feeds), the structural-only model is under-confident: scores compress into a narrow 45–65 band, and the conservative 60/40 rule rarely commits.
- **Calibration is strong where it counts.** Chapter rates by score band: 40–44: 0% (0/1) · 45–49: 6.7% (1/15) · 50–54: 5.4% (2/37) · 55–59: 71.4% (25/35) · 60–64: 100% (31/31). The model's effective decision boundary in this sample sits near **55**: bills scoring 55+ were chaptered 84.8% of the time (56 of 66); bills below 55 were chaptered 5.7% (3 of 53).
- **By outcome:** chaptered 31/31 decided (28 toss-ups) · vetoed 0 decided (30 toss-ups) · died 0 decided (30 toss-ups). The structural factors separate chaptered bills cleanly but rarely push failures below 40 — another symptom of the unwired opposition/money signals.
- **By fiscal status:** non-fiscal bills 31/31 decided; fiscal bills 0/48 decided — the deficit-year screen shows up as compression, not commitment, until the money feeds are wired.

## Known limits (read these before trusting a score)

1. **Retrospective, not out-of-sample.** Topic veto rates and author chapter rates were computed from the same 2024 sample the model scores. A live deployment must use *trailing* sessions. Expect live accuracy below backtest accuracy.
2. **Seven factors are neutral.** money_donations, super_pacs, outside_money, advocacy_alignment, lobbyist_strength, consultant_tone, and committee_vote_math contribute 0 until their feeds are wired. The published hit rate is a floor for the structural factors, not a ceiling for the full model.
3. **Died bills come mostly from one chokepoint.** The sample's "died" class is dominated by Assembly Appropriations suspense holds; the model is better validated on fiscal bills than on bills that die on the floor or in policy committee.
4. **Scores compress.** Until the money and vote feeds are wired, treat the score as an ordering ("this bill is stronger than that one") and lean on the calibration table, not the raw number.
5. **The Governor is one person.** Topic-level veto rates are a crude proxy for a human being's judgment. High-salience bills (SB 1047) can break the pattern — the model scored it 56 ± 11, a toss-up, and the Governor vetoed it.

## What the score is NOT

- **Not a prediction of what the Governor will do** on any specific bill — it's a base rate built from structural factors.
- **Not legal advice**, and not a substitute for reading the bill, the analyses, and the vote files.
- **Not destiny.** Scores move as factors move: an opposition coalition forming, a hostile amendment, a vetoed predecessor — the model recomputes and the history chart shows it. That's the "living" part.
- **Not for sale as a black box.** The formula, weights, inputs, and backtest are all published. Argue with the model on the Probability page — the sliders are there for exactly that.

## Recomputation triggers

The Index is recomputed whenever: (a) new bills are added to the sample, (b) any factor feed is wired or updated (Cal-Access money, committee votes, position letters), (c) a new session's outcomes arrive (the 2026 backtest, once the chaptered/vetoed lists are final), or (d) weights are revised after review. Every recomputation appends to each bill's score history — old scores are never rewritten.
