Chris Cooper's Avatar

Chris Cooper

@chriscooperwcu.bsky.social

Professor of Political Science & Public Affairs at Western Carolina University. American politics, state politics, North Carolina politics, southern politics, elections. Recent book: Anatomy of a Purple State (UNC Press 2024). http://www.chriscooperwcu.com

4,207 Followers  |  1,442 Following  |  1,341 Posts  |  Joined: 24.07.2023
Posts Following

Posts by Chris Cooper (@chriscooperwcu.bsky.social)

Post image

A couple of folks have asked whether Page or Berger could simply run again an independent. The answer is no.

For the history, see this clip from chapter 8 of Anatomy of a Purple State ‡️

#ncpol

04.03.2026 14:03 β€” πŸ‘ 4    πŸ” 2    πŸ’¬ 0    πŸ“Œ 1
Post image

Late night thoughts on the #ncpol primaries:

open.substack.com/pub/chriscoo...

04.03.2026 06:05 β€” πŸ‘ 13    πŸ” 1    πŸ’¬ 1    πŸ“Œ 2

Insane

04.03.2026 04:15 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

2 precincts left & a 172 vote margin. This is a fine print election: canvass and recounts are going to decide it--not whatever we see tonight.

#nc26 #ncpol

04.03.2026 03:45 β€” πŸ‘ 6    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0

Just going to put this right here for future reference.

#sd26 #recount

www.ncleg.net/enactedlegis...

