Press "Enter" to skip to content

Yes, the Polling Warning Signs Are Flashing Again

Ahead of the last presidential election, we created a website tracking the latest polls — internally, we called it a “polling diary.” Despite a tough polling cycle, one feature proved to be particularly helpful: a table showing what would happen if the 2020 polls were as “wrong” as they were in 2016, when pollsters systematically underestimated Donald J. Trump’s strength against Hillary Clinton.

The table proved eerily prescient. Here’s what it looked like on Election Day in 2020, plus a new column with the final result. As you can see, the final results were a lot like the poll estimates “with 2016-like poll error.”

2020 Polling Averages and Election Results

window.registerInteractive && window.registerInteractive(“100000008525045”);
if (!window.Promise || !window.fetch || !window.URL) {
document.write(”);
}

(function() {
window.NYTG = window.NYTG || {};
window.NYTG.ASSETS = “https://static01.nyt.com/newsgraphics/2022/09/08/nate-poll-charts/86f009a6ea5a3152c267993307bd9cb761114baa/”.slice(0, -1);
window.NYTG.BIG_ASSETS = “https://static01.nyt.com/newsgraphics/2022/09/08/nate-poll-charts/assets/”.slice(0, -1);

var supports_import = false;
var can_use_import = location.hostname.indexOf(‘preview.n’ + ‘yt.net’) == -1;
var shimport_url = window.NYTG.ASSETS + “/shimport@1.0.1.js”;
var shimport_promise;

try {
new Function(“if(0)import(”)”)();
supports_import = true;
} catch(e) { }

if (!can_use_import || !supports_import) {
shimport_promise = new Promise(function(fulfil, reject) {
var s = document.createElement(“script”);
s.src = shimport_url;
s.onload = function() {
fulfil(__shimport__);
};
s.onerror = reject;

document.head.appendChild(s);
});
}

window.NYTG.load = function(module) {
var url = new URL(module, location.href).href;

if (can_use_import && supports_import) {
return eval(“import(‘” + url + “‘)”);
} else {
return shimport_promise.then(function(shimport) {
return shimport.load(url);
});
}
};

// for –live
window.NYTG.subscribers = {};
window.NYTG.watch = function(url, cb) {
if (!window.NYTG.subscribers[url]) window.NYTG.subscribers[url] = [];
window.NYTG.subscribers[url].push(cb);
window.NYTG.load(url).then(cb);
};
}());





#g-charts-pres-box ,
#g-charts-pres-box .g-artboard {
margin:0 auto;
}
#g-charts-pres-box p {
margin:0;
}
#g-charts-pres-box .g-aiAbs {
position:absolute;
}
#g-charts-pres-box .g-aiImg {
position:absolute;
top:0;
display:block;
width:100% !important;
}
#g-charts-pres-box .g-aiSymbol {
position: absolute;
box-sizing: border-box;
}
#g-charts-pres-box .g-aiPointText p { white-space: nowrap; }
#g-charts-pres-335 {
position:relative;
overflow:hidden;
}
#g-charts-pres-335 p {
font-family:nyt-franklin,arial,helvetica,sans-serif;
font-weight:500;
line-height:32px;
height:auto;
opacity:1;
letter-spacing:0em;
font-size:15px;
text-align:left;
color:rgb(255,255,255);
top:1.2px;
position:static;
text-transform:none;
padding-bottom:0;
padding-top:0;
mix-blend-mode:normal;
font-style:normal;
}
#g-charts-pres-335 .g-pstyle0 {
font-weight:300;
line-height:16px;
height:16px;
font-size:13px;
text-align:center;
color:rgb(0,0,0);
top:1px;
position:relative;
}
#g-charts-pres-335 .g-pstyle1 {
font-weight:300;
color:rgb(0,0,0);
}
#g-charts-pres-335 .g-pstyle2 {
height:32px;
text-align:center;
position:relative;
}
#g-charts-pres-600 {
position:relative;
overflow:hidden;
}
#g-charts-pres-600 p {
font-family:nyt-franklin,arial,helvetica,sans-serif;
font-weight:500;
line-height:35px;
height:auto;
opacity:1;
letter-spacing:0em;
font-size:16px;
text-align:left;
color:rgb(255,255,255);
top:1.3px;
position:static;
text-transform:none;
padding-bottom:0;
padding-top:0;
mix-blend-mode:normal;
font-style:normal;
}
#g-charts-pres-600 .g-pstyle0 {
font-weight:300;
line-height:17px;
height:17px;
font-size:14px;
text-align:center;
color:rgb(0,0,0);
top:1.1px;
position:relative;
}
#g-charts-pres-600 .g-pstyle1 {
height:35px;
text-align:center;
position:relative;
}
#g-charts-pres-600 .g-pstyle2 {
font-weight:300;
line-height:32px;
color:rgb(0,0,0);
}

