Cory McCartan
banner
corymccartan.com
Cory McCartan
@corymccartan.com
Asst. Prof. of Statistics & Political Science at Penn State. I study stats methods, gerrymandering, & elections. Bayesian. Founder of UGSDW and proud alum of HGSU-UAW L. 5118.
corymccartan.com
IF it holds, this would net Dems 1.6 seats, on average, due to mid-decade redistricting (D+1 seat in a Dem-favoring environment)
November 18, 2025 at 6:52 PM
Net change in avg. Dem seats by state:
November 17, 2025 at 10:30 PM
D+8.5 (±2) would be 245 Dem seats on average
November 17, 2025 at 10:27 PM
Have updated my simple House model spreadsheet with currently enacted districting plans.

Net effect is R+0.4 seats on average (!), with actually a _Dem_ advantage past a D+8 national environment.

Copy, edit, & explore for yourself: tinyurl.com/cmchousemodel
November 17, 2025 at 10:22 PM
NYC precinct map: Mamdani now vs the primary

Purple = relative improvement vs primary
Orange = relative loss vs primary (e.g. GOP voters)

Takeaway? Mamdani improved significantly with Black voters since June! We see this in EI estimates as well: Mamdani likely won Black voters ~ 52/43 vs Cuomo
November 5, 2025 at 3:48 AM
Precinct-level NYC data: Mamdani exceeded our voterfile-based expectations, Cuomo slightly exceeded them; Sliwa fell way behind, especially in places he was expected to do well!
November 5, 2025 at 3:42 AM
In VA Gov precinct data, we are seeing a ~6pp shift on Spanberger vote share (y axis) versus 2024 president (x axis). Bit smaller in GOP precincts and bit larger in Dem precincts

cf an R+5.5 shift (on vote share) from Biden '20 to McAullife in '21
November 5, 2025 at 1:50 AM
Here at the CBS News data desk with @chriskenny.bsky.social and @simko.bsky.social! Looking at the VA numbers
November 5, 2025 at 12:55 AM
This election night I will be working the Data Desk at CBS News, focusing on the NYC mayoral race! Will try to post some things we are seeing in our precinct-level data and analyses, and maybe some cool maps like this one of Mamdani vs Harris support
November 4, 2025 at 6:07 PM
As we showed in our paper, `seine` can strongly outperforms existing methods, which generally do not control for covariates (or do not do so efficiently)
October 21, 2025 at 3:31 PM
Instead of a plot, you can also calculate a robustness value, which is a single-number summary of each estimand's sensitivity
October 21, 2025 at 3:31 PM
The fun does not stop there! `seine` lets you immediately turn around and conduct a sensitivity analysis on your estimates. The `ei_sens()` function returns a data frame with different sensitivity parameters and biases. By default this can be plotted! Benchmarking to observed covariates works too!
October 21, 2025 at 3:31 PM
The `ei_est()` function then does DML to estimate your main quantities of interest, and returns them in a tidy format.

You can subset to produce subgroup estimates, and estimate linear contrasts as well—all with proper uncertainty quantification
October 21, 2025 at 3:31 PM
Then you can quickly & easily fit a regression model and a Riesz representer to the EI specification

These are implemented efficiently with the SVD, and the penalty is tuned automatically for the regression model!
October 21, 2025 at 3:31 PM
You can then set up an EI specification which describes the problem and the covariates you will use.
October 21, 2025 at 3:31 PM
`seine` first helps you preprocess your data into a format suitable for applying EI. Any messiness with proportions not adding to 1, etc. is handled.
October 21, 2025 at 3:31 PM
A few weeks ago I shared a new WP on doing ecological inference—learning individual relationships from aggregate data, such as vote choice by race from precinct data.

Excited now to introduce `seine`, our open-source R package for doing EI easily and efficiently!

corymccartan.com/seine/
October 21, 2025 at 3:31 PM
The best news is that all of this is implemented in new software we've developed!

I will write more about this next week. I've worked hard to make it ergonomic & efficient!

corymccartan.com/seine/
September 26, 2025 at 7:42 PM
This also leads naturally to a sensitivity analysis that lets researchers evaluate how violations of the key identifying assumption affect their inferences. (Heavily based off of the "Long Story Short" paper by Chernozhukov et al)

We apply this to an air pollution example in the paper
September 26, 2025 at 7:42 PM
How to do estimation with many covariates? Building on DML and Riesz regression, we propose a semiparametrically efficient series estimator that estimates nuisance functions within a restricted partially linear function space. You can get a root-n rate on your main estimand under ~weak conditions!
September 26, 2025 at 7:42 PM
Take estimating vote choice by race, based on precinct data that have vote % and race % (but not both jointly).

We (@shirokuriwaki.bsky.social and I) show that to do EI, you have to believe that each group's preferences are independent of the racial makeup of the precinct, given covariates
September 26, 2025 at 7:42 PM
Very excited to share this week a new paper on EI that is two years in the making! What is EI? It's everywhere! EI is when you try to learn about individual relationships from aggregate data.

We formalize identification & propose an efficient, assumption-lean estimator!
September 26, 2025 at 7:42 PM
Dems gained about 4 seats, on average, from political geography shifts (which were much more extreme on the state level, but canceled nationally)

Plus another 2 from gerrymandering in blue states

But the price was fewer competitive seats, bc of polarization + gerrymandering
August 22, 2025 at 4:38 PM
Timely WP from our ALARM project team: we generated over 200k simulated maps for the 2010 cycle, to compare against our existing 2020 simulations. This lets us disentangle changes in gerrymandering from changes in political geography!

alarm-redist.org/papers/ggpre...
August 22, 2025 at 4:38 PM
Combining the TX and CA redistricting proposals in my simple house model (tinyurl.com/cmchousemodel - copy & edit!), the net effect is D+0.1 seats in a neutral year, with increasing D gains w/ national vote. Bit more responsiveness away from 50/50, too.

TX alone is R+2.1 seats, CA alone is D+2.2
August 17, 2025 at 7:09 PM