Minnesota · U.S. House · District 8 · November 3, 2026

What it would take for Trina Swanson.

Stauber has held this seat since 2019. Campaign work can move 13,845 net votes toward Swanson; the rest needs a 9.7-point national shift. If it comes, the seat is won in Duluth turnout and on the Iron Range, where voters split their tickets.

46,177
net votes between Swanson and a win
38
days to election day. Absentee voting opened September 18.
13.9 pts
Stauber lead, our starting line from recent results
In short

A long shot on the math: it takes a 9.7-point national wave.

Odds today2%
Odds with the plan9%
Net votes to find46,177
WhereDuluth, Lower Red Lake, Forest Lake
Underdog UpdateSeptember 26, 2026. Underdog plan published. Starting line: Stauber +13.9. Trina Swanson needs 46,177 net votes. Odds 2% today, 9% with the plan.
The number

166,316 votes.

That is half of the 332,630 ballots we expect in this race, plus one. Where Swanson stands today, and what is missing:

141,188 Trina Swanson baseline
187,365 Pete Stauber baseline

Starting line: a weighted blend of the 2024 and 2022 official results in this district (House, President, Governor). No 2026 polls have been published. 2026 turnout modeled on 2022, the last midterm.

The odds

2% today. 9% with the plan.

We ran this race 20,000 times with realistic error on every assumption. Drag the slider to see the odds move as the campaign captures more of what history says is available.

Swanson wins in
9%
of 20,000 simulated elections
With no plan
2%
tieSwanson loses by 93,771wins by 28,895
How much of what history allows the campaign achieves100%
The plan on this page sits at 100%. Median outcome at this setting: Swanson short by 32,209.

Each simulation draws the starting line with an error of 7 points of margin (no 2026 polls, so the starting line comes from history and carries more error) and lets the plan over- or under-deliver by 30 percent. Seeded and reproducible; the method and data are at the bottom of the page.

Three moves

The gap closes three ways.

Change minds. Bring out voters who skip midterms. Win back the third-party vote. Every pool below is counted from official precinct returns and published polls.

Persuade
11K
net votes in the plan, from a pool of 11,008

Who. 11,008 ticket splitters leaning Stauber, most in Hibbing, Forest Lake, Hugo, Brainerd and Hermantown.

How. Live conversations on the call list that matters: voters who crossed party lines in 2024 or 2022, plus the undecided. Swanson needs to win 50 percent of the ones now leaning Stauber.

Mobilize
2,202
net votes in the plan, from a pool of 16,466

Who. At least 16,466 voters who skipped the 2022 midterm in places Swanson carries, 12,372 of them in Duluth.

How. Voter ID calls to people who voted in 2024 and skipped 2022, then a ballot chase until each one has voted.

Consolidate
635
net votes in the plan, from a pool of 1,813

Who. Third-party voters in the Duluth and Range towns that lean her way.

How. A direct appeal to voters who went third party last time. They have already shown they will leave the two-party default.

Together: 13,845 net votes against a gap of 46,177. Still 32,332 short. The rest needs a national shift of about 9.7 points that no campaign controls.

Where it is won

12 cities and townships carry 36% of it.

Ranked by the net votes each one gives the plan. The darker the county, the more of the upset lives there.

