NH-02 · U.S. House
Open this race on The Map ↗Maggie Goodlander is heavily favored to hold NH-02’s House seat. Predicted margin: D+15.9.
high / low: vote share (%) in the middle 80 in 100 simulations
Forecast history
Latest reading · Sep 13 · first published Sep 9 · 80% range · margin points D+8.6 to D+23.2. Methodology
Hover the line, tap it, or use the arrow keys to inspect its history.
About this series
This comparable series begins on September 9, 2026, when the model version changed to CTMM 2.2. Earlier readings remain in the archive and are not joined as voter movement; faded points before September 9, 2026 are reconstructions, not forecasts issued on those days.
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.
The polls
Ledger weighted average D+16.2Used by the forecast: 7 polls (60-day half-life) · measured D+15.5 · after the fitted poll-error shift D+15.57 recorded polls · 7 eligible for the aggregate · 7 with positive weight
| Fieldwork | Added | Pollster | Result | Sample |
|---|---|---|---|---|
| from 2026-08-17 | St. Anselm ↗ | D+15.0D 50% · R 35% | 701 LV | |
| from 2026-06-24 | St. Anselm ↗ | D+19.0D 50% · R 31% | 802 RV | |
| from 2026-03-16 | St. Anselm ↗ | D+12.0D 48% · R 36% | 739 RV | |
| from 2026-01-15 | University of New Hampshire ↗ | D+14.0D 54% · R 40% | 1,094 LV | |
| from 2025-11-18 | St. Anselm ↗ | D+5.0D 40% · R 35% | 1,102 RV | |
| from 2025-09-17 | University of New Hampshire ↗ | D+12.0D 51% · R 39% | 508 LV | |
| from 2025-08-26 | St. Anselm ↗ | D+18.0D 49% · R 31% | 881 RV |
Explore poll adjustments
Ledger weighted average D+16.2
- Published result
- D+15.0
- Model read
- D+15.9
- Model weight
- 0.285
- Fieldwork
- 17 Aug–18 Aug
- Sample
- 701 LV
- Sponsor
- Not listed
- Pollster quality
- 0.622
- Admission
- Included in the model
Recorded corrections: sponsor −0.03 points; pollster +0.90 points.
The New York Times polling archive · first recorded by Call the Map 24 AugOpen poll source- Published result
- D+19.0
- Model read
- D+18.7
- Model weight
- 0.051
- Fieldwork
- 24 Jun–25 Jun
- Sample
- 802 RV
- Sponsor
- Not listed
- Pollster quality
- 0.622
- Admission
- Included in the model
Recorded corrections: sponsor −0.03 points; pollster +0.90 points.
The New York Times polling archive · first recorded by Call the Map 19 AugOpen poll source- Published result
- D+12.0
- Model read
- D+11.7
- Model weight
- 0.002
- Fieldwork
- 16 Mar–18 Mar
- Sample
- 739 RV
- Sponsor
- Not listed
- Pollster quality
- 0.622
- Admission
- Included in the model
Recorded corrections: sponsor −0.03 points; pollster +0.90 points.
The New York Times polling archive · first recorded by Call the Map 19 AugOpen poll source- Published result
- D+14.0
- Model read
- D+11.7
- Model weight
- 0.000
- Fieldwork
- 15 Jan–19 Jan
- Sample
- 1,094 LV
- Sponsor
- Not listed
- Pollster quality
- 0.488
- Admission
- Included in the model
Recorded corrections: sponsor −0.03 points; pollster −2.31 points.
The New York Times polling archive · first recorded by Call the Map 1 SepOpen poll source- Published result
- D+5.0
- Model read
- D+4.7
- Model weight
- 0.000
- Fieldwork
- 18 Nov–19 Nov
- Sample
- 1,102 RV
- Sponsor
- Not listed
- Pollster quality
- 0.622
- Admission
- Included in the model
Recorded corrections: sponsor −0.03 points; pollster +0.90 points.
The New York Times polling archive · first recorded by Call the Map 19 AugOpen poll source- Published result
- D+12.0
- Model read
- D+9.7
- Model weight
- 0.000
- Fieldwork
- 17 Sep–23 Sep
- Sample
- 508 LV
- Sponsor
- Not listed
- Pollster quality
- 0.488
- Admission
- Included in the model
Recorded corrections: sponsor −0.03 points; pollster −2.31 points.
The New York Times polling archive · first recorded by Call the Map 1 SepOpen poll source- Published result
- D+18.0
- Model read
- D+17.7
- Model weight
- 0.000
- Fieldwork
- 26 Aug–27 Aug
- Sample
- 881 RV
- Sponsor
- Not listed
- Pollster quality
- 0.622
- Admission
- Included in the model
Recorded corrections: sponsor −0.03 points; pollster +0.90 points.
The New York Times polling archive · first recorded by Call the Map 19 AugOpen poll sourceHow the margin was built
Follow each contribution to the margin. Wider ribbons mean more percentage points. Tap an input for its calculation and source.
The signed totals combine at the forecast. Displayed values are rounded.
All calculations & sources
This district's measured terrain +3.908 points
Call the Map's partisan lean on the CURRENT district lines, before any current-cycle evidence. Every pull below is measured from here — not from EVEN.
- Call the Map partisan lean, district geography bound to this forecast edition.
- Prior source: observed_unchanged_lines.
Fitted model, above the terrain shown +11.132 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 15.040 minus starting point 3.908 = 11.132 points.
- One fitted structural total; this edition does not split it into partisan lean and incumbency.
- Fundamentals: +15.0 — the district's structural lean before this year's polling, money and candidate quality are added.
- This edition publishes that as one fitted total. It does not break it into a partisan-lean and an incumbency term, so this page does not invent that split.
- 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)
- 40-term formula, held-out validated.
National environment +1.365 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-09-08: 52% generic-ballot aggregates (D+6.5) · 28% special-election overperformance (D+9.0 across 46 specials) · 20% approval-implied (D+8.6 from net approval -21.7).
- Latest polls — generic ballot 2026-09-08 (5 days old), approval 2026-09-10 (3 days old).
- Generic-ballot average D+6.5 · support factor 0.84 (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 — 16% of the weight is carried that way.
- Blended national environment: D+7.6.
- Applied at full strength to this chamber's races.
- The work: national environment × 1 chamber strength = +1.4 of this margin.
- Blended national environment: D+7.6 (updated 2026-09-08).
- Effective poll weight 84%; fundamentals share 16%, carried by the interval (×1.08) 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: +1.4 of this margin.
This race’s polls −0.516 points
What this race’s own recent polling adds beyond its prior, after each poll is weighted for recency, sample size and pollster quality.
- District/state polling admitted under the shared rule.
- St. Anselm (2026-08-18, n=701): D+15.0 · weight 0.49
- St. Anselm (2026-06-25, n=802): D+19.0 · weight 0.09
- St. Anselm (2026-03-18, n=739): D+12.0 · weight 0.00
- University of New Hampshire (2026-01-19, n=1,094): D+14.0 · weight 0.00
- St. Anselm (2025-11-19, n=1,102): D+5.0 · weight 0.00
- University of New Hampshire (2025-09-23, n=508): D+12.0 · weight 0.00
- … and 1 more below.
- Adjusted poll-bank aggregate D+16.2 · 7 recorded polls · 7 eligible for the aggregate · 7 with positive weight. The sealed model records a net polling contribution of −0.5 D. Observation weights are not the final model blend weight. Eligible polls: latest poll: 2026-08-18 (26 days old).
- Adjusted poll-bank aggregate D+16.2 · 7 recorded polls · 7 eligible for the aggregate · 7 with positive weight; recorded polling contribution −0.5 D. These observation weights must not be read as the model’s final prior-versus-polling weight. Eligible polls: latest poll: 2026-08-18 (26 days old).
The components this edition publishes for this race, in points. “Other factors” closes the sum to the two-party structural lean exactly. Here the structural lean IS the published margin, so the walk sums to the projection exactly; nothing is left over.
| Named factor | Contribution |
|---|---|
| FundamentalsThe admitted fitted baseline. Its surviving variables differ by office; the source detail above identifies those used for this race. | +15.04 |
| National environmentThe national environment’s contribution to the prior. Polling can attenuate its influence; this value is not the national polling margin. | +1.37 |
| This race's pollsAdmitted head-to-head polls of this race, recency- and quality-weighted. | −0.52 |
| Other factors | 0.00 |
Recent elections
| Election | Result | Votes cast |
|---|---|---|
| 2024 · U.S. House ↗ | D+6.0 | 414,424 |
| 2022 · U.S. House ↗ | D+11.7 | 307,584 |
| 2020 · U.S. House ↗ | D+10.4 | 386,441 |
| 2018 · U.S. House ↗ | D+13.7 | 279,705 |
Historical district boundaries may differ. Margins compare Democratic and Republican vote totals. Nonstandard ballots are labeled separately.
The money
Maggie Goodlander ↗
D$4.2Mraised
$2.7M cash on handFiling through 08/19/2026
Lily Tang Williams ↗
R$1.2Mraised
$628K cash on handFiling through 08/19/2026
Bar length compares reported receipts in this race; the tick marks cash on hand. A missing filing stays blank rather than becoming $0.
One more fundraising reportCall the Map · $0
The candidates are comfortably out-fundraising the website covering them. A little rude, perhaps, but statistically unsurprising.
- Received so far
- $0
- Measured compute
- $26,188.58
Ko-fi and Buy Me a Coffee receipts are counted through Sep 1, 2026. 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.
Outside spending
Support + opposition · separate from receiptsFor and against Maggie Goodlander$150K
1 spending group
| Group | For | Against |
|---|---|---|
| FELLOWSHIP PAC | $150K | $0 |
For and against Lily Tang Williams$8K
1 spending group
| Group | For | Against |
|---|---|---|
| America PAC | $8K | $0 |
Includes primary spending. Opposition is recorded against its named target; no benefit to another candidate is assumed.
FEC filings · through 08/19/2026 · Definitions & method
Race context
- Forecast votes cast
- 303,672
- 2024 presidential margin
- D+3.6
Population profile Select a measure for its source and denominator
U.S. Census Bureau, 2022 American Community Survey 5-year estimates ↗
Coverage
1 quote
- Incumbent Congresswoman Maggie Goodlander, a Democrat, and Lily Tang Williams, a Republican, secured nominations from their respective parties on Tuesday in the race to represent New Hampshire’s 2nd Congressional District. From @mollyrains.bsky.social #NHPolitics ↗
New Hampshire Bulletin · Official · 4d ago
curated state newsroom · recent Bluesky post · named-race match