How this tool sources and scores every race
This page exists so nothing in the tool has to be taken on faith. It explains where the numbers come from, how a platform becomes a 0–100 score, what's deliberately left out, and — since most of the country isn't populated yet — exactly how the rest gets added.
1. What this tool is, and isn't
This is an aggregation and formatting tool. It takes economic platforms that candidates and institutions have already published, and renders them in a standardized, comparable form. It does not generate new economic conclusions, predict outcomes, or issue a verdict on which platform is "better" — the axes are directional (more or less government involvement), never good-or-bad.
Scope is deliberately narrow: only economic-policy axes a senator actually votes on or can meaningfully influence. Social-coded issues — healthcare, immigration, abortion — are out of scope even where they carry heavy economic weight, because they're not what this tool is measuring. Fed interest-rate policy is excluded for a related reason: senators don't set it. Most of the fine detail of tax and tariff law also sits with committees and the executive branch more than with any single senator's vote — scores reflect the position a candidate has publicly staked out, not a claim that they alone control the outcome.
2. Why candidates are colored by party
Every candidate is shown in their party's conventional color — red for Republican, blue for Democrat, and a neutral purple for an independent — so there's never a moment of wondering who's who. That color is strictly an identification label, the same way a name or a photo would be. It plays no role in how a score is calculated: the 0–100 axis scale stays purely directional (more or less government involvement, never good or bad), and a candidate's color has no bearing on where their score lands. The nonpartisan commitment lives in the scoring, not in the color key.
3. The seven axes
Tax Policy, Trade Policy, Federal Spending, Labor Regulation, Business & Financial Regulation, Housing Policy, and Energy & Gas Prices. All seven sit on one fixed 0–100 scale (0 = market decides, 100 = government directs), so the chart shape stays comparable from race to race. Housing and Energy replaced an earlier "Deficit Tolerance" axis, which testing found too abstract and too low in everyday salience next to two issues that show up in nearly every household budget.
Full plain-English definitions live on the glossary page.
4. Sources
Candidate positions are drawn from campaign platform materials, mainstream race coverage (local and national outlets), and voting records where a platform is silent. State economic context is drawn only from nonpartisan institutional data: the Bureau of Labor Statistics, Bureau of Economic Analysis, U.S. Census Bureau, and — where a federal series isn't current — a state's own budget or labor department. Broader framing on how a policy lever maps to macroeconomic theory draws on the Congressional Budget Office, Tax Foundation, Brookings Institution, and KFF. Every score and every stat displayed in the tool links to the specific source it came from — that citation is a requirement, not an optional detail.
5. How a platform becomes a score, and the fallback rule
Scores are a directional, first-pass judgment — a reasonable placement given what a candidate has said and done, not a precise index. Where a candidate has published detailed platform language for an axis, the score and its note reflect that language directly. Where a candidate hasn't addressed an axis in enough detail — which happens often, since candidates publish platforms unevenly — the score falls back, in order, to: (1) their voting or governing record on that axis, (2) their campaign's stated general economic philosophy (e.g., a platform built entirely around "cutting regulation" implies a low score on axes it doesn't mention directly). Every axis note in the tool says explicitly when a score was built this way, so a thin platform never quietly reads as a detailed one.
6. Current coverage, honestly
34 of the 35 2026 Senate races are fully sourced — all 33 regular Class II contests plus both special elections (Florida and Ohio). The one exception is Delaware, whose Republican primary fell on the same day this page was last updated — the nominee wasn't yet known, so it stays pending rather than guessing. It will be added once the field is settled, following the same checklist below used for every other race.
7. Checklist for adding a race
The same steps every time, so quality doesn't drift as coverage grows:
- 1 Confirm both nominees and the election date from a nonpartisan election reference (Ballotpedia, official state elections office).
- 2 For each of the seven axes, find each candidate's platform language, campaign site, or debate/interview statement. Prefer the candidate's own words.
- 3 Where an axis has no direct statement, apply the fallback rule in §5 and mark the note accordingly.
- 4 Convert each finding to a 0–100 directional score and write a one-sentence, source-linked note — no adjectives implying good or bad.
- 5 Pull the four state economic-context stats from BLS, BEA, and Census (or the state's own labor/budget office if the federal series lags), noting the data's vintage.
- 6 Add one entry to
RACE_DATAand one toSTATE_STATSinrace-data.js. That's it —PENDING_STATESis computed automatically fromALL_2026_SENATE_RACES, so there's no second list to remember to update.
8. Data vintage
This is a curated, static snapshot, not a live feed — kept that way deliberately so every figure stays auditable. Each stat's note names the period it covers; where a 2026 figure wasn't yet published at time of writing, the most recent confirmed figure is shown with its actual date rather than a guess.