FutureBallotU.S. election forecasts, with every number traced to its source

MI-4 · House

election-day forecast · ground-up model · as of 2026-10-02

Lean D
68%
Sean McCann
Democrat
32%
Bill Huizenga
Republican
Expected margin and its 90% range
R+40R+20R+10EvenD+10D+20D+40D+4.0
What moves this district (points of margin; blue toward the Democrat, red toward the Republican)
total outside/party money+5.8
outside money balance+1.2
experience gap−0.8
military jobs share+0.8
2024 House lean−0.6

The district, in brief

Michigan's 4th district is based in southwestern Michigan and includes the cities of Kalamazoo and Holland. The lines are unchanged for 2026; the map was first used in 2022.

The incumbent is Republican Bill Huizenga, in the House since 2011, who was re-elected with 55.1% of the vote in 2024. He won the Republican primary with 85.13% over former Holland mayor Phil Tanis (14.87%). The Democratic nominee is Sean McCann, a state senator from the 19th district since 2019; Diop Harris was eliminated in the primary and Jessica Swartz, the 2024 nominee, withdrew to run for state house. The text carries no Democratic primary result table. A Green candidate is also listed. As of July 15, 2026 Huizenga had raised $4,093,991 with $2,268,747 on hand; McCann had raised $2,620,011 with $1,686,240 on hand.

The raters split. Decision Desk HQ (August 11, 2026), the Cook Political Report (June 18, 2026), Inside Elections (May 21, 2026) and The Economist (May 22, 2026) call it R; Sabato's Crystal Ball (September 16, 2026) and Silver Bulletin (August 15, 2026) call it a Tossup. Four district polls are recorded: GBAO (D), September 13–16, 2026, had McCann 47%, Huizenga 46%; a GBAO (D) poll for McCann's campaign, May 28 – June 1, 2026, had McCann 48%, Huizenga 45%; Ragnar Research Partners (R), March 12–14, 2026, had Huizenga 48%, McCann 42%; Public Policy Polling (D), November 20–21, 2025, had Huizenga 44%, McCann 42%.

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

Incumbent
Bill Huizenga (R)The incumbent, Republican Bill Huizenga, was re-elected with 55.1% of the vote in 2024.
Open seat
noThe incumbent, Republican Bill Huizenga, was re-elected
Democratic nominee
Sean McCannSean McCann, state senator from the 19th district (2019–present)
Republican nominee
Bill HuizengaBill Huizenga, incumbent U.S. representative (2011–present)
Democrat's background
state senator from the 19th district (2019–present)Sean McCann, state senator from the 19th district (2019–present)
Republican's background
incumbent U.S. representative (2011–present)Bill Huizenga, incumbent U.S. representative (2011–present)
Last result
Huizenga re-elected with 55.1% in 2024was re-elected with 55.1% of the vote in 2024
Primaries
Huizenga won the Republican primary with 85.13% over former Holland mayor Phil Tanis (14.87%); McCann is the Democratic nominee, with Diop Harris eliminated, but the text carries no Democratic primary result tablecandidate: Bill Huizenga (incumbent) party: Republican Party (United States) votes: 71,455 percentage: 85.13
Raters
Decision Desk HQ: R (August 11, 2026); Cook: R (June 18, 2026); Inside Elections: R (May 21, 2026); Sabato's Crystal Ball: Tossup (September 16, 2026); The Economist: R (May 22, 2026); Silver Bulletin: Tossup (August 15, 2026)Sabato's Crystal Ball Tossup September 16, 2026 The Economist R May 22, 2026 Silver Bulletin Tossup August 15, 2026
Money
As of July 15, 2026: Huizenga raised $4,093,991 with $2,268,747 on hand; McCann raised $2,620,011 with $1,686,240 on handBill Huizenga (R) $4,093,991 $1,934,284 $2,268,747
Also
Four district polls: GBAO (D), September 13–16, 2026, 500 LV, Huizenga 46%, McCann 47%, undecided 7%; GBAO (D) for McCann's campaign, May 28 – June 1, 2026, 500 LV, Huizenga 45%, McCann 48%; Ragnar Research Partners (R), March 12–14, 2026, 400 LV, Huizenga 48%, McCann 42%; Public Policy Polling (D), November 20–21, 2025, 559 RV, Huizenga 44%, McCann 42%GBAO (D) September 13–16, 2026 500 (LV)
Ragnar Research Partners (R), March 12–14, 2026, also tested a generic ballot: generic Republican 43%, generic Democrat 42%, undecided 15%Generic Republican vs. generic Democrat
Jessica Swartz, the Democrats' 2024 nominee, withdrew to run for state houseJessica Swartz, attorney and nominee for this district in 2024 (ran for state house)
A Green candidate, Shafina Che Barnett, is also on the general-election ballotparty: Green Party of the United States candidate: Shafina Che Barnett

