What it would have taken for Jack Codiga.
Before the election, as last updated September 26, 2026: 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.
Alma S. Adams won.
Jack Codiga finished 14.6 points behind our starting line. The plan below stays up as the record of what it would have taken.
Projected winner; unofficial results until the state certifies. Source · Second source
A long shot on the math: it takes a 43.9-point national wave.
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:
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.
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.
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.
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. 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.
Who. Few precincts give Codiga's side 55 percent or more, so turnout is a small lever here; the plan leans on persuasion instead.
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 closest places on the map.
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.
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.
- 01+237Precinct 022 (Mecklenburg County)persuadeStarting line Adams +28. 11.9% split their ticket.
- 02+198Precinct 145 (Mecklenburg County)persuadeStarting line Adams +46. 6.8% split their ticket.
- 03+178Precinct 075 (Mecklenburg County)persuadeStarting line Adams +14. 15.0% split their ticket.
- 04+171Precinct 011 (Mecklenburg County)persuadeStarting line Adams +47. 7.8% split their ticket.
- 05+166Precinct 032 (Mecklenburg County)persuadeStarting line Adams +11. 21.3% split their ticket.
- 06+146Precinct 018 (Mecklenburg County)persuadeStarting line Adams +18. 22.3% split their ticket.
- 07+142Precinct 074 (Mecklenburg County)persuadeStarting line Adams +19. 13.9% split their ticket.
- 08+142Precinct 008 (Mecklenburg County)persuadeStarting line Adams +16. 17.4% split their ticket.
- 09+139Precinct 092 (Mecklenburg County)persuadeStarting line Adams +17. 13.2% split their ticket.
- 10+138Precinct 114 (Mecklenburg County)persuadeStarting line Adams +15. 13.5% split their ticket.
- 11+134Precinct 009 (Mecklenburg County)persuadeStarting line Adams +41. 10.1% split their ticket.
- 12+134Precinct 047 (Mecklenburg County)persuadeStarting line Adams +27. 13.8% split their ticket.
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 under $1,000. That is exactly why the plan ranks every place by net votes and spends in that order instead of across 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 a head start if the national mood breaks.
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.
- 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 calendar it ran on.
- Now to October 9Find 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.
- 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 7,840 net votes from people who have crossed party lines before. Every supporter it finds goes straight onto the ballot chase.
- 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 until it is returned, and move supporters to early voting while it is open. Requests must be received by October 20.
- October 25 to November 2Turn them out
The last push goes to every identified supporter who has not voted yet; few drop-off voters live where Codiga is favored, so this is a chase, not a turnout drive. Absentee ballots must be received by the county board of elections by 7:30 p.m. on November 3; a postmark does not count. 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: 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.
- Codiga wins 50 percent of the ticket splitters now leaning Adams.
- It would take a national shift of about 43.9 points toward Codiga's side, larger than any midterm swing in recent memory.
- 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.
1,829 conversations.
That is how many live voter conversations this plan called for: about 34,911 dials to 11,637 households, before the last ballot was 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.
Running next cycle? We run lists like this.
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.
Who is on the ballot.
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.
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.
What changed, and when.
We re-ran this race as new polls, fundraising reports and early vote counts arrived, and logged the result against the plan. Every change is listed here.
- November 5, 2026Result: Jack Codiga lost
Unofficial result: Jack Codiga 18.8%, Alma S. Adams 81.2%, a margin of 62.4 points. Our starting line had Adams +47.8; Codiga fell short of that line by 14.6 points. This page stays up as the record of the plan and how it compared with the outcome.
- September 26, 2026Underdog plan published
Starting line: Adams +47.8. Jack Codiga needs 101,553 net votes. Odds 0% today, 0% with the plan.
Questions
Who won NC-12 in 2026?
Alma S. Adams won on November 3, 2026. Unofficial result: Jack Codiga 18.8%, Alma S. Adams 81.2%, a margin of 62.4 points. Our starting line had Adams +47.8; Codiga fell short of that line by 14.6 points.
Can Jack Codiga win North Carolina's 12th Congressional District in 2026?
Not on current numbers. Campaign work can move about 8,254 net votes against a gap of 101,553; the rest would take a 43.9-point national shift, far larger than any recent midterm has produced.
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.
- 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)
Race coverage
- Wikipedia: North Carolina's 12th congressional district
- Ballotpedia: North Carolina's 12th Congressional District election, 2026