POLLING

LEADER

WITH 2016-LIKE

POLL ERROR

ACTUAL

RESULT

U.S.

Wis.

Mich.

Nev.

Pa.

Ariz.

Fla.

N.C.

Ga.

Ohio

Iowa

Texas

+8 Biden

+6 Biden

+4 Biden

+10 Biden

+4 Biden

+8 Biden

+4 Biden

+3 Biden

+6 Biden

+8 Biden

+2 Biden

+5 Biden

+1 Biden

+3 Biden

+1 Biden

+2 Biden

+3 Trump

+2 Biden

+3 Trump

+1 Trump

+2 Biden

+6 Trump

+8 Trump

+1 Trump

+5 Trump

+8 Trump

+2 Trump

+4 Trump

+6 Trump

POLLING

LEADER

WITH 2016-LIKE

POLL ERROR

ACTUAL

RESULT

+8 Biden

+6 Biden

+4 Biden

United States

Wisconsin

Michigan

Nevada

Pennsylvania

Arizona

Florida

North Carolina

Georgia

Ohio

Iowa

Texas

+10 Biden

+4 Biden

+8 Biden

+4 Biden

+3 Biden

+6 Biden

+8 Biden

+2 Biden

+5 Biden

+1 Biden

+3 Biden

+1 Biden

+2 Biden

+3 Trump

+2 Biden

+3 Trump

+1 Trump

+2 Biden

+6 Trump

+8 Trump

+1 Trump

+5 Trump

+8 Trump

+2 Trump

+4 Trump

+6 Trump

(function (containerId, opts) {
var nameSpace = opts.namespace || ”;
var containers = findContainers(containerId);
containers.forEach(resize);

function resize(container) {
var onResize = throttle(update, 200);
var waiting = !!window.IntersectionObserver;
var observer;
update();

document.addEventListener(‘DOMContentLoaded’, update);
window.addEventListener(‘resize’, onResize);

// NYT Scoop-specific code
if (opts.setup) {
opts.setup(container).on(‘cleanup’, cleanup);
}

function cleanup() {
document.removeEventListener(‘DOMContentLoaded’, update);
window.removeEventListener(‘resize’, onResize);
if (observer) observer.disconnect();
}

function update() {
var artboards = selectChildren(‘.’ + nameSpace + ‘artboard[data-min-width]’, container),
width = Math.round(container.getBoundingClientRect().width);

// Set artboard visibility based on container width
artboards.forEach(function(el) {
var minwidth = el.getAttribute(‘data-min-width’),
maxwidth = el.getAttribute(‘data-max-width’);
if (+minwidth = width || maxwidth === null)) {
if (!waiting) {
selectChildren(‘.’ + nameSpace + ‘aiImg’, el).forEach(updateImgSrc);
}
el.style.display = ‘block’;
} else {
el.style.display = ‘none’;
}
});

// Initialize lazy loading on first call
if (waiting && !observer) {
if (elementInView(container)) {
waiting = false;
update();
} else {
observer = new IntersectionObserver(onIntersectionChange, {});
observer.observe(container);
}
}
}

function onIntersectionChange(entries) {
// There may be multiple entries relating to the same container
// (captured at different times)
var isIntersecting = entries.reduce(function(memo, entry) {
return memo || entry.isIntersecting;
}, false);
if (isIntersecting) {
waiting = false;
// update: don’t remove — we need the observer to trigger an update
// when a hidden map becomes visible after user interaction
// (e.g. when an accordion menu or tab opens)
// observer.disconnect();
// observer = null;
update();
}
}
}

function findContainers(id) {
// support duplicate ids on the page
return selectChildren(‘.ai2html-responsive’, document).filter(function(el) {
if (el.getAttribute(‘id’) != id) return false;
if (el.classList.contains(‘ai2html-resizer’)) return false;
el.classList.add(‘ai2html-resizer’);
return true;
});
}

// Replace blank placeholder image with actual image
function updateImgSrc(img) {
var src = img.getAttribute(‘data-src’);
if (src && img.getAttribute(‘src’) != src) {
img.setAttribute(‘src’, src);
}
}

function elementInView(el) {
var bounds = el.getBoundingClientRect();
return bounds.top 0;
}

function selectChildren(selector, parent) {
return parent ? Array.prototype.slice.call(parent.querySelectorAll(selector)) : [];
}

// based on underscore.js
function throttle(func, wait) {
var timeout = null, previous = 0;
function run() {
previous = Date.now();
timeout = null;
func();
}
return function() {
var remaining = wait – (Date.now() – previous);
if (remaining wait) {
clearTimeout(timeout);
run();
} else if (!timeout) {
timeout = setTimeout(run, remaining);
}
};
}
})(“g-charts-pres-box”, {namespace: “g-“, setup: window.setupInteractive || window.getComponent});

