North Carolina · U.S. House · District 12 · November 3, 2026

What it would take for Jack Codiga.

Adams starts 47.8 points ahead on our starting line from recent official results. Campaign work can move about 8,254 net votes toward Codiga, a 3.9-point gain. Winning outright would take a 43.9-point national wave on top of that. Here is the plan that makes Codiga the one standing if one comes.

101,553
net votes between Codiga and a win
37
days to election day. Early voting opens October 15.
47.8 pts
Adams lead, our starting line from recent results
In short

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

Odds today0%
Odds with the plan0%
Net votes to find101,553
WherePrecinct 022 (Mecklenburg County), Precinct 145 (Mecklenburg County), Precinct 075 (Mecklenburg County)
Underdog UpdateSeptember 26, 2026. Underdog plan published. Starting line: Adams +47.8. Jack Codiga needs 101,553 net votes. Odds 0% today, 0% with the plan.
The number

106,242 votes.

That is half of the 212,483 ballots we expect in this race, plus one. Where Codiga stands today, and what is missing:

53,118 Jack Codiga baseline
154,671 Alma S. Adams baseline

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

The odds

0% today. A wave changes that.

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.

Codiga wins in
0%
of 20,000 simulated elections
With no plan
0%
tieCodiga loses by 133,407loses by 53,458
How much of what history allows the campaign achieves100%
The plan on this page sits at 100%. Median outcome at this setting: Codiga short by 93,466.

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
7,840
net votes in the plan, from a pool of 7,840

Who. 7,840 voters who split their ticket in recent elections and lean Adams today.

How. Live conversations on the call list that matters: voters who crossed party lines, plus the undecided. Codiga needs to win 50 percent of the ones now leaning Adams.

Mobilize
0
net votes in the plan, from a pool of 0

Who. There are almost no precincts Codiga's side carries, so turnout alone cannot help here.

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

Consolidate
414
net votes in the plan, from a pool of 1,184

Who. Voters who went third party in recent races, in the precincts that lean Codiga'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: 8,254 net votes against a gap of 101,553. Still 93,299 short. The rest needs a national shift of about 43.9 points that no campaign controls.

Where it is won

12 precincts carry 23% of it.

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

Alamance CountyAlexander CountyAlleghany CountyAnson CountyAshe CountyAvery CountyBeaufort CountyBertie CountyBladen CountyBrunswick CountyBuncombe CountyBurke CountyCabarrus CountyCaldwell CountyCamden CountyCarteret CountyCaswell CountyCatawba CountyChatham CountyCherokee CountyChowan CountyClay CountyCleveland CountyColumbus CountyCraven CountyCumberland CountyCurrituck CountyDare CountyDavidson CountyDavie CountyDuplin CountyDurham CountyEdgecombe CountyForsyth CountyFranklin CountyGaston CountyGates CountyGraham CountyGranville CountyGreene CountyGuilford CountyHalifax CountyHarnett CountyHaywood CountyHenderson CountyHertford CountyHoke CountyHyde CountyIredell CountyJackson CountyJohnston CountyJones CountyLee CountyLenoir CountyLincoln CountyMacon CountyMadison CountyMartin CountyMcDowell CountyMecklenburg County: 8,255 net votes in the planMitchell CountyMontgomery CountyMoore CountyNash CountyNew Hanover CountyNorthampton CountyOnslow CountyOrange CountyPamlico CountyPasquotank CountyPender CountyPerquimans CountyPerson CountyPitt CountyPolk CountyRandolph CountyRichmond CountyRobeson CountyRockingham CountyRowan CountyRutherford CountySampson CountyScotland CountyStanly CountyStokes CountySurry CountySwain CountyTransylvania CountyTyrrell CountyUnion CountyVance CountyWake CountyWarren CountyWashington CountyWatauga CountyWayne CountyWilkes CountyWilson CountyYadkin CountyYancey CountyMecklenburg
Fewer net votesMore net votes for the upset
  1. 01
    Precinct 022 (Mecklenburg County)persuade
    Starting line Adams +28. 11.9% split their ticket.
    +237
  2. 02
    Precinct 145 (Mecklenburg County)persuade
    Starting line Adams +46. 6.8% split their ticket.
    +198
  3. 03
    Precinct 075 (Mecklenburg County)persuade
    Starting line Adams +14. 15.0% split their ticket.
    +178
  4. 04
    Precinct 011 (Mecklenburg County)persuade
    Starting line Adams +47. 7.8% split their ticket.
    +171
  5. 05
    Precinct 032 (Mecklenburg County)persuade
    Starting line Adams +11. 21.3% split their ticket.
    +166
  6. 06
    Precinct 018 (Mecklenburg County)persuade
    Starting line Adams +18. 22.3% split their ticket.
    +146
  7. 07
    Precinct 074 (Mecklenburg County)persuade
    Starting line Adams +19. 13.9% split their ticket.
    +142
  8. 08
    Precinct 008 (Mecklenburg County)persuade
    Starting line Adams +16. 17.4% split their ticket.
    +142
  9. 09
    Precinct 092 (Mecklenburg County)persuade
    Starting line Adams +17. 13.2% split their ticket.
    +139
  10. 10
    Precinct 114 (Mecklenburg County)persuade
    Starting line Adams +15. 13.5% split their ticket.
    +138
  11. 11
    Precinct 009 (Mecklenburg County)persuade
    Starting line Adams +41. 10.1% split their ticket.
    +134
  12. 12
    Precinct 047 (Mecklenburg County)persuade
    Starting line Adams +27. 13.8% split their ticket.
    +134
