SnoutCounter is a poll aggregation site compiling polling averages on figure approval, favorability, and electoral intent. It currently tracks presidential approval (including approval on specific issues), Congressional approval, SCOTUS approval, and generic ballot polling.
Methodology
SnoutCounter aggregates polling data via a weighted average. All polls included in the relevant dataset are included in the aggregation, with the exception of tracking polls and polls conducted by :banned pollsters. For overall presidential approval polling, the Silver Bulletin's dataset of approval polls are utilized. For approval polling on specific issues (e.g. the economy), I mostly rely on datasets constructed by RealClearPolling and Silver Bulletin, plus some polls collected by Polling USA (@usapolling.bsky.social). For congressional approval, Supreme Court approval, and generic ballot, I rely on polling datasets collected by Mary Radcliffe, a former Senior Research Assistant from 538. In the case that a poll has surveyed two samples of different population types (for example, one likely voter sample and one registered voter sample), we only use the results of one of these samples being surveyed. "All adult" samples are preferred to registered voter samples, and registered voter samples are preferred to likely voter samples, for the various job approval averages. When measuring job approval among registered voters, polls that draw from a sample of all adults, but include crosstab results for registered voters, are included - specifically the results for the registered voter sample. Our weights are determined by the following four factors:
- Sample size: Polls with higher sample size are more likely to accurately estimate the population parameter in question, and generally have less uncertainty than polls with smaller sample sizes. However, sample sizes are subject to diminishing returns - a poll with a sample size of 5000 won't much more accurate than one with a sample size of 3000. I cap sample size at 3000, to avoid polls with particularly large sample sizes from dominating the averages. The weight function I use is the square root of the sample size over the square root of the median sample size of all polls in the dataset - this is similar to the function used by :538 for their averages before they shut down.
- Pollster rating: Not all pollsters are created equal; some are more reliable in producing accurate and precise results than others. I use the Silver Bulletin's pollster ratings, specifically the predictive plus-minus, a measure of how accurate a pollster is expected to be, as the input for the pollster rating weight function. For predictive plus-minus, lower is better. Pollsters with a predictive plus-minus above 0.5 are assigned a flat weight of 0.2, and pollsters without a predictive plus-minus rating from Silver Bulletin are assigned a flat weight of 0.1. All other pollsters are assigned a weight according to an exponential function.
- Time since poll was conducted: Of course, polls which were conducted more recently are more likely to be reflective of the state of public opinion. I use two different weights for time: a "non-aggressive" linear function and an "aggressive" exponential function. The exponential function tends to assign lower weights to older polls than the exponential function. These two functions are then combined - for most averages, 10% of the weight is determined by the linear function, and the remaining 90% is determined by the exponential function. The exception is general presidential approval - due to the frequency with which job approval polls are conducted, I only use the expoential function for the time weight for the general job approval average.
- Population type: For approval polls, we want to accurately measure how the entire public is feeling about certain figures and institutions - this means general adult samples are more useful than registered voter and likely voter samples. This is especially the case given evidence of differential voting behavior when comparing high-propensity voters with low-propensity voters. Thus, for all averages except for generic ballot and presidential job approval among registered voters, polls utilizing registered voter and likely voter samples are assigned 80% and 60% the weight of a poll with a general adult sample, all else held equal. The inverse is true for generic ballot polling, which aims to measure voter intent - thus polls with registered voter and all adult samples are assigned 80% and 60% of the weight of a poll with a likely voter sample, all else held equal. For presidential job approval among registered voters, likely voter samples are valued over registered voter samples - all else held equal, polls with registered voter samples are given 80% the weight of those with likely voter samples.
There is one last step before the weighted average is calculated: the house effect adjustment. The house effects provided by the Silver Bulletin are utilized. For each poll, the house effect adjustment is made by simply adding/subtracting half the house effect to the measured approval/disapproval. The weighted standard deviation is also calculated for each day and used to determine :confidence intervals.
From all this, the final weight is calculated as the product of all four of these weights. Weights are then normalized to ensure they sum up to 1. The average is then calculated by taking the weighted average of poll results for each day.
Updates
- July 22, 2025: Added a new issue to issue-approval poll averages: healthcare policy.
- July 21, 2025: Added graphs measuring presidential job approval among registered voters.
- June 23, 2025: Started including polls from pollsters without a Silver Bulletin pollster rating. For these pollsters, a flat pollster quality weight of 0.1 is assigned.
- June 21, 2025: Unbanned McLaughlin, for similar reasons to the recent unbanning of other partisan pollsters. While McLaughlin is a particularly extreme case of partisanship, I am unaware of any significant methodological concerns beyond their bias, which can be rectified via house effect adjustment.
- June 20, 2025: Unbanned OnMessage Inc. and North Star from use by SnoutCounter averages, for similar reasons to the unbanning of Civiqs and co/efficient.
- June 17, 2025:
- Tweaked time weights for presidential approval polling (both overall and issue-specific) to be more aggressive. This should make the averages more responsive.
- Unbanned co/efficient and Civiqs from use by SnoutCounter averages. These are both partisan pollsters, whose partisan bias is already largely rectified via house effect adjustment, and there really isn't much wrong with these polling outfits besides the aforementioned partisanship.
- June 16, 2025: Slightly tweaked population type weighting for generic ballot polling. This would lead to slight decrease in weights for polls utilizing all adult samples.
- June 15, 2025: Added a "Featured Charts" section, so I can show other neat visualizations without cluttering up the main sections.
- May 31, 2025: Modified code for calculating population weights for generic ballot polling averages. As generic ballot polling aims to measure voting intent, it makes more sense to value LV > RV > A.
- May 20, 2025: Added a chart tracking net presidential approval rating.
- May 13, 2025: Added a new issue to issue-approval poll averages: trade and tariffs.
- May 10, 2025: Fixed bug in pipeline function that caused registered voter samples in polls to be chosen over all adult samples.
- April 19, 2025: Added chart showcasing net issue-specific approval ratings.
- April 18, 2025: Adjusted pollster quality weights to be slightly less aggressive, thus lowering the chance that an unduly small number of polls dominate the averages.
- April 17, 2025: Adjusted the linear time weight to be somewhat more aggressive. This helps averages be more responsive and less sluggish, especially the Congressional and SCOTUS approval averages.
Data Download
The polling data used for issue-specific presidential polling averages are available to download at this link. Data for all other averages can be downloaded from their respective sites, listed in the methodology.
Acknowledgments & Support
Data
Presidential approval polling and pollster rating data by Silver Bulletin (see here and here). Issue approval polls from RealClearPolling, Silver Bulletin, and Polling USA. Congressional approval, SCOTUS approval, and generic ballot polling from Mary Radcliffe.
Site Design Tools
Nutshell by Nicky Case.
California Gothic font by Matt Lag.
Support
If you want to, you can throw money at me on Ko-Fi.
:x banned pollsters
Some polling outfits are banned from use by SnoutCounter for aggregation. The following pollsters are banned from SnoutCounter for methodological misconduct, lack of methodological transparency, and/or other methodological issues.
- Rasmussen Reports
- Trafalgar Group
- TIPP Insights
- ActiVote
Additionally, the following pollsters are banned for having received an 'F' quality rating from the Silver Bulletin.
- Strategic Vision LLC
- Pharos Research Group
- Research 2000
- Big Data Poll
- Overtime Politics
- Rethink Priorities
- Blumenthal Research Daily
- CSP Polling
- KG Polling
- OurProgress (The Progress Campaign)
- TCJ Research
:x 538
RIP :(