Call
the Map
FORECAST51 DAYS OUT
House3 November 2026 · 51 days out

Janelle Stelson has a slight edge to flip PA-10’s House seat. Predicted margin: D+2.0.

Janelle Stelson (D)63 in 10063.2%51.0high 54.7 · low 47.2
Scott Perry (R)37 in 10036.8%49.0high 52.8 · low 45.2

high / low: vote share (%) in the middle 80 in 100 simulations

About this field

Harrisburg-area; recurring D target.

Forecast share averages the simulated vote. Win chance counts how often a candidate wins. A wider range of outcomes can give a candidate a higher win chance despite a lower average share.

Tilt D80% range · margin points R+5.6 to D+9.5Republican-held seat

Forecast history

Steady0.0 pts · Sep 11 → Sep 13PA-10 U.S. House: steady — the published margin moved 0.0 points between the Sep 11 and Sep 13 editions (3 of 5 stored editions). This is movement of the published forecast between editions.
EVENAug 1Nov 3 · Election Day

Latest reading · Sep 13 · first published Sep 9 · 80% range · margin points R+5.6 to D+9.5. Methodology

Hover the line, tap it, or use the arrow keys to inspect its history.

About this series

This comparable series begins on September 9, 2026, when the model version changed to CTMM 2.2. Earlier readings remain in the archive and are not joined as voter movement; faded points before September 9, 2026 are reconstructions, not forecasts issued on those days.

Faded: CTMM 2.2 reconstructed history: computed after the fact with each date's available polls and environment, without expert ratings; not an issued forecast. Issued forecasts begin at the launch marker.

The polls

Ledger weighted average D+3.0Used by the forecast: 2 polls (60-day half-life) · measured D+4.0 · after the fitted poll-error shift D+4.03 recorded polls · 3 eligible for the aggregate · 3 with positive weight

FieldworkAddedPollsterResultSample
from 2026-04-20Normington, Petts & AssociatesD+6.0D 51% · R 45%400 RV
from 2025-11-18Public Policy PollingRepublicans Against PerryD+4.0D 48% · R 44%549 RV
from 2025-07-10Public Policy PollingHouse Majority PACD+3.0D 46% · R 43%559 RV
Explore all 3 polls for this race

How the margin was built

Follow each contribution to the margin. Wider ribbons mean more percentage points. Tap an input for its calculation and source.

Toward D+7.0
Toward R−5.0
Forecast marginD+2.0

The signed totals combine at the forecast. Displayed values are rounded.

All calculations & sources

This district's measured terrain −5.010 points

Call the Map's partisan lean on the CURRENT district lines, before any current-cycle evidence. Every pull below is measured from here — not from EVEN.

  • Call the Map partisan lean, district geography bound to this forecast edition.
  • Prior source: observed_unchanged_lines.

Fitted model, above the terrain shown +4.136 points

What the fitted model adds on top of the starting terrain above — incumbency, past results, campaign finance and the other fitted terms — measured from that terrain rather than from EVEN. It is a comparison with the starting point already shown, not a separate input. The source detail lists the variables the fit uses.

  • Fitted baseline -0.874 minus starting point -5.010 = 4.136 points.
  • One fitted structural total; this edition does not split it into partisan lean and incumbency.
  • Fundamentals: −0.9 — the district's structural lean before this year's polling, money and candidate quality are added.
  • This edition publishes that as one fitted total. It does not break it into a partisan-lean and an incumbency term, so this page does not invent that split.
  • fundamentals core = 25-term dynamic formula (mass fit over the master feature matrix, held-out-cycle validated; see matrix/feature_dictionary.md + mass_fit_report.json)
  • 40-term formula, held-out validated.

This race’s polls +1.461 points

What this race’s own recent polling adds beyond its prior, after each poll is weighted for recency, sample size and pollster quality.

  • District/state polling admitted under the shared rule.
  • Normington, Petts & Associates (2026-04-23, n=400): D+6.0 · weight 0.01
  • Public Policy Polling (2025-11-19, n=549): D+4.0 · weight 0.00
  • Public Policy Polling (2025-07-11, n=559): D+3.0 · weight 0.00
  • Adjusted poll-bank aggregate D+3.0 · 3 recorded polls · 3 eligible for the aggregate · 3 with positive weight. The sealed model records a net polling contribution of +1.5 D. Observation weights are not the final model blend weight. Eligible polls: latest poll: 2026-04-23 (143 days old).
  • Adjusted poll-bank aggregate D+3.0 · 3 recorded polls · 3 eligible for the aggregate · 3 with positive weight; recorded polling contribution +1.5 D. These observation weights must not be read as the model’s final prior-versus-polling weight. Eligible polls: latest poll: 2026-04-23 (143 days old).