What the numbers say that the polls do not

The hidden path.

Precinct 022 (Mecklenburg County) carries the most.

Precinct 022 (Mecklenburg County) gives this plan more net votes than any other precinct: 237. It sits at Adams +28 on our starting line, and 11.9 percent of its voters split their ticket in recent elections.

Precinct 018 (Mecklenburg County) splits its ticket the most.

Of the precincts in this plan, Precinct 018 (Mecklenburg County) has the highest share of ticket splitters: 22.3 percent. That is where a persuasion call is most likely to reach someone open to crossing over.

Spend it where it counts.

As of June 30, 2026, Adams had $457K in cash on hand to Codiga's $3. That is exactly why the plan puts every dollar on the few places listed here instead of the whole map.

The honest math.

Every lever at its historical ceiling moves 8,254 net votes. The gap is 101,553. That is the measure of what a strong campaign adds: 3.9 points of margin, and first position if the national mood breaks.

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 Codiga's side lost voters it won further up the ballot.

-100-100-80-80-60-60-40-40-20-2000Codiga's side, President 2024 margin (points) margin (points)
Precincts
145
Slope
0.910
R²
0.994
Residual SD
1.4 pts
Crossover precincts
20

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

The next 37 days

Voting starts October 15.

  1. Now to October 9
    Find them

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

  2. October 10 to 14
    Persuade

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

  3. October 15 to 24
    Bank 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.

  4. October 25 to November 2
    Turn them out

    The drop-off voters: people who voted in 2024 and skipped 2022. At least 0 of them live where Codiga 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.

  5. November 3
    Election 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.

What has to be true

No wishful thinking.

Official results in this district: Harris carried the 2024 presidential race by 45.9 points; Stein carried the 2024 governor's race by 59.5 points; Beasley carried the 2022 U.S. Senate race by 48.1 points.

  1. Codiga wins 50 percent of the ticket splitters now leaning Adams.
  2. The national environment moves about 43.9 points toward Codiga's side between now and November 3.
  3. No 2026 public poll exists for this race, so the starting line is a weighted blend of official recent results; the first real poll will move it.
The work

1,829 conversations.

That is how many live voter conversations this plan takes: about 34,911 dials to 11,637 households, before the last ballot is cast.

12K
households on the target list
35K
dials across three attempts
1,829
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. 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.

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 $5,192 at our published rates: 11,637 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

Jack Codiga (R)

A Charlotte finance professional with experience in banking and commercial real estate, he earned a bachelor's degree in finance from Santa Clara University's Leavey School of Business and moved to Charlotte in 2021.

Cash on hand $3 and $28,704 raised since January 1, 2025, per FEC reports through June 30, 2026.

Favorite · incumbent

Alma S. Adams (D)

U.S. representative for the 12th District since 2014, she served in the North Carolina House from 1994 to 2014 and earlier on the Greensboro City Council and school board; a longtime Bennett College art professor, she holds B.S. and M.S. degrees from North Carolina A&T and a Ph.D. from Ohio State University.

Cash on hand $456,594 and $370,506 raised since January 1, 2025, per FEC reports through June 30, 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: Adams +47.8. Jack Codiga needs 101,553 net votes. Odds 0% today, 0% 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 Jack Codiga win North Carolina's 12th Congressional District in 2026?

Only with help from the national environment. Campaign work can move about 8,254 net votes; the gap is 101,553. The rest would take a 43.9-point national shift.

Where are the votes Jack Codiga needs?

Ranked by net votes in the plan: Precinct 022 (Mecklenburg County), Precinct 145 (Mecklenburg County), Precinct 075 (Mecklenburg County), Precinct 011 (Mecklenburg County), Precinct 032 (Mecklenburg 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 Jack Codiga need to persuade?

About 3,920 voters who lean Alma S. Adams today, each worth two votes of margin when they switch. That is 50 percent of the 7,840 persuadable voters leaning Alma S. Adams.

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 (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 North Carolina underdogs