Call
the Map
Forecast6 days out
← SenateNovember 3, 2026

New Hampshire · U.S. Senate

Chris Pappas is favored to keep New Hampshire’s Senate seat in Democratic hands. Predicted margin: D+4.9.

Chris Pappas (D)81 in 10051.047.3–54.7
John Sununu (R)19 in 10046.142.4–49.8

Under each share, its likely range (80 in 100 simulations)

Background

Open after Shaheen retired. Pappas is well-known statewide; the GOP got John E. Sununu, not the more popular Chris.

Lean DOpen seat

Forecast history

Steady-0.3 pts · Oct 26 → Oct 28New Hampshire U.S. Senate: steady — the published margin moved -0.3 points between the Oct 26 and Oct 28 editions (3 of 47 stored editions). This is movement of the published forecast between editions.
D+10D+5EVENAug 1Nov 3 · Election Day

Latest reading · Oct 28 · first published Sep 9 · 80% range · margin points R+2.5 to D+12.3. Methodology

 

About this series

Reconstructed with the current model Aug 1 – Sep 8 and Sep 16 – Sep 18; published readings Sep 9 – Oct 28. Each reconstructed day is the current model on that day’s own inputs, not a forecast published then. Corrections are dated in the changelog.

Faded: CTMM 2.2 reconstructed history: computed after the fact with each date's available polls and environment, without expert ratings; not an issued forecast. Issued forecasts begin at the launch marker.

CTMM 2.2 readings for 2026-09-16, 2026-09-17, 2026-09-18 were computed after the fact with each day's available inputs: no edition was issued on those days. Not an issued forecast.

