All Minnesota races
2026 race

MN-02 — U.S. House

7 active candidates on file with the FEC. Incumbent: Angela Dawn Craig.

Read the record. Not the rhetoric.

See where these candidates stand — and who's funding them.

DeepSyte tracks the money and the record in every race against the issues you care about — not party, not press releases. Take the 2-minute values quiz to see your alignment.

Democratic primary · Tuesday, August 11, 2026
Called by audit: web-verified
Matt LittleWon47.4%
  • DMatthew David KleinDefeated30.5%
  • DKaela Jo BergDefeated16.8%
Republican primary · Tuesday, August 11, 2026
Called by audit: web-verified
Eric PrattWon
Currently held by
Angie Craig (D)not seeking re-election in 2026. They've publicly announced their retirement; their committee is still on the FEC's 2026 roster for routine compliance, but this is effectively an open seat.
Election day
44days
Tuesday, November 3, 2026
Disclosed money in race
$3.8M
Candidate + outside spending. See finance breakdown below.
Incumbent

Currently in office

Challengers

Sorted by fundraising

Matt Little

D
ChallengerFEC H6MN02230

Sign in + take the quiz to see alignment.

Raised this cycle$717K
Cash on hand: $299K

Eric Pratt

R
ChallengerFEC H6MN02263

Sign in + take the quiz to see alignment.

Raised this cycle$259K
Cash on hand: $140K
4 defeated candidates — show

Matthew David Klein

DDefeated
ChallengerFEC H6MN02248

Sign in + take the quiz to see alignment.

Raised this cycle$700K
Cash on hand: $334K

Tyler Kistner

RDefeated
ChallengerFEC H6MN02255

Sign in + take the quiz to see alignment.

Raised this cycle$416K
Cash on hand: $28K

Kaela Jo Berg

DDefeated
ChallengerFEC H6MN02271

Sign in + take the quiz to see alignment.

Raised this cycle$245K
Cash on hand: $55K

Hugh McTavish

DDefeated
ChallengerFEC H6MN02297

Sign in + take the quiz to see alignment.

Raised this cycle$53K
Cash on hand: $13K
Local signal

Early read on MN-02 — U.S. House

A directional read on where this seat is trending, from the signals we have so far. This is an early scaffold — more inputs light up as coverage and constituent activity accrue.

Coverage tone · the matchup
Recent news coverage of the nominees heading to the general election.
Matt Littlemixed
0 pos6 neutral0 neg6 articles
Eric Prattmixed
0 pos4 neutral0 neg4 articles
A media signal, not a poll of the district.
Constituent stakes
No one here has staked a position on a tracked vote yet. As neighbors weigh in on /pressure campaigns, the district's lean will show up here.
Money in the race

Finance breakdown

Disclosed funding shaping this race — both the money candidates raise themselves and the outside spending dropped by independent groups. Issue-ad spending by 501(c)(4) groups is excluded; the FEC doesn't require disclosure of it. See the note below for details.

Total disclosed
$3.8M
Candidate fundraising + independent expenditures (FEC).
Candidate-direct (Schedule A)
$3.8M
Raised by candidate committees themselves.
Outside spending (Schedule E)
$0
No outside spending reported yet.
CandidateRaised directlyOutside forOutside againstNet in corner
Matt Little(D)
$717K$717K
Eric Pratt(R)
$259K$259K
5 defeated candidates — show finances
CandidateRaised directlyOutside forOutside againstNet in corner
Angela Dawn Craig(D)incumbentdefeated
$1.4M$1.4M
Matthew David Klein(D)defeated
$700K$700K
Tyler Kistner(R)defeated
$416K$416K
Kaela Jo Berg(D)defeated
$245K$245K
Hugh McTavish(D)defeated
$53K$53K
Where the money comes from

In-state vs out-of-state

Share of each candidate's itemized individual contributions from donors inside MN versus the rest of the country. Excludes sub-$200 unitemized donations (no geography on file) and PAC money — see note below.

Matt Little(D)85% in-state · $572K itemized
$489K in-state$83K out-of-state
Eric Pratt(R)90% in-state · $331K itemized
$299K in-state$33K out-of-state
5 defeated candidates — show
Angela Dawn Craig(D)defeated47% in-state · $837K itemized
$390K in-state$447K out-of-state
Matthew David Klein(D)defeated53% in-state · $976K itemized
$522K in-state$454K out-of-state
Tyler Kistner(R)defeated42% in-state · $207K itemized
$88K in-state$119K out-of-state
Kaela Jo Berg(D)defeated42% in-state · $197K itemized
$83K in-state$114K out-of-state
Hugh McTavish(D)defeated0% in-state · $5K itemized
$6 in-state$5K out-of-state
What's counted, what isn't

Candidate-direct is each campaign's reported receipts on FEC Schedule A — individual contributions plus PAC contributions to the candidate's own committee — through the most recent filing.

Outside spending is independent expenditures on FEC Schedule E: money spent by PACs, super PACs, and party committees for or against a candidate, without legal coordination with the campaign. The committees listed under each candidate are the largest disclosed spenders on either side.

In-state vs out-of-state covers only itemized individual contributions — donations over $200, which are the only ones that carry a contributor address at the FEC. Sub-$200 unitemized donations (often a large share for grassroots campaigns) have no geography on file and are excluded, as is PAC money. So the percentages describe where a candidate's itemized individual money comes from, not where every dollar raised comes from.

Not counted: 501(c)(4) "social welfare" organizations run issue ads that frequently mention candidates by name but aren't classified as express advocacy under FEC rules — they file no Schedule E and don't appear in this breakdown. Press reporting on a race may cite figures that include this dark-money spending; ours doesn't.

Recent coverage

In the news

About this race page

Candidate roster is sourced from the FEC's active-candidate list for the 2026 cycle. Fundraising totals reflect committee filings through the last reporting period.

Alignment % compares the candidate's extracted policy positions against your quiz answers. Positions are pulled from the candidate's campaign issues page by AI; we save the source quote for each position so you can verify the extraction. Candidates without a campaign issues page show position data pending — we're working through the roster and re-checking stale extractions every 90 days.

News coverage is from the GDELT 2.0 global news feed, filtered to a curated list of national, political, and regional outlets.