Texas · U.S. House · District 20 · November 3, 2026

What it would take for Edgardo Rafael Baez.

Castro starts 34.9 points ahead on our starting line from recent official results. Campaign work can move about 3,478 net votes toward Baez, a 2.2-point gain. Winning outright would take a 32.8-point national wave on top of that. Here is the plan that makes Baez the one standing if one comes.

56,424
net votes between Baez and a win
37
days to election day. Early voting opens October 19.
34.9 pts
Castro lead, our starting line from recent results
In short

A long shot on the math: it takes a 32.8-point national wave.

Odds today0%
Odds with the plan0%
Net votes to find56,424
WherePrecinct 1111 (Bexar County), Precinct 2068 (Bexar County), Precinct 2020 (Bexar County)
Underdog UpdateSeptember 26, 2026. Underdog plan published. Starting line: Castro +34.9. Edgardo Rafael Baez needs 56,424 net votes. Odds 0% today, 0% with the plan.
The number

80,796 votes.

That is half of the 161,591 ballots we expect in this race, plus one. Where Baez stands today, and what is missing:

50,634 Edgardo Rafael Baez baseline
107,058 Joaquin Castro baseline

Starting line: a weighted blend of the official 2022 and 2024 results in this district (President, U.S. Senate, Railroad Commissioner, Governor, Attorney General). No 2026 polls have been published. 2026 turnout modeled on 2022, the last midterm.

The odds

0% today. A wave changes that.

We ran this race 20,000 times with realistic error on every assumption. Drag the slider to see the odds move as the campaign captures more of what history says is available.

Baez wins in
0%
of 20,000 simulated elections
With no plan
0%
tieBaez loses by 82,274loses by 23,392
How much of what history allows the campaign achieves100%
The plan on this page sits at 100%. Median outcome at this setting: Baez short by 52,854.

Each simulation draws the starting line with an error of 7 points of margin (no 2026 polls, so the starting line comes from history and carries more error) and lets the plan over- or under-deliver by 30 percent. Seeded and reproducible; the method and data are at the bottom of the page.

Three moves

The gap closes three ways.

Change minds. Bring out voters who skip midterms. Win back the third-party vote. Every pool below is counted from official precinct returns and published polls.

Persuade
3,038
net votes in the plan, from a pool of 3,038

Who. 3,038 voters who split their ticket in recent elections and lean Castro today.

How. Live conversations on the call list that matters: voters who crossed party lines, plus the undecided. Baez needs to win 50 percent of the ones now leaning Castro.

Mobilize
6
net votes in the plan, from a pool of 56

Who. At least 56 people who voted in 2024 but not in 2022, in precincts where Baez's side wins at least 55 percent.

How. Voter ID calls to people who voted in 2024 and skipped 2022, then a ballot chase until each one has voted.

Consolidate
434
net votes in the plan, from a pool of 1,239

Who. Voters who went third party in recent races, in the precincts that lean Baez's way.

How. A direct appeal to voters who went third party last time. They have already shown they will leave the two-party default.

Together: 3,478 net votes against a gap of 56,424. Still 52,946 short. The rest needs a national shift of about 32.8 points that no campaign controls.

Where it is won

12 precincts carry 11% of it.

Ranked by the net votes each one gives the plan. The darker the county, the more of the upset lives there.

