Arkansas · Senate
election 2026-11-03 · forecast as of 2026-10-01 · margins and probabilities are for Hallie Shoffner
Who is running?
Hallie Shoffner (Democratic), Tom Cotton (Republican), Jeff Wadlin (Libertarian). The margin below is Hallie Shoffner minus the other candidate in the main contest; the rest are on the ballot and not in it.
The race, in brief
Arkansas elects a U.S. senator on November 3, 2026. The text notes Democrats have not won a Senate election in Arkansas since 2008. The state profile records a median age of 38.4, a college share of 0.3 and a white non-Hispanic share of 0.7.
Republican incumbent Tom Cotton, senator since 2015, is seeking a third term and won the March 3, 2026 primary with 81.6%. The Democratic nominee is Hallie Shoffner, a farmer and entrepreneur, who took 78.3% over Lewisville mayor Ethan Dunbar. The Libertarian nominee is Jeff Wadlin. As of June 30, 2026 Cotton had raised $13,601,049 with $9,931,885 on hand; Shoffner had raised $2,269,114 with $863,578 on hand.
All ten raters listed, including Cook, Inside Elections, Sabato's Crystal Ball and Split Ticket, say R. The text's polling average is Cotton 48.1%, Shoffner 40.2%. Recorded polls: J.L. Partners, August 14–18, 2026, Cotton 51%, Shoffner 35%; Hendrix College, August 11–12, 2026, Shoffner 47%, Cotton 44%; 2040 Strategy Group (D), July 17–25, 2026, Cotton 46%, Shoffner 43%; GrayHouse (R), February 7–9, 2026, Cotton 58%, Shoffner 36%.
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 Tom Cotton is seeking a third term. He is being challenged by Democratic farmer Hallie Shoffner.
Republican incumbent Tom Cotton is seeking a third term.
He is being challenged by Democratic farmer Hallie Shoffner.
Tom Cotton, incumbent U.S. senator (2015–present)
Hallie Shoffner, farmer and entrepreneur
Tom Cotton, incumbent U.S. senator (2015–present)
Democrats have not won a Senate election in Arkansas since 2008.
Facing minimal opposition, Cotton won the Republican nomination with 81.6% of the vote. Shoffner won the Democratic nomination with 78.3% of the vote over Lewisville mayor Ethan Dunbar.
The Cook Political Report R September 23, 2026 Decision Desk HQ R September 25, 2026
| Hallie Shoffner (D) $2,269,114 $1,405,536 $863,578
Average |48.1% 40.2% 11.8% |Cotton +7.9%
Hendrix College August 11–12, 2026 1,217 (LV) ± 4.7% 44% |47%
Jeff Wadlin, strategy consultant
Not in the source: facts.forecast rows have no basis field, so the input does not say whether the model used these polls.; facts.candidates marks Cotton as incumbent: false, which contradicts the text.; Rater labels are 'R' only, with no Lean/Likely/Safe detail.; No campaign narrative, previous-result margin (2020) or endorsements in the text; endorsement sections are empty.; The Libertarian is spelled 'Wadlin' in the candidate list and 'Waldin' in the poll tables.
Read from the district's section of Wikipedia's state page (CC BY-SA), archived as 5da043877678; written by claude-opus-5-5 (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
John Boozman (Republican), in this chamber since 2011, 3 terms, class 3 (term ends 2029). Committees: Senate Committee on Agriculture, Nutrition, and Forestry (Chairman); Senate Committee on Appropriations; Senate Committee on Environment and Public Works; Senate Committee on Rules and Administration; Senate Committee on Veterans' Affairs; Commission on Security and Cooperation in Europe.
Tom Cotton (Republican), in this chamber since 2015, 2 terms, class 2 (term ends 2027). Committees: Senate Committee on Armed Services; Senate Committee on Energy and Natural Resources; Joint Economic Committee; Senate Select Committee on Intelligence (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 |
|---|---|---|---|---|---|---|
| Cotton, Thomas (REP) incumbent | $6,233,117 | $9,931,885 | 18% | 0% | $665,400 | $0 |
| Shoffner, Hallie (DEM) challenger | $2,269,114 | $863,578 | 0% | 0% | $0 | $1,877,376 |
| Little, Jeb (REP) challenger · not on our roster | $92,532 | $127 | 0% | 91% | $0 | $0 |
| Ashby, Micah (REP) challenger · not on our roster | $41,162 | $754 | 0% | 100% | $0 | $0 |
| Wadlin, Jeffrey Francis (LIB) challenger · not on our roster | $28,778 | $8,469 | 0% | 73% | $0 | $0 |
| Dunbar, Ethan N Sr. (DEM) challenger · not on our roster | $17,462 | $1,111 | 0% | 2% | $0 | $0 |
| Russell, James Richard Mr Iii (DEM) challenger · not on our roster | $3,087 | $0 | 0% | 32% | $0 | $0 |
| Whitfield, Daniel Allen (DEM) challenger · not on our roster | $353 | $2,194 | 0% | 0% | $0 | $0 |
FEC bulk candidate summaries through June 30, 2026; $2,542,776 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+28.6 | R+28.4 | R+31.3 |
A shift of 2.8 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 | 25.1% | 34.0% | -8.9 pts |
| White, non-Hispanic, 2023 | 68.4% | 66.3% | +2.1 pts |
| Black, non-Hispanic, 2023 | 14.8% | 10.1% | +4.8 pts |
| Hispanic or Latino, 2023 | 8.8% | 12.9% | -4.1 pts |
| Asian, non-Hispanic, 2023 | 1.5% | 4.4% | -2.8 pts |
| Foreign-born, 2023 | 5.2% | 9.6% | -4.4 pts |
| Median age, 2023 | 38.4 | 39.1 | -0.68 |
| Median household income, 2023 | $58,773 | $77,633 | $-18,860 |
| Median home value, 2023 | $175,300 | $314,132 | $-138,832 |
| Owner-occupied homes, 2023 | 66.1% | 67.4% | -1.2 pts |
| Unemployment (ACS), 2023 | 5.1% | 4.8% | +0.3 pts |
| Federal government workers, 2023 | 2.2% | 3.0% | -0.9 pts |
| Work from home, 2023 | 7.8% | 12.3% | -4.5 pts |
| Households on SNAP, 2023 | 10.5% | 11.1% | -0.6 pts |
| Households with Social Security income, 2023 | 34.9% | 32.1% | +2.8 pts |
| Households with public assistance income, 2023 | 1.9% | 2.6% | -0.7 pts |
| Moved in from another state, past year, 2023 | 2.4% | 2.9% | -0.4 pts |
| Gini index, 2023 | 0.48 | 0.47 | +0.01 |
| Unemployment, latest month (BLS), 2026-07 | 4.4% | 4.0% | +0.4 pts |
| Change in unemployment, past 12 months, 2026-07 | -0.2 pts | -0.1 pts | -0.0 pts |
| Change since the last election (24 months), 2026-07 | +0.3 pts | -0.1 pts | +0.4 pts |
| Per-capita personal income (BEA), 2024 | $59,320 | $70,662 | $-11,342 |
| Per-capita income growth since 2019, nominal, 2024 | 35.6% | 32.4% | +3.3 pts |
| Government and other transfers, share of income, 2024 | 23.2% | 19.4% | +3.8 pts |
| Social Security, share of income, 2022 | 7.6% | 6.1% | +1.5 pts |
| Medicare, share of income, 2022 | 5.5% | 4.4% | +1.1 pts |
| Medicaid, share of income, 2022 | 5.5% | 3.8% | +1.7 pts |
| SNAP, share of income, 2022 | 0.4% | 0.6% | -0.2 pts |
| Earned Income Tax Credit, share of income, 2022 | 0.5% | 0.3% | +0.2 pts |
| Veterans' benefits, share of income, 2022 | 1.3% | 0.9% | +0.4 pts |
| Federal civilian jobs, share of all jobs, 2022 | 1.2% | 1.5% | -0.3 pts |
| Military jobs, share of all jobs, 2022 | 0.9% | 1.2% | -0.3 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.1 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 -23.9 and +0.9 points. Election day: -29.9 to -1.9. The election-day interval is 3.3 points wider, which is the 33 days of movement still to come.
What is the uncertainty made of?
Total sd 8.70 points, made of latent opinion 38%, race-specific polling error 33%, drift to election day 21%, correlated polling error 8%. 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?
4 polls, most recent 2026-08-18. 75% verified against a primary source.
What changed since the last run?
Shaded band is the 90% interval, line is the central estimate, positive is Hallie Shoffner ahead of Jeff Wadlin. Over 18 stored forecasts the central estimate moved -8.4 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 50440f56-3c6d-47d8-96d6-cb8880a9d4f8 and election-day run dedf0d7e-5592-4ec2-85b1-bab753854e52, model single_race_latent/0.8.1 at commit bdf7e83107c17a2399efe61a44ef1bbee48f9284, seeds 20260924 and 20260924.