Call
the Map
Forecast6 days out
← HouseNovember 3, 2026

OH-15 · U.S. House

Mike Carey is favored to hold Ohio’s 15th congressional district. Predicted margin: R+3.1.

Don Leonard (D)28 in 10048.444.9–51.9
Mike Carey incumbent (R)72 in 10051.547.9–55.0

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

Lean RRepublican-held seat

Forecast history

Steady0.0 pts · Oct 26 → Oct 28OH-15 U.S. House: steady — the published margin moved 0.0 points between the Oct 26 and Oct 28 editions (3 of 47 stored editions). This is movement of the published forecast between editions.
EVENR+5Aug 1Nov 3 · Election Day

Latest reading · Oct 28 · first published Sep 9 · 80% range · margin points R+10.1 to D+4.0. 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 28R+3.1R win 71.6%R+10.1 to D+4.0Published forecast
Oct 27R+3.1R win 71.5%R+10.1 to D+4.0Published forecast
Oct 26R+3.1R win 71.5%R+10.1 to D+4.0Published forecast
Oct 25R+3.1R win 71.5%R+10.1 to D+4.0Published forecast
Oct 24R+3.0R win 71.4%R+10.1 to D+4.0Published forecast
Oct 23R+3.1R win 71.4%R+10.1 to D+4.0Published forecast
Oct 22R+3.0R win 71.3%R+10.1 to D+4.0Published forecast
Oct 21R+4.4R win 78.7%R+11.5 to D+2.8Published forecast
Oct 20R+4.4R win 78.8%R+11.5 to D+2.8Published forecast
Oct 19R+4.4R win 78.8%R+11.5 to D+2.8Published forecast
Oct 18R+4.4R win 78.8%R+11.5 to D+2.8Published forecast
Oct 17R+4.4R win 78.8%R+11.5 to D+2.8Published forecast
Oct 16R+4.4R win 79.0%R+11.5 to D+2.8Published forecast
Oct 15R+4.4R win 79.0%R+11.5 to D+2.8Published forecast
Oct 14R+4.4R win 79.0%R+11.5 to D+2.7Published forecast
Oct 13R+4.4R win 79.0%R+11.5 to D+2.8Published forecast
Oct 12R+4.4R win 78.9%R+11.5 to D+2.8Published forecast
Oct 11R+4.4R win 78.9%R+11.5 to D+2.8Published forecast
Oct 10R+4.4R win 78.8%R+11.5 to D+2.8Published forecast
Oct 9R+4.4R win 78.9%R+11.5 to D+2.8Published forecast
Oct 8R+4.4R win 78.9%R+11.5 to D+2.8Published forecast
Oct 7R+4.4R win 78.8%R+11.5 to D+2.8Published forecast
Oct 6R+4.4R win 79.0%R+11.6 to D+2.8Published forecast
Oct 5R+4.4R win 78.9%R+11.6 to D+2.8Published forecast
Oct 4R+4.4R win 78.9%R+11.6 to D+2.8Published forecast
Oct 3R+4.4R win 78.9%R+11.6 to D+2.8Published forecast
Oct 2R+4.4R win 79.0%R+11.6 to D+2.8Published forecast
Oct 1R+4.4R win 78.8%R+11.6 to D+2.8Published forecast
Sep 30R+4.4R win 78.7%R+11.5 to D+2.8Published forecast
Sep 29R+4.4R win 78.7%R+11.5 to D+2.8Published forecast
Sep 28R+6.3R win 86.6%R+13.6 to D+1.1Published forecast
Sep 27R+6.3R win 86.5%R+13.6 to D+1.1Published forecast
Sep 26R+6.3R win 86.6%R+13.6 to D+1.1Published forecast
Sep 25R+6.3R win 86.5%R+13.6 to D+1.1Published forecast
Sep 24R+6.3R win 86.5%R+13.7 to D+1.0Published forecast
Sep 23R+6.3R win 86.7%R+13.7 to D+1.0Published forecast
Sep 22R+6.4R win 86.8%R+13.7 to D+1.0Published forecast
Sep 21R+6.4R win 86.8%R+13.7 to D+1.0Published forecast
Sep 20R+6.4R win 86.8%R+13.7 to D+1.0Published forecast
Sep 19R+6.4R win 86.9%R+13.7 to D+1.0Published forecast
Sep 18R+6.3R win 86.2%R+13.7 to D+1.0Reconstructed with the stated inputs
Sep 17R+6.3R win 86.3%R+13.7 to D+1.0Reconstructed with the stated inputs
Sep 16R+6.3R win 86.3%R+13.7 to D+1.0Reconstructed with the stated inputs
Sep 15R+6.4R win 86.8%R+13.8 to D+1.0Published forecast
Sep 14R+6.4R win 86.9%R+13.8 to D+1.0Published forecast
Sep 13R+6.4R win 86.6%R+13.8 to D+1.0Published forecast
Sep 12R+6.4R win 86.8%R+13.8 to D+1.0Published forecast
Sep 11R+6.4R win 87.0%R+13.8 to D+1.0Published forecast
Sep 10R+6.5R win 86.9%R+13.8 to D+0.9Published forecast
Sep 9R+6.5R win 87.3%R+13.9 to D+0.9Published forecast
Sep 8R+6.5R win 86.7%R+13.9 to D+0.9Reconstructed with the stated inputs
Sep 7R+6.5R win 86.7%R+13.9 to D+0.9Reconstructed with the stated inputs
Sep 6R+4.5R win 78.2%R+11.9 to D+2.9Reconstructed with the stated inputs
Sep 5R+4.5R win 78.3%R+11.9 to D+2.9Reconstructed with the stated inputs
Sep 4R+6.8R win 87.8%R+14.2 to D+0.6Reconstructed with the stated inputs
Sep 3R+6.5R win 86.7%R+13.9 to D+0.9Reconstructed with the stated inputs
Sep 2R+6.5R win 86.7%R+13.9 to D+0.9Reconstructed with the stated inputs
Sep 1R+6.5R win 86.7%R+13.9 to D+0.9Reconstructed with the stated inputs
Aug 31R+6.5R win 86.7%R+13.9 to D+0.9Reconstructed with the stated inputs
Aug 30R+6.5R win 86.7%R+13.9 to D+0.9Reconstructed with the stated inputs
Aug 29R+6.5R win 86.7%R+13.9 to D+0.9Reconstructed with the stated inputs
Aug 28R+6.5R win 86.7%R+13.9 to D+0.9Reconstructed with the stated inputs
Aug 27R+6.5R win 86.7%R+13.9 to D+0.9Reconstructed with the stated inputs
Aug 26R+6.5R win 86.7%R+13.9 to D+0.9Reconstructed with the stated inputs
Aug 25R+6.5R win 86.7%R+13.9 to D+0.9Reconstructed with the stated inputs
Aug 24R+6.5R win 86.7%R+13.9 to D+0.9Reconstructed with the stated inputs
Aug 23R+6.5R win 86.7%R+13.9 to D+0.9Reconstructed with the stated inputs
Aug 22R+6.5R win 86.7%R+13.9 to D+0.9Reconstructed with the stated inputs
Aug 21R+6.5R win 87.8%R+13.7 to D+0.7Reconstructed with the stated inputs
Aug 20R+6.5R win 87.8%R+13.7 to D+0.7Reconstructed with the stated inputs
Aug 19R+6.5R win 87.8%R+13.7 to D+0.7Reconstructed with the stated inputs
Aug 18R+6.7R win 88.2%R+13.9 to D+0.6Reconstructed with the stated inputs
Aug 17R+6.7R win 88.2%R+13.9 to D+0.6Reconstructed with the stated inputs
Aug 16R+6.9R win 88.9%R+14.3 to D+0.4Reconstructed with the stated inputs
Aug 15R+6.9R win 88.8%R+14.3 to D+0.4Reconstructed with the stated inputs
Aug 14R+6.9R win 88.9%R+14.3 to D+0.4Reconstructed with the stated inputs
Aug 13R+6.9R win 88.9%R+14.3 to D+0.4Reconstructed with the stated inputs
Aug 12R+6.9R win 88.9%R+14.3 to D+0.4Reconstructed with the stated inputs
Aug 11R+6.9R win 88.9%R+14.3 to D+0.4Reconstructed with the stated inputs
Aug 10R+6.9R win 88.9%R+14.3 to D+0.4Reconstructed with the stated inputs
Aug 9R+6.9R win 88.9%R+14.3 to D+0.4Reconstructed with the stated inputs
Aug 8R+6.9R win 88.9%R+14.3 to D+0.4Reconstructed with the stated inputs
Aug 7R+6.9R win 88.9%R+14.3 to D+0.4Reconstructed with the stated inputs
Aug 6R+7.0R win 88.9%R+14.3 to D+0.4Reconstructed with the stated inputs
Aug 5R+7.0R win 88.9%R+14.3 to D+0.4Reconstructed with the stated inputs
Aug 4R+7.0R win 88.9%R+14.3 to D+0.4Reconstructed with the stated inputs
Aug 3R+7.0R win 88.9%R+14.3 to D+0.4Reconstructed with the stated inputs
Aug 2R+7.0R win 88.9%R+14.3 to D+0.4Reconstructed with the stated inputs
Aug 1R+7.0R win 88.9%R+14.3 to D+0.4Reconstructed with the stated inputs

