There are 6 main variables that make up my advanced polling average model:
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.
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.
To get the historic polling error, I take each state's 2016 and 2020 actual margin minus its polling average and get the average.
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.
To get betting odds, I use polymarket, because it is the only site with state-level odds.
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.
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.
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%)