electionsmcp › races › Michigan's 2nd Congressional District
Michigan's 2nd Congressional District
The current officeholder, the 2024 result, and a precinct-level model you can run yourself — built from how Michigan actually voted.
Model Michigan's 2nd Congressional District →
Current officeholder
John R. Moolenaar Republican
2024 result
Republican R+33.4
2024 votes cast
428,550
Office
U.S. House
District health & safety estimate
Context for John R. Moolenaar's district
CDC WONDER, 2016–2022 · translated from county data
3.9estimated homicides per 100,000 residents / year
This is a county-derived estimate, not a direct CDC congressional-district statistic. Counties with suppressed small counts are missing, never counted as zero. Rank 1 is the highest estimated rate.
Who lives in this district
This district is home to about 780,291 people, median age 41.3, median household income $66,266.
Population
780,291
Median age
41.3
Median household income
$66,266
Bachelor's degree or higher
22%
Race & ethnicity: White 88.1% · Black 2% · Hispanic 4.8% · Asian 0.6%
Source: U.S. Census Bureau, 2019–2023 American Community Survey (5-year).
Precinct results — 2024 general
378 precincts reported in Michigan's 2nd Congressional District's 2024 general election. The twenty largest:
| Precinct | Winner | Margin | Votes |
|---|---|---|---|
| 26081-Sparta Township, Precinct 2 | Democratic | D+17.4 | 5,890 |
| 26081-Tyrone Township, Precinct 1 | Democratic | D+16.2 | 5,704 |
| 26123-Brooks Township, Precinct 1 | Democratic | D+16.5 | 4,897 |
| 26081-Caledonia Charter Township, Precinct 5 | Democratic | D+17.9 | 4,855 |
| 26081-Courtland Township, Precinct 2 | Democratic | D+17.4 | 4,835 |
| 26081-Algoma Township, Precinct 5 | Democratic | D+22.1 | 4,799 |
| 26081-Sparta Township, Precinct 1 | Democratic | D+22.1 | 4,789 |
| 26081-Bowne Township, Precinct 1 | Democratic | D+13.4 | 4,497 |
| 26081-Lowell Charter Township, Precinct 1 | Democratic | D+18.8 | 4,475 |
| 26081-Courtland Township, Precinct 3 | Democratic | D+18.8 | 4,368 |
| 26123-Croton Township, Precinct 1 | Democratic | D+16.4 | 4,303 |
| 26081-Lowell Charter Township, Precinct 2 | Democratic | D+24.3 | 4,283 |
| 26081-Courtland Township, Precinct 1 | Democratic | D+20.5 | 4,035 |
| 26081-Caledonia Charter Township, Precinct 6 | Democratic | D+21.7 | 4,013 |
| 26035-Surrey Township, Precinct 1 | Democratic | D+17.2 | 3,899 |
| 26081-Caledonia Charter Township, Precinct 3 | Democratic | D+17.7 | 3,861 |
| 26123-Grant Township, Precinct 1 | Democratic | D+13.4 | 3,720 |
| 26057-City of St. Louis, Precinct 1 | Democratic | D+19.2 | 3,706 |
| 26081-Caledonia Charter Township, Precinct 2 | Democratic | D+17.7 | 3,679 |
| 26035-Grant Township, Precinct 1 | Democratic | D+14.8 | 3,613 |
All 378 precincts are modelable — open the race in the simulator and drill to precinct grain.
Find your district
Enter a ZIP code or a district (e.g. NC-4) to find your U.S. House district and who represents it.
Model Michigan's 2nd Congressional District in five steps
- Set the candidates. Name the contenders for the Michigan's 2nd Congressional District (or keep the generic Democrat / Republican defaults). The map starts from real 2024 results in every precinct.
- Apply a swing. Move vote share statewide, or by demographic cohort, with a slider. The map and the running tally recompute instantly.
- Model turnout. Mobilize or depress turnout for any group — turnout and persuasion are modeled separately, the way a real campaign thinks about them.
- Drill to precincts. Zoom from the state down to individual precincts and override any of them by hand.
- Roll up & share. Roll the result up to chamber control, then publish a shareable, frozen link to your scenario.
Open Michigan's 2nd Congressional District in the simulator →