Don’t Use Red Waves To Model A Blue Wave: A 2026 US Elections Postmortem
Hyde T. Voltyge is a pseudonymous commentator and writer living in Virginia. He has followed politics and elections in particular for over a decade and actively engaged in election-watching communities such as ‘Election Twitter’ on social media sites since the summer of 2020. Hyde no longer posts on his Twitter handle of the same name, but instead can be found on Bluesky at @HydeVoltyge. He can also be reached at highvoltbattery4@gmail.com. Hyde does not make a secret of his political views but always tries for objectivity in his analysis and predictions.
Part I: Modeling The Midterm US House National Popular Vote From Off-Year Elections
I live in Virginia, and it’s just my sort of online bit that I would start my postmortem mentioning that fact. Virginia is rare among the US states — We have elections every single year. In the year before the midterm elections, commonly known as the ‘off-year’, we have our gubernatorial race as well as elections to our lower legislative chamber, the House of Delegates. I was recalling an election result that I found personally devastating some time back, the 2021 gubernatorial election, when I had a new thought about it. It is often said of Virginia gubernatorial races that they will consistently be won by the party out of power in Washington — This holds with accuracy since 1977’s election of Republican John Dalton during the term of President Carter with the sole exception of 2013, which saw Democrat Terry McAuliffe elected during the second term of President Obama. I turned this over in my mind, and I thought of the other truism that the midterm elections are typically a check or rebuke to the President and their governing partners. Was there a connection? Could I measure a consistent swing in the off-year elections between cycles and the midterm elections between their cycles?
My first calling in this world is not political science and I have a good amount of experience with coding mathematical methods in Python. One of the methods I am familiar with is calculating the next point along a curve that has been generated to fit a set of observations (data). I decided to cut off the data in use at 2008 — I had to start at a presidential election for reasons I’ll explain shortly, and I felt that anything more than 20 years old was too old by now to have predictive influence on the current electorate. Most of the children born in 2008 were just barely able to vote in this year, 2026. It was the first presidential election in decades with a blue Virginia, now a mainstay of modern politics! 2008 portended the final downward spiral of Southern Democrats and the general polarization of the nation accelerating into a somewhat recognizable form in the years to come, hidden behind President Obama’s immense electoral strength that was especially concentrated in the Midwest.
I needed a presidential election because I wanted a baseline number for how Virginia “should” vote at base. The famed Cook Partisan Voting Index (CPVI, PVI) measures an averaged margin of victory for one party or the other taken over the last two presidential elections. I do not like this measure: Too much can change in the span of a single election cycle to the partisan lean of a state, and averaging between a huge swing would just leave the state at a “base partisanship” as I’d call it that is some nonexistent hybrid of conditions that never actually existed. Why would I care about how a state voted in a nonexistent election? I reduced the number of data points by doing this, but in my view I cut out old, unusable statistics impacting the measure. So the HPI (Hyde Partisanship Index) is solely the partisan margin of the state in the most recent presidential election relative to the national popular vote. I wanted to know to start specifically where Virginia voted relative to the nation in 2008 and then on from there.
I started taking lists of election result numbers: Here are the national and Virginia popular vote margins for 2008, 2012, 2016, 2020, and 2024 ordered as lists for my usage. Note that positive margins correspond to Democratic margins of victory (in percentage points of the vote) while negative margins are Republican margins of victory, this is by a long-standing convention.
PresPV = [7.2, 3.86, 2.1, 4.5, -1.5]
VAPresPV = [6.3, 3.88, 5.32, 10.11, 5.78]I subtracted PresPV across the list from VAPresPV to find the HPI of Virginia for each presidential election. That gave [-0.9, 0.02, 3.22, 5.61, 7.28]. (Actual model uses some untruncated decimals here, artifacts of the way the code calculates the decimal places of the given margin, I have simplified them for convenience here).
As we can see, Virginia consistently shifted leftward to Democrats from 2008 to 2024. Now I had a baseline to account for Virginia’s lean compared to the nation, which did not consistently shift leftward in this period. With a starting point, now I needed the gubernatorial and midterm data.
GCB = [-6.8, -5.7, 8.6, -2.7]
VAGOV = [-17.36, 2.52, 8.91, -1.94, 15.36]
VAGOVold = [-17.36, 2.52, 8.91, -1.94]The GCB (generic congressional ballot) is a commonly used term in election analysis. I do not know who started using it, but it is the national popular vote for the US House. The second set of numbers are the gubernatorial margins for Virginia in 2009, 2013, 2017, 2021, and 2025. The third set is the same list without the 2025 number. This distinction will be important later.
VAGOVGCB = [y-x for x, y in zip(VAGOVold, GCB)]This is the next step, taking the gubernatorial results and adjusting them relative to the national House popular vote (GCB) for the corresponding midterm (one year after the gubernatorial).
list: VAGOVGCB
(4 items) [10.559999999999999, -8.22, -0.3100000000000005, -0.7600000000000002]
This is the result of that code. Excuse the decimals as I said, that’s just a Python artifact, nothing beyond the rounded hundredths place is relevant.
Get Hyde T. Voltyge’s stories in your inbox
Join Medium for free to get updates from this writer.
The first model curve fit for the GCB used these values. It returned… D+20.0688, and it had a very loose fit over time versus the midterm / off-year data points. I did not find a 20-point Democratic win in the House popular vote particularly likely. I knew this wasn’t the right way to do it yet. How could I fix the model and make it more responsive? I needed more data points, but what else could possibly fit with the Virginia gubernatorial elections? The other gubernatorial elections in the off-year, those of New Jersey, came to mind.
NJGOV = [-3.58, -22.11, 14.14, 3.22, 14.36]I took this data, and then summed the gubernatorial margins of victory together and divided by 2 for an “average” between the two states. At least the populations are kinda close in size…
I will add as a note here that I also liked the relatively decent demographic representativeness between Virginia and New Jersey, with a vast diversity of communities resembling some all across the United States, which in my mind lent at least a bit more credence to the numbers that would be found as plausibly representative of the voting trends of the nation as a whole. Between the two states, there are vast rural areas, sprawling suburbs, big cities, and everything in between, with many different communities in them. Most demographic groups whether by age, race, religion, or any other factor had at least somewhat decent representation — Emphasis on most. There was only going to be so much that I could account for in such a limited model as using just two states.
At this point in the process I was thinking of what the ideal number of variables to use for the curve fit would be — what degree of polynomial expression. I eventually went with quadratic, at beyond quadratic measures, human behavior is apparently modeled poorly. It would be overly responsive to anomalies at a cubic measure or higher degree, while a linear model is an oversimplification of a broad trend that I am looking at in the data set. It would be weird if the national vote corresponded perfectly linearly to an average of Virginia and New Jersey statewide results? That isn’t a thing that should be proportional! Meanwhile I can’t even begin to imagine how I would justify a jump in the curve for a cubic model to work, it’s just not shaped correctly. For what it’s worth, a linear model found D+9.4034, but the high variance relative to its data points made that unpromising in practice as well as theory (the fit curve, a line, was pretty far from the individual points).
Using this data on a quadratic model, the point D+13.533 (repeating 3s) was found. Now this is already an extremely good guess we now know! But I was unsatisfied that this was a thorough enough procedure. I’m taking a national House vote and comparing a handful of statewide elections to it, things that appear to be correlated but that have very different characteristics! If I was going to model human behavior well with this, I wanted a better model still. The distance of the points from the curve fit had gotten much, much better, so the quadratic fit seemed good.
What else could I do? I had the Virginia HPI numbers, so I decided to weight those and the New Jersey numbers with HPI values before fitting with a curve. So to recap, this was the presidential vote in each of Virginia and New Jersey in 2008, 2012, 2016, 2020, and 2024, subtracting the national presidential vote margin from each of them, then taking the resulting sets of five numbers each and averaging them by summing and dividing by 2. I then took the existing averages of the gubernatorial margins I had calculated, and subtracted these new HPI measures from them in order to weight the averaged gubernatorial margins to the national vote. What I did with this was essentially to weight the change in the vote in these two states versus the national GCB by the presidential lean of the states in the prior presidential election, hopefully accounting for my states being used being rather blue on the whole versus the nation.
The result was “Hyde’s Curve Fit #3” which indicated a D+13.7107% national GCB based on the averaged gubernatorial margin of 2025 weighted to the HPIs of Virginia and New Jersey, D+7.345. It’s a nicely fit graph with little distance between the fit and the points, it returned an answer that wasn’t absurd.
(No, I never found that number absurd, the GCB being higher than 2018 was a guarantee in my mind thanks to Trump’s approval rating and the economic factors both worsening, particularly his economic approval, there was the primary vote implying D+11, etc. More on this for another time!)
I have included a picture of the original graph of Curve Fit #3 which some of you will know from Bluesky, while also including a modified graph where the estimated GCB as of November 7th, 2026, D+14, is visible versus my model’s numbers. (It’s a little hard to see, but there’s a blue dot just above the final green dot, where the green X sits in the first image). The model only missed by 0.2893 points if we finish from here at an even D+14%. It might be a little higher, but I can live with that! Votes are still being counted and the projections are subject to change. This is the downside of writing this part first, so hopefully I don’t embarrass myself with the final margin being very different! The model worked incredibly well at an extremely low gap between its inputs and the returns versus the actual GCBs of 2010, 2014, 2018, 2022, and now 2026 most likely. This model was convincing enough for me along with some other factors I observed throughout the course of the election for me to push my longstanding call of a D+12–13 GCB to a D+14 prediction in October.
I hope you enjoyed this first installment! There’s a lot more for me to say, but it’s easier for me to put it all to writing this way.
Some of the topics to come include:
- The polling and what was going wrong with it
- A review of my own predictions and where I missed things
- A longer discussion specifically of my predictions around the Texas elections and why I particularly objected to the results indicated by polls there, with the final results vindicating my objections and being quite accurate to my Texas predictions and the national model here
- My broader thesis on electoral dynamics in the United States and namely how I connect the events of this year to some of the recent national elections in one narrative