Anderson CountyAndrews CountyAngelina CountyAransas CountyArcher CountyArmstrong CountyAtascosa CountyAustin CountyBailey CountyBandera CountyBastrop CountyBaylor CountyBee CountyBell CountyBexar County: 3,478 net votes in the planBlanco CountyBorden CountyBosque CountyBowie CountyBrazoria CountyBrazos CountyBrewster CountyBriscoe CountyBrooks CountyBrown CountyBurleson CountyBurnet CountyCaldwell CountyCalhoun CountyCallahan CountyCameron CountyCamp CountyCarson CountyCass CountyCastro CountyChambers CountyCherokee CountyChildress CountyClay CountyCochran CountyCoke CountyColeman CountyCollin CountyCollingsworth CountyColorado CountyComal CountyComanche CountyConcho CountyCooke CountyCoryell CountyCottle CountyCrane CountyCrockett CountyCrosby CountyCulberson CountyDallam CountyDallas CountyDawson CountyDeWitt CountyDeaf Smith CountyDelta CountyDenton CountyDickens CountyDimmit CountyDonley CountyDuval CountyEastland CountyEctor CountyEdwards CountyEl Paso CountyEllis CountyErath CountyFalls CountyFannin CountyFayette CountyFisher CountyFloyd CountyFoard CountyFort Bend CountyFranklin CountyFreestone CountyFrio CountyGaines CountyGalveston CountyGarza CountyGillespie CountyGlasscock CountyGoliad CountyGonzales CountyGray CountyGrayson CountyGregg CountyGrimes CountyGuadalupe CountyHale CountyHall CountyHamilton CountyHansford CountyHardeman CountyHardin CountyHarris CountyHarrison CountyHartley CountyHaskell CountyHays CountyHemphill CountyHenderson CountyHidalgo CountyHill CountyHockley CountyHood CountyHopkins CountyHouston CountyHoward CountyHudspeth CountyHunt CountyHutchinson CountyIrion CountyJack CountyJackson CountyJasper CountyJeff Davis CountyJefferson CountyJim Hogg CountyJim Wells CountyJohnson CountyJones CountyKarnes CountyKaufman CountyKendall CountyKenedy CountyKent CountyKerr CountyKimble CountyKing CountyKinney CountyKleberg CountyKnox CountyLa Salle CountyLamar CountyLamb CountyLampasas CountyLavaca CountyLee CountyLeon CountyLiberty CountyLimestone CountyLipscomb CountyLive Oak CountyLlano CountyLoving CountyLubbock CountyLynn CountyMadison CountyMarion CountyMartin CountyMason CountyMatagorda CountyMaverick CountyMcCulloch CountyMcLennan CountyMcMullen CountyMedina CountyMenard CountyMidland CountyMilam CountyMills CountyMitchell CountyMontague CountyMontgomery CountyMoore CountyMorris CountyMotley CountyNacogdoches CountyNavarro CountyNewton CountyNolan CountyNueces CountyOchiltree CountyOldham CountyOrange CountyPalo Pinto CountyPanola CountyParker CountyParmer CountyPecos CountyPolk CountyPotter CountyPresidio CountyRains CountyRandall CountyReagan CountyReal CountyRed River CountyReeves CountyRefugio CountyRoberts CountyRobertson CountyRockwall CountyRunnels CountyRusk CountySabine CountySan Augustine CountySan Jacinto CountySan Patricio CountySan Saba CountySchleicher CountyScurry CountyShackelford CountyShelby CountySherman CountySmith CountySomervell CountyStarr CountyStephens CountySterling CountyStonewall CountySutton CountySwisher CountyTarrant CountyTaylor CountyTerrell CountyTerry CountyThrockmorton CountyTitus CountyTom Green CountyTravis CountyTrinity CountyTyler CountyUpshur CountyUpton CountyUvalde CountyVal Verde CountyVan Zandt CountyVictoria CountyWalker CountyWaller CountyWard CountyWashington CountyWebb CountyWharton CountyWheeler CountyWichita CountyWilbarger CountyWillacy CountyWilliamson CountyWilson CountyWinkler CountyWise CountyWood CountyYoakum CountyYoung CountyZapata CountyZavala CountyBexar
Fewer net votesMore net votes for the upset
  1. 01
    Precinct 1111 (Bexar County)persuade
    Starting line Castro +25. 4.5% split their ticket.
    +41
  2. 02
    Precinct 2068 (Bexar County)persuade
    Starting line Castro +15. 3.2% split their ticket.
    +40
  3. 03
    Precinct 2020 (Bexar County)persuade
    Starting line Castro +50. 6.0% split their ticket.
    +36
  4. 04
    Precinct 4076 (Bexar County)persuade
    Starting line Castro +26. 4.5% split their ticket.
    +34
  5. 05
    Precinct 2088 (Bexar County)persuade
    Starting line Castro +25. 3.2% split their ticket.
    +34
  6. 06
    Precinct 1110 (Bexar County)persuade
    Starting line Castro +19. 4.7% split their ticket.
    +31
  7. 07
    Precinct 1083 (Bexar County)persuade
    Starting line Castro +24. 4.0% split their ticket.
    +31
  8. 08
    Precinct 1100 (Bexar County)persuade
    Starting line Castro +25. 4.2% split their ticket.
    +31
  9. 09
    Precinct 2148 (Bexar County)persuade
    Starting line Castro +35. 3.5% split their ticket.
    +30
  10. 10
    Precinct 2069 (Bexar County)persuade
    Starting line Castro +28. 4.4% split their ticket.
    +30
  11. 11
    Precinct 2025 (Bexar County)persuade
    Starting line Castro +41. 4.9% split their ticket.
    +30
  12. 12
    Precinct 4088 (Bexar County)persuade
    Starting line Castro +30. 3.0% split their ticket.
    +29