NYTG.watch(‘https://static01.nyt.com/newsgraphics/2022/09/08/nate-poll-charts/86f009a6ea5a3152c267993307bd9cb761114baa/build/js/main.js’);
NYTG.load(‘https://static01.nyt.com/newsgraphics/2022/09/08/nate-poll-charts/86f009a6ea5a3152c267993307bd9cb761114baa/build/js/freebird.js’);

We created this poll error table for a reason: Early in the 2020 cycle, we noticed that Joe Biden seemed to be outperforming Mrs. Clinton in the same places where the polls overestimated her four years earlier. That pattern didn’t necessarily mean the polls would be wrong — it could have just reflected Mr. Biden’s promised strength among white working-class voters, for instance — but it was a warning sign.

That warning sign is flashing again: Democratic Senate candidates are outrunning expectations in the same places where the polls overestimated Mr. Biden in 2020 and Mrs. Clinton in 2016.

Wisconsin is a good example. On paper, the Republican senator Ron Johnson ought to be favored to win re-election. The FiveThirtyEight fundamentals index, for instance, makes him a two-point favorite. Instead, the polls have exceeded the wildest expectations of Democrats. The state’s gold-standard Marquette Law School survey even showed the Democrat Mandela Barnes leading Mr. Johnson by seven percentage points.

But in this case, good for Wisconsin Democrats might be too good to be true. The state was ground zero for survey error in 2020, when pre-election polls proved to be too good to be true for Mr. Biden. In the end, the polls overestimated Mr. Biden by about eight percentage points. Eerily enough, Mr. Barnes is faring better than expected by a similar margin.

The Wisconsin data is just one example of a broader pattern across the battlegrounds: The more the polls overestimated Mr. Biden last time, the better Democrats seem to be doing relative to expectations. And conversely, Democrats are posting less impressive numbers in some of the states where the polls were fairly accurate two years ago, like Georgia.

If you put this relationship on a chart — Beware, my editors have permitted me to include somewhat challenging scatterplots on occasion — you see a consistent link between Democratic strength today and polling error two years ago.

2022 Senate Polls and 2020 Polling Misses

Democratic Senate candidates are outrunning expectations in the same places where the polls overestimated Mr. Biden.

window.registerInteractive && window.registerInteractive(“100000008525049”);
if (!window.Promise || !window.fetch || !window.URL) {
document.write(”);
}

(function() {
window.NYTG = window.NYTG || {};
window.NYTG.ASSETS = “https://static01.nyt.com/newsgraphics/2022/09/08/nate-poll-charts/86f009a6ea5a3152c267993307bd9cb761114baa/”.slice(0, -1);
window.NYTG.BIG_ASSETS = “https://static01.nyt.com/newsgraphics/2022/09/08/nate-poll-charts/assets/”.slice(0, -1);

var supports_import = false;
var can_use_import = location.hostname.indexOf(‘preview.n’ + ‘yt.net’) == -1;
var shimport_url = window.NYTG.ASSETS + “/shimport@1.0.1.js”;
var shimport_promise;

try {
new Function(“if(0)import(”)”)();
supports_import = true;
} catch(e) { }

if (!can_use_import || !supports_import) {
shimport_promise = new Promise(function(fulfil, reject) {
var s = document.createElement(“script”);
s.src = shimport_url;
s.onload = function() {
fulfil(__shimport__);
};
s.onerror = reject;

document.head.appendChild(s);
});
}

window.NYTG.load = function(module) {
var url = new URL(module, location.href).href;

if (can_use_import && supports_import) {
return eval(“import(‘” + url + “‘)”);
} else {
return shimport_promise.then(function(shimport) {
return shimport.load(url);
});
}
};

// for –live
window.NYTG.subscribers = {};
window.NYTG.watch = function(url, cb) {
if (!window.NYTG.subscribers[url]) window.NYTG.subscribers[url] = [];
window.NYTG.subscribers[url].push(cb);
window.NYTG.load(url).then(cb);
};
}());





#g-charts-scatterplot-box ,
#g-charts-scatterplot-box .g-artboard {
margin:0 auto;
}
#g-charts-scatterplot-box p {
margin:0;
}
#g-charts-scatterplot-box .g-aiAbs {
position:absolute;
}
#g-charts-scatterplot-box .g-aiImg {
position:absolute;
top:0;
display:block;
width:100% !important;
}
#g-charts-scatterplot-box .g-aiSymbol {
position: absolute;
box-sizing: border-box;
}
#g-charts-scatterplot-box .g-aiPointText p { white-space: nowrap; }
#g-charts-scatterplot-335 {
position:relative;
overflow:hidden;
}
#g-charts-scatterplot-335 p {
font-family:nyt-franklin,arial,helvetica,sans-serif;
font-weight:300;
line-height:17px;
height:auto;
opacity:1;
letter-spacing:0em;
font-size:13px;
text-align:left;
color:rgb(0,0,0);
top:1px;
position:static;
text-transform:none;
padding-bottom:0;
padding-top:0;
mix-blend-mode:normal;
font-style:normal;
}
#g-charts-scatterplot-335 .g-pstyle0 {
line-height:16px;
height:16px;
letter-spacing:0.05em;
position:relative;
}
#g-charts-scatterplot-335 .g-pstyle1 {
line-height:16px;
height:16px;
position:relative;
}
#g-charts-scatterplot-335 .g-pstyle2 {
font-weight:500;
line-height:16px;
height:16px;
text-align:center;
color:rgb(51,51,51);
position:relative;
}
#g-charts-scatterplot-335 .g-pstyle3 {
line-height:16px;
height:16px;
text-align:center;
position:relative;
}
#g-charts-scatterplot-335 .g-pstyle4 {
height:17px;
text-align:center;
position:relative;
}
#g-charts-scatterplot-335 .g-pstyle5 {
height:17px;
letter-spacing:0.05em;
text-align:center;
position:relative;
}
#g-charts-scatterplot-600 {
position:relative;
overflow:hidden;
}
#g-charts-scatterplot-600 p {
font-family:nyt-franklin,arial,helvetica,sans-serif;
font-weight:300;
line-height:19px;
height:auto;
opacity:1;
letter-spacing:0em;
font-size:15px;
text-align:left;
color:rgb(0,0,0);
top:1.2px;
position:static;
text-transform:none;
padding-bottom:0;
padding-top:0;
mix-blend-mode:normal;
font-style:normal;
}
#g-charts-scatterplot-600 .g-pstyle0 {
height:19px;
letter-spacing:0.05em;
position:relative;
}
#g-charts-scatterplot-600 .g-pstyle1 {
line-height:18px;
height:18px;
position:relative;
}
#g-charts-scatterplot-600 .g-pstyle2 {
font-weight:500;
line-height:18px;
height:18px;
text-align:center;
color:rgb(51,51,51);
position:relative;
}
#g-charts-scatterplot-600 .g-pstyle3 {
line-height:18px;
height:18px;
text-align:center;
position:relative;
}
#g-charts-scatterplot-600 .g-pstyle4 {
height:19px;
text-align:center;
position:relative;
}
#g-charts-scatterplot-600 .g-pstyle5 {
height:19px;
letter-spacing:0.05em;
text-align:center;
position:relative;
}

