- Lead
- 2,317
- Total
- 7,381
- vs nation
- R+29.9
- Turnout
- 69.3%
Pennington County, MN
President margin by year
Place winner margin
President results by year
2024 turnout 69.3% of 10,733 citizens 18+
- Lead
- 1,964
- Total
- 7,277
- vs nation
- R+31.4
- Turnout
- 68.4%
- Lead
- 1,853
- Total
- 6,715
- vs nation
- R+29.7
- Turnout
- 62.9%
- Lead
- 281
- Total
- 6,517
- vs nation
- R+8.2
- Turnout
- —
- Lead
- 146
- Total
- 6,822
- vs nation
- R+5.1
- Turnout
- —
- Lead
- 650
- Total
- 7,017
- vs nation
- R+6.8
- Turnout
- —
- Lead
- 922
- Total
- 6,320
- vs nation
- R+15.1
- Turnout
- —
- Lead
- 685
- Total
- 5,915
- vs nation
- D+3.1
- Turnout
- —
Key facts
- 2024 presidential margin
- R+31.4MIT Election Lab
- Population
- 13,7912024 5-year
- Median household income
- $77,3252024 5-year
- White (non-Hispanic)
- 87.8%2024 5-year
- Black
- 0.6%2024 5-year
- Hispanic / Latino
- 4.9%2024 5-year
- Peak Democratic margin
- D+48.1 in 1936MIT Election Lab
- Peak Republican margin
- R+40.6 in 1920MIT Election Lab
- Most similar
- Polk County, MN · twin score 92.9
Midterm durability
Total general-election participants divided by same-year citizen voting-age population. These are total ballots or participating voters—not presidential candidate votes.
- 2024 total turnout
- 69.3%7,443 participants ÷ 10,733 CVAP
- 2020→2022 drop-off
- +17.2 ptsVolatile
- Drop-off versus state
- -2.7 ptsPositive means a larger decline than the statewide pattern
- Mechanical 2026 scenario
- 52.2%–54.5%Recent-cycle and two-cycle persistence scenarios; not a forecast
| Election | Participants | CVAP | Turnout | Quality |
|---|---|---|---|---|
| 2016 · Presidential | 6,784 | 10,789 | 62.9% | A/A |
| 2018 · Midterm | 5,415 | 10,770 | 50.3% | A/A |
| 2020 · Presidential | 7,321 | 10,707 | 68.4% | A/A |
| 2022 · Midterm | 5,497 | 10,739 | 51.2% | A/A |
| 2024 · Presidential | 7,443 | 10,733 | 69.3% | A/A |
Sources and methods
- 2016: numerator source 158, denominator source 157; total voters participating; eavs-f1a-v1:observed:native; allocation share 0.0%; series 293/111.
- 2018: numerator source 158, denominator source 157; total voters participating; eavs-f1a-v1:observed:native; allocation share 0.0%; series 297/138.
- 2020: numerator source 158, denominator source 157; total voters participating; eavs-f1a-v1:observed:native; allocation share 0.0%; series 301/2.
- 2022: numerator source 158, denominator source 157; total voters participating; eavs-f1a-v1:observed:native; allocation share 0.0%; series 306/183.
- 2024: numerator source 158, denominator source 157; total voters participating; eavs-f1a-v1:observed:native; allocation share 0.0%; series 311/228.
Precinct data
Results by precinct
65 precincts · 7,381 votes
Precinct boundaries and identifiers are cycle-specific. This table does not join rows across years without a validated crosswalk.
| Precinct -THIEF RIVER FALLS (5)THIEF RIVER FALLS (5) | 388 | 595 | 33 | 1,016 | 38.2% | 58.6% | R+20.4 |
|---|---|---|---|---|---|---|---|
| Precinct -THIEF RIVER FALLS (2)THIEF RIVER FALLS (2) | 351 | 531 | 23 | 905 | 38.8% | 58.7% | R+19.9 |
| Precinct -THIEF RIVER FALLS (4)THIEF RIVER FALLS (4) | 237 | 460 | 19 | 716 | 33.1% | 64.2% | R+31.1 |
| Precinct -THIEF RIVER FALLS (3B)THIEF RIVER FALLS (3B) | 202 | 300 | 10 | 512 | 39.5% | 58.6% | R+19.1 |
| Precinct -THIEF RIVER FALLS (1B)THIEF RIVER FALLS (1B) | 176 | 280 | 17 | 473 | 37.2% | 59.2% | R+22.0 |
| Precinct -NORTH TWPNORTH TWP | 109 | 272 | 10 | 391 | 27.9% | 69.6% | R+41.7 |
| Precinct -SMILEY TWPSMILEY TWP | 93 | 276 | 11 | 380 | 24.5% | 72.6% | R+48.2 |
| Precinct -ROCKSBURY TWP EASTROCKSBURY TWP EAST | 103 | 255 | 7 | 365 | 28.2% | 69.9% | R+41.6 |
| Precinct -THIEF RIVER FALLS (3A)THIEF RIVER FALLS (3A) | 125 | 202 | 6 | 333 | 37.5% | 60.7% | R+23.1 |
| Precinct -ROCKSBURY TWP WESTROCKSBURY TWP WEST | 93 | 211 | 10 | 314 | 29.6% | 67.2% | R+37.6 |
| Precinct -THIEF RIVER FALLS (1A)THIEF RIVER FALLS (1A) | 116 | 188 | 9 | 313 | 37.1% | 60.1% | R+23.0 |
| Precinct -NORDEN TWPNORDEN TWP | 67 | 173 | 3 | 243 | 27.6% | 71.2% | R+43.6 |
| Precinct -SANDERS TWPSANDERS TWP | 37 | 137 | 3 | 177 | 20.9% | 77.4% | R+56.5 |
| Precinct -RIVER FALLS TWPRIVER FALLS TWP | 26 | 96 | 2 | 124 | 21.0% | 77.4% | R+56.5 |
| Precinct -SILVERTON TWPSILVERTON TWP | 26 | 91 | 3 | 120 | 21.7% | 75.8% | R+54.2 |
| Precinct -HIGHLANDING TWPHIGHLANDING TWP | 44 | 71 | 3 | 118 | 37.3% | 60.2% | R+22.9 |
| Precinct -ST HILAIREST HILAIRE | 37 | 77 | 2 | 116 | 31.9% | 66.4% | R+34.5 |
| Precinct -KRATKA TWPKRATKA TWP | 21 | 69 | 3 | 93 | 22.6% | 74.2% | R+51.6 |
| Precinct -DEER PARK TWPDEER PARK TWP | 22 | 59 | 1 | 82 | 26.8% | 72.0% | R+45.1 |
| Precinct -STAR TWPSTAR TWP | 22 | 49 | 2 | 73 | 30.1% | 67.1% | R+37.0 |
| Precinct -REINER TWPREINER TWP | 30 | 30 | 0 | 60 | 50.0% | 50.0% | Exact tie |
| Precinct -NUMEDAL TWPNUMEDAL TWP | 9 | 48 | 0 | 57 | 15.8% | 84.2% | R+68.4 |
| Precinct -HICKORY TWPHICKORY TWP | 14 | 39 | 1 | 54 | 25.9% | 72.2% | R+46.3 |
| Precinct -WYANDOTTE TWPWYANDOTTE TWP | 22 | 31 | 1 | 54 | 40.7% | 57.4% | R+16.7 |
| Precinct -CLOVERLEAF TWPCLOVERLEAF TWP | 8 | 44 | 1 | 53 | 15.1% | 83.0% | R+67.9 |
| Precinct -GOODRIDGE TWPGOODRIDGE TWP | 6 | 38 | 1 | 45 | 13.3% | 84.4% | R+71.1 |
| Precinct -GOODRIDGEGOODRIDGE | 18 | 23 | 3 | 44 | 40.9% | 52.3% | R+11.4 |
| Precinct -BRAY TWPBRAY TWP | 7 | 35 | 1 | 43 | 16.3% | 81.4% | R+65.1 |
| Precinct -POLK CENTRE TWPPOLK CENTRE TWP | 9 | 30 | 1 | 40 | 22.5% | 75.0% | R+52.5 |
| Precinct -BLACK RIVER TWPBLACK RIVER TWP | 9 | 25 | 0 | 34 | 26.5% | 73.5% | R+47.1 |
| Precinct -MAYFIELD TWPMAYFIELD TWP | 12 | 21 | 0 | 33 | 36.4% | 63.6% | R+27.3 |
| Black River Twp. Voting District27_271130005 | 0 | 0 | 0 | 0 | — | — | No votes |
| Bray Twp. Voting District27_271130010 | 0 | 0 | 0 | 0 | — | — | No votes |
| Clover Leaf Twp. Voting District27_271130015 | 0 | 0 | 0 | 0 | — | — | No votes |
| Deer Park Twp. Voting District27_271130020 | 0 | 0 | 0 | 0 | — | — | No votes |
| Goodridge Twp. Voting District27_271130030 | 0 | 0 | 0 | 0 | — | — | No votes |
| Goodridge Voting District27_271130025 | 0 | 0 | 0 | 0 | — | — | No votes |
| Hickory Twp. Voting District27_271130035 | 0 | 0 | 0 | 0 | — | — | No votes |
| Highlanding Twp. Voting District27_271130040 | 0 | 0 | 0 | 0 | — | — | No votes |
| Kratka Twp. Voting District27_271130045 | 0 | 0 | 0 | 0 | — | — | No votes |
| Mayfield Twp. Voting District27_271130050 | 0 | 0 | 0 | 0 | — | — | No votes |
| Norden Twp. Voting District27_271130055 | 0 | 0 | 0 | 0 | — | — | No votes |
| North Twp. Voting District27_271130060 | 0 | 0 | 0 | 0 | — | — | No votes |
| Numedal Twp. Voting District27_271130065 | 0 | 0 | 0 | 0 | — | — | No votes |
| Polk Centre Twp. Voting District27_271130070 | 0 | 0 | 0 | 0 | — | — | No votes |
| Reiner Twp. Voting District27_271130075 | 0 | 0 | 0 | 0 | — | — | No votes |
| River Falls Twp. Voting District27_271130080 | 0 | 0 | 0 | 0 | — | — | No votes |
| Rocksbury Twp. East Voting District27_271130085 | 0 | 0 | 0 | 0 | — | — | No votes |
| Rocksbury Twp. West Voting District27_271130090 | 0 | 0 | 0 | 0 | — | — | No votes |
| Saint Hilaire Voting District27_271130095 | 0 | 0 | 0 | 0 | — | — | No votes |
| Sanders Twp. Voting District27_271130100 | 0 | 0 | 0 | 0 | — | — | No votes |
| Silverton Twp. Voting District27_271130105 | 0 | 0 | 0 | 0 | — | — | No votes |
| Smiley Twp. Voting District27_271130110 | 0 | 0 | 0 | 0 | — | — | No votes |
| Star Twp. Voting District27_271130115 | 0 | 0 | 0 | 0 | — | — | No votes |
| Thief River Falls (1A) Voting District27_271130120 | 0 | 0 | 0 | 0 | — | — | No votes |
| Thief River Falls (1B) Voting District27_271130125 | 0 | 0 | 0 | 0 | — | — | No votes |
| Thief River Falls (2A) Voting District27_271130135 | 0 | 0 | 0 | 0 | — | — | No votes |
| Thief River Falls (2B) Voting District27_271130140 | 0 | 0 | 0 | 0 | — | — | No votes |
| Thief River Falls (3A) Voting District27_271130150 | 0 | 0 | 0 | 0 | — | — | No votes |
| Thief River Falls (3B) Voting District27_271130155 | 0 | 0 | 0 | 0 | — | — | No votes |
| Thief River Falls (4A) Voting District27_271130165 | 0 | 0 | 0 | 0 | — | — | No votes |
| Thief River Falls (4B) Voting District27_271130170 | 0 | 0 | 0 | 0 | — | — | No votes |
| Thief River Falls (5A) Voting District27_271130180 | 0 | 0 | 0 | 0 | — | — | No votes |
| Thief River Falls (5B) Voting District27_271130185 | 0 | 0 | 0 | 0 | — | — | No votes |
| Wyandotte Twp. Voting District27_271130195 | 0 | 0 | 0 | 0 | — | — | No votes |
Presidential margin, 1912–2024
Democratic minus Republican, by election
| Year | Margin (D minus R) |
|---|---|
| 1912 | +9.6% |
| 1916 | +6.3% |
| 1920 | −40.6% |
| 1924 | −27.2% |
| 1928 | −34.1% |
| 1932 | +35.5% |
| 1936 | +48.1% |
| 1940 | +34.7% |
| 1944 | +36.8% |
| 1948 | +29.3% |
| 1952 | +1.4% |
| 1956 | +10.1% |
| 1960 | +11.6% |
| 1964 | +40.9% |
| 1968 | +13.7% |
| 1972 | −9.9% |
| 1976 | +11.0% |
| 1980 | −8.3% |
| 1984 | −9.6% |
| 1988 | +3.0% |
| 1992 | +6.7% |
| 1996 | +11.6% |
| 2000 | −14.6% |
| 2004 | −9.3% |
| 2008 | +2.1% |
| 2012 | −4.3% |
| 2016 | −27.6% |
| 2020 | −27.0% |
| 2024 | −31.4% |
U.S. House
Each row shows U.S. House votes counted inside this Place. “Vote lead” is the local lead here, not necessarily the winner of the full contest.
U.S. Senate
Each row shows U.S. Senate votes counted inside this Place. “Vote lead” is the local lead here, not necessarily the winner of the full contest.
U.S. Senate special elections
Each row shows U.S. Senate special votes counted inside this Place. “Vote lead” is the local lead here, not necessarily the winner of the full contest.
Governor
Each row shows Governor votes counted inside this Place. “Vote lead” is the local lead here, not necessarily the winner of the full contest.
Registered voters
Total registered voters, over time
| Year | Total registered |
|---|---|
| 2016 | 8,089 |
| 2018 | 7,726 |
| 2020 | 8,327 |
| 2022 | 7,945 |
| 2024 | 8,723 |
Who moves in and out
Net migration over time, and who arrivals are — where they came from and what those places vote
−100 net domestic migration · 2025
Net −715 over 2011–2025 · gain loss
Arrivals reported $39,171 in average income, against $75,027 for residents who stayed — 48% lower. (IRS SOI, 2022–23)
The places arrivals came from lean R+43.4 on average — 12 points more Republican-leaning than Pennington County, MN itself (R+31.4).
Where arrivals came from lean of each source
- Marshall County, MN40R+51.6
- Polk County, MN32R+33.7
- Red Lake County, MN29R+37.0
- Roseau County, MN29R+49.3
Where departures went households, 2022–23
- Marshall County, MN43
- Red Lake County, MN32
- Cass County, ND32
- Grand Forks County, ND29
- Polk County, MN25
Migration is one input to a place’s political change, not its cause — a shift can also come from residents changing their minds, generational turnover, or turnout. These figures describe the places people moved between; they do not measure how any mover voted.
| Year | Net domestic migration |
|---|---|
| 2011 | +62 |
| 2012 | 0 |
| 2013 | −39 |
| 2014 | −78 |
| 2015 | +43 |
| 2016 | −96 |
| 2017 | −81 |
| 2018 | −52 |
| 2019 | −98 |
| 2021 | −137 |
| 2022 | +37 |
| 2023 | −99 |
| 2024 | −77 |
| 2025 | −100 |
Pennington County sits in Minnesota's northwest corner, anchored by Thief River Falls and its large manufacturing base. Presidential margins here have trended sharply rightward over the past decade, reaching R+31.4 in 2024.
Across the recorded series it reached a Democratic high of 48.1 points in 1936 and a Republican high of 40.6 points in 1920. Between 2020 and 2024 the county moved 4.4 points toward the Republican candidate; the 2024 margin was 31.4 points.
A population of 13,791, a 88% non-Hispanic-white share, and a median household income of $77,325 describe the county. The county's voting pattern over the last decade is most similar to that of Polk County and Grant County.
The counties whose fingerprint — 2000–2024 trajectory, demographics, ancestry, religion — sits closest to this one, and why.
Twin score (0–100) = weighted cosine between tier-standardized fingerprints: presidential margins 2000–2024 with 12-yr trend and elasticity, ACS income, age, education, population and race, top reported ancestries, and religious adherence — chips name the closest-shared dimensions and the widest gap. Re-weight the groups in the twins explorer.
Browse places by community — income, education, race & ethnicity, language — all community cuts →
Compare two places, side by side
Twelve curated comparisons line up election history, demographics, and the divergence story for two places at a glance. Browse all comparisons →
Pennington County, Minnesota. Akashic. https://akashic.app/county/27113/. Accessed May 20, 2026. License: CC BY 4.0.