Not in the source: The text gives no presidential results for the district.; The Democratic primary results table is missing from the text (the section runs straight into the predictions table), so McCann's primary vote and share are unknown.; The model's basis says no district polls, but the text has four general-election polls; the polls are on Wikipedia and not in this project's poll corpus.; The endorsements sections are empty.

Read from the district's section of Wikipedia's state page (CC BY-SA), archived as 82a813f5fb6d; 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

Bill Huizenga (Republican), in this chamber since 2011, 8 terms. Committees: House Committee on Financial Services; House Committee on Foreign Affairs.

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 margin201620202024
PresidentR+12.2R+6.4R+7.8

A shift of 4.4 points toward the Democrats 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 adultsTurnout 2020 / midtermShare of a midterm electorateEst. Democratic share, 2020
White, no degree53%60% / 54%47%24%
White, degree27%82% / 84%37%68%
Black7%62% / 65%8%94%
Hispanic6%41% / 40%4%69%
Asian2%23% / 26%1%68%
Other / multiracial3%64% / 61%3%65%

Of about 508,462 adults 25 and over. In 2020 the district voted 48.0% Democratic (two-party) for president. With the same preferences and a 2022-style midterm turnout, it would vote 49.6% Democratic: the midterm electorate alone moves the margin 3.2 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

CandidateRaisedCash on handPAC shareSelf-fundedOutside $ forOutside $ against
Huizenga, William P (REP)
incumbent
$4,093,991$2,268,74739%0%$512,235$1,232,192
Mccann, Sean (DEM)
challenger
$2,620,011$1,686,24012%0%$94,118$0
Swartz, Jessica (DEM)
challenger · not on our roster
$341,607$00%0%$0$0
Harris, Diop Jermaine Mr Ii (DEM)
challenger · not on our roster
$143,882$8,8110%1%$0$0
Carra, Stephen (REP)
challenger · not on our roster
$7,911$155,9360%0%$0$0

FEC bulk candidate summaries through August 11, 2026; $1,838,545 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

MeasureDistrictNationDifference
Bachelor's degree or higher, 25+32.6%34.9%-2.4 pts
White, non-Hispanic75.8%58.2%+17.6 pts
Black, non-Hispanic7.9%12.0%-4.1 pts
Hispanic or Latino8.9%19.0%-10.1 pts
Asian, non-Hispanic2.4%5.8%-3.3 pts
Foreign-born5.5%13.9%-8.4 pts
Median age37.539.2-1.7
Median household income$72,434$84,362$-11,928
Median home value$231,000$379,737$-148,737
Owner-occupied homes72.4%65.1%+7.3 pts
Unemployment, July 2026 (BLS county data)4.5%4.4%+0.2 pts
Change in unemployment, past 12 months-0.8 pts——
Change since the last election (24 months)-0.6 pts——
Unemployment (ACS)4.9%5.2%-0.3 pts
Federal government workers1.4%2.6%-1.3 pts
Work from home9.6%13.5%-3.9 pts
Households on SNAP10.7%11.8%-1.0 pts
Households with Social Security income32.5%31.2%+1.3 pts
Households with public assistance income2.5%2.7%-0.2 pts
Moved in from another state, past year1.6%2.3%-0.7 pts
Gini index0.500.440.06
Per-capita personal income (BEA), 2024$62,277$73,248$-10,971
Per-capita income growth since 2019, nominal, 202432.3%32.0%+0.3 pts
Government and other transfers, share of income, 202420.4%19.6%+0.9 pts
Social Security, share of income, 20227.5%5.8%+1.6 pts
Medicare, share of income, 20224.4%4.5%-0.1 pts
Medicaid, share of income, 20223.2%4.0%-0.8 pts
SNAP, share of income, 20220.7%0.6%+0.1 pts
Earned Income Tax Credit, share of income, 20220.3%0.4%-0.1 pts
Veterans' benefits, share of income, 20220.7%0.9%-0.2 pts
Federal civilian jobs, share of all jobs, 20220.8%1.3%-0.5 pts
Military jobs, share of all jobs, 20220.3%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?

68%
Sean McCann
run 0b33151b · house_district_prior/0.2.0 · as of 2026-10-02
+4.1
expected margin, D-R
run 0b33151b · house_district_prior/0.2.0 · as of 2026-10-02

The 90% interval runs from -9.8 to +18.3 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: 5.8 pts toward the Democrat; outside money balance: 1.2 pts toward the Democrat; experience gap (-2 levels, D minus R): 0.8 pts toward the Republican; military jobs share (0.3%): 0.8 pts toward the Democrat; 2024 House lean (R+9.2): 0.6 pts toward the Republican.

How sure is it, and of what?

Total sd 8.53 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).