2022 POLL AVERAGE RELATIVE TO EXPECTATIONS

+10 pts. more Dem. than ’20

Ohio

Fla.

Pa.

+5 pts.

Wis.

Ariz.

Ga.

N.C.

Nev.

−5 pts.

Colo.

−10 pts.

−5 pts.

5 pts.

10 pts.

Polls overstated

Trump support

POLLING MISS

IN 2020

Polls overstated

Biden support

2022 POLL AVERAGE RELATIVE TO EXPECTATIONS

+10 pts. more Dem. than ’20

Ohio

Fla.

Pa.

+5 pts.

Wis.

Ariz.

Ga.

N.C.

Nev.

−5 pts.

Colo.

−10 pts.

−5 pts.

5 pts.

10 pts.

Polls overstated

Trump support

Polls overstated

Biden support

POLLING MISS

IN 2020

(function (containerId, opts) {
var nameSpace = opts.namespace || ”;
var containers = findContainers(containerId);
containers.forEach(resize);

function resize(container) {
var onResize = throttle(update, 200);
var waiting = !!window.IntersectionObserver;
var observer;
update();

document.addEventListener(‘DOMContentLoaded’, update);
window.addEventListener(‘resize’, onResize);

// NYT Scoop-specific code
if (opts.setup) {
opts.setup(container).on(‘cleanup’, cleanup);
}

function cleanup() {
document.removeEventListener(‘DOMContentLoaded’, update);
window.removeEventListener(‘resize’, onResize);
if (observer) observer.disconnect();
}

function update() {
var artboards = selectChildren(‘.’ + nameSpace + ‘artboard[data-min-width]’, container),
width = Math.round(container.getBoundingClientRect().width);

// Set artboard visibility based on container width
artboards.forEach(function(el) {
var minwidth = el.getAttribute(‘data-min-width’),
maxwidth = el.getAttribute(‘data-max-width’);
if (+minwidth = width || maxwidth === null)) {
if (!waiting) {
selectChildren(‘.’ + nameSpace + ‘aiImg’, el).forEach(updateImgSrc);
}
el.style.display = ‘block’;
} else {
el.style.display = ‘none’;
}
});

// Initialize lazy loading on first call
if (waiting && !observer) {
if (elementInView(container)) {
waiting = false;
update();
} else {
observer = new IntersectionObserver(onIntersectionChange, {});
observer.observe(container);
}
}
}

function onIntersectionChange(entries) {
// There may be multiple entries relating to the same container
// (captured at different times)
var isIntersecting = entries.reduce(function(memo, entry) {
return memo || entry.isIntersecting;
}, false);
if (isIntersecting) {
waiting = false;
// update: don’t remove — we need the observer to trigger an update
// when a hidden map becomes visible after user interaction
// (e.g. when an accordion menu or tab opens)
// observer.disconnect();
// observer = null;
update();
}
}
}

function findContainers(id) {
// support duplicate ids on the page
return selectChildren(‘.ai2html-responsive’, document).filter(function(el) {
if (el.getAttribute(‘id’) != id) return false;
if (el.classList.contains(‘ai2html-resizer’)) return false;
el.classList.add(‘ai2html-resizer’);
return true;
});
}

// Replace blank placeholder image with actual image
function updateImgSrc(img) {
var src = img.getAttribute(‘data-src’);
if (src && img.getAttribute(‘src’) != src) {
img.setAttribute(‘src’, src);
}
}

function elementInView(el) {
var bounds = el.getBoundingClientRect();
return bounds.top 0;
}

function selectChildren(selector, parent) {
return parent ? Array.prototype.slice.call(parent.querySelectorAll(selector)) : [];
}

// based on underscore.js
function throttle(func, wait) {
var timeout = null, previous = 0;
function run() {
previous = Date.now();
timeout = null;
func();
}
return function() {
var remaining = wait – (Date.now() – previous);
if (remaining wait) {
clearTimeout(timeout);
run();
} else if (!timeout) {
timeout = setTimeout(run, remaining);
}
};
}
})(“g-charts-scatterplot-box”, {namespace: “g-“, setup: window.setupInteractive || window.getComponent});