Data table
DateMarginChance80% rangeReading
Oct 28D+4.9D win 80.9%R+2.5 to D+12.3Published forecast
Oct 27D+4.9D win 81.1%R+2.5 to D+12.3Published forecast
Oct 26D+5.2D win 82.3%R+2.2 to D+12.6Published forecast
Oct 25D+5.2D win 82.4%R+2.2 to D+12.6Published forecast
Oct 24D+5.3D win 82.6%R+2.1 to D+12.7Published forecast
Oct 23D+5.3D win 82.7%R+2.1 to D+12.7Published forecast
Oct 22D+5.3D win 82.5%R+2.1 to D+12.6Published forecast
Oct 21D+5.3D win 82.7%R+2.1 to D+12.7Published forecast
Oct 20D+5.3D win 82.8%R+2.1 to D+12.7Published forecast
Oct 19D+5.4D win 83.0%R+2.0 to D+12.7Published forecast
Oct 18D+5.4D win 83.1%R+2.0 to D+12.8Published forecast
Oct 17D+5.4D win 83.1%R+2.0 to D+12.8Published forecast
Oct 16D+5.4D win 83.2%R+2.0 to D+12.8Published forecast
Oct 15D+5.4D win 83.3%R+2.0 to D+12.8Published forecast
Oct 14D+5.5D win 83.4%R+1.9 to D+12.9Published forecast
Oct 13D+5.5D win 83.6%R+1.9 to D+12.9Published forecast
Oct 12D+5.6D win 83.8%R+1.8 to D+13.0Published forecast
Oct 11D+5.6D win 83.8%R+1.8 to D+13.0Published forecast
Oct 10D+5.6D win 84.0%R+1.8 to D+13.0Published forecast
Oct 9D+5.6D win 84.1%R+1.8 to D+13.0Published forecast
Oct 8D+5.7D win 84.2%R+1.7 to D+13.1Published forecast
Oct 7D+5.7D win 84.4%R+1.7 to D+13.1Published forecast
Oct 6D+4.9D win 80.6%R+2.6 to D+12.3Published forecast
Oct 5D+4.9D win 80.8%R+2.5 to D+12.3Published forecast
Oct 4D+4.9D win 81.0%R+2.5 to D+12.4Published forecast
Oct 3D+5.0D win 81.1%R+2.5 to D+12.4Published forecast
Oct 2D+5.0D win 81.2%R+2.4 to D+12.4Published forecast
Oct 1D+5.0D win 81.4%R+2.4 to D+12.5Published forecast
Sep 30D+5.1D win 81.6%R+2.4 to D+12.5Published forecast
Sep 29D+5.1D win 81.7%R+2.3 to D+12.5Published forecast
Sep 28D+5.1D win 81.7%R+2.3 to D+12.5Published forecast
Sep 27D+5.0D win 81.3%R+2.4 to D+12.5Published forecast
Sep 26D+5.0D win 81.3%R+2.4 to D+12.5Published forecast
Sep 25D+5.1D win 81.4%R+2.4 to D+12.5Published forecast
Sep 24D+4.5D win 78.2%R+3.2 to D+12.2Published forecast
Sep 23D+4.5D win 78.4%R+3.1 to D+12.2Published forecast
Sep 22D+4.6D win 79.0%R+3.0 to D+12.2Published forecast
Sep 21D+4.6D win 79.0%R+3.0 to D+12.2Published forecast
Sep 20D+4.6D win 79.1%R+3.0 to D+12.2Published forecast
Sep 19D+4.7D win 79.3%R+2.9 to D+12.2Published forecast
Sep 18D+4.7D win 79.7%R+2.8 to D+12.2Reconstructed with the stated inputs
Sep 17D+3.6D win 72.7%R+4.4 to D+11.7Reconstructed with the stated inputs
Sep 16D+3.7D win 72.9%R+4.4 to D+11.7Reconstructed with the stated inputs
Sep 15D+4.7D win 77.0%R+3.8 to D+13.2Published forecast
Sep 14D+4.8D win 77.3%R+3.7 to D+13.3Published forecast
Sep 13D+4.8D win 77.3%R+3.7 to D+13.3Published forecast
Sep 12D+4.8D win 77.5%R+3.7 to D+13.3Published forecast
Sep 11D+4.0D win 73.2%R+4.6 to D+12.7Published forecast
Sep 10D+4.0D win 73.3%R+4.6 to D+12.7Published forecast
Sep 9D+3.9D win 72.7%R+4.7 to D+12.5Published forecast
Sep 8D+6.2D win 84.4%R+1.8 to D+14.2Reconstructed with the stated inputs
Sep 7D+6.2D win 84.5%R+1.8 to D+14.2Reconstructed with the stated inputs
Sep 6D+6.2D win 84.7%R+1.7 to D+14.2Reconstructed with the stated inputs
Sep 5D+6.2D win 84.8%R+1.7 to D+14.2Reconstructed with the stated inputs
Sep 4D+6.3D win 84.9%R+1.7 to D+14.2Reconstructed with the stated inputs
Sep 3D+6.3D win 85.1%R+1.6 to D+14.2Reconstructed with the stated inputs
Sep 2D+6.3D win 85.2%R+1.6 to D+14.2Reconstructed with the stated inputs
Sep 1D+9.0D win 92.8%D+1.2 to D+16.9Reconstructed with the stated inputs
Aug 31D+9.1D win 92.9%D+1.3 to D+16.9Reconstructed with the stated inputs
Aug 30D+9.1D win 92.9%D+1.3 to D+16.9Reconstructed with the stated inputs
Aug 29D+9.1D win 93.0%D+1.4 to D+16.9Reconstructed with the stated inputs
Aug 28D+9.1D win 93.1%D+1.4 to D+16.9Reconstructed with the stated inputs
Aug 27D+9.1D win 93.2%D+1.4 to D+16.9Reconstructed with the stated inputs
Aug 26D+8.1D win 90.9%D+0.4 to D+15.9Reconstructed with the stated inputs
Aug 25D+9.8D win 93.9%D+1.9 to D+17.8Reconstructed with the stated inputs
Aug 24D+6.6D win 85.5%R+1.5 to D+14.7Reconstructed with the stated inputs
Aug 23D+6.6D win 85.7%R+1.5 to D+14.7Reconstructed with the stated inputs
Aug 22D+6.6D win 85.8%R+1.4 to D+14.7Reconstructed with the stated inputs
Aug 21D+6.4D win 84.0%R+2.0 to D+14.7Reconstructed with the stated inputs
Aug 20D+6.4D win 84.2%R+2.0 to D+14.7Reconstructed with the stated inputs
Aug 19D+6.0D win 81.8%R+2.7 to D+14.7Reconstructed with the stated inputs
Aug 18D+6.0D win 82.0%R+2.7 to D+14.8Reconstructed with the stated inputs
Aug 17D+6.1D win 82.1%R+2.6 to D+14.8Reconstructed with the stated inputs
Aug 16D+6.1D win 82.3%R+2.6 to D+14.8Reconstructed with the stated inputs
Aug 15D+6.2D win 82.5%R+2.5 to D+14.8Reconstructed with the stated inputs
Aug 14D+6.1D win 82.5%R+2.5 to D+14.8Reconstructed with the stated inputs
Aug 13D+6.2D win 82.7%R+2.4 to D+14.8Reconstructed with the stated inputs
Aug 12D+6.2D win 82.9%R+2.4 to D+14.8Reconstructed with the stated inputs
Aug 11D+6.2D win 83.1%R+2.3 to D+14.8Reconstructed with the stated inputs
Aug 10D+6.3D win 83.3%R+2.3 to D+14.8Reconstructed with the stated inputs
Aug 9D+6.3D win 83.4%R+2.2 to D+14.8Reconstructed with the stated inputs
Aug 8D+6.3D win 83.6%R+2.2 to D+14.8Reconstructed with the stated inputs
Aug 7D+6.4D win 83.8%R+2.1 to D+14.9Reconstructed with the stated inputs
Aug 6D+6.3D win 83.7%R+2.1 to D+14.8Reconstructed with the stated inputs
Aug 5D+6.4D win 83.9%R+2.1 to D+14.8Reconstructed with the stated inputs
Aug 4D+6.4D win 84.0%R+2.0 to D+14.8Reconstructed with the stated inputs
Aug 3D+6.4D win 84.2%R+2.0 to D+14.8Reconstructed with the stated inputs
Aug 2D+6.4D win 84.3%R+1.9 to D+14.8Reconstructed with the stated inputs
Aug 1D+6.5D win 84.5%R+1.9 to D+14.8Reconstructed with the stated inputs

