Methodology

There are 6 main variables that make up my advanced polling average model:

  1. Historic Trend
  2. Historic Polling Error
  3. Candidate Favorability
  4. Betting Odds
  5. Current Polling Averages
  6. Third Party Trend

Note: this model does not use any national polling data. It is exclusively state-by-state.

Let's go through each data point and see how it affects the model.

Historic Trend

To get the historic trend, I take the difference between the 2020 election state margins and the 2004 state margins and divide it by 5 to get the average trend on a per-election basis.

Historic Polling Error

To get the historic polling error, I take each state's 2016 and 2020 actual margin minus its polling average and get the average.

Candidate Favorability

To get each candidates favorability, I use civiqs, because, as far as I know, they are the only ones polling candidate favorability in every state.

Betting Odds

To get betting odds, I use polymarket, because it is the only site with state-level odds.

Current Polling Averages

To get current polling averages, I take the average of RealClearPolling and 270 to Win for each state. If the state does not have any polling data, I take the average of the 2016 and 2020 actual margins as well as polling averages.

Third Party Trend

Although RFK Jr. has dropped out of the race, he has had and will have a noticable effect on this race. In order to account for this, I took the 2020 third party vote share as a percent and subtracted it with the same data from 2016 to get the trend. I then added 10% to this number to account for RFK JR's impact.

Putting it all together

Here is the formula I use to calculate the expected margin for each state:

((((Polling Average * Historic Trend) + ((Betting Odds * (1 - Historic Trend)) * Absolute Value of Historic Polling Error) * 5) + ((Trump Favorability + Kamala Favorability + 15%) / 2)) / 6) + Polling Error + (Third Party Percent * 41%) - (Third Party Percent * 27%)