NYTG.watch(‘https://static01.nyt.com/newsgraphics/2022/09/08/nate-poll-charts/86f009a6ea5a3152c267993307bd9cb761114baa/build/js/main.js’);
NYTG.load(‘https://static01.nyt.com/newsgraphics/2022/09/08/nate-poll-charts/86f009a6ea5a3152c267993307bd9cb761114baa/build/js/freebird.js’);

Larger circles represent states with more polls.

It raises the possibility that the apparent Democratic strength in Wisconsin and elsewhere is a mirage — an artifact of persistent and unaddressed biases in survey research.

If the polls are wrong yet again, it will not be hard to explain. Most pollsters haven’t made significant methodological changes since the last election. The major polling community post-mortem declared that it was “impossible” to definitively ascertain what went wrong in the 2020 election.

The pattern of Democratic strength isn’t the only sign that the polls might still be off in similar ways. Since the Supreme Court’s Dobbs decision on abortion, some pollsters have said they’re seeing the familiar signs of nonresponse bias — when people who don’t respond to a poll are meaningfully different from those who participate — creeping back into their surveys.

Brian Stryker, a partner at Impact Research (Mr. Biden is a client), told me that his polling firm was getting “a ton of Democratic responses” in recent surveys, especially in “the familiar places” where the polls have erred in recent cycles.

None of this means the polls are destined to be as wrong as they were in 2020. Some of the polling challenges in 2020 might have since subsided, such as the greater likelihood that liberals were at home (and thus more likely to take polls) during the pandemic. And historically, it has been hard to anticipate polling error simply by looking at the error from the previous cycle. For example, the polls in 2018 weren’t so bad.

Some pollsters are making efforts to deal with the challenge. Mr. Stryker said his firm was “restricting the number of Democratic primary voters, early voters and other super-engaged Democrats” in their surveys. The New York Times/Siena College polls take similar steps.

But the pattern is worth taking seriously after what happened two years ago.

With that in mind, here’s an update of the table from 2020, with the polling averages in nine states the Cook Political Report describes as competitive. If the polls are just as wrong as they were in 2020, the race for the Senate looks very different.

Senate Polling Averages in Competitive States

window.registerInteractive && window.registerInteractive(“100000008525047”);
if (!window.Promise || !window.fetch || !window.URL) {
document.write(”);
}

(function() {
window.NYTG = window.NYTG || {};
window.NYTG.ASSETS = “https://static01.nyt.com/newsgraphics/2022/09/08/nate-poll-charts/86f009a6ea5a3152c267993307bd9cb761114baa/”.slice(0, -1);
window.NYTG.BIG_ASSETS = “https://static01.nyt.com/newsgraphics/2022/09/08/nate-poll-charts/assets/”.slice(0, -1);

var supports_import = false;
var can_use_import = location.hostname.indexOf(‘preview.n’ + ‘yt.net’) == -1;
var shimport_url = window.NYTG.ASSETS + “/shimport@1.0.1.js”;
var shimport_promise;

try {
new Function(“if(0)import(”)”)();
supports_import = true;
} catch(e) { }

if (!can_use_import || !supports_import) {
shimport_promise = new Promise(function(fulfil, reject) {
var s = document.createElement(“script”);
s.src = shimport_url;
s.onload = function() {
fulfil(__shimport__);
};
s.onerror = reject;

document.head.appendChild(s);
});
}

window.NYTG.load = function(module) {
var url = new URL(module, location.href).href;

if (can_use_import && supports_import) {
return eval(“import(‘” + url + “‘)”);
} else {
return shimport_promise.then(function(shimport) {
return shimport.load(url);
});
}
};

// for –live
window.NYTG.subscribers = {};
window.NYTG.watch = function(url, cb) {
if (!window.NYTG.subscribers[url]) window.NYTG.subscribers[url] = [];
window.NYTG.subscribers[url].push(cb);
window.NYTG.load(url).then(cb);
};
}());





#g-charts-senate-box ,
#g-charts-senate-box .g-artboard {
margin:0 auto;
}
#g-charts-senate-box p {
margin:0;
}
#g-charts-senate-box .g-aiAbs {
position:absolute;
}
#g-charts-senate-box .g-aiImg {
position:absolute;
top:0;
display:block;
width:100% !important;
}
#g-charts-senate-box .g-aiSymbol {
position: absolute;
box-sizing: border-box;
}
#g-charts-senate-box .g-aiPointText p { white-space: nowrap; }
#g-charts-senate-335 {
position:relative;
overflow:hidden;
}
#g-charts-senate-335 p {
font-family:nyt-franklin,arial,helvetica,sans-serif;
font-weight:500;
line-height:32px;
height:auto;
opacity:1;
letter-spacing:0em;
font-size:15px;
text-align:left;
color:rgb(255,255,255);
top:1.2px;
position:static;
text-transform:none;
padding-bottom:0;
padding-top:0;
mix-blend-mode:normal;
font-style:normal;
}
#g-charts-senate-335 .g-pstyle0 {
font-weight:300;
line-height:16px;
height:16px;
font-size:13px;
text-align:center;
color:rgb(0,0,0);
top:1px;
position:relative;
}
#g-charts-senate-335 .g-pstyle1 {
font-weight:300;
line-height:35px;
color:rgb(0,0,0);
}
#g-charts-senate-335 .g-pstyle2 {
height:32px;
text-align:center;
position:relative;
}
#g-charts-senate-600 {
position:relative;
overflow:hidden;
}
#g-charts-senate-600 p {
font-family:nyt-franklin,arial,helvetica,sans-serif;
font-weight:500;
line-height:35px;
height:auto;
opacity:1;
letter-spacing:0em;
font-size:16px;
text-align:left;
color:rgb(255,255,255);
top:1.3px;
position:static;
text-transform:none;
padding-bottom:0;
padding-top:0;
mix-blend-mode:normal;
font-style:normal;
}
#g-charts-senate-600 .g-pstyle0 {
font-weight:300;
line-height:17px;
height:17px;
font-size:14px;
text-align:center;
color:rgb(0,0,0);
top:1.1px;
position:relative;
}
#g-charts-senate-600 .g-pstyle1 {
font-weight:300;
color:rgb(0,0,0);
}
#g-charts-senate-600 .g-pstyle2 {
height:35px;
text-align:center;
position:relative;
}

