Michigan District 2
John Moolenaar wins in >99 of 100 simulations.
There are no qualifying public polls yet, so the forecast leans on fundamentals; partisan lean, the national environment and incumbency point to John Moolenaar +24.0.
Where the result could land
Every simulated outcome, grouped in 2-point steps. Projected margin Moolenaar +24.0; 80 in 100 fall between Moolenaar +31.3 and Moolenaar +16.7.
The candidates
Ballot list and short bios from Wikipedia (CC BY-SA); websites from Wikidata.
What if this race flips? Try it in the map builder →
Polls
No public polls have tested Ben Ambrose against John Moolenaar yet.
No polls of this matchup yet, so there is no polling average. The forecast relies on fundamentals.
Chance of winning over time
How this race’s odds have moved as polls and the national environment changed.
Out of 100. Today: Ambrose 0, Moolenaar 100.
What’s driving the forecast
The model blends each estimate by how much to trust it right now. Polls get 0% of the weight, 15 days out.
| Polling average (after adjustments) | — | no polls |
| Partisan lean (Cook PVI, 2026 lines) | R+15.0 | roughly 30 points of margin vs. the nation |
| National environment | D+9.6 | generic ballot + presidential approval |
| Incumbent’s track record | Ambrose +0.1 | In 2024 they ran 0.1 pts more Democratic than the state’s lean predicted; half carries over (max 10) |
| Incumbency | Moolenaar +3.6 | incumbent’s side |
| Fundamentals estimate | Moolenaar +24.0 | ±6 typical error |
| Expert ratings (average) | — | used only in the “+ Expert ratings” version |
| Forecast | Moolenaar +24.0 | ±5.7 standard deviation, including 2.3 for movement before Election Day |
All three versions
- Polls only: Ben Ambrose <1 in 100 (Solid R)
- Polls + fundamentals: Ben Ambrose <1 in 100 (Solid R)
- Polls + fundamentals + experts: Ben Ambrose <1 in 100 (Solid R)
Rules and notes
- Incumbent renominated
House races, closest first · this is #232 of 421