Aitkin County: 327 net votes in the planAnoka CountyBecker County: 52 net votes in the planBeltrami County: 859 net votes in the planBenton CountyBig Stone CountyBlue Earth CountyBrown CountyCarlton County: 632 net votes in the planCarver CountyCass County: 564 net votes in the planChippewa CountyChisago County: 845 net votes in the planClay CountyClearwater County: 117 net votes in the planCook County: 121 net votes in the planCottonwood CountyCrow Wing County: 1,139 net votes in the planDakota CountyDodge CountyDouglas CountyFaribault CountyFillmore CountyFreeborn CountyGoodhue CountyGrant CountyHennepin CountyHouston CountyHubbard County: 153 net votes in the planIsanti County: 699 net votes in the planItasca County: 684 net votes in the planJackson CountyKanabec County: 310 net votes in the planKandiyohi CountyKittson CountyKoochiching County: 231 net votes in the planLac qui Parle CountyLake County: 229 net votes in the planLake of the Woods County: 62 net votes in the planLe Sueur CountyLincoln CountyLyon CountyMahnomen County: 75 net votes in the planMarshall CountyMartin CountyMcLeod CountyMeeker CountyMille Lacs County: 418 net votes in the planMorrison CountyMower CountyMurray CountyNicollet CountyNobles CountyNorman CountyOlmsted CountyOtter Tail CountyPennington CountyPine County: 568 net votes in the planPipestone CountyPolk CountyPope CountyRamsey CountyRed Lake CountyRedwood CountyRenville CountyRice CountyRock CountyRoseau CountyScott CountySherburne CountySibley CountySt. Louis County: 4,994 net votes in the planStearns CountySteele CountyStevens CountySwift CountyTodd CountyTraverse CountyWabasha CountyWadena CountyWaseca CountyWashington County: 766 net votes in the planWatonwan CountyWilkin CountyWinona CountyWright CountyYellow Medicine CountyBeltramiChisagoCrow WingSt. LouisWashington
Fewer net votesMore net votes for the upset
  1. 01
    Duluthmobilize
    Starting line Swanson +39. 4.6% split their ticket. 12,372 more ballots in 2024 than in 2022.
    +2,650
  2. 02
    Lower Red Lakemobilize
    Starting line Swanson +86. 2.7% split their ticket. 1,129 more ballots in 2024 than in 2022.
    +355
  3. 03
    Forest Lakepersuade
    Starting line Stauber +20. 6.3% split their ticket.
    +309
  4. 04
    Hibbingpersuade
    Starting line Stauber +4. 8.4% split their ticket.
    +287
  5. 05
    Hugopersuade
    Starting line Stauber +12. 6.1% split their ticket.
    +263
  6. 06
    Hermantownpersuade
    Starting line Swanson +6. 6.8% split their ticket.
    +179
  7. 07
    Brainerdpersuade
    Starting line Stauber +15. 7.0% split their ticket.
    +170
  8. 08
    Cloquetpersuade
    Starting line Swanson +8. 6.4% split their ticket.
    +168
  9. 09
    Cambridgepersuade
    Starting line Stauber +22. 8.1% split their ticket.
    +161
  10. 10
    North Branchpersuade
    Starting line Stauber +35. 6.9% split their ticket.
    +158
  11. 11
    Baxterpersuade
    Starting line Stauber +20. 6.4% split their ticket.
    +143
  12. 12
    Virginiapersuade
    Starting line Stauber +3. 8.0% split their ticket.
    +135
What the numbers say that the polls do not

The hidden path.

Duluth is the whole turnout game.

Duluth cast 12,372 more ballots in 2024 than in 2022, in a city Swanson's side carries by about 39 points. No other place in the district comes close.

Lower Red Lake is the most lopsided ground in the district.

The Lower Red Lake unorganized territory in Beltrami County favors her side by more than 80 points. 1,129 more people voted there in 2024 than in 2022. Each one brought back is worth nearly a full vote of margin.

Hermantown is home for both.

Both nominees call Hermantown home, and it leans Swanson on the starting line. The race will be read locally as a neighbor against a neighbor.

Hibbing is close.

Hibbing sits within 5 points on the starting line, and 8 percent of its voters split their tickets in 2024 or 2022. That is the kind of town where persuasion calls are worth making.

The evidence

Where voters cross over.

Every dot is a precinct. If no one split a ticket, every dot would sit on the line. The orange ones are where Swanson's side lost voters it won further up the ballot.

-100-100-80-80-60-60-40-40-20-2000+20+20+40+40+60+60+80+80+100+100Swanson's side, President 2024 margin (points)U.S. House 2024 margin (points)
Precincts
820
Slope
0.961
R²
0.986
Residual SD
3.4 pts
Crossover precincts
166

Weighted least squares, one point per precinct, weighted by ballots cast. Orange precincts sit more than one residual standard deviation below the line: Swanson's side did worse there in this race than the top of the ticket predicts. Hover any dot for the precinct.

The next 38 days

Ballots are already coming in.

  1. Now to October 4
    Find them

    Voter ID calls across the persuasion list in these cities. Every conversation tags the voter: with Swanson, with Stauber, or undecided. The undecided become the persuasion universe; the supporters become the ballot chase list.

  2. October 5 to 15
    Persuade

    Second conversations with every undecided and soft voter, built around the one issue they named on the first call. The goal is 11,008 net votes from people who have crossed party lines before.

  3. October 16 to 27
    Bank the ballots

    From October 16 early voters feed ballots straight into the counter. About 72,000 absentee ballots had already been requested in this district (our estimate from county counts) by September 24. Chase every supporter's request until it is returned.

  4. October 28 to November 2
    Turn them out

    The drop-off voters: people who voted in 2024 and skipped 2022. At least 16,466 of them live where Swanson is favored. Mail ballots must arrive by November 3; a postmark does not count.

  5. November 3
    Election day

    Minnesota registers voters at the polls with proof of residence. The last calls go to identified supporters who have not voted, with their polling place in hand.

