NH Legislature 2026

Backtests: 2022 and 2024

The same model, run with only the data that existed three days before each election, scored against the actual results for both chambers. The statewide misses measured here set the slider presets on the home page and the size of the statewide error term.

2022

Statewide environment

Frozen as of
2022-11-05
Forecast generic margin
D+2.3 (polls 73% of the blend)
Forecast legislative margin
R+2.7 after the -5.0 legislative offset
Actual legislative margin
D+0.7 (House D+1.1, Senate D+0.2): vote-weighted party margin across contested districts
Statewide miss
+3.4 (positive = Democrats beat the forecast)

Inputs used: district leans from statewide races before the cycle (exact by town); the ballot: names, parties and incumbency from the results and Wikipedia incumbent tables; NH statewide polls up to the freeze date (governor, US Senate/president, NH-01/NH-02, NH congressional generic). Not available point-in-time: national generic ballot (no archived poll list with sources); district polls; outside ratings; campaign finance.

State Senate

Seats called correctly
20 of 22 contested (90.9%)
Brier score
0.05 (0 = perfect; 0.25 = coin flip)
Log loss
0.157
Margin error
MAE 4.8 pts · RMSE 5.8 · bias +4.2
90% interval coverage
100%
Democratic seats
forecast 9.0 [7–12] of 24 · actual 10 · P(D majority) 3%

Misses

SeatP(Dem)ForecastActual
S1120%R+6.4D+2.6
S1839%R+2.1D+4.8

State House (multi-member)

Seat events called
320 of 360 (88.9%) ("Democrats win at least j seats" for each contested district and j)
Brier score
0.072
Seat split exactly right
145 of 176 contested districts (82%)
Seat error per district
0.25 seats (mean absolute, expected vs actual)
Party-margin error
MAE 7.1 pts · bias +5.7
Democratic seats
forecast 168.7 [136–204] of 400 · actual 197 · P(D majority) 6%
Candidate dispersion used
SD 3.49 pts (1064 candidate-results; incumbents ran 3.1 pts ahead of same-party non-incumbents in 144 districts)

Biggest House misses (expected vs actual Democratic seats)

DistrictSeatsExpected DActual DForecast marginActual
Belknap 540.12R+15.6R+0.8
Hillsborough 3431.33R+2.6D+12.1
Sullivan 630.52R+10.6D+3.3
Cheshire 1020.52R+7.2D+6.0
Strafford 430.72R+6.1D+1.9
Rockingham 2941.73R+1.7D+5.1
Coos 520.82R+2.6D+9.8
Hillsborough 931.93D+1.7D+7.7
Merrimack 832.03D+4.1D+15.1
Merrimack 1110.01R+18.0D+0.9

2024

Statewide environment

Frozen as of
2024-11-02
Forecast generic margin
D+6.9 (polls 73% of the blend)
Forecast legislative margin
D+1.9 after the -5.0 legislative offset
Actual legislative margin
R+2.6 (House R+2.6, Senate R+2.7): vote-weighted party margin across contested districts
Statewide miss
-4.5 (positive = Democrats beat the forecast)

Inputs used: district leans from statewide races before the cycle (exact by town); the ballot: names, parties and incumbency from the results and Wikipedia incumbent tables; NH statewide polls up to the freeze date (governor, US Senate/president, NH-01/NH-02, NH congressional generic); 2022 legislative results as an extra lean. Not available point-in-time: national generic ballot (no archived poll list with sources); district polls; outside ratings; campaign finance.

State Senate

Seats called correctly
22 of 24 contested (91.7%)
Brier score
0.057 (0 = perfect; 0.25 = coin flip)
Log loss
0.179
Margin error
MAE 4.4 pts · RMSE 5.0 · bias -4.2
90% interval coverage
100%
Democratic seats
forecast 10.7 [8–14] of 24 · actual 8 · P(D majority) 13%

Misses

SeatP(Dem)ForecastActual
S1179%D+5.9R+1.9
S1872%D+4.2R+2.9

State House (multi-member)

Seat events called
342 of 368 (92.9%) ("Democrats win at least j seats" for each contested district and j)
Brier score
0.053
Seat split exactly right
150 of 176 contested districts (85%)
Seat error per district
0.22 seats (mean absolute, expected vs actual)
Party-margin error
MAE 4.8 pts · bias -3.5
Democratic seats
forecast 198.4 [162–237] of 400 · actual 178 · P(D majority) 44%
Candidate dispersion used
SD 3.89 pts (543 candidate-results; incumbents ran 3.1 pts ahead of same-party non-incumbents in 80 districts)

Biggest House misses (expected vs actual Democratic seats)

DistrictSeatsExpected DActual DForecast marginActual
Coos 521.40D+3.9R+8.7
Hillsborough 2941.10R+5.0R+4.8
Merrimack 1221.10D+1.6R+5.7
Hillsborough 4231.00R+1.2R+5.0
Grafton 130.90R+5.5R+10.1
Hillsborough 2521.91D+14.0R+5.3
Hillsborough 3920.90R+2.0R+3.3
Hillsborough 832.92D+12.2R+3.9
Rockingham 1670.90R+8.6R+10.5
Coos 610.90D+9.3R+9.0