The polls

Poll average D+0.2A 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 House races the forecast then counts a poll sponsored by a party or campaign at full weight and moves its margin 2 points against that party, which puts the average it reads at R+1.8.4 recorded polls · 4 in the poll average

FieldworkAddedPollsterResultSample
from 2026-10-097d agoHart Research (D) ↗D+3.0D 48% · R 45%503 LV
from 2026-09-22Hart Research Associates ↗House Majority PACD+1.0D 46% · R 45%500 LV
from 2026-08-06Hart Research Associates ↗R+4.0D 37% · R 41%401 LV
from 2026-06-23Hart Research Associates ↗House Majority PACR+5.0D 40% · R 45%550 LV
Explore each poll’s weight in the average

4 of 4 matching · 4 total

Poll average D+0.2

Hart Research (D)12 Oct · 503 LV · added 22 Oct
Hart Research Associates24 Sep · 500 LV · added 28 Sep
Hart Research Associates9 Aug · 401 LV · added 24 Aug
Hart Research Associates25 Jun · 550 LV · added 24 Aug
Explore all 4 polls for this race

How the margin was built

Tap an input for its calculation and source.

Toward D+6.7
Toward R−9.8
Forecast marginR+3.1

Displayed values are rounded.

All calculations & sources

This district's measured terrain −9.820 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: model_reconstructed_trial15_new_seat; district redrawn for 2026.

