Polling Averages

Polls & Trackers

Updated April 18, 2024 at 10:47 PM




What's this?

Welcome to the HenryDRiley.com polling averages and their index tool, which is designed to help you conveniently explore various polls and my polling averages for different races across the United States, drawing inspiration from FiveThirtyEight's poll browsing tool. Here's a more detailed guide on how to use it:

  1. Select the "Poll Type" from the first dropdown menu. You'll find several options such as Governor, President, Senate, and any other offices or kinds of polls that I currently have on the site. The poll type corresponds to the specific type of data or election you're interested in.

  2. Choose the race location from the second dropdown menu. This list contains all U.S. states/congressional districts that I currently have indexed in the polling averages, allowing you to select the geographic area you're interested in viewing polls for.

  3. Once you've made your selections, the election cycles (by year) will be displayed that correspond to the specific combination of the location, and poll type you've chosen. Click on your desired year to access a page with all the relevant polls related to your selected location and poll type. This page will also have my in-house polling average displayed in a chart and summary at the top.

  4. On the page, you'll find a comprehensive list of polls conducted by various polling agencies, along with details like sample size, FiveThirtyEight pollster rating, and dates. You can compare the polls, analyze trends, and gain insights into the political landscape of your chosen state and poll type.

By following these steps, you'll be able to quickly and easily navigate through the polls and my very own polling averages based on your preferences.


How are polling averages calculated?

Polling averages account for four main factors when determining the weight of each poll. Each poll is assigned a weight between 0 and 1, and that determines how much of the polling average is based on that particular poll. The four factors are described below.

  1. Recency: The model simply takes the "end date" of the poll, or the last date when the pollster collected responses, and then assigns it a weight based on recency. Polls surveyed a day ago from when you view the average are weighted the highest, and once they are several months old their weight declines. This changes automatically in real-time every calendar day to stay updated.

  2. Pollster Rating: This is simply an estimation of the pollster's overall quality/credbility on a 0-3 scale, and I rely on FiveThirtyEight's Pollster Ratings and simply match that rating to a weighting factor.

  3. LRAV: LRAV stands for Likely, Registered, Adult, or Voter, and this letter signifies what type of respondents the pollster targeted and interviewed. I give Likely Voters the highest weighting, followed by Registered, then Adults, then just Voters. I am looking into swapping Adults and Voters in the future, as that current ranking doesn't make much sense. The basic idea is that the opinion of people who actually say they will vote should count more than just a survey of adults, who may not vote.

  4. Sample Size: The final weighting attribute, this is exactly what it sounds like; the number of repsondents surveyed in each poll. The greater the sample size, the more representative of the voting population it should be, so higher numbers are weighted more here.

Once the current polling average is created by using the weighted average of all polls that are recent enough, the model then creates what I call a "Nowcast" for that specific race using the average. This process is described below.


How is the Nowcast created?

The Nowcast simply takes the current polling average, adjusts for undecided voters to estimate the voteshare, and then translates that into win probabilities.

  1. Adjusting for undecided voters: The model proportionally allocates the undecided percentage based on the assumption that if a candidate is leading 70-20%, the remaining 10% won't be split half and half, but more like 9% to the 70% and 1% to the 20.

  2. Converting to win probabilities: The model runs a Monte Carlo simulation with a standard deviation/possible polling error of 6%, (a typical polling error is 3-4%, so I allow for more uncertainty to be safer) and determines what percent of outcomes are wins for each candidate, giving their win probabilities.

  3. An important note: Due to limitations with the calculations, the nowcast may sometimes output a result of 100%-0%. A 100% chance should be treated as "virtually" guaranteed, and a 0% chance is "almost" impossible. Basically, think of it as 99.9%-0.1%, as nothing is certain. Additionally, when the polling average is at an exact tie, the code gets a little bit weird, and it may say that one party is leading but then the race rating favors the other party, or just have confusing outputs. If the average is a tie, the odds are 50-50.

Once the Nowcast probabilities and voteshares are final, they are imported into the main model.