Data and methods
Where the numbers come from.
Everything on this site is built from public sources that are pulled again on a schedule. Winner-market prices update every minute in your browser; the rest of the site is rebuilt from fresh pulls.
What refreshes, and how often
| Data | Source | Refresh | Latest |
|---|---|---|---|
| Winner prices (live strip) | Kalshi, Polymarket, PredictIt | Every 2 minutes, shown live | See the live strip |
| Market history, order books, trades, buckets | Kalshi, Polymarket, PredictIt, Manifold | Hourly | 2026-10-25 01:17 UTC |
| Polls and polling averages | Wikipedia’s compilation of public polls | Hourly | 2026-10-25 01:17 UTC |
| Voter registration | PA Department of State weekly file | Checked daily; the state posts a new file weekly | Oct 19, 2026 |
| Win-path scenarios and simulator | Rebuilt from the registration and poll average above | With each rebuild | Oct 19, 2026 rolls |
| X posts and topic counts | X API, labeled by a local Qwen model | Daily | Last 7 days |
| Facebook, Instagram, Reddit | Apify scrapes of selected pages | Not automatic (paid) | Oct 19, 2026 |
| Turnout and results, 2014–2024 | PA Department of State | Historical, fixed | Certified results |
Downloads
| File | What it holds |
|---|---|
| pa_county_turnout_2014_2024.xlsx | County turnout 2014–2024, four sheets. Start here. |
| pa_county_turnout_2014_2024_long.csv | One row per county per general election: registered, votes in the top race, turnout, candidates, margin. |
| pa_county_turnout_2014_2024_wide.csv | One row per county, every year side by side. |
| pa_county_registration_2026-10-19.csv | County registration by party on Oct 19, 2026, with the change since the May primary and the Nov 2024 general. |
| garrity_win_scenarios.xlsx | The scenario model: Scenarios, County targets and Regions sheets. |
How turnout is measured
Turnout is votes in the top race divided by registered voters. The top race is governor in 2014, 2018 and 2022, and president in 2016, 2020 and 2024. Registered voters is the sum of all parties in the state’s precinct registration file for that election.
The state’s returns files have no total-ballots count, so this undercounts by the roughly 1% of voters who skip the top race. Statewide candidate totals match certified results to within about 0.1%. For 2024 the state also published per-county “voted” counts from its voter-file vote history; those run 0.3–1 point above the top-race figure.
Caution: a county’s turnout rate can jump because its voter roll shrank, not because more people voted. Warren cast 20,650 presidential votes in 2020 and 20,723 in 2024, but its roll fell from 31,431 to 26,871, so its rate rose 11 points. Cameron 2024 is an outlier: the official voted count (2,417) is well above its presidential votes (2,219).
How the win-path model works
Per county, projected 2026 ballots are the county’s 2022 turnout rate times its Oct 19, 2026 registration, unless a scenario changes the rate. The third-party share stays at its 2022 level. Each scenario sets Garrity’s share of the two-party vote. The statewide winner is the sum of the county votes.
The “tie path” moves every county the same fraction of the way from Mastriano 2022 to Trump 2024, solved so the race ties. The poll baseline is the mean of the published polling averages (Average of 5 polling averages (270toWin, Decision Desk HQ, FiftyPlusOne, RealClearPolitics, Silver Bulletin)), currently Shapiro +23.3. Regions group counties: Philadelphia; the four Philly suburbs; Allegheny; the Lehigh Valley and Berks; five swing metros; the south-central GOP base; the Pittsburgh ring; and the rural rest.
How the market numbers are worked out
Charts use the hourly pull of the Kalshi and Polymarket public APIs. Expected margin and turnout weight each bucket by its price and use the bucket’s midpoint; open-ended buckets use a midpoint 2.5 points, or a quarter million votes, past their edge. Order books were read once, so dollar figures are an order of magnitude. A gap between venues is an arbitrage only when it beats Kalshi’s fee of about 0.07 × price × (1 − price).
Sources
- PA Department of State, historical election data (precinct returns and registration, 2014–2024) and voting and election statistics (the weekly county registration file and certified primary counts).
- Kalshi Trade API (GOVPARTYPA-26); Polymarket Gamma, CLOB and Data APIs; PredictIt market 8412; Manifold.
- Polls: Quinnipiac, NYT / Inquirer / Siena, Susquehanna, Z to A, PennLive / Bravo, Franklin & Marshall.
- County outlines: US Census cartographic boundary files.
- Social: the X API; Facebook, Instagram and Reddit via Apify.
How the social posts are labeled
X posts were pulled with keyword searches over a seven-day window. Facebook, Instagram and Reddit came through Apify scrapers of selected news, campaign and community pages, so they are a sample of where people argue, not a poll. Each item was labeled for whether it is about Pennsylvania, its tone, its stance on the topic, and who it blames.
Facebook labels come from Claude; X and Reddit labels from a local Qwen model. On 3,740 items both labeled, they agreed on stance 77% of the time (kappa 0.70). These are single-annotator AI labels, not a human-checked answer key.