Massachusetts · Senate
election 2026-11-03 · forecast as of 2026-10-01 · margins and probabilities are for Ed Markey
Who is running?
Ed Markey (Democratic), John Deaton (Republican), Joe Tache (no party recorded), Shiva Ayyadurai (Independent). The margin below is Ed Markey minus the other candidate in the main contest; the rest are on the ballot and not in it.
The race, in brief
Massachusetts elects a U.S. senator on November 3, 2026. The text notes Republicans have not won a Senate election in the state since 2010. The state profile records a college share of 0.5 and a white non-Hispanic share of 0.7.
Democratic incumbent Ed Markey, a senator since 2013, seeks a third full term. He beat congressman Seth Moulton in the September 1 primary, with 64.9% according to the lead (64.7% to 35.0% in the results table), after taking 72.9% at the convention. The Republican nominee is attorney John Deaton, the party's 2024 nominee, unopposed in the primary. Joe Tache of the Party for Socialism and Liberation and independent Shiva Ayyadurai are also on the ballot. As of August 12, 2026 Markey had raised $8,051,970 with $1,348,676 on hand; Deaton $1,561,360 with $712,417 on hand.
All ten raters listed call the race D. Recent polls: MassINC Polling Group (September 14–22, 2026) had Markey 52%, Deaton 26%, Tache 2%; the University of New Hampshire (September 17–21) Markey 53%, Deaton 30%, Tache 9%. The text's polling average is Markey 51.5%, Deaton 31.0%.
A paragraph quoting a model forecast from the day this brief was written is omitted; the current forecast is at the top of this page.
The facts, each beside its sentence
Democratic incumbent Ed Markey is seeking a third full term.
Democratic incumbent Ed Markey is seeking a third full term.
Democratic incumbent Ed Markey is seeking a third full term. He is being challenged by Republican attorney John Deaton.
He is being challenged by Republican attorney John Deaton.
Ed Markey, incumbent U.S. senator (2013–present)
John Deaton, attorney and nominee for U.S. Senate in 2024
Markey won the Democratic nomination over congressman Seth Moulton with 64.9% of the vote. Deaton, the Republican nominee in 2024, was nominated a second time after running unopposed in the primary.
The Cook Political Report D September 23, 2026 Decision Desk HQ D September 25, 2026
|John Deaton (R) $1,561,360 $848,943 $712,417 |Joe Tache (PSL)
MassINC Polling Group September 14–22, 2026 800 (LV) ± 4.0% |52% 26% 2%
Average |51.5% 31.0% 17.5% |Markey +20.5%
party: Party for Socialism and Liberation candidate: Joe Tache change: }} party: Independent candidate: Shiva Ayyadurai
Moulton agreed to the debate, which was scheduled for June. Markey did not attend the debate.
Republicans have not won a Senate election in Massachusetts since 2010.
Not in the source: The lead gives Markey 64.9% in the primary; the results table gives 64.7%.; No previous general-election result or presidential results for Massachusetts are given.; facts.candidates marks Markey as incumbent: false, but the text names him the Democratic incumbent.; Joe Tache and Shiva Ayyadurai appear in the text but not in facts.candidates.; The forecast rows carry no basis field, so the text cannot say whether the model uses the statewide polls listed here.
Read from the district's section of Wikipedia's state page (CC BY-SA), archived as e35a2ba07337; written by claude-fable-5-1 (batch reader) on 2026-09-30 and checked mechanically: every quote occurs verbatim in the archived text, every number in the brief occurs in the inputs. No probability here is the reader's.
Who holds the seat now
Edward J. Markey (Democrat), in this chamber since 2013, 3 terms, class 2 (term ends 2027). Committees: Senate Committee on Commerce, Science, and Transportation; Senate Committee on Environment and Public Works; Senate Committee on Health, Education, Labor, and Pensions; Senate Committee on Small Business and Entrepreneurship (Ranking Member).
Elizabeth Warren (Democrat), in this chamber since 2013, 3 terms, class 1 (term ends 2031). Committees: Senate Committee on Armed Services; Senate Committee on Banking, Housing, and Urban Affairs (Ranking Member); Senate Committee on Finance; Senate Special Committee on Aging.
From the congress-legislators dataset (CC0), archived as ae8cb9477c48. For a Senate race this lists both of the state's senators; the one whose term ends in the election year holds the seat on the ballot. For a House district redrawn for 2026 it is the member elected under the old lines with this number, who may be running elsewhere; the dossier above names who is running here.
The money
| Candidate | Raised | Cash on hand | PAC share | Self-funded | Outside $ for | Outside $ against |
|---|---|---|---|---|---|---|
| Moulton, Seth (DEM) challenger · not on our roster | $6,213,103 | $1,835,336 | 4% | 0% | $995,876 | $1,660,880 |
| Markey, Edward Sen. (DEM) incumbent | $5,352,148 | $1,348,676 | 11% | 0% | $42,935 | $1,884,604 |
| Deaton, John (REP) challenger | $1,561,360 | $712,417 | 0% | 67% | $0 | $0 |
| Ayyadurai, Shiva Dr (IND) challenger · not on our roster | $285,486 | $131,229 | 0% | 4% | $0 | $0 |
| Tache, Joseph (OTH) challenger · not on our roster | $269,878 | $93,007 | 0% | 0% | $0 | $0 |
| Bech, Nathan Alexander (REP) challenger · not on our roster | $80,010 | $28,677 | 0% | 100% | $0 | $0 |
| Rikleen, Alexander (DEM) challenger · not on our roster | $79,333 | $1,989 | 0% | 30% | $0 | $0 |
| Dawicki, Morgan Gifford (IND) challenger · not on our roster | $16,498 | $3,564 | 0% | 26% | $0 | $0 |
FEC bulk candidate summaries through September 30, 2026; $4,584,295 of independent expenditures for or against these candidates this cycle (FEC Schedule E, types 24E and 24A), which is the parties' and outside groups' own revealed view of whether this seat is in play.
How it has voted for president
| Two-party margin | 2016 | 2020 | 2024 |
|---|---|---|---|
| President | D+29.3 | D+34.2 | D+25.9 |
A shift of 3.4 points toward the Republicans from 2016 to 2024. county returns summed; MEDSL county file (2016), an MIT-licensed county file (2020, checked against certified state results) and MEDSL precinct returns (2024). For a district split across counties this is an estimate, and where the state published the exact 2024 figure for these lines, that exact figure is the one the model uses.
The state in numbers
| Measure | State | Average state | Difference |
|---|---|---|---|
| Bachelor's degree or higher, 25+, 2023 | 46.6% | 34.0% | +12.6 pts |
| White, non-Hispanic, 2023 | 67.8% | 66.3% | +1.5 pts |
| Black, non-Hispanic, 2023 | 6.5% | 10.1% | -3.6 pts |
| Hispanic or Latino, 2023 | 12.9% | 12.9% | +0.1 pts |
| Asian, non-Hispanic, 2023 | 7.0% | 4.4% | +2.7 pts |
| Foreign-born, 2023 | 17.7% | 9.6% | +8.1 pts |
| Median age, 2023 | 40.0 | 39.1 | +0.92 |
| Median household income, 2023 | $101,341 | $77,633 | $+23,708 |
| Median home value, 2023 | $525,800 | $314,132 | $+211,668 |
| Owner-occupied homes, 2023 | 62.6% | 67.4% | -4.8 pts |
| Unemployment (ACS), 2023 | 5.1% | 4.8% | +0.3 pts |
| Federal government workers, 2023 | 1.7% | 3.0% | -1.4 pts |
| Work from home, 2023 | 16.8% | 12.3% | +4.5 pts |
| Households on SNAP, 2023 | 13.9% | 11.1% | +2.8 pts |
| Households with Social Security income, 2023 | 29.8% | 32.1% | -2.3 pts |
| Households with public assistance income, 2023 | 3.5% | 2.6% | +0.8 pts |
| Moved in from another state, past year, 2023 | 2.2% | 2.9% | -0.6 pts |
| Gini index, 2023 | 0.49 | 0.47 | +0.02 |
| Unemployment, latest month (BLS), 2026-07 | 4.7% | 4.0% | +0.7 pts |
| Change in unemployment, past 12 months, 2026-07 | -0.0 pts | -0.1 pts | +0.1 pts |
| Change since the last election (24 months), 2026-07 | +0.2 pts | -0.1 pts | +0.3 pts |
| Per-capita personal income (BEA), 2024 | $93,607 | $70,662 | $+22,945 |
| Per-capita income growth since 2019, nominal, 2024 | 29.3% | 32.4% | -3.1 pts |
| Government and other transfers, share of income, 2024 | 15.3% | 19.4% | -4.1 pts |
| Social Security, share of income, 2022 | 4.2% | 6.1% | -1.9 pts |
| Medicare, share of income, 2022 | 3.5% | 4.4% | -0.8 pts |
| Medicaid, share of income, 2022 | 3.7% | 3.8% | -0.1 pts |
| SNAP, share of income, 2022 | 0.6% | 0.6% | +0.0 pts |
| Earned Income Tax Credit, share of income, 2022 | 0.1% | 0.3% | -0.2 pts |
| Veterans' benefits, share of income, 2022 | 0.3% | 0.9% | -0.6 pts |
| Federal civilian jobs, share of all jobs, 2022 | 0.9% | 1.5% | -0.6 pts |
| Military jobs, share of all jobs, 2022 | 0.4% | 1.2% | -0.8 pts |
ACS 5-year state tables; BLS county unemployment and BEA county income, transfers and jobs summed to the state. Every figure is a named column of a named public-domain table, archived before it was read.
Who is ahead, and by how much?
Two numbers because they answer two questions. The nowcast is where opinion stands; the election-day forecast is where it is likely to end up.
How likely is each to win?
Monte Carlo error is ±0.0 points. A change smaller than that is simulation noise rather than news, and this page will not describe it as movement.
How wide is the range?
Nowcast: 90% of simulations fall between +12.1 and +31.0 points. Election day: +11.4 to +34.2. The election-day interval is 3.9 points wider, which is the 33 days of movement still to come.
What is the uncertainty made of?
Total sd 7.26 points, made of race-specific polling error 47%, drift to election day 31%, correlated polling error 11%, latent opinion 11%. The decomposition is stored with the forecast rather than reconstructed, so a probability whose dominant input is a placeholder is visibly that.
What evidence is this built on?
10 polls, most recent 2026-09-21. every input is provisional.
What changed since the last run?
Shaded band is the 90% interval, line is the central estimate, positive is Ed Markey ahead of Joe Tache. Over 18 stored forecasts the central estimate moved +1.3 points. There were 7 specification changes (marked on the axis) and no new polls arrived over this window — so every movement in this chart is a change to the model, not a change in the race.
Since 2026-10-01: margin +0.00 points, win probability +0.0 points, on +0 polls.
Not answered here: why it changed. Splitting a move into new polls, time and specification means re-running the earlier model against the later inputs -- two extra posterior fits -- so it is computed on a cadence (scripts/attribute_forecasts.py) rather than while you wait. This pair of runs has not been decomposed yet. The size of the move is shown; the cause is not guessed at.
How has this model done before?
Measured on 230 forecasts across 230 races in cycles 2016,2018,2020,2022,2024: mean absolute error 4.56 points, Brier score 0.0543. The nominal 90% interval contained the result 94% of the time, the 80% interval 84%, and the 50% interval 47%. Read that with care: a national polling miss moves every race in a cycle at once, so the sample size for a question about the intervals is 5 cycle(s), not 230 forecasts. Per cycle -- bias +1.644 pts; 2016: n=43 bias=+4.68 cov90=0.860; 2018: n=63 bias=-0.52 cov90=1.000; 2020: n=35 bias=+5.44 cov90=0.886; 2022: n=54 bias=-0.60 cov90=0.944; 2024: n=35 bias=+1.48 cov90=1.000.
Where did every number come from?
Nowcast run c6dcd4f7-37dd-4a78-a479-d06b1f16ef06 and election-day run 2058fbf6-9f37-4350-88a3-fc62fefbecb6, model single_race_latent/0.8.1 at commit bdf7e83107c17a2399efe61a44ef1bbee48f9284, seeds 20260924 and 20260924.