The polls

Poll average D+5.4A poll’s weight halves every 60 days and grows with its sample. Each pollster counts once, at its best release. Every poll counts at its published margin, sponsored or not.In Senate races the forecast then counts a poll sponsored by a party or campaign at a quarter of its weight and moves its margin 2 points against that party, which puts the average it reads at D+5.7. It then applies a fitted correction of 1.6 points toward Republicans for Senate races, measured from past polling error, before blending it with its other evidence.31 recorded polls · 28 in the poll average

FieldworkAddedPollsterResultSample
from 2026-10-202d agoRasmussen Reports (R) ↗D+6.0D 50% · R 44%970 LV
from 2026-10-022d agoRasmussen Reports (R) ↗D+5.0D 49% · R 44%979 LV
from 2026-10-196d agoSt. Anselm ↗D+7.0D 50% · R 43%1,672 LV
from 2026-10-08National Public Affairs ↗D+5.0D 50% · R 45%600 LV
from 2026-09-08Rasmussen Reports (R) ↗D+11.0D 45% · R 34%1,000 LV
from 2026-09-28YouGov ↗D+8.0D 51% · R 43%1,519 LV
from 2026-09-28St. Anselm ↗AARPD+7.0D 51% · R 44%1,042 LV
from 2026-09-26Trafalgar Group ↗D+6.9D 47.4% · R 40.5%1,082 LV
Explore each poll’s weight in the average

8 of 31 matching · 31 total

Poll average D+5.4

Rasmussen Reports (R)23 Oct · 970 LV · added 27 Oct
St. Anselm20 Oct · 1,672 LV · added 23 Oct
National Public Affairs12 Oct · 600 LV · added 20 Oct
YouGov5 Oct · 1,519 LV · added 7 Oct
Rasmussen Reports (R)4 Oct · 979 LV · added 27 Oct
St. Anselm29 Sep · 1,042 LV · added 6 Oct
Trafalgar Group27 Sep · 1,082 LV · added 28 Sep
The New York Times/Siena University22 Sep · 613 LV · added 24 Sep
Explore all 31 polls for this race

How the margin was built

Tap an input for its calculation and source.

Toward D+14.5
Toward R−9.6
Forecast marginD+4.9

Displayed values are rounded.

All calculations & sources

How this state voted, 2024 +2.790 points

The state's presidential margin in 2024 as a share of all votes cast, from our own county sums — the same measurement the model's statewide terrain center is built from. Every pull below is measured from here, not from EVEN, which is why a landslide seat's listed pulls are small numbers and still land where the forecast does.

  • 2024 presidential result for this state, as a share of all votes cast, from Call the Map's own county sums.
  • Same source as Act I's 2024-president reference mark, so the origin lands on it.

Fitted model, above the terrain shown +7.848 points