What the numbers say that the polls do not

The hidden path.

Precinct 1111 (Bexar County) carries the most.

Precinct 1111 (Bexar County) gives this plan more net votes than any other precinct: 41. It sits at Castro +25 on our starting line, and 4.5 percent of its voters split their ticket in recent elections.

Precinct 2020 (Bexar County) splits its ticket the most.

Of the precincts in this plan, Precinct 2020 (Bexar County) has the highest share of ticket splitters: 6.0 percent. That is where a persuasion call is most likely to reach someone open to crossing over.

Spend it where it counts.

As of June 30, 2026, Castro had $154K in cash on hand to Baez's $21K. That is exactly why the plan puts every dollar on the few places listed here instead of the whole map.

The honest math.

Every lever at its historical ceiling moves 3,478 net votes. The gap is 56,424. That is the measure of what a strong campaign adds: 2.2 points of margin, and first position if the national mood breaks.

The evidence

Where voters cross over.

Every dot is a precinct. If no one split a ticket, every dot would sit on the line. The orange ones are where Baez's side lost voters it won further up the ballot.

-100-100-80-80-60-60-40-40-20-2000+20+20+40+40Baez's side, President 2024 margin (points)U.S. Senate 2024 margin (points)
Precincts
282
Slope
0.979
R²
0.958
Residual SD
2.7 pts
Crossover precincts
59

Weighted least squares, one point per precinct, weighted by ballots cast. Orange precincts sit more than one residual standard deviation below the line: Baez's side did worse there in this race than the top of the ticket predicts. Hover any dot for the precinct.

The next 37 days

Voting starts October 19.

  1. Now to October 5
    Find them

    Voter ID calls across the persuasion list in these precincts. Every conversation tags the voter: with Baez, with Castro, or undecided. The undecided become the persuasion universe; the supporters become the ballot chase list.

  2. October 6 to 18
    Persuade

    Second conversations with every undecided and soft voter, built around the one issue they named on the first call. The goal is 3,038 net votes from people who have crossed party lines before.

  3. October 19 to 25
    Bank the ballots

    Mail ballots are already going out, and in-person early voting runs October 19 through October 30. Mail ballot applications must be received by October 23. Chase every supporter's mail ballot request until it is returned, and move supporters to early voting while it is open.

  4. October 26 to November 2
    Turn them out

    The drop-off voters: people who voted in 2024 and skipped 2022. At least 56 of them live where Baez is favored. In-person early voting ends October 30. Mail ballots count if received by 7 p.m. on November 3, or by 5 p.m. on November 4 if postmarked by Election Day.

  5. November 3
    Election day

    Polls are open 7 a.m. to 7 p.m. Texas has no same-day registration; the registration deadline is October 5. The last calls go to identified supporters who have not voted, with their polling place in hand.