What has to be true

No wishful thinking.

Stauber won by 14.5 points in 2022 and 16.1 in 2024. No 2026 polls have been published.

  1. Swanson wins half of the ticket splitters leaning Stauber, the ceiling.
  2. In Duluth and Lower Red Lake, 35 percent of the people who voted in 2024 but skipped 2022 come back and vote.
  3. The national environment moves about 9.7 points toward her side, roughly the size of a wave year.
  4. The cash gap narrows: Stauber had $1.2 million on hand in July to Swanson's $90,000.
The work

4,371 conversations.

That is how many live voter conversations this plan takes: about 83,412 dials to 27,804 households, before the last ballot is cast.

28K
households on the target list
83K
dials across three attempts
4,371
live conversations: persuasion, voter ID, ballot chase

Call list: every ticket splitter and undecided voter in the targeted places (you cannot tell which way they lean before the call), every targeted drop-off voter, and the reachable third-party voters. Households at 0.69 per voter, three attempts each, and a 5.24 percent live answer rate per attempt, the per-program average across 1.2 million real 2026 dials in our published benchmarks.

HyperPhonebank

We run this list.

Calls are the voter ID and ballot chase engine of this plan. They find the persuadable voters and the supporters, so every other dollar lands on the right door. The full call program for this list is an estimated $9,298 at our published rates: 27,804 households, three attempts each.

Professional live callers working exactly these precincts: persuasion on the ticket splitters, voter ID on the fence, ballot chase on every absentee request until it is returned. A live dashboard shows every conversation as it happens. Days to launch, not weeks.

The candidates

Who is on the ballot.

Underdog

Trina Swanson (DFL)

Hermantown native and attorney who spent nearly two decades at U.S. Citizenship and Immigration Services, rising to director of international operations, then returned home and opened an immigration law firm.

Cash on hand $90,423, raised $316,706, FEC candidate totals through July 22, 2026.

Favorite · incumbent

Pete Stauber (R)

Hermantown resident who grew up in Duluth, retired Duluth police officer, former professional hockey player, former Hermantown city councilor and St. Louis County commissioner, in Congress since 2019.

Cash on hand $1,200,836, raised $1,996,898, FEC candidate totals through July 22, 2026.

Underdog Updates

What changed, and when.

We re-run this race as new polls, fundraising reports and early vote counts arrive. Every change to the numbers is logged here.

  1. September 26, 2026
    Underdog plan published

    Starting line: Stauber +13.9. Trina Swanson needs 46,177 net votes. Odds 2% today, 9% with the plan.

Share this plan. Running this campaign, or backing it? This page is yours to share with your team and supporters.
Share

Questions

Can Trina Swanson win Minnesota's 8th Congressional District in 2026?

Only with help from the national environment. Campaign work can move about 13,845 net votes; the gap is 46,177. The rest would take a 9.7-point national shift.

Where are the votes Trina Swanson needs?

Ranked by net votes in the plan: Duluth, Lower Red Lake, Forest Lake, Hibbing, Hugo. Persuadable voters are counted from ticket splitting in 2024 and 2022 official returns; turnout targets are people who voted in 2024 and skipped 2022.

How many voters does Trina Swanson need to persuade?

About 5,504 voters who lean Pete Stauber today, each worth two votes of margin when they switch. That is 50 percent of the 11,008 persuadable voters leaning Pete Stauber.

When does early voting start in Minnesota in 2026?

Absentee voting in person and by mail began September 18, 2026. From October 16, early voters put their ballots directly into the tabulator. Absentee ballots must be received by November 3; Minnesota also registers voters on election day.

Who made this analysis?

The Political Group, an independent campaign services firm, from official Minnesota Secretary of State precinct returns, Census data, FEC filings and published polls. It is not affiliated with any candidate or party.

Method and sources

Precinct math from official Minnesota Secretary of State returns for 2022 and 2024, projected onto current district lines. Polls, ratings and fundraising as published on the dates shown. This is independent analysis by The Political Group, as of September 26, 2026. It is not affiliated with or endorsed by any candidate or party, and it is written for every campaign that starts behind.

Statistics: a weighted least squares crossover regression on every precinct, and 20,000 seeded Monte Carlo simulations. The baseline error (7 points of margin) and plan efficacy spread (30 percent) are our stated assumptions. Download the precinct data (CSV, ready for JASP). Free to cite under CC BY 4.0 with a link to this page.

Race coverage

More Minnesota underdogs