Iowa · Senate
election 2026-11-03 · forecast as of 2026-10-01 · margins and probabilities are for Josh Turek
Who is running?
Josh Turek (Democratic), Ashley Hinson (Republican), Thomas Laehn (Libertarian). The margin below is Josh Turek minus the other candidate in the main contest; the rest are on the ballot and not in it.
The race, in brief
Iowa elects a senator on November 3, 2026, for an open seat: Republican incumbent Joni Ernst is not seeking a third term. The text describes Iowa as trending Republican since voting for Obama in 2008 and 2012, with Donald Trump winning it by 8 points in 2020 and 13 points in 2024; Ernst won in 2014 and was re-elected in 2020 by 6.5 points over Theresa Greenfield. Democrats have not won a Senate election in the state since 2008. The state profile on file gives a non-Hispanic white share of 0.8, a college share of 0.3 and a median age of 38.6.
The Republican nominee is U.S. Representative Ashley Hinson, endorsed by Donald Trump, who beat former state senator Jim Carlin in the June 2 primary; the lead gives her 73.9% while the results table shows 74.2% (153,059 votes). The Democratic nominee is state representative Josh Turek, who won 62.6% over state senator Zach Wahls. As of April 18, 2026 Hinson had raised $7,267,266 with $6,516,143 on hand. Ernst's May 2025 remark "Well, we all are going to die" at a town hall on Medicaid cuts drew criticism before she announced her retirement in September 2025.
The text lists no rater predictions and no general-election polls.
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
Republican incumbent Joni Ernst is not seeking a third term.
Turek won the Democratic nomination with 62.6% of the vote over state senator Zach Wahls.
Endorsed by President Donald Trump, Hinson won the Republican nomination with 73.9% of the vote over former state senator Jim Carlin.
Josh Turek, state representative from the 20th district (2023–present)
Ashley Hinson, U.S. representative from 2 (2021–present)
Republican nominee Donald Trump won Iowa in 2020 by 8 percentage points, and in 2024 grew his margin to 13 percentage points.
She was re-elected in 2020 defeating Theresa Greenfield by 6.5 percentage points in what was expected to be a dead heat.
candidate: Ashley Hinson votes: 153,059 percentage: 74.2
Ashley Hinson (R) $7,267,266 $2,679,198 $6,516,143
Ernst announced in September 2025 that she would not seek reelection.
Zach Nunn, U.S. representative from 3 (2023–present) (running for re-election; endorsed Hinson)
J. D. Scholten, state representative from the 1st district (2023–present) and nominee for 4 in 2018 and 2020 (endorsed Turek)
JMC Analytics (R) May 27–28, 2026 550 (A) ± 4.2% |58% 19% 23%
Democrats have not won a Senate election in Iowa since 2008.
Not in the source: No rater predictions (Cook, Sabato, etc.) in the text.; No general-election polls in the text; the only poll is a Republican primary poll.; No fundraising figures for Turek or other Democrats.; The lead (73.9%) and the results table (74.2%) disagree on Hinson's primary share.; The facts give no forecast basis, so it is not known whether the model uses any polls.
Read from the district's section of Wikipedia's state page (CC BY-SA), archived as 71f7c9691675; 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
Chuck Grassley (Republican), in this chamber since 1981, 8 terms, class 3 (term ends 2029). Committees: Senate Committee on Agriculture, Nutrition, and Forestry; Senate Committee on Finance; Senate Committee on the Budget; Senate Committee on the Judiciary (Chairman); Joint Committee on Taxation; United States Senate Caucus on International Narcotics Control.
Joni Ernst (Republican), in this chamber since 2015, 2 terms, class 2 (term ends 2027). Committees: Senate Committee on Agriculture, Nutrition, and Forestry; Senate Committee on Armed Services; Senate Committee on Homeland Security and Governmental Affairs; Senate Committee on Small Business and Entrepreneurship (Chairman).
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 |
|---|---|---|---|---|---|---|
| Arenholz, Ashley Hinson (REP) open seat · not on our roster | $10,217,845 | $6,749,491 | 21% | 0% | $4,319,917 | $3,839,911 |
| Turek, Joshua (DEM) open seat | $6,276,527 | $2,362,314 | 6% | 0% | $10,011,735 | $213,032 |
| Ernst, Joni K (REP) incumbent · not on our roster | $2,002,592 | $1,934,478 | 32% | 0% | $0 | $15,475 |
| Sage, Nathan (DEM) open seat · not on our roster | $1,433,544 | $56 | 1% | 0% | $0 | $0 |
| Carlin, James (REP) open seat · not on our roster | $494,420 | $5,266 | 0% | 71% | $0 | $0 |
| Norris, Jackie (DEM) open seat · not on our roster | $363,563 | $0 | 1% | 2% | $0 | $0 |
| Scholten, James (DEM) open seat · not on our roster | $213,415 | $8,144 | 5% | 0% | $0 | $0 |
| Laehn, Thomas Raymond Dr. (LIB) open seat · not on our roster | $31,908 | $8,334 | 0% | 1% | $0 | $0 |
FEC bulk candidate summaries through June 30, 2026; $18,400,070 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 | R+10.1 | R+8.4 | R+13.4 |
A shift of 3.3 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 | 30.9% | 34.0% | -3.1 pts |
| White, non-Hispanic, 2023 | 83.1% | 66.3% | +16.8 pts |
| Black, non-Hispanic, 2023 | 3.8% | 10.1% | -6.3 pts |
| Hispanic or Latino, 2023 | 7.0% | 12.9% | -5.9 pts |
| Asian, non-Hispanic, 2023 | 2.4% | 4.4% | -1.9 pts |
| Foreign-born, 2023 | 5.7% | 9.6% | -3.9 pts |
| Median age, 2023 | 38.6 | 39.1 | -0.48 |
| Median household income, 2023 | $73,147 | $77,633 | $-4,486 |
| Median home value, 2023 | $195,900 | $314,132 | $-118,232 |
| Owner-occupied homes, 2023 | 71.5% | 67.4% | +4.2 pts |
| Unemployment (ACS), 2023 | 3.6% | 4.8% | -1.2 pts |
| Federal government workers, 2023 | 1.8% | 3.0% | -1.2 pts |
| Work from home, 2023 | 10.4% | 12.3% | -1.8 pts |
| Households on SNAP, 2023 | 9.2% | 11.1% | -1.9 pts |
| Households with Social Security income, 2023 | 31.5% | 32.1% | -0.6 pts |
| Households with public assistance income, 2023 | 2.1% | 2.6% | -0.5 pts |
| Moved in from another state, past year, 2023 | 2.3% | 2.9% | -0.6 pts |
| Gini index, 2023 | 0.44 | 0.47 | -0.02 |
| Unemployment, latest month (BLS), 2026-07 | 3.5% | 4.0% | -0.5 pts |
| Change in unemployment, past 12 months, 2026-07 | -0.3 pts | -0.1 pts | -0.2 pts |
| Change since the last election (24 months), 2026-07 | -0.1 pts | -0.1 pts | -0.0 pts |
| Per-capita personal income (BEA), 2024 | $65,225 | $70,662 | $-5,437 |
| Per-capita income growth since 2019, nominal, 2024 | 31.3% | 32.4% | -1.1 pts |
| Government and other transfers, share of income, 2024 | 20.0% | 19.4% | +0.7 pts |
| Social Security, share of income, 2022 | 6.5% | 6.1% | +0.4 pts |
| Medicare, share of income, 2022 | 4.3% | 4.4% | -0.0 pts |
| Medicaid, share of income, 2022 | 3.6% | 3.8% | -0.2 pts |
| SNAP, share of income, 2022 | 0.3% | 0.6% | -0.3 pts |
| Earned Income Tax Credit, share of income, 2022 | 0.3% | 0.3% | -0.1 pts |
| Veterans' benefits, share of income, 2022 | 0.7% | 0.9% | -0.2 pts |
| Federal civilian jobs, share of all jobs, 2022 | 0.8% | 1.5% | -0.7 pts |
| Military jobs, share of all jobs, 2022 | 0.5% | 1.2% | -0.6 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.2 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 -10.0 and +7.8 points. Election day: -12.8 to +9.1. The election-day interval is 4.1 points wider, which is the 33 days of movement still to come.
What is the uncertainty made of?
Total sd 6.99 points, made of race-specific polling error 51%, drift to election day 33%, correlated polling error 12%, latent opinion 4%. 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?
23 polls, most recent 2026-09-29. 42% verified against a primary source.
What changed since the last run?
Shaded band is the 90% interval, line is the central estimate, positive is Josh Turek ahead of Ashley Hinson. Over 16 stored forecasts the central estimate moved -2.2 points. There were 7 specification changes (marked on the axis) and 3 new polls arrived over this window — so the movement mixes new evidence with changes to the model.
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 b2e118ed-b181-4be4-948b-70f6ffcb0968 and election-day run f27ff0c3-eefd-4d48-8262-0e08bebcafe3, model single_race_latent/0.8.1 at commit bdf7e83107c17a2399efe61a44ef1bbee48f9284, seeds 20260924 and 20260924.