What has to be true

No wishful thinking.

Official results in this district: Harris carried the 2024 presidential race by 28.5 points; Allred carried the 2024 U.S. Senate race by 35.9 points; O'Rourke carried the 2022 governor's race by 40.9 points.

  1. Baez wins 50 percent of the ticket splitters now leaning Castro.
  2. The national environment moves about 32.8 points toward Baez's side between now and November 3.
  3. No 2026 public poll exists for this race, so the starting line is a weighted blend of official recent results; the first real poll will move it.
The work

800 conversations.

That is how many live voter conversations this plan takes: about 15,259 dials to 5,086 households, before the last ballot is cast.

5,086
households on the target list
15K
dials across three attempts
800
live conversations: persuasion, voter ID, ballot chase

Call list: every ticket splitter and undecided voter in the targeted places (you cannot tell which way they lean before the call), every targeted drop-off voter, and the reachable third-party voters. About 69 households for every 100 voters on the list, three attempts each, and a 5.24 percent live answer rate per attempt, the per-program average across 1.2 million real 2026 dials in our published benchmarks.

HyperPhonebank

We run this list.

Calls are the voter ID and ballot chase engine of this plan. They find the persuadable voters and the supporters, so every other dollar lands on the right door. The full call program for this list is an estimated $2,649 at our published rates: 5,086 households, three attempts each.

Professional live callers working exactly these precincts: persuasion on the ticket splitters, voter ID on the fence, ballot chase on every absentee request until it is returned. A live dashboard shows every conversation as it happens. Days to launch, not weeks.

The candidates

Who is on the ballot.

Underdog

Edgardo Rafael Baez (R)

Attorney and business owner born in Ponce, Puerto Rico, who served in the U.S. Army from 1989 to 2002; holds a bachelor's degree from Wayland Baptist University, a law degree from Texas Southern University and a Ph.D. from Liberty University.

Cash on hand $21,462 and $48,536 raised since January 1, 2025, per FEC reports through June 30, 2026.

Favorite · incumbent

Joaquin Castro (D)

U.S. representative for the 20th District since 2013 who serves on the House Foreign Affairs Committee and the Permanent Select Committee on Intelligence; a San Antonio native, attorney and former law professor with degrees from Stanford and Harvard Law School.

Cash on hand $154,380 and $514,776 raised since January 1, 2025, per FEC reports through June 30, 2026.

Underdog Updates

What changed, and when.

We re-run this race as new polls, fundraising reports and early vote counts arrive. Every change to the numbers is logged here.

  1. September 26, 2026
    Underdog plan published

    Starting line: Castro +34.9. Edgardo Rafael Baez needs 56,424 net votes. Odds 0% today, 0% with the plan.

Share this plan. Running this campaign, or backing it? This page is yours to share with your team and supporters.
Share

Questions

Can Edgardo Rafael Baez win Texas's 20th Congressional District in 2026?

Only with help from the national environment. Campaign work can move about 3,478 net votes; the gap is 56,424. The rest would take a 32.8-point national shift.

Where are the votes Edgardo Rafael Baez needs?

Ranked by net votes in the plan: Precinct 1111 (Bexar County), Precinct 2068 (Bexar County), Precinct 2020 (Bexar County), Precinct 4076 (Bexar County), Precinct 2088 (Bexar County). Persuadable voters are counted from ticket splitting in 2022 and 2024 official returns; turnout targets are people who voted in 2024 and skipped 2022.

How many voters does Edgardo Rafael Baez need to persuade?

About 1,519 voters who lean Joaquin Castro today, each worth two votes of margin when they switch. That is 50 percent of the 3,038 persuadable voters leaning Joaquin Castro.

When does early voting start in Texas in 2026?