2022 SENATE

POLLING

LEADER

WITH

2020-LIKE

POLL ERROR

2020

PRES.

RESULT

Colo.

Pa.

Ariz.

Wis.

Nev.

Ga.

N.C.

Ohio

Fla.

+9 Dem.

+9 Dem.

+14 Dem.

+8 Dem.

+5 Dem.

+1 Dem.

+8 Dem.

+6 Dem.

+4 Dem.

+4 Rep.

+3 Dem.

+2 Dem.

+2 Dem.

+1 Dem.

+1 Dem.

+2 Rep.

+1 Rep.

+7 Rep.

+8 Rep.

+5 Rep.

+11 Rep.

+3 Rep.

2022 SENATE

POLLING LEADER

WITH 2020-LIKE

POLL ERROR

2020 PRES.

RESULT

Colorado

Pennsylvania

Arizona

Wisconsin

Nevada

Georgia

North Carolina

Ohio

Florida

+9 Democrat

+9 Democrat

+14 Democrat

+8 Democrat

+5 Democrat

+1 Democrat

+8 Democrat

+6 Democrat

+4 Democrat

+4 Republican

+3 Democrat

+2 Democrat

+2 Democrat

+1 Democrat

+1 Democrat

+2 Republican

+1 Republican

+7 Republican