04.03.2026 03:31 β€” πŸ‘ 7    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Back to the big one. Page up, but (and it's a big but), Rockingham has completely reported, Guilford has not.

Page is doing much better in Rockingham than Guilford.

#ncpol

04.03.2026 02:11 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 1    πŸ“Œ 2

Berger looking like he's doing well with Guilford early votes, as expected. No Rockingham votes thus far.

8:36 pm.

#ncpol #sd26

04.03.2026 01:37 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 2    πŸ“Œ 1
Post image

votes starting to populate in #ncpol

04.03.2026 01:34 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 0    πŸ“Œ 1

Have we ever done a live Substack before? No.

Do we know what we're doing? Arguably, also no.

Will it be fun to talk #ncpol with @bowtiepolitics.bsky.social you bet!

04.03.2026 00:05 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 1    πŸ“Œ 1

Curious what to watch in the NC primary tonight? I’ve got an election night cheat sheet at the bottom of this link ⬇️

It’s 4 pages and results will come in around 8:30, so if you read a page every 15 minutes, you’ll have time leftover for a nice evening run.

#ncpol

03.03.2026 22:50 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Make that around 8:30. Your thumbs can stand down until then

03.03.2026 20:56 β€” πŸ‘ 4    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
a shooting star with the words " the more you know " behind it ALT: a shooting star with the words " the more you know " behind it

A little after 7:30 pm, all of #ncpol will begin posting election results in progress

There is no secret portal to better or newer information. Everyone is just navigating to er.ncsbe.gov & pressing refresh as fast as their thumbs will allow

So, join the fun. No experience required.

03.03.2026 18:56 β€” πŸ‘ 13    πŸ” 2    πŸ’¬ 0    πŸ“Œ 1

Lack of space and the need to draw a line somewhere. Both are smart additions

03.03.2026 15:42 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

It's primary day in North Carolina!

To celebrate, here's some early voting data, some thoughts on the role of party elites in a primary, and & links (I know how to party). There's also a short guide to following tonight's primary linked towards the bottom

#ncpol
open.substack.com/pub/chriscoo...

03.03.2026 12:56 β€” πŸ‘ 13    πŸ” 2    πŸ’¬ 1    πŸ“Œ 1

#ncpol

03.03.2026 12:16 β€” πŸ‘ 13    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

PSA for #WNC skiers: it’s not too late to get a few turns in this year, as long as you’re ok skiing on mashed potatoes.

Alsoβ€”this is the time to get your season pass on for next year at Cataloochee

01.03.2026 21:05 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Thanks, Burial Beer for finding the beer name for this moment.

28.02.2026 23:32 β€” πŸ‘ 40    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

Feb. 28 🀏early voting update for #ncpol
πŸ—³οΈ ~622k ballots cast (99.8% accepted)
πŸ—³οΈ ~23% higher than 2022. U up the most, followed by D, then R
πŸ—³οΈ 55% of U voters choosing the D ballot w/ huge variation
πŸ—³οΈ #sd26: Rockingham continuing to dominate, but the gap is closing a little

28.02.2026 13:47 β€” πŸ‘ 9    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Addendum: The SD 26 graph is daily totals (not cumulative).

27.02.2026 16:35 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

All the usual stuff:
πŸ›‘ These data are useful for understanding, not predicting elections.
🀏 post tomorrow. Long Sunday.
πŸ”— I download these data from NCSBE and run the analysis, but if you want to click yourself to your own answers, see the John Locke Foundation's Vote tracker

(3/3)

27.02.2026 16:27 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Zoom in on #sd26
πŸ—³οΈ Rockingham voters make up 67% of Rep early votes thus far--far ahead of 2022 & of registered voters.
πŸ—³οΈ While Rockingham continues to punch well above its weight, the margin is beginning to shrink. Imp. to watch today & tomorrow. Conventional wisdom is Rockingham=good 4 Page (2/3)

27.02.2026 16:27 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

Early voting update for #ncpol
πŸ—³οΈ ~526k ballots cast/ ~1000 not accepted
πŸ—³οΈ ~24% higher than same day
πŸ—³οΈ Dems ⬆️ ~26% / Reps ⬆️ ~8% / Una⬆️ ~40%
πŸ—³οΈYesterday was the 1st day where 2022>2026

(1/3)

27.02.2026 16:27 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Preview
NC Early Voting Continues to Break the Script With the end of early voting this Saturday at 3 PM, NC's primary turnout is holding, Republicans haven’t closed the gap, and the real test now shifts to Election Day

Usual caveats + reading list:
πŸ›‘ ⬆️ useful for understanding, but not for forecasting elections.
🀏update tomorrow & Sat/Longer update Sunday.
πŸ“– @bowtiepolitics.bsky.social had a great post today on EV thus far ncpoliticscenter.substack.com/p/nc-early-v...

26.02.2026 18:00 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

#sd26
πŸ—³οΈ Thus far, the electorate is more Rockingham heavy than expected-69% of R votes are from Rockingham. In '22, 40% were from Rockingham*
πŸ—³οΈ Una. voters in Rockingham choosing the R primary 88% of the time/45% in Guilford portion of SD26

*2022 #s include election day

(2/2)

26.02.2026 18:00 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

Feb. 26 #ncpol early voting update.
πŸ—³οΈ ~476.5K ballot cast/~950 not accepted
πŸ—³οΈ ~58% of ballots cast in D primary/41% in R
πŸ—³οΈ ~42% of ballots cast by Dems/30% Una/28% R
πŸ—³οΈ ~29% ahead of 2022/~9% ahead of 2024

26.02.2026 18:00 β€” πŸ‘ 6    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0
Preview
In Eastland County, Texas, Republicans are scrambling to hand count primary ballots The local party’s decision to hand count election night ballots in the March 3 primary has led to major logistical problems and could make it harder for some to vote.

Eastland County Republicans in Texas voted to hand count all primary ballots. The move has led to logistical problems that election officials are scrambling to resolve.
www.votebeat.org/texas/2026/0...

25.02.2026 17:02 β€” πŸ‘ 2    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0

More mini-updates through Saturday. Long update Sunday.

Usual caveats:

πŸ›‘ These data are helpful for understanding elections, not predicting them.
πŸ›‘ I round because there is a small ammt of uncertainty/processing lag
πŸ›‘ Are these turnout patterns or early voting patterns? πŸ€·β€β™‚οΈ

3/3

25.02.2026 14:04 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Unaffiliated voters can choose their own partisan adventure in the #ncpol primaries. Thus far 55% of them are choosing the Dem ballot/45% the R ballot

But, there's a lot of variation in there. Ex.: In Rockingham Cnty, 88% are choosing the R ballot. In Durham, 92% the D

(2/3)

25.02.2026 14:04 β€” πŸ‘ 9    πŸ” 4    πŸ’¬ 2    πŸ“Œ 1
Post image Post image

Early voting update for #ncpol 2/25/26
πŸ—³οΈ ~ 420,700 ballots cast/99.8% accepted
πŸ—³οΈ ~ 59% of ballots cast in Dem primary/~ 41% in Rep
πŸ—³οΈ ~29% ⬆️ compared to 2022
πŸ—³οΈ Dems ⬆️ ~34%/ Reps ⬆️ ~9%/ Una⬆️ ~46%(!)

🀏 🧡 (1/3)

25.02.2026 14:04 β€” πŸ‘ 12    πŸ” 4    πŸ’¬ 1    πŸ“Œ 2

thanks! That was a fun one. thanks for listening.

24.02.2026 14:44 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0