PA-7 · House
election-day forecast · ground-up model · as of 2026-10-02
The district, in brief
Pennsylvania's 7th district is based in the Lehigh Valley, taking in all of Lehigh, Northampton and Carbon counties and a small sliver of Monroe County. The lines are the map first used in 2022 and are not redrawn for this cycle.
The incumbent is Republican Ryan Mackenzie, who flipped the district and was elected with 50.5% of the vote in 2024; the facts list Democrat Susan Wild as the winner in 2018, 2020 and 2022. Mackenzie was unopposed in the Republican primary, taking 35,048 votes. The Democratic nominee is Bob Brooks, president of the Pennsylvania Professional Firefighters Association, who won a primary in which Ryan Crosswell, a former federal prosecutor, Lamont McClure, the former Northampton County Executive, and Carol Obando-Derstine, a former member of the Pennsylvania Advisory Commission on Latino Affairs, were eliminated. Lehigh County Controller Mark Pinsley withdrew to run for state senate, and Wild declined to run and endorsed Obando-Derstine.
The text gives no Democratic primary vote totals, no general-election ratings, no polls and no post-primary fundraising. The only finance figures are Mackenzie's as of December 31, 2025: $2,577,819 raised, $850,071 spent and $1,830,988 on hand.
A paragraph quoting a model forecast from the day this brief was written is omitted; the current forecast is at the top of this page.
The facts, each beside its sentence
The incumbent is Republican Ryan Mackenzie, who flipped the district and was elected with 50.5% of the vote in 2024.
Ryan Mackenzie, incumbent U.S. representative
Bob Brooks, president of the Pennsylvania Professional Firefighters Association
Ryan Mackenzie, incumbent U.S. representative
Bob Brooks, president of the Pennsylvania Professional Firefighters Association
Ryan Mackenzie, incumbent U.S. representative
who flipped the district and was elected with 50.5% of the vote in 2024
candidate: Ryan Mackenzie (incumbent) party: Republican Party (United States) votes: 35,048 percentage: 100.0
Ryan Mackenzie (R) $2,577,819 $850,071 $1,830,988
The 7th district is based in the Lehigh Valley, including all of Lehigh, Northampton, and Carbon counties and a small sliver of Monroe County.
Ryan Crosswell, former federal prosecutor *Lamont McClure, former Northampton County Executive (2018–2026)
Susan Wild, former U.S. Representative (2018–2025) (endorsed Obando-Derstine)
Mark Pinsley, Lehigh County Controller (2020–present), nominee for Pennsylvania's 16th senate district in 2018 and 2022, and candidate for Pennsylvania Auditor General in 2024 (running for state senate)
Not in the source: The text section ends at the Democratic primary endorsements: no Democratic primary results, no general-election predictions, no post-primary fundraising and no polling are given.; No fundraising figures are given for Bob Brooks or any other Democrat.; The text does not state the district's presidential results; the facts give a 2024 two-party baseline only.; No independent or third-party candidates are mentioned.; The model's basis says no district polls, and the text has none.
Read from the district's section of Wikipedia's state page (CC BY-SA), archived as 716a870fb99d; written by claude-fable-5-1 (batch reader) on 2026-09-30 and checked mechanically: every quote occurs verbatim in the archived text, every number in the brief occurs in the inputs. No probability here is the reader's.
Who holds the seat now
Ryan Mackenzie (Republican), in this chamber since 2025, 1 term. Committees: House Committee on Homeland Security; House Committee on Foreign Affairs; House Committee on Education and Workforce.
From the congress-legislators dataset (CC0), archived as ae8cb9477c48. For a Senate race this lists both of the state's senators; the one whose term ends in the election year holds the seat on the ballot. For a House district redrawn for 2026 it is the member elected under the old lines with this number, who may be running elsewhere; the dossier above names who is running here.
How it has voted for president
| Two-party margin | 2016 | 2020 | 2024 |
|---|---|---|---|
| President | R+2.3 | D+1.3 | R+2.6 |
A shift of 0.2 points toward the Republicans from 2016 to 2024. county returns placed on the current lines by 2020 block population; MEDSL county file (2016), an MIT-licensed county file (2020, checked against certified state results) and MEDSL precinct returns (2024). For a district split across counties this is an estimate, and where the state published the exact 2024 figure for these lines, that exact figure is the one the model uses.
Who are the voters?
| Group (adults 25+) | Share of adults | Turnout 2020 / midterm | Share of a midterm electorate | Est. Democratic share, 2020 |
|---|---|---|---|---|
| White, no degree | 50% | 63% / 52% | 47% | 23% |
| White, degree | 25% | 86% / 81% | 36% | 75% |
| Black | 5% | 67% / 55% | 5% | 94% |
| Hispanic | 16% | 44% / 30% | 8% | 68% |
| Asian | 3% | 36% / 28% | 1% | 78% |
| Other / multiracial | 2% | 68% / 58% | 2% | 70% |
Of about 533,925 adults 25 and over. In 2020 the district voted 50.3% Democratic (two-party) for president. With the same preferences and a 2022-style midterm turnout, it would vote 51.1% Democratic: the midterm electorate alone moves the margin 1.6 points toward Democrats. Group shares are estimated from how results vary across the state's census tracts (ecological inference, anchored to Pew's 2020 validated-voter figures) and calibrated to this district's actual 2020 vote; turnout is the Census survey's state rate by race and national rate by education, whose state samples carry margins of several points.
Not answered here: how each group will vote in 2026. These are 2020 preferences; this profile is description, not yet an input to the forecast.
The money
| Candidate | Raised | Cash on hand | PAC share | Self-funded | Outside $ for | Outside $ against |
|---|---|---|---|---|---|---|
| Mackenzie, Ryan Edward (REP) incumbent | $4,357,405 | $2,938,717 | 24% | 0% | $0 | $13,205 |
| Brooks, Bob (DEM) challenger | $2,392,215 | $1,018,423 | 17% | 0% | $2,573,461 | $321,208 |
| Crosswell, Ryan (DEM) challenger · not on our roster | $1,872,528 | $13,205 | 1% | 0% | $103,000 | $397,279 |
| Obando-Derstine, Carol (DEM) challenger · not on our roster | $593,293 | $2,172 | 9% | 7% | $0 | $0 |
| Mcclure, Lamont (DEM) challenger · not on our roster | $515,144 | $2,163 | 9% | 43% | $1,084,253 | $0 |
| Pinsley, Mark (DEM) challenger · not on our roster | $179,912 | $54,524 | 0% | 0% | $0 | $0 |
| Wild, Susan (DEM) incumbent · not on our roster | $7,613 | $0 | 0% | 0% | $4,555 | $0 |
| Scheller, Lisa (REP) challenger · not on our roster | $5,000 | $5,512 | 0% | 100% | $0 | $0 |
| Montero, Maria (REP) challenger · not on our roster | $1,500 | $2,068 | 0% | 100% | $0 | $0 |
| Dellicker, Kevin (REP) challenger · not on our roster | $1,270 | $3 | 0% | 79% | $0 | $0 |
FEC bulk candidate summaries through June 30, 2026; $4,496,961 of independent expenditures for or against these candidates this cycle (FEC Schedule E, types 24E and 24A), which is the parties' and outside groups' own revealed view of whether this seat is in play.
The district in numbers
| Measure | District | Nation | Difference |
|---|---|---|---|
| Bachelor's degree or higher, 25+ | 32.0% | 34.9% | -3.0 pts |
| White, non-Hispanic | 68.3% | 58.2% | +10.1 pts |
| Black, non-Hispanic | 5.3% | 12.0% | -6.7 pts |
| Hispanic or Latino | 20.0% | 19.0% | +1.0 pts |
| Asian, non-Hispanic | 3.0% | 5.8% | -2.8 pts |
| Foreign-born | 10.3% | 13.9% | -3.5 pts |
| Median age | 41.2 | 39.2 | 2.0 |
| Median household income | $80,362 | $84,362 | $-4,000 |
| Median home value | $270,300 | $379,737 | $-109,437 |
| Owner-occupied homes | 69.1% | 65.1% | +4.0 pts |
| Unemployment, July 2026 (BLS county data) | 4.1% | 4.4% | -0.3 pts |
| Change in unemployment, past 12 months | -0.8 pts | — | — |
| Change since the last election (24 months) | -0.5 pts | — | — |
| Unemployment (ACS) | 5.3% | 5.2% | +0.1 pts |
| Federal government workers | 1.1% | 2.6% | -1.5 pts |
| Work from home | 11.9% | 13.5% | -1.6 pts |
| Households on SNAP | 13.1% | 11.8% | +1.4 pts |
| Households with Social Security income | 36.0% | 31.2% | +4.8 pts |
| Households with public assistance income | 3.5% | 2.7% | +0.8 pts |
| Moved in from another state, past year | 2.3% | 2.3% | -0.0 pts |
| Gini index | 0.50 | 0.44 | 0.06 |
| Per-capita personal income (BEA), 2024 | $67,096 | $73,248 | $-6,152 |
| Per-capita income growth since 2019, nominal, 2024 | 22.7% | 32.0% | -9.3 pts |
| Government and other transfers, share of income, 2024 | 20.9% | 19.6% | +1.4 pts |
| Social Security, share of income, 2022 | 7.1% | 5.8% | +1.3 pts |
| Medicare, share of income, 2022 | 5.4% | 4.5% | +1.0 pts |
| Medicaid, share of income, 2022 | 4.3% | 4.0% | +0.4 pts |
| SNAP, share of income, 2022 | 0.7% | 0.6% | +0.0 pts |
| Earned Income Tax Credit, share of income, 2022 | 0.3% | 0.4% | -0.1 pts |
| Veterans' benefits, share of income, 2022 | 0.5% | 0.9% | -0.4 pts |
| Federal civilian jobs, share of all jobs, 2022 | 0.5% | 1.3% | -0.8 pts |
| Military jobs, share of all jobs, 2022 | 0.4% | 0.9% | -0.6 pts |
ACS 5-year 2023, the Census Bureau's own tabulation of this district (118th Congress lines). Unemployment is the BLS county series placed on the district by block population, not seasonally adjusted, so changes are same-month comparisons. Income, transfers and jobs are BEA county accounts placed the same way, compared with the average district. Every other figure is a named column of a named table in the Bureau's summary file, archived before it was read. This is what a reader knows about a district before looking at a poll; the model does not yet use it, and whether it should is a registered question.
Who is favoured, and by how much?
The 90% interval runs from -9.9 to +17.7 points, D-R. It is wide because this district has never been polled.
What is this built on?
A model trained on every contested House race 2012-2024 predicts this district's lean from its own record: presidential and House results on the current lines, incumbency, both candidates' prior offices, outside and party money before 1 October, demographics and public-assistance shares from the Census release before the election, local unemployment and income, and religious tradition. The national margin comes from presidential approval, the economy, the midterm penalty and the generic ballot corrected for its measured lean. Draws share national and state errors, so the seat total and this district come from the same simulation.
Not answered here: district polls, which are not yet folded in.
Why does the model say this?
Each figure is how far this district's predicted lean moves when that one feature is set to the typical value across 2026 districts, everything else held: total outside/party money: 7.9 pts toward the Democrat; outside money balance: 1.1 pts toward the Democrat; religion: mainline (12.3%): 0.6 pts toward the Democrat; PAC money balance: 0.6 pts toward the Democrat; experience gap (-4 levels, D minus R): 0.6 pts toward the Republican.
How sure is it, and of what?
Total sd 8.37 points, made of the seat's own volatility 89%, correlated polling error 11%. The decomposition is stored with the forecast rather than reconstructed, so a probability whose dominant input is a placeholder is visibly that.
Not answered here: a nowcast. 'If ballots were cast today' needs something that observes today, and for a House district nothing does. Publishing the election-day figure under both labels would make one forecast look like two.
How was this number made?
Run 0b33151b-a949-47f1-b845-564833a2b74d, house_district_prior/0.2.0, as of 2026-10-02. Promoted by a pre-registered gate: on 2016-2022 its Brier score was 0.036 against 0.049 for the previous method, and on a single 2024 run 0.023 against 0.032 (experiments/district_gate_result.md, with an independent review).