+8 Republican

+5 Republican

+11 Republican

+3 Republican

(function (containerId, opts) {
var nameSpace = opts.namespace || ”;
var containers = findContainers(containerId);
containers.forEach(resize);

function resize(container) {
var onResize = throttle(update, 200);
var waiting = !!window.IntersectionObserver;
var observer;
update();

document.addEventListener(‘DOMContentLoaded’, update);
window.addEventListener(‘resize’, onResize);

// NYT Scoop-specific code
if (opts.setup) {
opts.setup(container).on(‘cleanup’, cleanup);
}

function cleanup() {
document.removeEventListener(‘DOMContentLoaded’, update);
window.removeEventListener(‘resize’, onResize);
if (observer) observer.disconnect();
}

function update() {
var artboards = selectChildren(‘.’ + nameSpace + ‘artboard[data-min-width]’, container),
width = Math.round(container.getBoundingClientRect().width);

// Set artboard visibility based on container width
artboards.forEach(function(el) {
var minwidth = el.getAttribute(‘data-min-width’),
maxwidth = el.getAttribute(‘data-max-width’);
if (+minwidth = width || maxwidth === null)) {
if (!waiting) {
selectChildren(‘.’ + nameSpace + ‘aiImg’, el).forEach(updateImgSrc);
}
el.style.display = ‘block’;
} else {
el.style.display = ‘none’;
}
});

// Initialize lazy loading on first call
if (waiting && !observer) {
if (elementInView(container)) {
waiting = false;
update();
} else {
observer = new IntersectionObserver(onIntersectionChange, {});
observer.observe(container);
}
}
}

function onIntersectionChange(entries) {
// There may be multiple entries relating to the same container
// (captured at different times)
var isIntersecting = entries.reduce(function(memo, entry) {
return memo || entry.isIntersecting;
}, false);
if (isIntersecting) {
waiting = false;
// update: don’t remove — we need the observer to trigger an update
// when a hidden map becomes visible after user interaction
// (e.g. when an accordion menu or tab opens)
// observer.disconnect();
// observer = null;
update();
}
}
}

function findContainers(id) {
// support duplicate ids on the page
return selectChildren(‘.ai2html-responsive’, document).filter(function(el) {
if (el.getAttribute(‘id’) != id) return false;
if (el.classList.contains(‘ai2html-resizer’)) return false;
el.classList.add(‘ai2html-resizer’);
return true;
});
}

// Replace blank placeholder image with actual image
function updateImgSrc(img) {
var src = img.getAttribute(‘data-src’);
if (src && img.getAttribute(‘src’) != src) {
img.setAttribute(‘src’, src);
}
}

function elementInView(el) {
var bounds = el.getBoundingClientRect();
return bounds.top 0;
}

function selectChildren(selector, parent) {
return parent ? Array.prototype.slice.call(parent.querySelectorAll(selector)) : [];
}

// based on underscore.js
function throttle(func, wait) {
var timeout = null, previous = 0;
function run() {
previous = Date.now();
timeout = null;
func();
}
return function() {
var remaining = wait – (Date.now() – previous);
if (remaining wait) {
clearTimeout(timeout);
run();
} else if (!timeout) {
timeout = setTimeout(run, remaining);
}
};
}
})(“g-charts-senate-box”, {namespace: “g-“, setup: window.setupInteractive || window.getComponent});

NYTG.watch(‘https://static01.nyt.com/newsgraphics/2022/09/08/nate-poll-charts/86f009a6ea5a3152c267993307bd9cb761114baa/build/js/main.js’);
NYTG.load(‘https://static01.nyt.com/newsgraphics/2022/09/08/nate-poll-charts/86f009a6ea5a3152c267993307bd9cb761114baa/build/js/freebird.js’);

The apparent Democratic edge in Senate races in Wisconsin, North Carolina and Ohio would evaporate. To take the chamber, Republicans would need any two of Georgia, Arizona, Nevada or Pennsylvania. With Democrats today well ahead in Pennsylvania and Arizona, the fight for control of the chamber would come down to very close races in Nevada and Georgia.

Regardless of who was favored, the race for Senate control would be extremely competitive. Republican control of the House would seem to be a foregone conclusion.

Be First to Comment

Leave a Reply

Your email address will not be published.