Methodology
How Vector | WA scores bills
Coverage & freshness
Vector | WA tracks every billintroduced in the Washington State Legislature each biennium — not a sample. The trajectory model is calibrated on 8,062 historical bills (2,155 became law) across three biennia. Bill status, votes, committee actions, and sponsors sync from the Legislature's official record on a daily schedule; the latest sync time is shown in the footer of every page.
TL;DR
84%of HIGH-tier bills (score 75+)
became law — across 8,062 bills
Vector scores bills 0–99 from 5 signals × X factors. Recalibrated nightly. Calibrated on 8,062 bills spanning three biennia (2021-22, 2023-24, and 2025-26).
Every bill gets a trajectory scorefrom 0 to 99. The score combines five weighted signals of legislative progress, then multiplies by an X Factor that accounts for procedural signals — companion bills, cutoff pressure, Rules-committee holds, floor margins. The final score is calibrated against actual outcomes from prior completed sessions so a “75” means something concrete, not an arbitrary number.
Built for Olympia's specific mechanics: a 60-day regular session with hard legislative cutoffs, a committee structure where chairs hold extraordinary gating power over hearing scheduling and executive sessions, and a Rules Committee that is the final kill switch before a floor vote. Every signal in the scoring engine reflects those Washington-specific pressure points directly.
Why This Matters
Most public legislative trackers (LegiScan, OpenStates, the WA Legislature site) tell you where a bill is. Vector | WA tells you where a bill is going. Across the engine's three-biennium calibration cohort of 8,062 bills, exactly 2,155 became law. Where they came from is the whole point of the signal:
HIGH (75+): 2,541 bills → 2,134 became law (84.0%)
MODERATE (60–74): 1,140 bills → 21 became law (1.8%)
LOW (45–59): 810 bills → 0 became law (0.0%)
VERY LOW (0–44): 3,571 bills → 0 became law (0.0%)
99% of every successful bill across the entire 8,062-bill cohort came from the HIGH bucket. Of the 810 LOW bills, zero became law. Of the 3,571 VERY LOW bills, zero became law. That separation between buckets is what the score is for.
Reading the score in practice. A HIGH bill (75+) sits in the 84.0% historical pass bucket — bills at this tier warrant calendar holds, witness coordination, and amendment review. A VERY LOW bill (0–44) sits at 0.0% historical pass — deprioritize unless an X-Factor flips the read. The signal-tier label (HIGH / MODERATE / LOW / VERY LOW) is the same answer the score gives, just easier to scan: same meaning, faster eye.
What flips a bucket mid-session. A LOW score paired with Pulled from Rules or Companion bill fileddeserves a second look — the X-Factor multiplier can pull a bill into a different tier within one news cycle. A HIGH score paired with Held in Rules or Cutoff pressurerarely survives. Trust the X-Factor list when it disagrees with the bucket; that's what it's there for.
Calibration Data
The scoring engine is calibrated against all 3 biennia combined — 8,062 bills spanning 2021-22, 2023-24, and 2025-26. These are the exact pass probabilities every score on this site resolves to, with 95% Wilson confidence intervals showing the range of plausible truth given the sample size in each bucket.
75–99HIGH
84.0% became law · 95% CI 82.5 – 85.4%
60–74MODERATE
1.8% became law · 95% CI 1.2 – 2.8%
45–59LOW
0.0% became law · 95% CI 0.0 – 0.5%
0–44VERY LOW
0.0% became law · 95% CI 0.0 – 0.1%
Source: Vector | WA combined biennia (bills only), N=8,062. CIs computed via Wilson score interval. These exact values are wired into the scoring engine's pass_probability ladder — when a bill shows “84% chance of becoming law,” this is the row it came from. For zero-outcome buckets, the Wilson upper bound (≤0.5%) confirms the true rate is effectively zero given the sample size in that bucket.
This is not a prediction for your specific bill — it's the historical pass rate of bills that looked like yours.
A bill scoring 80 today is not predicted to pass at 80% probability. It sits in a bucket where, historically, 84% of its peers passed once the session was over. The score is a real-time reflection of procedural state: if circumstances change, the score updates at the next sync.
These numbers measure in-sample fit — the cohort the rates are computed from is the same cohort the engine is calibrated against. Each new completed biennium adds fresh data, functioning as a rolling out-of-sample check; predictive accuracy on a future biennium is expected to fall within roughly the same band.
Most recent biennium check ()
Confirms the engine's calibration holds on the most recent completed session.
Loading…
The Five Signals
Committee0–25 pts · 20% weight
Public hearings, executive sessions, and committee votes. A bill that gets a hearing is fundamentally different from one sitting in the introduction pile.
Public hearing heldExecutive session heldCommittee passed outSubstitute adopted
Sponsor0–20 pts · 16% weight
Who introduced it. Majority-party sponsors, committee chairs, bipartisan co-sponsorship, and broad rosters all signal support.
Majority-party prime sponsorCommittee chair sponsorBipartisan co-sponsors5+ co-sponsors
Momentum0–20 pts · 16% weight
Activity level and recency. Stalled bills get penalized, and recent status changes carry more weight than ancient introductions.
Stage advancementDays since last actionSubstitute filedPulled from RulesStalled penalty
Historical0–20 pts · 16% weight
Category-level pass rates calibrated from 8,062 bills across 3 biennia (2021-22, 2023-24, and 2025-26). Tax bills behave differently than transportation bills.
Category base rateBill-number cohort adjustment (low numbers = leadership priorities)
Fiscal0–15 pts · 12% weight
Fiscal note size. Bills with no fiscal impact move faster than ones that need funding.
None · Small · Medium · Large · Very Large
A stage-advancement bonus (0–25 points) stacks on top, rewarding bills that have cleared cutoffs. The bonus is the remaining 20% of weight: five signals sum to 80% of the 125-point ceiling, the stage bonus contributes the other 20%. Raw signal totals (0–125) are then mapped to the displayed 0–99 score via a fixed monotonic transform; bucket boundaries (75 / 60 / 45) are placed in display space, not raw space.
X Factors
X Factors capture procedural signals that aren't in the five base signals — the things a seasoned legislative analyst watches. They combine into a single multiplier applied to the base score: multiplier = clamp(1 + Σpositives − Σnegatives, 0.5×, 1.5×). Each percentage is a delta added to (or subtracted from) that multiplier — not points to the score.
Worked example. Base score 70. Pulled from Rules (+15%) + Strong floor margin (+8%): multiplier = 1.23 → score 86. Same bill, Held in Rules (−20%) + stalled (−10%): multiplier = 0.70, score = 49 — one Held-in-Rules event drops it from HIGH to LOW in a single sync.
POSITIVE
Pulled from Rules+15%
Companion bill filed+10%
2nd chamber reached+8%
Strong floor margin (≥75%)+8%
Exec session passed+6%
Substitute filed+5%
NEGATIVE
Held in Rules−20%
Cutoff pressure (≤5 days)−18%
Stalled (>28 days)−10%
Minority-only sponsorship−10%
Double referral−8%
Fiscal referral−6%
Narrow margin (<60%)−6%
High amendment count (>3)−5%
Political Dynamics
Beyond the trajectory score, Vector computes four political dynamics signals that answer a different question: not “how far has this bill moved?” but “who is moving it, and how much friction does it face?” Kept separate from the trajectory score by design — so you can read “where is this bill?” and “who is moving it?” as two independent signals, which is most useful when the answers disagree.
Bipartisan Index0–100%
The percentage of co-sponsors from the opposite party of the prime sponsor. Above 30% is labeled Bipartisan, below 10% is Partisan, between is Mixed.
In practice: A Partisan bill with a HIGH score typically has leadership protection, not broad coalition support. Above 30% on a contested bill signals genuine cross-aisle buy-in — worth tracking for floor whip counts.
Limitation: Does not detect hostile cross-aisle co-sponsorship — a member co-sponsoring to weaken a bill in committee still counts as "bipartisan." Cannot distinguish sincere support from political cover.
Cross-Aisle Count0–N
The raw count of co-sponsors from the opposing party. Measures breadth of support — a bill with 8 opposite-party co-sponsors has stronger signal than one with 1, even if both have the same index.
In practice: More than 5 cross-aisle co-sponsors on a contested bill is genuine movement. Below 2 is likely courtesy co-sponsorship and should not change your hearing strategy.
Limitation: Co-sponsorship is cheap to give and does not guarantee a floor vote. Some legislators co-sponsor broadly as a courtesy.
Chair AlignmentAligned / Opposed
Whether the current committee chair shares the prime sponsor's party. WA committee chairs control hearing scheduling, executive session timing, and whether a bill moves to a floor vote at all.
In practice: Opposed alignment means your hearing request goes through the minority. Realistically, plan for a floor amendment opportunity or a companion bill in the other chamber rather than expecting a committee hearing.
Limitation: Chair party alone does not capture personal relationships, policy preferences, or caucus-strategy dynamics. A chair may block a co-partisan's bill for caucus reasons.
Sponsor Track Record0–100%
The prime sponsor's historical pass rate — what fraction of their bills across the prior two biennia were signed into law.
In practice: Above 25% means the sponsor's staff knows how to move a bill to a floor vote. Below 10% often signals aspirational or messaging legislation — manage client expectations accordingly.
Limitation: New legislators have no track record (field will be blank). High-volume sponsors may show a lower rate even if they pass more bills in absolute terms. Track record from prior sessions may not predict performance under a shifted majority.
What this model doesn't use
Governor's stated policy priorities, lobby registration data (JLOB), party leadership whip counts, campaign finance relationships, and caucus strategy signals are not factored into either the trajectory score or the political dynamics signals. These factors exist and matter. They're absent because they're not reliably structured in public data — or because incorporating them would require recalibrating the engine against a fresh cohort with re-tuned weights, scheduled for the post-2027 recalibration cycle.
Political dynamics signals are informational only — not factored into the trajectory score or pass probability.
After Session Ends (Interim)
When the legislature adjourns sine die, every bill gets a final classification based on how far it advanced:
Signed into Law— reached the governor's desk and was signed (stage 6). Pass probability stays at 100%.
Passed Chamber— cleared at least one chamber (stage 4–5) but didn't become law before the biennium ended. Pass probability goes to 0% because the legislative window closed.
Dead— didn't make it out of its chamber of origin. Pass probability goes to 0%.
During the interim, trajectory scores are frozen — they reflect where the bill stood at session end. The signal tier (HIGH, MODERATE, LOW, VERY LOW) is preserved as a historical reference showing how strong the bill's trajectory was before the session closed. If a bill is reintroduced in a future session, it gets a fresh score.
Scores refresh nightly. The most-recent-biennium calibration check recomputes itself from live data every time you open this page. The engine-truth calibration stays locked until the post-2027 recalibration opens new biennia into the cohort.
Member voting records cover 2025-2026 onward. Each successive biennium adds to the cumulative record; per-session breakdowns remain available via the session selector on the members page.
Search Bills by Score →
See the scoring model in action on live legislation