Methodology paper · tensor-1.0.0
Vugol Tensor v1: an uncertainty model for polling error
Abstract
Election polls in the United States have erred in the same direction across many races in some years and in the opposite direction in others. Vugol Tensor v1 is a simple, fully published model of that error. Over 14 election cycles (1998–2024), the average miss in a competitive, polled race was about four points, the part of the miss shared by all races in a year had a standard deviation near 2.43 points, and no rule we tested for predicting its sign beat the plain poll average on held-out elections. Tensor therefore does not move any race toward either party. It keeps the Vugol Vector's margin as the centre of each race and adds a shared national error and a race-level error, then simulates the 2026 Senate, House and governor races. Its contribution is calibrated uncertainty: ranges that contained the true result about 89% of the time at a nominal 90%, against 42% for ranges built from sampling error alone.
1. Motivation
Polls understated Republican candidates in the presidential years 2016, 2020 and 2024, and in the 2014 midterms. They overstated them in 2012, and were close in 2018 and 2022. A reader who remembers the recent run can reasonably conclude that polls are biased against Republicans. The question for a forecasting model is narrower: can that sign be predicted before an election, and if not, how wide should the ranges be?
2. Data
We used the Silver Bulletin raw polls archive (12,306 rows, 1998–2024) and the FiveThirtyEight raw polls file (1998–2022), with certified results. The test set is head-to-head Democratic-versus-Republican polls by nonpartisan sponsors, fielded in the last 21 days, one value per pollster per race, at least two pollsters per race: 946 polled races for the 2002–2024 backtest. This sample is mostly competitive races, so statements here are about polled, contested races, not every race on the ballot. Sources, file hashes and code are published with this paper.
3. What the history shows
Error is the poll margin minus the result (Democratic minus Republican). Positive means the poll was too favorable to Democrats. Averages by cycle:
The mean of the 14 cycle means is +0.75 points (t = 1.06, indistinguishable from zero). Between-cycle SD is 2.43; within-cycle race-to-race SD is 4.84; the intraclass correlation is 0.20, meaning that a fifth of the variation in race errors is common to the whole cycle. The correlation between one cycle's miss and the next is about zero. These match independent work (Shirani-Mehr, Rothschild, Goel and Gelman, JASA 2018: total error roughly twice the stated margin, errors shared within an election; AAPOR task force reports for 2016, 2020 and 2024).
4. The model
For race r, with the Vugol Vector's Republican-minus-Democratic margin mr:
y_r = m_r + B + e_r B ~ N(0, 2.5²) shared by all races in a simulated election e_r ~ N(0, σ²) σ = 4.6 (verified-poll races), 6.9 (model-only races) total SD of one race margin = √(2.5² + 4.6²) = 5.24 90% range for one race = m_r ± 8.6 points
A race goes to the Republican when yr > 0. Chamber outcomes sum the races won plus seats not on the ballot, over 20,000 simulations with seed 20261103. Because B is shared, outcomes across races are correlated, which widens chamber ranges compared with treating races as independent. The model is a pure function in the open code base (tensor-1.0.0); the same inputs always give the same outputs.
The race-level error for model-only races (no verified poll) was not backtested. It is widened by a factor of 1.5 as an explicit assumption.
5. What did not work
Leave-one-cycle-out, 2002–2024. The plain poll average had a mean absolute error of 4.18 points. Shrinking toward the state's last presidential margin gave 4.07 (a gain of 0.11, 95% bootstrap interval −0.25 to +0.03, better in 10 of 12 held-out cycles); we judged that too weak to apply. A constant shift toward Republicans changed the error by +0.006 (interval −0.26 to +0.28) and won in 6 of 12 cycles. Carrying last cycle's miss forward, and a party-of-the-White-House term, were no better. A signed term for late-breaking news built from news-volume and tone data is not identifiable with about five usable cycles, and the best-known case (the 2016 letter) remains disputed in the literature. With about 14 independent cycles, neural networks, gradient boosting and naive Bayes would fit the past and fail in 2026, so none is used.
6. Limits
- The backtest covers polled, mostly competitive races, not the whole ballot.
- Leave-one-cycle-out trains on future cycles, which flatters any learned correction. It did not flatter the rules we tested, because none helped.
- Not tested: pollster and mode effects, regional covariance, fundamentals as drivers of the error, a late-news term.
- 2026 is a midterm; most of the evidence on direction comes from presidential years.
- The Silver Bulletin certified margins were not independently audited.
7. Evaluation, committed in advance
These parameters were fixed on 2026-10-15, before any 2026 result. After the November 3 election we will compare Tensor's ranges and chamber odds, the Vugol Vector and the plain poll average against certified results, and publish the full comparison, including misses, by December 15, 2026. A single election is one more data point; it can embarrass the model but cannot validate it.
Materials
Everything behind the numbers above, including the negative results, is public: verdict, full model specification, backtest, literature and evidence, late-news analysis, data inventory; code (backtest.py, bootstrap.py, late_shift.py); outputs (results, bootstrap, late shift); and the SHA-256 hashes of the two raw-poll files. The raw polls are not redistributed here: fetch them from the sources in the data inventory and check the hashes.
Cite as
Dhungana, S. (2026). Vugol Tensor v1: an uncertainty model for polling error (tensor-1.0.0). Vugol Me. https://vugol.me/tensor/paper
References
- Shirani-Mehr, H., Rothschild, D., Goel, S. and Gelman, A. (2018). Disentangling bias and variance in election polls. Journal of the American Statistical Association 113(522).
- AAPOR Task Forces on Pre-Election Polling: 2016, 2020 and 2024 reports (aapor.org).
- Silver Bulletin, raw polls archive. natesilver.net/p/pollster-ratings-archive-2025
- FiveThirtyEight, raw polls file, 1998–2022.
- Heidemanns, M., Gelman, A. and Morris, G. E. (2020). An updated dynamic Bayesian forecasting model for the US presidential election. Harvard Data Science Review.