Contents
Abstract#
North Carolina's 2026 general election is a midterm. There is no presidential race, and the ballot is county and state offices: sheriff, district attorney, clerk of superior court, register of deeds, county commission, school board, NC House and NC Senate.
We analyze 9,203,238 registration records and 35,525,793 vote-history rows published by the North Carolina State Board of Elections, loaded 8 August 2026, to describe the electorate a candidate for those offices will actually face.
Among 5,282,640 currently active registrants who were eligible to vote in both elections, 4,818,361 voted in the 2024 presidential general and 3,498,807 voted in the 2022 midterm. 1,451,173 voted in the presidential election and not the midterm: 30.1% of the presidential electorate. That loss is sharply structured by age, weakly structured by party registration, and substantial across every group we can measure.
We also find that ballot roll-off, the usual worry about down-ballot races, is close to negligible when a countywide race is contested: contested sheriff, clerk and register of deeds races in 2022 drew 98.4% to 99.3% of the ballots cast in their counties. The constraint on a local candidate is who shows up, not what they skip once they arrive.
We state throughout what these data cannot establish. They contain no record of unregistered adults, no vote choice, and no causal information. Two datasets in our own database are incompletely loaded, and we identify which figures that affects.
Key findings#
- 1,451,173 North Carolinians who voted in the 2024 presidential general did not vote in the 2022 midterm, or 30.1% of that election's voters, among registrants eligible for both and still active today.
- Drop-off is a function of age before it is a function of anything else. Of 2024 presidential voters, 55.6% of those now aged 25-34 and 55.2% of those now 18-24 skipped the 2022 midterm, against 16.8% of those 65-74 and 12.5% of those 75 and over.
- The midterm electorate is much older than the state's registration. The 2022 midterm electorate was 41.3% aged 65 and over and 10.3% under 35. Active registration today is 27.9% and 25.7%.
- Unaffiliated registration is now the largest bloc and still growing. 2,649,690 active registrants, or 39.24%, are unaffiliated, ahead of Republicans at 30.93% and Democrats at 29.24%. Unaffiliated registrants also drop off hardest of the three: 33.2% of unaffiliated 2024 voters skipped 2022, against 29.6% of Democrats and 27.1% of Republicans.
- County midterm participation varies by 28 percentage points. Measured 2022 turnout ranged from 44.9% in Robeson County to 72.9% in Alleghany, with a median of 59.8%.
- Contested countywide races do not bleed votes. Contested 2022 sheriff races drew 98.7% of ballots cast in their counties, contested clerk of superior court races 98.4%. Uncontested races in the same offices drew 71.8% to 76.8%.
- A large share of registration happens after the books close. 169,815 currently active voters registered in the 25 days before the 2024 general, after the statutory deadline, and 119,058 of them cast a ballot.
1. Data#
1.1 Sources#
All data are published by the North Carolina State Board of Elections and were loaded on 8 August 2026.
| File | What it is | Rows loaded |
|---|---|---|
ncvoter_Statewide | One record per registrant, with status, party, demographics and district assignments | 9,203,238 |
ncvhis_Statewide | One record per ballot cast per voter per election, ten-year window | 35,525,793 |
| Registration snapshots | Point-in-time registration counts, aggregated by district | 67,354 aggregate rows across 3 dates |
| ENRS precinct results | Precinct-level contest results | 171,900 rows, 2022 general only |
The registration and history files are republished weekly. The counts above are a specific load and will not match a later one exactly.
The State Board publishes these files as public records; it does not review, endorse, or have any involvement in this analysis. Birth dates, Social Security numbers and driver's licence numbers are confidential under North Carolina law and are not in the public files.
1.2 Universe and inclusion criteria#
The registration file carries four statuses. As loaded: 6,752,176 ACTIVE, 1,064,995 INACTIVE, 1,195,671 REMOVED, 190,396 DENIED.
Every figure in this paper restricted to registrants is restricted to `ACTIVE` status. This is a deliberate choice with a cost, stated here rather than buried. It matches the denominator the State Board uses in its own registration snapshots, so turnout rates computed here use a consistent numerator and denominator. It also means our rates are higher than turnout figures computed over all registered voters, which is the basis most press coverage uses. A reader comparing our 58.5% statewide 2022 figure to a published figure in the low fifties is looking at a different denominator, not a different fact.
308 active registrants carry an address-confidentiality indicator. They are retained; at 0.005% of the universe they cannot move any published figure, and excluding them would create an inconsistency with the State Board's own aggregates.
1.3 Two datasets in our database are incompletely loaded#
We disclose this rather than route around it silently.
An ingest defect stopped our results loader after two elections. Our elections table therefore holds only the 2022 general and the 2023 municipal general, and contest_results holds rows only for the 2022 general. Our derived district_turnout table inherits the same truncation: 9,023 rows across those same two elections.
Consequences, stated precisely:
- No figure in this paper is computed from the `elections` or `district_turnout` tables. All turnout and participation analysis reads
voter_historydirectly by election date. That file is complete and unaffected. - Section 6, on ballot roll-off, is the only section that uses `contest_results`, and it uses only the 2022 general. For that election the load is complete: 171,900 rows across all 100 counties. No other election can be measured this way until the defect is fixed, which is why Section 6 reports one election and does not claim a trend.
- We do not treat an election's absence from our `elections` table as evidence about the world. It is a gap in our ingest.
Our product also computes a per-voter participation score, which is currently degraded for the same reason: its basis is drawn from the truncated elections table, so it reflects two elections where it should reflect four. We do not use it. Section 5 constructs the equivalent measure directly from vote history and states the construction, which is better practice regardless, because a reader can reproduce ours.
1.4 External validation#
Vote-history files are the standard instrument for validated turnout, and their advantage over survey self-report is well established: survey respondents overreport voting, and the overreporting is concentrated among exactly the engaged, high-resource respondents who most resemble voters (Silver, Anderson and Abramson 1986; Bernstein, Chadha and Montjoy 2001; Ansolabehere and Hersh 2012). That is the reason to work from the file rather than from a poll.
It is not a reason to assume the file is exact. We check ours against the State Board's own published totals.
| Election | Our count from voter_history | NCSBE published total | Difference |
|---|---|---|---|
| 2022 general | 3,789,795 | 3,786,904 | +2,891 (+0.08%) |
| 2024 general | 5,722,768 | 5,705,861 | +16,907 (+0.30%) |
Sources: our count from scripts/research/07-county-turnout.sql; NCSBE from its 2022 and 2024 general election turnout pages. Those pages state they are generated from the history_stats and absentee_counts files. They do not describe themselves as certified, and we do not describe them that way. The State Board publishes no 2018 turnout page, so our 2018 ballot count of 3,754,027 is our own figure from the history file and is not attributed to the State Board.
Agreement within 0.3% is what we would expect from files republished on different schedules. It is not proof of exactness, and it does not address the survivorship problem in Section 9.2, which is a different issue entirely.
2. Methods#
2.1 Which elections are the valid comparison#
A midterm is compared to midterms.
This is the single most consequential methodological choice in the paper, and it is not merely a matter of like-for-like tidiness. The regularity that presidential-year turnout exceeds midterm turnout, and that the midterm electorate differs in composition rather than merely in size, is the oldest finding in this literature: Campbell (1960) named it surge and decline, and Campbell (1987) revised the mechanism while retaining the pattern. Erikson (1988) shows how much of the apparent midterm effect is an artifact of what the presidential year did.
A projection for November 2026 built on 2024 turnout would be wrong by roughly a third. The valid comparators for 2026 are 2022 and 2018.
We therefore use:
- 2022-11-08 as the primary comparator. It is the most recent midterm and the only one for which we hold both a ballot count and a matching registration denominator.
- 2018-11-06 as a replication and as the basis for the sensitivity range in Section 7.
- 2024-11-05 only as the presidential term of a presidential-to-midterm comparison, never as a basis for projecting 2026.
2.2 Eligibility, and the error that eats this kind of analysis#
A voter who registered in 2024 could not have voted in 2022. Counting them as a non-voter deflates the midterm rate. The obvious fix is to filter on registration date, and in the North Carolina file the obvious fix is wrong.
registr_dt records registration in the current county, and is rewritten when a voter moves across a county line. It is not a first-registration date.
We measured the size of the error rather than assuming it away. Among 3,498,807 currently active registrants who demonstrably cast a 2022 general ballot, 190,917 (5.46%) carry a `registr_dt` later than the 2022 election they are recorded as having voted in. A naive registration-date filter silently discards one in eighteen real prior voters, and discards them non-randomly: they are movers.
Our eligibility rule for an election E is therefore a union:
A registrant is treated as eligible for E if registr_dt <= E, or they carry a vote-history row for any election at or before E.Both branches are necessary. The first catches registrants who were eligible but did not vote. The second catches movers whose registration date has been overwritten.
Section 9.4 reports what the estimate looks like under the naive rule, so the effect of this choice is visible rather than asserted.
2.3 Cohort construction#
The headline comparison holds the population fixed. The cohort is every currently active registrant eligible in 2022 by the rule above: 5,282,640 people. For each, we record whether they cast a 2022 general ballot and whether they cast a 2024 general ballot. Both are read from voter_history by election_lbl.
This is a fixed-cohort design, not a comparison of two election-day populations. It answers "of the same people, how many turned out in each election", which is the question a candidate deciding where to spend a field budget is actually asking.
One source of error common to voter-file work is absent here by construction. Linking a voter across files is ordinarily a probabilistic matching problem, with its own false-positive and false-negative rates (Ansolabehere and Hersh 2017). Our registration and history files are published by the same authority and share a state-assigned voter identifier, so the join is exact and no matching is performed. That removes linkage error; it does not remove any of the limitations in Section 9.
2.4 Turnout denominators#
A turnout rate needs registration as it stood on election day, not registration as it stands today. We use the State Board's point-in-time registration snapshots, which exist for 2022-11-08 and 2024-11-05. No snapshot exists for 2018-11-06, which is why Section 7 can measure only one midterm rate even though it can measure two midterm ballot volumes.
2.5 Age bands#
Age bands are computed as 2026 - birth_year: age at the 2026 general. They are then applied to historical behavior.
So "voters now aged 25-34 turned out at 39.9% in 2022" means precisely that: people who are 25-34 today, and who were 21-30 in 2022, voted at that rate then. This is a deliberate choice for a forward-looking audience, and it is not a statement about how 25-34 year olds behaved in 2022. It conflates life-cycle and cohort effects, which the turnout literature treats as distinct (Wolfinger and Rosenstone 1980; Leighley and Nagler 2013), and it cannot separate them.
2.6 Geography#
County is the only geography in this database whose boundaries are stable across the 2022 to 2024 comparison. North Carolina's legislative districts were redrawn between the two elections, and voter_history carries no district column, so a voter's district at the time of a past ballot is not recoverable.
We therefore do not publish district-level turnout across the redistricting boundary, and no such figure appears in this paper. County is also the correct geography for the largest offices on the 2026 ballot: sheriff, district attorney, clerk of superior court, register of deeds and at-large county commission are all elected countywide.
2.7 What we do not do#
We make no causal claims. These are observational administrative records. We describe composition, association and change. Where a reader wants to know why a group participates less, this paper does not answer it, and no arrangement of these columns can.
We make no forecast of any race, and no claim about who will win anything. The subject is the electorate. Party registration is not vote choice, and North Carolina's general election ballot does not require any party registration to vote in it.
3. Registration composition, and how it has moved#
North Carolina's largest registration bloc is now unaffiliated voters, and its share is still rising.
As of the 8 August 2026 load, of 6,752,176 active registrants:
| Party | Active registrants | Share |
|---|---|---|
| Unaffiliated | 2,649,690 | 39.24% |
| Republican | 2,088,295 | 30.93% |
| Democratic | 1,974,401 | 29.24% |
| Libertarian | 35,400 | 0.52% |
| Green | 4,390 | 0.07% |
Source: scripts/research/01-registration-composition.sql, run 2026-08-08.
The State Board's point-in-time snapshots let us date the movement rather than assert it.
| Date | Total active | Unaffiliated | Democratic | Republican |
|---|---|---|---|---|
| 2022-11-08 | 6,480,268 | 34.88% | 33.45% | 31.04% |
| 2024-03-05 | 6,455,746 | 36.16% | 31.88% | 31.19% |
| 2024-11-05 | 6,986,364 | 37.22% | 30.91% | 30.85% |
| 2026-08-08 (file) | 6,752,176 | 39.24% | 29.24% | 30.93% |
Source: scripts/research/02-registration-trend.sql, run 2026-08-08. The final row is the current registration file, not a State Board snapshot, and is shown on the same active-only basis.
Between November 2022 and August 2026 the unaffiliated share rose 4.36 points, the Democratic share fell 4.21 points, and the Republican share moved 0.11 points. Democratic registration also crossed below Republican registration between the 2024 general and now.
Two cautions on reading this, both load-bearing.
First, registration is not vote choice, and the growth of a category labeled "independent" is not evidence of a growing pool of genuinely uncommitted voters. The finding that most self-identified independents lean consistently toward one party, and vote much like weak partisans of that party, is the central claim of Keith et al. (1992) and it has held up. Nothing in this file tells us how North Carolina's unaffiliated registrants vote.
Second, the change is a mix of new registration, party changes, and list maintenance, and this table cannot decompose it. The total falls between the November 2024 snapshot and today, and this table cannot say how much of that fall is post-election list maintenance and how much is other movement.
An independently produced description of North Carolina's unaffiliated registrants, working from the same State Board files, is available from Carolina Demography (Jayaraman and Marshall 2024); it is a university research-center publication rather than peer-reviewed work.
4. Midterm drop-off: the central finding#
Roughly three in ten North Carolinians who voted in the 2024 presidential election did not vote in the 2022 midterm.
Among the fixed cohort of 5,282,640 active registrants eligible in both elections:
| Quantity | Count | Share of cohort |
|---|---|---|
| Voted in the 2024 presidential general | 4,818,361 | 91.2% |
| Voted in the 2022 midterm | 3,498,807 | 66.2% |
| Voted in both | 3,367,188 | 63.7% |
| Voted in 2024 but not 2022 | 1,451,173 | 27.5% |
Source: scripts/research/04-midterm-dropoff.sql, run 2026-08-08.
Expressed as the number a candidate needs: 30.1% of the people who cast a 2024 presidential ballot did not cast a 2022 midterm ballot.
4.1 Drop-off by age#
This is the strongest pattern in the data and it is not close.
| Age at the 2026 general | Cohort | 2022 midterm rate | Share of 2024 voters who skipped 2022 |
|---|---|---|---|
| 18-24 | 193,491 | 39.7% | 55.2% |
| 25-34 | 708,706 | 39.9% | 55.6% |
| 35-44 | 802,013 | 53.6% | 42.4% |
| 45-54 | 849,597 | 63.6% | 33.3% |
| 55-64 | 996,783 | 72.6% | 25.1% |
| 65-74 | 950,007 | 81.5% | 16.8% |
| 75+ | 782,043 | 85.8% | 12.5% |
Source: scripts/research/04-midterm-dropoff.sql, run 2026-08-08. Bands are age at the 2026 general applied to past behavior; see Section 2.5.
A voter under 35 who turned out for the presidential election was more likely than not to skip the midterm. A voter over 75 who did the same was very unlikely to. The spread between the youngest and oldest bands is 46 percentage points on midterm participation.
4.2 Drop-off by party registration#
| Party | Cohort | 2022 midterm rate | Share of 2024 voters who skipped 2022 |
|---|---|---|---|
| Republican | 1,723,874 | 70.5% | 27.1% |
| Democratic | 1,646,176 | 66.9% | 29.6% |
| Unaffiliated | 1,884,644 | 62.0% | 33.2% |
| Libertarian | 25,851 | 44.5% | 51.1% |
Source: scripts/research/04-midterm-dropoff.sql, run 2026-08-08.
The party gap is real but it is an order of magnitude smaller than the age gap: 8.5 points between Republican and unaffiliated midterm rates, against 46 points across age bands.
We note explicitly what this table does not show. It does not show that Republicans are more likely to vote than Democrats in general; it shows a difference in one midterm among registrants still active today. It says nothing about vote choice. And the age composition of these three groups differs, so part of the party gap is the age gap wearing different clothes. We do not attempt to separate them, because doing so credibly requires a model whose assumptions we would then have to defend, and this paper is descriptive.
4.3 Drop-off by race code#
Race in the North Carolina file is self-reported by the registrant and is optional. It is not a census measurement, 587,818 active registrants are coded undesignated, and the categories are the file's own. We report it because differential participation by race is a documented and consequential feature of American turnout (Fraga 2018), and because a local candidate's field program is built on real geography where these differences show up.
| Race code | Cohort | 2022 midterm rate | Share of 2024 voters who skipped 2022 |
|---|---|---|---|
| White | 3,618,661 | 71.6% | 25.8% |
| Black | 1,005,379 | 57.9% | 36.6% |
| Asian | 78,988 | 53.8% | 43.2% |
| American Indian | 36,508 | 51.0% | 43.7% |
| Two or more | 20,216 | 56.2% | 39.9% |
| Other | 168,099 | 42.4% | 51.7% |
| Undesignated | 354,346 | 50.9% | 44.9% |
Source: scripts/research/04-midterm-dropoff.sql, run 2026-08-08.
The gap between White and Black registrants' 2022 midterm participation is 13.7 points, and it widens the drop-off gap by 10.8 points. We describe this and do not explain it. Explaining it would require information this file does not contain.
4.4 Replication in the prior cycle#
We ran the identical measurement one cycle earlier, comparing the 2020 presidential general to the 2018 midterm.
Among 4,142,043 active registrants eligible in 2018: 3,867,395 voted in 2020, 3,016,750 voted in 2018, and 916,275 voted in 2020 but not 2018, or 23.7% of 2020 presidential voters.
Source: scripts/research/05-dropoff-2018-2020.sql, run 2026-08-08.
We present this as a bracket, not a trend. The 2018/2020 estimate is more affected by survivorship: it is drawn from voters still active in 2026, so everyone removed from the rolls in the eight years since is missing, and removed registrants were on average less engaged. That biases the older estimate downward.
The honest reading is that presidential-to-midterm drop-off in North Carolina is somewhere in the region of a quarter to a third of the presidential electorate, that our better-measured cycle puts it at 30.1%, and that we cannot resolve it more finely than that from these data.
5. Who is left: composition of the midterm electorate#
Section 4 measures rates. This section measures shares, which is the quantity that determines what a field program should look like.
The midterm electorate is dramatically older than the state's registration, and the 2026 primary electorate was older still.
| Age at the 2026 general | Registered now | 2024 presidential electorate | 2022 midterm electorate | 2026 primary electorate |
|---|---|---|---|---|
| Under 35 | 25.71% | 19.27% | 10.29% | 10.23% |
| 35-49 | 22.28% | 22.50% | 19.61% | 16.01% |
| 50-64 | 24.09% | 26.43% | 28.81% | 26.47% |
| 65 and over | 27.92% | 31.81% | 41.29% | 47.30% |
Source: scripts/research/08-electorate-composition.sql, run 2026-08-08. Restricted to voters active in the current file, so these are shares, not full electorate counts.
Under-35s are a quarter of registration and a tenth of the midterm electorate. Voters over 65 are 27.9% of registration and 41.3% of the midterm electorate.
The 3 March 2026 primary has already been held, and 1,511,001 ballots were cast in it. Its electorate was 47.30% over 65: older than the midterm general, which is the expected direction, and a useful current-cycle confirmation that this pattern is holding in 2026 rather than a historical curiosity.
By party registration:
| Party | Registered now | 2024 presidential electorate | 2022 midterm electorate |
|---|---|---|---|
| Unaffiliated | 39.24% | 35.87% | 33.41% |
| Republican | 30.93% | 33.10% | 34.75% |
| Democratic | 29.24% | 30.52% | 31.49% |
Source: scripts/research/08-electorate-composition.sql, run 2026-08-08.
Unaffiliated registrants were 34.88% of registration at the 2022 election and 33.41% of the electorate that turned out for it. They are underrepresented in the midterm electorate relative to their registration, and increasingly so as their registration share grows.
5.1 How reliable is the reliable electorate?#
We construct a participation index over the four most recent November general elections: 2018, 2020, 2022 and 2024. It is a plain count of those four in which a voter has a history row, unweighted and not recency-adjusted. We build it here rather than using our product's own score, which is currently degraded (Section 1.3).
Two universes, because the naive one misleads:
| Generals voted | All active registrants | Registrants eligible for all four |
|---|---|---|
| 0 of 4 | 1,014,481 (15.02%) | 71,115 (1.72%) |
| 1 of 4 | 1,074,563 (15.91%) | 191,274 (4.62%) |
| 2 of 4 | 1,064,457 (15.76%) | 559,961 (13.52%) |
| 3 of 4 | 1,157,315 (17.14%) | 878,333 (21.21%) |
| 4 of 4 | 2,441,360 (36.16%) | 2,441,360 (58.94%) |
Source: scripts/research/06-participation-index.sql, run 2026-08-08.
The right-hand column is the one to read. Among the 4,142,043 registrants who could have voted in all four, 58.94% did. The left-hand column's 15% at zero is mostly an artifact: it counts people who registered after 2018 and could not have scored higher.
2,441,360 active North Carolina registrants have voted in all four of the last four general elections. Against a 2022 midterm electorate of roughly 3.79 million ballots, these four-of-four voters constitute the majority of any midterm electorate before a campaign does anything at all. That is the practical meaning of the composition tables above: most of a midterm result is decided by people whose participation a campaign does not change.
Whether that matters for what local government does is a separate question, and one this paper does not test. It has been studied: uneven turnout is associated with differences in who is represented in city politics (Hajnal and Trounstine 2005), and election timing is associated with which organized groups prevail (Anzia 2011). We cite that work to locate our descriptive finding, not to claim we have replicated it.
6. Ballot roll-off: a smaller problem than expected#
Contested countywide races in North Carolina draw almost every ballot cast.
Roll-off, the gap between ballots cast and votes recorded in a given contest, is a real phenomenon in American elections and is well documented for low-information and down-ballot races (Wattenberg, McAllister and Salvanto 2000). It matters here because a win number computed from total ballots implicitly assumes there is none.
We measured it for the 2022 general, restricting to single-seat races so that vote totals are comparable to ballot counts, and splitting contested from uncontested races because pooling them measures mostly how many races were unopposed.
| Office | Status | Races | Votes cast | Ballots cast in those counties | Share |
|---|---|---|---|---|---|
| Sheriff | Contested | 45 | 1,986,306 | 2,013,026 | 98.7% |
| Sheriff | Uncontested | 55 | 1,363,781 | 1,776,769 | 76.8% |
| Clerk of Superior Court | Contested | 19 | 368,668 | 374,846 | 98.4% |
| Clerk of Superior Court | Uncontested | 81 | 2,450,515 | 3,414,949 | 71.8% |
| Register of Deeds | Contested | 1 | 17,646 | 17,766 | 99.3% |
| Register of Deeds | Uncontested | 23 | 519,772 | 685,706 | 75.8% |
Source: scripts/research/09-rolloff.sql, run 2026-08-08. For scale, the top-of-ticket US Senate race drew 3,773,924 of 3,789,795 ballots, or 99.6%.
Pooled across contested single-seat countywide races, 2,372,620 votes were cast on 2,405,638 ballots: 98.63%.
The register of deeds contested figure rests on a single race and should carry no weight on its own; it is shown for completeness.
The practical implication reverses a common assumption. A candidate for a contested countywide office in North Carolina is not losing meaningful numbers of voters to ballot fatigue. Roughly 1.4% of the people who show up will skip their race. The binding constraint is Section 4: whether those people show up at all.
This section uses the only election for which we hold complete results data. We cannot show whether 98.6% is stable across cycles, and we do not claim it is.
7. Registration timing, and the deadline that is coming#
North Carolina's registration deadline for the 2026 general is 9 October 2026, 25 days before election day.
The deadline is set by N.C. Gen. Stat. 163-82.6(d), which requires a mailed form to be postmarked at least 25 days before the election and an in-person form to be received by the twenty-fifth day.
It is not the last opportunity to register. N.C. Gen. Stat. 163-82.6B provides same-day registration: an eligible individual may register in person at an early voting site in their county of residence during the early voting period, provide proof of residence with a qualifying document, present photo identification, and vote a retrievable ballot immediately.
That statutory numbering changed recently and is a common source of error. Session Law 2023-140 rewrote 163-82.6A, which used to carry same-day registration, into a provision about address and name changes, and moved same-day registration to the new 163-82.6B. Sources published before 2024, including State Board guidance from 2016, cite the superseded section.
A substantial share of registration happens in the closing window.
| Window before election day | 2024 general: registrants | of whom voted | 2022 midterm: registrants | of whom voted |
|---|---|---|---|---|
| After the deadline (final 25 days) | 169,815 | 119,058 | 50,943 | 25,215 |
| 26-55 days | 170,794 | 137,828 | 42,024 | 28,709 |
| 56-92 days | 98,636 | 72,624 | 35,370 | 21,256 |
| 93-184 days | 143,965 | 98,008 | 68,851 | 40,110 |
Source: scripts/research/10-registration-timing.sql, run 2026-08-08.
In the six months before the 2024 general, 583,210 currently active voters registered, and 340,609 of them, or 58.4%, did so in the final 55 days. 169,815 registered after the books closed, and 119,058 of those cast a ballot.
Three caveats, all necessary. These counts include only voters still active today, so every cell is a lower bound. This is also the one analysis where the instability of registr_dt (Section 2.2) cannot be worked around, since the date is the measurement, so a voter who has moved counties since carries the wrong date. And the midterm column is much smaller than the presidential one in both registration and participation, which is the same pattern as everything else in this paper.
8. What a realistic win number looks like#
In a single-seat race decided between two candidates, a win number is half the votes that will actually be cast, plus one, and the honest version of that calculation produces a smaller number than most first-time candidates expect.
Every word of that qualifier is load-bearing, and the figures in this section should not be read without it.
North Carolina local generals are decided by plurality, not majority. Once a third candidate enters, the winning threshold falls below half, and it falls further with each additional candidate. Separately, several offices on this ballot are multi-seat: at-large county commission and school board seats elect two to six people at once, and 5,829 of 39,037 filings in the file, about 15 percent, sit in such a race. In a race electing three of seven, a candidate needs to place third, not to take half the vote. Voters in those races also cast up to as many votes as there are seats, so total votes cast and ballots cast are different quantities.
The table below therefore reports the number of votes that would win a countywide single-seat race outright against one opponent. It is an upper bound. For a plurality race with a larger field, or for any multi-seat race, the threshold is lower and this method does not compute it. Treat these as a scale-setting figure for what a countywide electorate looks like, not as a target for a specific seat.
The shipped engine has the same limitation and is being corrected; the vote_for seat count is present in the database and is not yet read by the projection. We disclose this rather than quietly excluding multi-seat races from the table, because the reader most likely to be running an at-large school board race is exactly the reader this section is for.
Our product computes the threshold as floor(projected_votes / 2) + 1, where projected_votes is the district's registration multiplied by a measured turnout rate: ballots actually cast over registration actually recorded, from a comparable prior election. There is no default turnout percentage anywhere in that engine. A race with no measurable comparable election gets no projection rather than a fabricated one.
We apply the same method here, at county scale, because countywide offices are the largest races on the 2026 ballot.
| County | Active registrants | Measured 2022 midterm rate | Projected ballots | Win number |
|---|---|---|---|---|
| Wake | 762,492 | 63.2% | 482,259 | 241,130 |
| Mecklenburg | 700,259 | 52.8% | 369,958 | 184,980 |
| Guilford | 333,562 | 55.6% | 185,485 | 92,743 |
| Alamance | 105,394 | 60.6% | 63,917 | 31,959 |
| Robeson | 64,205 | 44.9% | 28,801 | 14,401 |
| Nash | 62,726 | 58.9% | 36,923 | 18,462 |
| Chatham | 58,269 | 72.5% | 42,236 | 21,119 |
| Lee | 35,766 | 55.9% | 20,004 | 10,003 |
| Yancey | 12,558 | 68.6% | 8,617 | 4,309 |
| Tyrrell | 1,925 | 57.2% | 1,100 | 551 |
Source: scripts/research/11-win-number.sql, run 2026-08-08. The median North Carolina county has 31,734 active registrants.
Applying the pooled contested roll-off from Section 6 reduces these by about 1.4%: Wake's win number becomes 237,827, Lee's 9,865. We show that separately because the shipped engine does not apply a roll-off correction, and presenting it as though it did would misdescribe the product.
8.1 Uncertainty#
These are point estimates from a single observed election, and we can bound them only crudely.
A turnout rate requires both a ballot count and a matching registration denominator. The State Board published a registration snapshot for 2022-11-08 but not for 2018-11-06, so only one midterm rate is measurable. Our engine, given one observation, returns a single scenario and no conservative or optimistic case, because there is no observed range to draw one from. That absence is the correct output.
The one empirical statement these data support about how much a county's midterm participation moves between cycles is the ratio of its 2018 to its 2022 ballot volume.
| Statistic | Value |
|---|---|
| Statewide 2018 ballots | 3,754,027 |
| Statewide 2022 ballots | 3,789,795 |
| Statewide ratio | 0.991 |
| County ratio, 10th percentile | 0.931 |
| County ratio, median | 0.994 |
| County ratio, 90th percentile | 1.096 |
Source: scripts/research/12-midterm-volume-sensitivity.sql, run 2026-08-08.
Consecutive North Carolina midterms produce remarkably similar ballot volumes. Statewide, 2018 and 2022 differed by under 1%. For the middle 80% of counties, volume moved within roughly -7% to +10%.
Applying that range as a sensitivity band: Wake's projected 482,259 ballots becomes 448,983 to 528,556, and its win number 224,492 to 264,279. Lee's 20,004 becomes 18,624 to 21,924, and its win number 9,313 to 10,963.
This is a sensitivity range, not a confidence interval, and the distinction is not pedantry. It comes from a single pair of consecutive midterms, so it has no sampling distribution behind it. It absorbs registration change as well as turnout-rate change, so it is wider than a pure rate band. And it cannot anticipate a 2026 that differs from both 2018 and 2022 in some way these data have no view of.
We would rather publish a crude bound and label it than publish a precise-looking interval we cannot defend.
9. Limitations#
9.1 What the voter file cannot see#
It has no record of unregistered adults. Every rate in this paper is a share of registrants, never a share of eligible adults. A county with low registration and high turnout among registrants can look more participatory here than a county where the opposite is true.
It records registration, not vote choice. No table here shows how anyone voted, and none can.
Race and ethnicity are self-reported and optional. 587,818 active registrants are coded undesignated. The categories are the file's own and are not census categories.
9.2 Survivorship#
The registration file is a snapshot of who is registered now. Everyone who has died, moved out of state, or been removed since a past election is absent from it, and so their past ballots are absent from any cohort we build.
The expected direction of this bias is upward on every historical participation rate, since a registrant who remains on the rolls years later is more likely to have been participating than one who did not. We state the direction and cannot quantify it from these files. The bias grows with the age of the election, which is why the 2018/2020 replication in Section 4.4 is the weaker of the two measurements and why we present the pair as a bracket.
We cannot correct for this from these files. Doing so would require the historical registration files as they stood at each election, which we do not hold.
9.3 The file has been purged and re-added since every election it is compared against#
Related to, but distinct from, survivorship. The registration file is not a stable panel. Between the 2022 election and today, registrants were removed, others were added, and some were removed and re-registered. Our 2022-11-08 registration snapshot denominator is correct for that date, but the cohort we track through both elections is defined by the current file, so it is not the 2022 electorate as it existed.
9.4 Sensitivity to the eligibility rule#
Section 2.2 explains why we use a union rule rather than a registration-date filter. Under the naive registration-date-only rule, the cohort is 4,853,788, of whom 4,471,886 voted in 2024 and 3,307,077 in 2022, and 1,285,576 voted in the presidential election but not the midterm: 28.75% of 2024 voters, against our 30.1%.
The headline conclusion does not depend on the choice. The direction of the difference is as expected: the naive rule discards movers, who are less likely to have voted in the midterm.
9.5 Age bands conflate life-cycle and cohort#
Section 2.5 states the construction. We cannot say from these data whether under-35s participate less because they are young or because of something specific to this cohort. Both are documented mechanisms; separating them needs a design this paper does not have.
9.6 One election of results data#
Section 6 rests on the 2022 general alone, because that is the only election for which our results ingest completed. We do not know whether the contested-race roll-off figure is stable.
9.7 No district-level rates#
Section 2.6 explains why. Legislative redistricting between 2022 and 2024 makes district-level historical turnout unrecoverable from these files, and we publish none.
9.8 No causal claims, and no forecasts#
Restated because it is the limitation most likely to be violated by a reader in a hurry. This paper describes composition and association in administrative records. It does not explain why any group participates at the rate it does, and it does not predict any 2026 outcome.
10. What we could not answer#
Stated plainly, because a research program that only publishes what worked is not a credible one.
- Turnout by legislative district. Blocked by redistricting between the comparison elections; see Section 2.6.
- Whether roll-off is stable across cycles. Blocked by our own incomplete results ingest; see Section 1.3.
- Turnout as a share of eligible adults, rather than of registrants. The voter file contains no denominator for this, and we did not import an external population estimate for it.
- Whether registration growth reflects new voters or in-migration. The file's registration date is unstable across county moves (Section 2.2), so we cannot distinguish a new registrant from a mover.
- Any decomposition of the party drop-off gap into its age component and a residual. This needs a model whose assumptions we would have to defend, and this paper is descriptive by design.
- The 2018 turnout rate. No registration snapshot exists for that date; we can count 2018 ballots but cannot divide them by anything defensible.
11. Replication#
Every figure in this paper traces to a numbered query in scripts/research/. Each file records the date it was last run and the counts it returned, so a reader can confirm they have reproduced the universe before trusting the result. scripts/research/README.md carries a data dictionary for every field used.
| Section | Query |
|---|---|
| 1.2, 3 | 01-registration-composition.sql |
| 1.3 | 00-coverage.sql |
| 2.2, 9.4 | 03-eligibility-validity.sql |
| 3 | 02-registration-trend.sql |
| 4, 4.1-4.3 | 04-midterm-dropoff.sql |
| 4.4 | 05-dropoff-2018-2020.sql |
| 5 | 08-electorate-composition.sql |
| 5.1 | 06-participation-index.sql |
| 1.4, 8 | 07-county-turnout.sql |
| 6 | 09-rolloff.sql |
| 7 | 10-registration-timing.sql |
| 8 | 11-win-number.sql |
| 8.1 | 12-midterm-volume-sensitivity.sql |
The reference verification record, listing the URL retrieved for every citation and what it confirmed, is in references.md.
Because the source files are republished weekly, a re-run will not match these counts exactly. The load date for every figure here is 8 August 2026.
12. What this means for a campaign#
The analysis above is neutral and is meant to be checkable by anyone. This section is not neutral: it is written for progressive and Democratic candidates and campaign managers, which is who this platform serves. The numbers do not change depending on who is reading them, and they should not.
A campaign's picture of its electorate is built out of whatever data it can get, and the shape of that data shapes the strategy (Hersh 2015). That is a reason to be careful about what the file supports, which is why Section 9 is as long as it is.
Plan for the midterm electorate, not the one you remember. If your mental model of your county comes from 2024, it is wrong by about a third, and wrong in a structured way. The people missing are disproportionately under 45, disproportionately unaffiliated, and disproportionately voters of color. Whether those voters would support you is not something this file can tell you, and we are not going to pretend otherwise. What it does tell you is that they are the largest reachable block of people who have already demonstrated they will vote in a presidential year, and that they are the hardest to hold in a midterm.
Your persuasion universe is smaller than your turnout universe, and both are smaller than your voter file. 2,441,360 active registrants statewide have voted in all four of the last four generals. Those people will vote in November whatever you do. Your marginal return is concentrated in the band below them: registrants who voted in 2024 and skipped 2022, of whom there are 1,451,173 statewide.
Do not budget for ballot fatigue; budget for turnout. If your race is contested, roughly 98.6% of the people who cast a ballot will vote in it. Money spent making sure your name is recognized at the bottom of the ballot is worth less than money spent making sure a 2024-only voter shows up at all.
Know your county's own number. Statewide midterm turnout was 58.5%, but the county range is 44.9% to 72.9%. A field plan built on the state average will be materially wrong in about half the counties in North Carolina.
Register people now, and keep registering them through early voting. The book-closing deadline is 9 October 2026 and same-day registration runs through the early voting period. In 2024, 169,815 currently active voters registered after the deadline.
Getting your own numbers#
Everything above is statewide and county-level, and it is public. The county turnout query returns all 100 counties, and you can run it or read the figures in Section 8 without an account.
What requires an account is the layer below: your specific district rather than your county, your precinct-level participation history, your own filed opponents, and a win number computed for the exact seat you are running for rather than for a countywide average.
Competitive Campaigns is for Democratic and progressive candidates. We say that openly rather than burying it. We do not serve Republican or conservative campaigns.
Access is by approval, not by signup. Every account starts locked, a person reviews it, and we open it if you are running the kind of campaign we exist to serve. That is slower than a checkout page, and it is the trade we have chosen.
We are not affiliated with, endorsed by, or speaking for the Democratic Party, the North Carolina Democratic Party, any campaign, or the North Carolina State Board of Elections.
References#
Ansolabehere, Stephen, and Eitan Hersh. 2012. "Validation: What Big Data Reveal About Survey Misreporting and the Real Electorate." Political Analysis 20(4): 437-459. https://doi.org/10.1093/pan/mps023
Ansolabehere, Stephen, and Eitan D. Hersh. 2017. "ADGN: An Algorithm for Record Linkage Using Address, Date of Birth, Gender, and Name." Statistics and Public Policy 4(1): 1-10. https://doi.org/10.1080/2330443X.2017.1389620
Anzia, Sarah F. 2011. "Election Timing and the Electoral Influence of Interest Groups." The Journal of Politics 73(2): 412-427. https://doi.org/10.1017/S0022381611000028
Bernstein, Robert, Anita Chadha, and Robert Montjoy. 2001. "Overreporting Voting: Why It Happens and Why It Matters." Public Opinion Quarterly 65(1): 22-44. https://doi.org/10.1086/320036
Campbell, Angus. 1960. "Surge and Decline: A Study of Electoral Change." Public Opinion Quarterly 24(3): 397-418. https://doi.org/10.1086/266960
Campbell, James E. 1987. "The Revised Theory of Surge and Decline." American Journal of Political Science 31(4): 965-979. https://www.jstor.org/stable/2111231
Erikson, Robert S. 1988. "The Puzzle of Midterm Loss." The Journal of Politics 50(4): 1011-1029. https://doi.org/10.2307/2131389
Fraga, Bernard L. 2018. The Turnout Gap: Race, Ethnicity, and Political Inequality in a Diversifying America. Cambridge: Cambridge University Press. https://doi.org/10.1017/9781108566483
Hajnal, Zoltan, and Jessica Trounstine. 2005. "Where Turnout Matters: The Consequences of Uneven Turnout in City Politics." The Journal of Politics 67(2): 515-535. https://doi.org/10.1111/j.1468-2508.2005.00327.x
Hersh, Eitan D. 2015. Hacking the Electorate: How Campaigns Perceive Voters. New York: Cambridge University Press.
Jayaraman, Bhairavi, and Emma Marshall. 2024. "Who are North Carolina's Unaffiliated Voters? 2024 Update." Carolina Demography, University of North Carolina at Chapel Hill. https://carolinademography.cpc.unc.edu/2024/10/10/who-are-north-carolinas-unaffiliated-voters-2024-update/
Keith, Bruce E., David B. Magleby, Candice J. Nelson, Elizabeth Orr, Mark C. Westlye, and Raymond E. Wolfinger. 1992. The Myth of the Independent Voter. Berkeley: University of California Press.
Leighley, Jan E., and Jonathan Nagler. 2013. Who Votes Now? Demographics, Issues, Inequality, and Turnout in the United States. Princeton: Princeton University Press.
Silver, Brian D., Barbara A. Anderson, and Paul R. Abramson. 1986. "Who Overreports Voting?" American Political Science Review 80(2): 613-624. https://doi.org/10.2307/1958277
Wattenberg, Martin P., Ian McAllister, and Anthony Salvanto. 2000. "How Voting Is Like Taking an SAT Test: An Analysis of American Voter Rolloff." American Politics Quarterly 28(2): 234-250. https://doi.org/10.1177/1532673X00028002005
Wolfinger, Raymond E., and Steven J. Rosenstone. 1980. Who Votes? New Haven: Yale University Press.
Primary sources#
N.C. Gen. Stat. 163-82.6, "Acceptance of application forms." https://www.ncleg.gov/EnactedLegislation/Statutes/PDF/BySection/Chapter_163/GS_163-82.6.pdf
N.C. Gen. Stat. 163-82.6B, "Same-day registration." https://www.ncleg.gov/enactedlegislation/statutes/pdf/bysection/chapter_163/gs_163-82.6b.pdf
North Carolina State Board of Elections. Voter registration data. https://www.ncsbe.gov/results-data/voter-registration-data
North Carolina State Board of Elections. Voter history data. https://www.ncsbe.gov/results-data/voter-history-data
North Carolina State Board of Elections. 2022 general election turnout. https://www.ncsbe.gov/results-data/voter-turnout/2022-general-election-turnout
North Carolina State Board of Elections. 2024 general election turnout. https://www.ncsbe.gov/results-data/voter-turnout/2024-general-election-turnout
Data provenance. All figures derive from public files published by the North Carolina State Board of Elections, loaded 8 August 2026. Queries run 8 August 2026 and archived in scripts/research/. The State Board publishes the data; it did not produce, review, or endorse this analysis.
About this analysis. We work hard to get these numbers right. Every figure came out of a query we published alongside this paper, so anyone can run it again and get the same answer. We ran each one twice, and checked our totals against the ones the State Board publishes itself. Every source in the reference list was read before it was cited.
Data changes. The voter file is rewritten nightly, people register and move and are removed, and the State Board sometimes revises a file after publishing it. When a number here stops matching its source, we will update the analysis and say what moved.
This is our own work. It has not been through outside academic review, and we would rather say so plainly than leave you to guess. If you think something here is wrong, write to support@competitivecampaigns.com and we will look at it.