TX-23 · House
election-day forecast · ground-up model · as of 2026-10-02
The district, in brief
Texas's 23rd is a new district for 2026 covering southwestern Texas, including the Big Bend, and stretching east through Del Rio and Uvalde to the northern San Antonio suburbs, with a reach west to the fringes of the El Paso suburbs. The text calls it majority Hispanic; Donald Trump took 56.8% and Ted Cruz 52.9% here in 2024, and Democrats are targeting it.
The seat is effectively open. Republican incumbent Tony Gonzales, re-elected with 62.3% in 2024, trailed Brandon Herrera 43.3% to 41.8% in the primary, then ended his campaign on March 5 after admitting a sexual relationship with a former staff member who later died by suicide. He resigned on April 13 ahead of an expected expulsion vote; Governor Greg Abbott has not called a special election, likely leaving the seat vacant until January 2027. Herrera, a firearms manufacturer, YouTuber and the 2024 candidate here, became the nominee when the runoff was cancelled; Trump, Speaker Mike Johnson, Steve Scalise and Tom Emmer switched their endorsements to him. The Democratic nominee is Katy Padilla Stout, an attorney, who won her primary with 52.1% over Santos Limon and is endorsed by CHC BOLD PAC, EMILYs List, Giffords and J Street. As of June 30, 2026 Herrera had raised $1,937,719 with $309,023 on hand, Padilla Stout $488,814 with $176,111 on hand.
Decision Desk HQ (July 14, 2026), the Cook Political Report (March 12, 2026), Inside Elections (March 12, 2026) and Sabato's Crystal Ball (May 6, 2026) rank the seat R; Silver Bulletin (August 20, 2026) calls it a Tossup. One general-election poll is recorded: Public Policy Polling (D), March 10–11, 2026, had Herrera 42%, Padilla Stout 40%.
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
The incumbent is Republican Tony Gonzales, who was re-elected with 62.3% of the vote in 2024.
Gonzales ended his campaign on March 5, leading to the cancellation of the runoff and making challenger Brandon Herrera the Republican nominee.
====Nominee==== * Katy Padilla Stout, attorney
Brandon Herrera, firearms manufacturer, YouTuber, and candidate for this district in 2024
====Nominee==== * Katy Padilla Stout, attorney
firearms manufacturer, YouTuber, and candidate for this district in 2024
gave Donald Trump and Ted Cruz 56.8% and 52.9% of the vote, respectively, in 2024
who was re-elected with 62.3% of the vote in 2024
The new 23rd district covers southwestern Texas, including the Big Bend, and stretches eastward through Del Rio and Uvalde to the northern San Antonio suburbs
candidate: Brandon Herrera votes: 23,932 percentage: 43.3 party: Republican Party (United States) candidate: Tony Gonzales (incumbent) votes: 23,073 percentage: 41.8
Sabato's Crystal Ball R May 6, 2026 Silver Bulletin Tossup August 20, 2026
Brandon Herrera (R) $1,937,719 $1,636,736 $309,023 | Katy Padilla Stout (D) $488,814 $311,557 $176,111
Republican leaders called on Gonzales to end his re-election campaign after he admitted to having a sexual relationship with a former staff member who later died by suicide, following his earlier denial of the allegations.
governor Greg Abbott never called an emergency special election to fill this seat, likely leaving it vacant until January 2027
Public Policy Polling (D) March 10–11, 2026 521 (V) – |42% 40% 18%
Trafalgar Group (R) October 31 – November 1, 2025 605 (LV)
Donald Trump, president of the United States (2017–2021, 2025–present) (previously endorsed Gonzales)
San Antonio Express-News (previously endorsed Gonzales)
* CHC BOLD PAC * EMILYs List * Giffords * J Street
* Patti Hale Ashe * Veronica Williams, licensed professional counselor
Not in the source: The model's basis says no district polls, but the text records one general-election poll (Public Policy Polling, March 10–11, 2026) and three Republican primary polls that the model did not use.; No general-election ratings finer than 'R' are given by the four raters that rank it R.; The text does not say whether the vacancy affects the general election itself, only that the seat is likely vacant until January 2027.; The text gives no result or details for the cancelled Republican runoff beyond the withdrawal.
Read from the district's section of Wikipedia's state page (CC BY-SA), archived as efe72be7e14a; 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.
How it has voted for president
| Two-party margin | 2016 | 2020 | 2024 |
|---|---|---|---|
| President | D+8.5 | D+4.6 | R+6.4 |
A shift of 14.9 points toward the Republicans from 2016 to 2024. county returns placed on the current lines by 2020 block population; 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.
Who are the voters?
| Group (adults 25+) | Share of adults | Turnout 2020 / midterm | Share of a midterm electorate | Est. Democratic share, 2020 |
|---|---|---|---|---|
| White, no degree | 17% | 62% / 44% | 20% | 8% |
| White, degree | 16% | 84% / 68% | 29% | 55% |
| Black | 4% | 56% / 39% | 4% | 89% |
| Hispanic | 58% | 38% / 26% | 41% | 55% |
| Asian | 3% | 39% / 28% | 2% | 61% |
| Other / multiracial | 2% | 55% / 40% | 2% | 54% |
Of about 472,524 adults 25 and over. In 2020 the district voted 46.5% Democratic (two-party) for president. With the same preferences and a 2022-style midterm turnout, it would vote 46.7% Democratic: the midterm electorate alone moves the margin 0.4 points toward Democrats. Group shares are estimated from how results vary across the state's census tracts (ecological inference, anchored to Pew's 2020 validated-voter figures) and calibrated to this district's actual 2020 vote; turnout is the Census survey's state rate by race and national rate by education, whose state samples carry margins of several points.
Not answered here: how each group will vote in 2026. These are 2020 preferences; this profile is description, not yet an input to the forecast.
The money
| Candidate | Raised | Cash on hand | PAC share | Self-funded | Outside $ for | Outside $ against |
|---|---|---|---|---|---|---|
| Gonzales, Ernest Anthony Tony Ii (REP) incumbent · not on our roster | $2,270,926 | $226,503 | 21% | 0% | $194,833 | $2,000 |
| Herrera, Brandon (REP) open seat | $1,937,719 | $309,023 | 3% | 22% | $48,977 | $416,072 |
| Stout, Katy Padilla (DEM) open seat | $484,915 | $171,373 | 5% | 2% | $0 | $0 |
| Rubio, Susan Storey (REP) open seat · not on our roster | $418,519 | $0 | 0% | 84% | $0 | $0 |
| Limon, Santos M. (DEM) open seat · not on our roster | $356,755 | $349,940 | 0% | 99% | $0 | $0 |
| Enck, Gretel Marysdatter (DEM) open seat · not on our roster | $98,534 | $0 | 0% | 48% | $0 | $0 |
| Canseco, Francisco 'Quico' Raul (REP) open seat · not on our roster | $80,050 | $201,621 | 0% | 100% | $0 | $0 |
| Williams, Veronica (IND) open seat · not on our roster | $12,104 | $-316 | 0% | 0% | $0 | $0 |
| Jones, Gina Ortiz (DEM) open seat · not on our roster | $5,000 | $0 | 0% | 0% | $0 | $0 |
FEC bulk candidate summaries through June 30, 2026; $661,882 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.
The district in numbers
| Measure | District | Nation | Difference |
|---|---|---|---|
| Bachelor's degree or higher, 25+ | 34.5% | 34.9% | -0.5 pts |
| White, non-Hispanic | 30.2% | 58.2% | -28.0 pts |
| Black, non-Hispanic | 3.6% | 12.0% | -8.4 pts |
| Hispanic or Latino | 60.5% | 19.0% | +41.5 pts |
| Asian, non-Hispanic | 2.6% | 5.8% | -3.1 pts |
| Foreign-born | 14.9% | 13.9% | +1.0 pts |
| Median age | 35.5 | 39.2 | -3.7 |
| Median household income | $89,911 | $84,362 | $+5,549 |
| Median home value | $271,684 | $379,737 | $-108,053 |
| Owner-occupied homes | 73.6% | 65.1% | +8.5 pts |
| Unemployment, July 2026 (BLS county data) | 5.0% | 4.4% | +0.6 pts |
| Change in unemployment, past 12 months | +0.2 pts | — | — |
| Change since the last election (24 months) | +0.4 pts | — | — |
| Unemployment (ACS) | 4.4% | 5.2% | -0.8 pts |
| Federal government workers | 6.2% | 2.6% | +3.6 pts |
| Work from home | 12.8% | 13.5% | -0.7 pts |
| Households on SNAP | 12.7% | 11.8% | +0.9 pts |
| Households with Social Security income | 26.4% | 31.2% | -4.8 pts |
| Households with public assistance income | 2.3% | 2.7% | -0.4 pts |
| Moved in from another state, past year | 2.9% | 2.3% | +0.6 pts |
| Gini index | 0.40 | 0.44 | -0.04 |
| Per-capita personal income (BEA), 2024 | $57,628 | $73,248 | $-15,620 |
| Per-capita income growth since 2019, nominal, 2024 | 31.2% | 32.0% | -0.8 pts |
| Government and other transfers, share of income, 2024 | 21.6% | 19.6% | +2.0 pts |
| Social Security, share of income, 2022 | 5.2% | 5.8% | -0.6 pts |
| Medicare, share of income, 2022 | 4.5% | 4.5% | +0.1 pts |
| Medicaid, share of income, 2022 | 5.3% | 4.0% | +1.3 pts |
| SNAP, share of income, 2022 | 0.9% | 0.6% | +0.3 pts |
| Earned Income Tax Credit, share of income, 2022 | 0.7% | 0.4% | +0.3 pts |
| Veterans' benefits, share of income, 2022 | 1.9% | 0.9% | +1.1 pts |
| Federal civilian jobs, share of all jobs, 2022 | 2.9% | 1.3% | +1.6 pts |
| Military jobs, share of all jobs, 2022 | 2.6% | 0.9% | +1.7 pts |
ACS 5-year 2023, assembled from census tracts by the 2020 population of their blocks inside the current lines, because the Bureau has not tabulated these lines; medians are population-weighted means of tract medians. Unemployment is the BLS county series placed on the district by block population, not seasonally adjusted, so changes are same-month comparisons. Income, transfers and jobs are BEA county accounts placed the same way, compared with the average district. Every other figure is a named column of a named table in the Bureau's summary file, archived before it was read. This is what a reader knows about a district before looking at a poll; the model does not yet use it, and whether it should is a registered question.
Who is favoured, and by how much?
The 90% interval runs from -19.3 to +10.8 points, D-R. It is wide because this district has never been polled.
What is this built on?
A model trained on every contested House race 2012-2024 predicts this district's lean from its own record: presidential and House results on the current lines, incumbency, both candidates' prior offices, outside and party money before 1 October, demographics and public-assistance shares from the Census release before the election, local unemployment and income, and religious tradition. The national margin comes from presidential approval, the economy, the midterm penalty and the generic ballot corrected for its measured lean. Draws share national and state errors, so the seat total and this district come from the same simulation.
Not answered here: district polls, which are not yet folded in.
Why does the model say this?
Each figure is how far this district's predicted lean moves when that one feature is set to the typical value across 2026 districts, everything else held: 2024 presidential lean (R+13.5): 4.5 pts toward the Republican; outside money balance: 2.0 pts toward the Democrat; 2024 House lean: 2.0 pts toward the Republican; PAC money balance: 0.6 pts toward the Republican; median age (35.5306): 0.6 pts toward the Democrat.
How sure is it, and of what?
Total sd 9.09 points, made of the seat's own volatility 91%, correlated polling error 9%. The decomposition is stored with the forecast rather than reconstructed, so a probability whose dominant input is a placeholder is visibly that.
Not answered here: a nowcast. 'If ballots were cast today' needs something that observes today, and for a House district nothing does. Publishing the election-day figure under both labels would make one forecast look like two.
How was this number made?
Run 6f211e6f-2bdc-4dda-8f72-81fc628dab0b, house_district_prior/0.2.0, as of 2026-10-02. Promoted by a pre-registered gate: on 2016-2022 its Brier score was 0.036 against 0.049 for the previous method, and on a single 2024 run 0.023 against 0.032 (experiments/district_gate_result.md, with an independent review).