How Kimberly Hardy wins.
Rouzer starts 6.9 points ahead on our starting line from 2026 polls. Hardy needs 20,155 net votes, and the math closes using 53 percent of what history allows. The most net votes are in Mosquito 2 (Brunswick County), Grissettown (Brunswick County) and Shingletree 2 (Brunswick County).
Hardy can win. The math closes using 53 percent of what history allows.
146,127 votes.
That is half of the 292,252 ballots we expect in this race, plus one. Where Hardy stands today, and what is missing:
Starting line: Rouzer +6.9 among decided voters, from published 2026 polls, applied to each precinct's pattern in the 2022 and 2024 official returns. 2026 turnout modeled on 2022, the last midterm.
8% today. 53% 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.
Each simulation draws the starting line with an error of 5 points of margin (the starting line comes from 2026 polls) 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.
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.
Who. Ticket splitters and the 13 percent still undecided in the latest poll: 35,199 leaning Rouzer today.
How. Live conversations on the call list that matters: voters who crossed party lines, plus the undecided. Hardy needs to win 27 percent of the ones now leaning Rouzer.
Who. At least 31,119 people who voted in 2024 but not in 2022, in precincts where Hardy's side wins at least 55 percent.
How. Voter ID calls to people who voted in 2024 and skipped 2022, then a ballot chase until each one has voted.
Who. Voters who went third party in recent races, in the precincts that lean Hardy's 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: 21,162 net votes against a gap of 20,155. That is a win.
12 precincts carry 34% of it.
Ranked by the net votes each one gives the plan. The darker the county, the more of the upset lives there.
- 01+1,010Mosquito 2 (Brunswick County)persuadeStarting line Rouzer +7. 17.2% split their ticket.
- 02+676Grissettown (Brunswick County)persuadeStarting line Rouzer +28. 16.2% split their ticket.
- 03+634Shingletree 2 (Brunswick County)persuadeStarting line Rouzer +25. 15.6% split their ticket.
- 04+606H08 (New Hanover County)persuadeStarting line Rouzer +7. 15.8% split their ticket.
- 05+582M02 (New Hanover County)persuadeStarting line Hardy +6. 14.4% split their ticket.
- 06+571Belville 2 (Brunswick County)persuadeStarting line Rouzer +1. 12.9% split their ticket.
- 07+560Brunswick Forest (Brunswick County)persuadeStarting line Hardy +8. 14.2% split their ticket.
- 08+551Leland (Brunswick County)persuadeStarting line Rouzer +2. 12.7% split their ticket.
- 09+547Hickmans Crossroads (Brunswick County)persuadeStarting line Rouzer +25. 15.9% split their ticket.
- 10+533M04 (New Hanover County)persuadeStarting line Hardy +8. 12.2% split their ticket.
- 11+487W33 (New Hanover County)persuadeStarting line Rouzer +4. 15.5% split their ticket.
- 12+472H11 (New Hanover County)persuadeStarting line Rouzer +3. 12.5% split their ticket.
The hidden path.
Mosquito 2 (Brunswick County) carries the most.
Mosquito 2 (Brunswick County) gives this plan more net votes than any other precinct: 1,010. It sits at Rouzer +7 on our starting line, and 17.2 percent of its voters split their ticket in recent elections.
Spend it where it counts.
As of June 30, 2026, Rouzer had $2.30 million in cash on hand to Hardy's $65K. That is exactly why the plan puts every dollar on the few places listed here instead of the whole map.
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 Hardy's side lost voters it won further up the ballot.
- Precincts
- 192
- Slope
- 0.964
- R²
- 0.996
- Residual SD
- 1.7 pts
- Crossover precincts
- 36
Weighted least squares, one point per precinct, weighted by ballots cast. Orange precincts sit more than one residual standard deviation below the line: Hardy's side did worse there in this race than the top of the ticket predicts. Hover any dot for the precinct.
Voting starts October 15.
- Now to October 9Find them
Voter ID calls across the persuasion list in these precincts. Every conversation tags the voter: with Hardy, with Rouzer, or undecided. The undecided become the persuasion universe; the supporters become the ballot chase list.
- October 10 to 14Persuade
Second conversations with every undecided and soft voter, built around the one issue they named on the first call. The goal is 18,671 net votes from people who have crossed party lines before.
- October 15 to 24Bank the ballots
One-stop early voting runs October 15 through October 31, with same-day registration at early voting sites. Absentee ballots must be received by 7:30 p.m. on November 3; a postmark does not count. Chase every supporter's mail ballot request until it is returned, and move supporters to early voting while it is open.
- October 25 to November 2Turn them out
The drop-off voters: people who voted in 2024 and skipped 2022. At least 31,119 of them live where Hardy is favored. Absentee ballots must be received by the county board of elections by 7:30 p.m. on November 3; a postmark does not count. Requests must be received by October 20. North Carolina has no drop boxes.
- November 3Election day
Polls are open 6:30 a.m. to 7:30 p.m. and photo ID is required. Registration closes October 9; same-day registration is available only during one-stop early voting. The last calls go to identified supporters who have not voted, with their polling place in hand.
No wishful thinking.
Official results in this district: Trump carried the 2024 presidential race by 13.8 points; Stein carried the 2024 governor's race by 8.0 points; Budd carried the 2022 U.S. Senate race by 13.0 points.
- Hardy wins 27 percent of the ticket splitters and undecided voters now leaning Rouzer.
- No national wave is required. The plan closes at 53 percent of what recent North Carolina results show is possible.
- The starting line comes from published 2026 polls, including campaign or party sponsored polls where those are the only ones; if the true gap is different, so is the plan.
5,206 conversations.
That is how many live voter conversations this plan takes: about 99,351 dials to 33,117 households, before the last ballot is cast.
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. About 69 households for every 100 voters on the list, 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.
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 $10,660 at our published rates: 33,117 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.
Who is on the ballot.
Kimberly Hardy (D)
An associate professor of social work at Fayetteville State University who lives in the Linden area of Cumberland County. She holds a bachelor's degree (1997) and a Ph.D. in social work from Morgan State University and a master's in social work from Ohio State University.
Cash on hand $65,017 and $293,818 raised since January 1, 2025, per FEC reports through June 30, 2026.
David Rouzer (R)
U.S. representative for the 7th District since 2015 and a North Carolina state senator from 2009 to 2012. A 1994 North Carolina State University graduate in agricultural business management, agricultural economics and chemistry, he was a senior aide to U.S. Sens. Jesse Helms and Elizabeth Dole and an associate administrator at USDA Rural Development.
Cash on hand $2,301,487 and $1,990,423 raised since January 1, 2025, per FEC reports through June 30, 2026.
Maad Abu-Ghazalah (L)
A Wilmington entrepreneur, consultant and animal rescue advocate. He holds a bachelor's degree from the University of Notre Dame (1983), a graduate degree from the University of Virginia (1985) and a law degree from Santa Clara University (1993).
Cash on hand $450 and $7,341 raised since January 1, 2025, per FEC reports through June 30, 2026.
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.
- September 26, 2026Underdog plan published
Starting line: Rouzer +6.9. Kimberly Hardy needs 20,155 net votes. Odds 8% today, 53% with the plan.
Questions
Can Kimberly Hardy win North Carolina's 7th Congressional District in 2026?
Yes, on the math. Kimberly Hardy needs 20,155 net votes, and recent North Carolina results show about 39,896 are reachable through persuasion, turnout and third-party voters. The plan closes the gap using 53 percent of that.
Where are the votes Kimberly Hardy needs?
Ranked by net votes in the plan: Mosquito 2 (Brunswick County), Grissettown (Brunswick County), Shingletree 2 (Brunswick County), H08 (New Hanover County), M02 (New Hanover County). Persuadable voters are counted from ticket splitting in 2022 and 2024 official returns; turnout targets are people who voted in 2024 and skipped 2022.
How many voters does Kimberly Hardy need to persuade?
About 9,336 voters who lean David Rouzer today, each worth two votes of margin when they switch. That is 27 percent of the 35,199 persuadable voters leaning David Rouzer.
When does early voting start in North Carolina in 2026?
One-stop early voting in North Carolina runs October 15 through 3 p.m. on October 31, 2026, at any early voting site in the voter's county, with same-day registration available there. The regular registration deadline is October 9. Absentee ballot requests must be received by October 20, and absentee ballots must be received by 7:30 p.m. on Election Day; postmarks do not count. Photo ID is required.
Who made this analysis?
The Political Group, an independent campaign services firm, from official North Carolina State Board of Elections 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 North Carolina State Board of Elections 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 (5 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.
- North Carolina State Board of Elections, election results
- North Carolina General Assembly, 2025 congressional plan (S.L. 2025-95)
- FEC candidate filings (OpenFEC)
- 2026 voter contact benchmarks (The Political Group)
- Poll: Public Policy Polling (2026-08-19 to 2026-08-20)
Race coverage
- Wikipedia: North Carolina's 7th congressional district
- Wikipedia: David Rouzer
- Ballotpedia: North Carolina's 7th Congressional District election, 2026
- Ballotpedia: Kimberly Hardy
- Ballotpedia: Maad Abu-Ghazalah
- Ballotpedia: David Rouzer