What the fitted model adds on top of the starting terrain above — incumbency, past results, campaign finance and the other fitted terms — measured from that terrain rather than from EVEN. It is a comparison with the starting point already shown, not a separate input. The source detail lists the variables the fit uses.

  • Fitted baseline 10.638 minus starting point 2.790 = 7.848 points.
  • For orientation, the presidential results here: 2024 D+2.8, 2020 D+7.4.
  • The work: the +10.6 D fundamentals push is the sum of the dynamic formula's surviving variables for this race — each one's own contribution is listed below.
  • fundamentals core = 25-term dynamic formula (mass fit over the master feature matrix, held-out-cycle validated; see matrix/feature_dictionary.md + mass_fit_report.json)
  • 9-term formula, held-out validated.

National environment +3.187 points

The contribution to this race’s margin, not the national polling margin itself. The race’s loading, reference level and polling blend determine how much of the national climate reaches its final forecast.

  • Three-source blend, updated 2026-10-14: 53% generic-ballot aggregates (D+7.7) · 28% special-election overperformance (D+9.0 across 46 specials) · 20% approval-implied (D+9.1 from net approval -24.3).
  • Latest polls — generic ballot 2026-10-14 (14 days old), approval 2026-10-14 (14 days old).
  • Generic-ballot average D+7.7 · support factor 0.87 (the share of that channel's capacity the admitted polls carry) — separate inputs; their product is a capacity diagnostic, not a margin.
  • Weights are the 55/25/20 capacities scaled by each channel's evidence and renormalized, so thin polling widens the interval instead of pulling the center toward zero — 12% of the weight is carried that way.
  • Blended national environment: D+8.3.
  • Applied at full strength to this chamber's races.
  • This step’s recorded contribution to the margin is +3.2 D.
  • Blended national environment: D+8.3 (updated 2026-10-14).
  • Effective poll weight 88%; fundamentals share 12%, carried by the interval (×1.06) rather than by the center.
  • The support factor is the share of the generic-ballot capacity the admitted polls carry; average × support is a capacity diagnostic, not a margin, and is not what the row above multiplies.
  • Applied at full strength to this chamber: +3.2 of this margin.

Structural safeguards +0.672 points

Bounded corrections that keep the model consistent with structural facts.

  • Applied only when a safe state's dynamic fundamentals point in the same direction as its strong presidential lean but are materially compressed toward zero.
  • The 25% correction toward that lean improved safe-race MAE in strict expanding-window validation without changing a historical call.
  • The disclosed adjustment is +0.7 D.

This race’s polls −9.450 points

What this race’s own recent polling adds beyond its prior. The forecast weights each poll for recency and sample size and counts each pollster once; the weights listed here are those of the polls’ own average.

  • Rasmussen Reports (R) (2026-10-23, n=970): D+6.0 · weight 0.80 in the poll average
  • St. Anselm (2026-10-20, n=1,672): D+7.0 · weight 0.91 in the poll average
  • National Public Affairs (2026-10-12, n=600): D+5.0 · weight 0.55 in the poll average
  • YouGov (2026-10-05, n=1,519): D+8.0 · weight 0.77 in the poll average
  • Rasmussen Reports (R) (2026-10-04, n=979): D+5.0 · weight 0.65 in the poll average
  • St. Anselm (2026-09-29, n=1,042): D+7.0 · weight 0.63 in the poll average
  • … and 25 more below.
  • Poll average D+5.4, from 28 polls · 31 recorded polls. This is the polls’ own average, each poll at its published margin, the figure this page’s poll summary shows. In Senate races the forecast then counts a poll sponsored by a party or campaign at a quarter of its weight and moves its margin 2 points against that party, which puts the average it reads at D+5.7. It then applies a fitted correction of 1.6 points toward Republicans for Senate races, measured from past polling error, before blending it with its other evidence. The forecast gives the polls 98% of the weight against its structural prior for this race, which moves the margin 9.4 points toward Republicans from where it stood before the polls. Eligible polls: latest poll: 2026-10-23 (5 days old).

Votes for other candidates −0.144 points

Every step above is measured between the two major-party candidates alone, as if nobody else were on the ballot. The forecast sets 2.9% of the vote aside for other candidates and write-ins, so as a share of every vote cast the gap between the two is smaller by that much. This step is exactly that: the two-party margin times the share going to other candidates. It is the same arithmetic that turns the two-party margin into the two shares printed at the top of the page.

The components this edition publishes for this race, in points. “Other factors” closes the sum to the two-party structural lean exactly. The margin the page prints is a share of every vote cast, so the “Votes for other candidates” row carries the exact difference between the two-party lean and that margin; with it, the walk sums to the printed margin exactly.

Named factorContribution
FundamentalsThe admitted fitted baseline. Its surviving variables differ by office; the source detail above identifies those used for this race.+10.64
This race's pollsAdmitted head-to-head polls of this race, recency- and quality-weighted.−9.45
National environmentThe national environment’s contribution to the prior. Polling can attenuate its influence; this value is not the national polling margin.+3.19
Structural terrain safeguardA bounded pull toward presidential terrain in heavily partisan states.+0.67
Other factors0.00

Where the votes are

The map of this race loads here.

Recent elections

ElectionResultVotes cast
2020 · U.S. Senate ↗D+15.6795,914
2014 · U.S. Senate ↗D+3.2488,159
2008 · U.S. Senate ↗D+6.3694,787
2002 · U.S. Senate ↗R+4.4447,135

Margins are the Democrat’s share of all votes cast minus the Republican’s.

The money

The tick marks cash on hand. A missing filing stays blank rather than becoming $0.

One more fundraising reportCall the Map · $325

The candidates are comfortably out-fundraising the website covering them. A little rude, perhaps, but statistically unsurprising.

Received so far
$325
Measured compute
$26,188.58

Ko-fi and Buy Me a Coffee supports are counted as each one arrives. Measured compute prices model runs at standard published API rates; it is not what I paid. Hosting, data and subscriptions, the domain and my own time are not counted. Donations buy gratitude, never a forecast adjustment.

Supporters are listed by first name and last initial; a username alone is shortened to its first eight characters. Want your full name shown? Say so in your message. Give privately, or leave the name blank, and you are listed as Anonymous, with the platform and date. Supporters who give a name may also be thanked by name in the newsletter.

Thank you to Tom H., ColoradoFlyer, Chris, EW, gbaileym…, True Independent, MT V., JBL, Erin G., Caroline M., Melanie, MKV and 7 more.

See the public support ledger →

Outside spending

Separate from what the campaigns raised

For and against Chris Pappas$24.3M

12 spending groups
GroupForAgainst
NO GOING BACK PAC INC.$0$7.6M
SLF PAC$0$7.3M
Americans for Prosperity Action, Inc. (AFP Action) DBA CVA Action and DBA LIBRE Action$0$6.1M
The Sentinel Action Fund$0$953K
WinSenate$794K$0
America PAC$0$756K
Americas Credit Unions$358K$0
AB PAC$169K$0
Equality PAC$165K$0
Defend The Vote$100K$0
THE CONSERVATIVE CAUCUS DBA AMERICANS FOR CONSTITUTIONAL LIBERTY$0$38K
MAGA INC.$0$37K

For and against John Sununu$21.1M

11 spending groups
GroupForAgainst
WinSenate$0$11.1M
Americans for Prosperity Action, Inc. (AFP Action) DBA CVA Action and DBA LIBRE Action$6.3M$0
NO GOING BACK PAC INC.$2.0M$0
Protect Freedom Political Action Committee$659K$0
America PAC$263K$0
Turning Point PAC$209K$0
American Center PAC$0$204K
STRONG AS GRANITE PAC$0$131K
The Sentinel Action Fund$76K$0
THE CONSERVATIVE CAUCUS DBA AMERICANS FOR CONSTITUTIONAL LIBERTY$27K$0
Forward Blue PAC$0$1K

Includes primary spending. Opposition is recorded against its named target; no benefit to another candidate is assumed.

$313K in outside spending on earlier candidates.

FEC filings · through 08/19/2026 · Definitions & method

Race context

Turnout, 2018 midterm
53.7% 580,568 ballots
Turnout, 2022 midterm
56.3% 626,931 ballots
2024 presidential margin
D+2.8between the two parties

Turnout is ballots cast statewide as a share of the voting-eligible population. Source: University of Florida Election Lab ↗

Population profile

White alone · 90.0%1,241,594 of 1,379,610 · Residents2022 Census · matched race geography

Coverage

Forecast as of October 28, 2026: Call the Map currently has Chris Pappas ahead of John Sununu by D+4.9, with an 81 in 100 chance to win. This is an open seat. That result would keep the seat with Democrats. The current poll average is D+5.4; 31 public polls are recorded.