In-person early voting in Texas runs October 19 through October 30, 2026. The voter registration deadline is October 5, and applications for a mail ballot must be received by October 23. Mail ballots count if received by 7 p.m. on Election Day, or by 5 p.m. the next day if postmarked by Election Day. Texas does not offer same-day registration.

Who made this analysis?

The Political Group, an independent campaign services firm, from official Texas Secretary of State precinct returns, Census data, FEC filings and published polls. It is not affiliated with any candidate or party.

Method and sources

Precinct math from official Texas Secretary of State returns for 2022 and 2024, projected onto current district lines. Polls, ratings and fundraising as published on the dates shown. This is independent analysis by The Political Group, as of September 26, 2026. It is not affiliated with or endorsed by any candidate or party, and it is written for every campaign that starts behind.

Statistics: a weighted least squares crossover regression on every precinct, and 20,000 seeded Monte Carlo simulations. The baseline error (7 points of margin) and plan efficacy spread (30 percent) are our stated assumptions. Download the precinct data (CSV, ready for JASP). Free to cite under CC BY 4.0 with a link to this page.

Race coverage

More Texas underdogs

Texas U.S. Senate
How Ken Paxton wins
265,529 net votes to find
TX-01
What it would take for Yolanda Prince
119,795 net votes to find
TX-02
What it would take for Shaun Finnie
55,482 net votes to find
TX-03
What it would take for Evan Hunt
57,216 net votes to find
TX-04
What it would take for Jason Pearce
61,109 net votes to find
TX-05
What it would take for Chelsey Hockett
43,166 net votes to find
TX-06
What it would take for Danny Minton
50,211 net votes to find
TX-07
What it would take for Alexander Hale
51,235 net votes to find
TX-08
What it would take for Laura Jones
56,168 net votes to find
TX-09
What it would take for Leticia Gutierrez
20,806 net votes to find
TX-10
What it would take for Caitlin Rourk
52,107 net votes to find
TX-11
What it would take for Claire Reynolds
67,733 net votes to find
TX-12
What it would take for Angela "Heli" Rodriguez Prilliman
48,061 net votes to find
TX-13
What it would take for Mark Nair
102,644 net votes to find
TX-14
What it would take for Thurman "Bill" Bartie
56,491 net votes to find
TX-15
How Monica De La Cruz wins
7,158 net votes to find
TX-16
What it would take for Adam Bauman
34,487 net votes to find
TX-17
What it would take for Casey Shepard
48,953 net votes to find
TX-18
What it would take for Ronald Whitfield
101,469 net votes to find
TX-19
What it would take for Kyle Rable
102,579 net votes to find
TX-21
What it would take for Kristin Hook
65,730 net votes to find
TX-22
What it would take for Marquette Greene-Scott
52,088 net votes to find
TX-23
How Katy Padilla Stout wins
10,194 net votes to find
TX-24
What it would take for Kevin Burge
45,794 net votes to find
TX-25
What it would take for Dione Sims
52,061 net votes to find
TX-26
What it would take for Steven Shook
63,948 net votes to find
TX-27
What it would take for Tanya Lloyd
49,699 net votes to find
TX-28
How Tano E. Tijerina wins
2,378 net votes to find
TX-29
What it would take for Martha Fierro
43,740 net votes to find
TX-30
What it would take for Everett Jackson
88,196 net votes to find
TX-31
What it would take for Justin Early
55,295 net votes to find
TX-32
What it would take for Dan Barrios
36,637 net votes to find
TX-33
What it would take for Patrick Gillespie
57,747 net votes to find
TX-34
How Eric Flores wins
3,399 net votes to find
TX-35
How Johnny Garcia wins
16,348 net votes to find
TX-36
What it would take for Rhonda Hart
53,363 net votes to find
TX-37
What it would take for Lauren Peña
162,220 net votes to find
TX-38
What it would take for Melissa McDonough
55,417 net votes to find