National environment +1.365 points

The contribution to this race’s margin, not the national polling margin itself. The race’s loading, reference level and polling blend determine how much of the national climate reaches its final forecast.

  • Three-source blend, updated 2026-09-08: 52% generic-ballot aggregates (D+6.5) · 28% special-election overperformance (D+9.0 across 46 specials) · 20% approval-implied (D+8.6 from net approval -21.7).
  • Latest polls — generic ballot 2026-09-08 (5 days old), approval 2026-09-10 (3 days old).
  • Generic-ballot average D+6.5 · support factor 0.84 (the share of that channel's capacity the admitted polls carry) — separate inputs; their product is a capacity diagnostic, not a margin.
  • Weights are the 55/25/20 capacities scaled by each channel's evidence and renormalized, so thin polling widens the interval instead of pulling the center toward zero — 16% of the weight is carried that way.
  • Blended national environment: D+7.6.
  • Applied at full strength to this chamber's races.
  • The work: national environment × 1 chamber strength = +1.4 of this margin.
  • Blended national environment: D+7.6 (updated 2026-09-08).
  • Effective poll weight 84%; fundamentals share 16%, carried by the interval (×1.08) rather than by the center.
  • The support factor is the share of the generic-ballot capacity the admitted polls carry; average × support is a capacity diagnostic, not a margin, and is not what the row above multiplies.
  • Applied at full strength to this chamber: +1.4 of this margin.

The components this edition publishes for this race, in points. “Other factors” closes the sum to the two-party structural lean exactly. Here the structural lean IS the published margin, so the walk sums to the projection exactly; nothing is left over.

Named factorContribution
This race's pollsAdmitted head-to-head polls of this race, recency- and quality-weighted.+1.46
National environmentThe national environment’s contribution to the prior. Polling can attenuate its influence; this value is not the national polling margin.+1.37
FundamentalsThe admitted fitted baseline. Its surviving variables differ by office; the source detail above identifies those used for this race.−0.87
Other factors0.00

Recent elections

ElectionResultVotes cast
2024 · U.S. HouseR+1.3406,001
2022 · U.S. HouseR+7.7314,546
2020 · U.S. HouseR+6.6391,834
2018 · U.S. HouseR+2.6291,033

Historical district boundaries may differ. Margins compare Democratic and Republican vote totals. Nonstandard ballots are labeled separately.

The money

Bar length compares reported receipts in this race; the tick marks cash on hand. A missing filing stays blank rather than becoming $0.

One more fundraising reportCall the Map · $0

The candidates are comfortably out-fundraising the website covering them. A little rude, perhaps, but statistically unsurprising.

Received so far
$0
Measured compute
$26,188.58

Ko-fi and Buy Me a Coffee receipts are counted through Sep 1, 2026. Measured compute prices model runs at standard published API rates; it is not what I paid. Hosting, data and subscriptions, the domain and my own time are not counted. Donations buy gratitude, never a forecast adjustment.

See the public support ledger →

Outside spending

Support + opposition · separate from receipts

For and against Janelle Stelson$255K

6 spending groups
GroupForAgainst
CASA in Action PAC$99K$0
WelcomePAC$94K$0
Solidarity Victory PAC$27K$0
RURAL FREEDOM NETWORK$17K$0
HOUSE FREEDOM ACTION$0$12K
America PAC$0$6K

For and against Scott Perry$321K

10 spending groups
GroupForAgainst
AMERICA FIRST AGRICULTURE ACTION INC.$140K$0
America PAC$54K$0
HOUSE FREEDOM ACTION$32K$0
HOUSE FREEDOM FUND$28K$0
Club for Growth PAC$22K$0
WelcomePAC$0$21K
SENATE CONSERVATIVES ACTION$11K$0
Youth Save Democracy PAC$0$6K
SENATE CONSERVATIVES FUND$6K$0
Early Vote Action PAC$451$0

Includes primary spending. Opposition is recorded against its named target; no benefit to another candidate is assumed.

$33K in outside spending on earlier candidates.

FEC filings · through 06/30/2026 · Definitions & method

Race context

Forecast votes cast
303,784
2024 presidential margin
R+5.3

Population profile Select a measure for its source and denominator

White alone · 76.2%584,471 of 766,732 · Residents2022 Census · matched race geography

Coverage