US election data · Long Odds, part two
In most House districts, November is a formality. The contest that decides who represents the place happens months earlier, in a party primary that a fraction of the district votes in — and in 76 of them across 2018–2022, the other major party did not field a candidate at all. This part counts those seats, and names the people they sent to Congress.
Every district in the 2018, 2020 and 2022 elections, from the Federal Election Commission’s own results workbooks. A seat is counted safe when the winner took it by 20 points or more, or when the other major party put up nobody at all. Louisiana, which holds an all-party election in November, and the top-two states are counted separately — their primaries are not the same object. That leaves 1,099 seats across the three cycles.
| Winner’s margin | 2018 | 2020 | 2022 |
|---|---|---|---|
| Unopposed | 25 | 22 | 29 |
| 40+ points | 72 | 82 | 78 |
| 20-40 | 122 | 132 | 139 |
| 10-20 | 71 | 66 | 61 |
| 5-10 | 38 | 32 | 30 |
| Under 5 | 38 | 32 | 30 |
↔ scroll the table sideways for the rest
All bars share one scale, longest = 139 seats. The two closest bands really do carry the same counts in all three cycles.
The safe share was 60% in 2018, 64% in 2020 and 67% in 2022. Between 22 and 29 of the seats each cycle had no opponent from the other major party whatsoever. (These are the same bands used throughout this site — see How Close Is Close for what they mean and how close a close election can actually get.)
In 394 of those safe seats the winner faced a real primary, and in 152 of them that primary was closer than the general election — the tighter race was the one held in spring. The people who decide those seats are the ones who turn out for it: across the 391 of them with both turnout figures on file, a median of 77,724 votes were cast in the deciding primary against 271,186 in the general election that ratified it. In total, 31,652,271 votes chose the nominee in these races and 108,452,435 were cast in the generals afterwards.
These are not open contests either. The sitting member won 313 of the 394 deciding primaries.
The five closest primaries in safe seats in each cycle. The margin is computed on the votes cast for candidates in that nomination contest; the general margin is on the whole district. Read the two vote columns against each other: votes that nominated them is the number of people who actually chose the member, and votes cast in the general is the much larger number that only confirmed the choice.
| Winner and seat | Votes that nominated them | Primary margin | General margin | Votes cast in the general |
|---|---|---|---|---|
| Trahan, Lori LoureiroMA-3 2018 · Democratic, 10 candidates in the primary | 18,580 | +0.17 | +28.5 | 279,327 |
| Tlaib, RashidaMI-13 2018 · Democratic, 6 candidates in the primary | 27,841 | +1.0 | +72.9 | 196,299 |
| Lipinski, Daniel WilliamIL-3 2018 · Democratic, 2 candidates in the primary | 48,675 | +2.2 | +47.1 | 223,334 |
| Joyce, JohnPA-13 2018 · Republican, 8 candidates in the primary | 14,828 | +2.2 | +40.9 | 253,621 |
| Clarke, Yvette D.NY-9 2018 · Democratic, 2 candidates in the primary | 16,202 | +6.1 | +78.9 | 203,423 |
| Donalds, ByronFL-19 2020 · Republican, 9 candidates in the primary | 23,492 | +0.75 | +22.6 | 444,589 |
| Auchincloss, JakeMA-4 2020 · Democratic, 9 candidates in the primary | 35,361 | +1.4 | +21.9 | 412,823 |
| Moore, Blake DavidUT-1 2020 · Republican, 4 candidates in the primary | 39,260 | +2.3 | +39.1 | 342,351 |
| Harshbarger, DianaTN-1 2020 · Republican, 16 candidates in the primary | 18,074 | +2.5 | +52.2 | 305,423 |
| Bush, CoriMO-1 2020 · Democratic, 3 candidates in the primary | 73,274 | +2.9 | +59.8 | 316,171 |
| Omar, IlhanMN-5 2022 · Democratic, 5 candidates in the primary | 57,683 | +2.1 | +49.8 | 288,206 |
| Goldman, DanielNY-10 2022 · Democratic, 13 candidates in the primary | 18,505 | +2.4 | +68.4 | 192,347 |
| Langworthy, NickNY-23 2022 · Republican, 2 candidates in the primary | 24,450 | +3.9 | +29.8 | 297,041 |
| Brecheen, JoshOK-2 2022 · Republican, 14 candidates in the runoff | 33,517 | +4.4 | +49.1 | 231,672 |
| Thanedar, ShriMI-13 2022 · Democratic, 9 candidates in the primary | 22,314 | +4.8 | +47.1 | 234,444 |
↔ scroll the table sideways for the vote totals
Lori Trahan’s 10-candidate primary in Massachusetts was settled by a margin of 0.17 points, and she then won the seat by 28.5. Four years later, Ilhan Omar survived a primary by 2.1 points in a district she carried by 49.8. In a safe seat the first number is the election and the second is the receipt.
Counting primaries means dealing with the seats where there wasn’t one. Three states nominate by convention unless a challenger forces a primary; runoff states settle it in a second round, where the eventual nominee sometimes trails the first; and in a handful of seats the person who won the primary left the ballot afterwards, and party officials picked who replaced them. Those last ones are not close primaries — they are seats where the voters’ choice was overtaken by events, and the FEC records each in a footnote.
| How the nominee was chosen | 2018 | 2020 | 2022 |
|---|---|---|---|
| PrimaryAn ordinary party primary settled it. | 344 | 346 | 344 |
| RunoffNo one cleared the threshold, so a second round decided the nomination. | 13 | 10 | 8 |
| Party conventionConnecticut, Utah and Virginia endorse at a convention and hold a primary only if a challenger clears a delegate threshold. | 8 | 8 | 13 |
| Party officials after the primarySomebody else won the primary and then left the ballot, so officials chose the nominee. | 1 | 2 | 2 |
Every seat where officials chose the nominee after the primary, in the Commission’s own words:
“The 5th Congressional District Republican Committee met on June 2, 2018, and selected Denver Riggleman as the nominee to replace Thomas Garrett, who announced on May 28, 2018, that he was no longer running for re-election. Garrett was unopposed in seeking nomination by convention on April 28…”Federal Election Commission, footnote to the 2018 House results
“Nikema Williams was selected by the party to fill the vacancy on the general election ballot after the death of Rep. John R. Lewis.”Federal Election Commission, footnote to the 2020 House results
“On August 8, 2020, the party held a caucus to select a nominee to replace Rep. John Ratcliffe on the general election ballot. 12 candidates were nominated from the floor to be voted upon at the August 8, 2020, caucus. There was 1 round of balloting, with 145 total ballots cast. The totals shown…”Federal Election Commission, footnote to the 2020 House results
“Rudolph (Rudy) Yakym, III, was selected by the party on August 20, 2022, to fill the vacancy on the general election ballot after the death of Rep. Jackie Walorski.”Federal Election Commission, footnote to the 2022 House results
“Van Taylor withdrew in March 2022, after the primary election, and Keith Self became the nominee.”Federal Election Commission, footnote to the 2022 House results
California and Washington run a single primary open to everyone and send the top two finishers to November, whoever they are. That produced 20 all-Democratic or all-Republican November races across the three cycles, out of 188 seats — the general election still decides, but only between candidates one side’s voters chose. Because a top-two primary is a different contest from a party primary, these seats are excluded from every figure above rather than pooled with them.
A safe seat is defined here by the result, not by a rating: 20 points or more, or unopposed. That is a description of what happened, not a claim about what was winnable — a seat can be won by 30 points because the challenger was hopeless rather than because the district is immovable, and this measure cannot tell those apart. It also runs backwards from the outcome: the primary looks decisive partly because we already know the general was not close.
The window is 2018–2022. The Commission has not yet published its 2024 workbook, so the most recent midterm is not in these counts.
Four things in the source file will silently produce wrong
answers, and each is handled in src/safe_seats.py: New York and Connecticut list a
candidate once per ballot line, so a winner can be split in two; Maine and Alaska count by ranked
choice, and the plain vote column holds only first preferences, which elects the wrong person in
Maine’s second district in 2018; write-in lines look like nominations; and a candidate who loses
a primary can stay on another party’s line, which is what removes Joseph Crowley from
Alexandria Ocasio-Cortez’s primary field and makes the decade’s most famous upset read as
a walkover. The party split of all three cycles is checked against the House that was actually
seated before this page will build.
Federal Election Commission, Federal Elections: Election Results for the U.S. President, the U.S. Senate and the U.S. House of Representatives — election results and voting information. One workbook per cycle, sheet “US House Results by State”, which carries primary, runoff and general votes for every candidate together. Quoted footnotes are the Commission’s own. Part one of this research, on candidates who won races they were expected to lose, is at Long Odds.
Built 2026-09-17 from data/safe_seats/seats.json by
src/safe_seats.py. Phase 2 of the upsets research. Every figure on this page is
computed at build time from the parsed workbooks.