This race’s polls +2.593 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.

  • Hart Research (D) (2026-10-12, n=503): D+3.0 · weight 0.51 in the poll average
  • Hart Research Associates (2026-09-24, n=500): D+1.0 · weight 0.41 in the poll average
  • Hart Research Associates (2026-08-09, n=401): R+4.0 · weight 0.22 in the poll average
  • Hart Research Associates (2026-06-25, n=550): R+5.0 · weight 0.15 in the poll average
  • Poll average D+0.2, from 4 polls · 4 recorded polls. This is the polls’ own average, each poll at its published margin, the figure this page’s poll summary shows. In House races the forecast then counts a poll sponsored by a party or campaign at full weight and moves its margin 2 points against that party, which puts the average it reads at R+1.8. The forecast gives the polls 66% of the weight against its structural prior for this race, which moves the margin 2.6 points away from Republicans from where it stood before the polls. Eligible polls: latest poll: 2026-10-12 (16 days old).

National environment +2.071 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 +2.1.
  • 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: +2.1 of this margin.

Fitted model, above the terrain shown +2.066 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 -7.754 minus starting point -9.820 = 2.066 points.
  • One fitted structural total; this edition does not split it into partisan lean and incumbency.
  • Fundamentals: −7.8 — 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.

Votes for other candidates +0.005 points

Every step above is measured between the two major-party candidates alone, as if nobody else were on the ballot. The forecast sets 0.2% 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. Here the structural lean IS the published margin, so the walk sums to the projection exactly; nothing is left over.

Named factorContribution
FundamentalsThe admitted fitted baseline. Its surviving variables differ by office; the source detail above identifies those used for this race.−7.75
This race's pollsAdmitted head-to-head polls of this race, recency- and quality-weighted.+2.59
National environmentThe national environment’s contribution to the prior. Polling can attenuate its influence; this value is not the national polling margin.+2.07
Other factors0.00

Where the votes are

The map of this race loads here.

Recent elections

ElectionResultVotes cast
2024 · U.S. House ↗R+12.9347,749
2022 · U.S. House ↗R+13.9251,251
2020 · U.S. House ↗R+26.8383,361
2018 · U.S. House ↗R+18.6292,443

Historical district boundaries may differ. 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 Don Leonard$1.4M

8 spending groups
GroupForAgainst
YOUR COMMUNITY PAC$660K$0
BUCKEYE PROSPERITY PAC$0$197K
CFFE PAC$181K$0
NO GOING BACK PAC INC.$0$165K
AMERICAN PRIORITIES (AP)$75K$0
AB PAC$54K$0
MAGA INC.$0$35K
OHIO CITIZEN ACTION$5K$0

For and against Mike Carey$914K

5 spending groups
GroupForAgainst
HMP$0$304K
YOUR COMMUNITY PAC$0$239K
AMERICAN PRIORITIES (AP)$0$225K
NO GOING BACK PAC INC.$137K$0
NRA VICTORY FUND, INC.$8K$0

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

FEC filings · through 06/30/2026 · Definitions & method

Race context

2024 presidential vote here
360,648
2024 presidential margin
R+10.1between the two parties

Forecast as of October 28, 2026: Call the Map currently has Mike Carey ahead of Don Leonard by R+3.1, with a 72 in 100 chance to win. The seat is currently held by a Republican. That result would keep the seat with Republicans. The current poll average is D+0.2; 4 public polls are recorded.