Rating the 2026 Senate Races

Thirty-five races, rated in August, and a number you cannot revise in November

Democracy’s Data

Last updated September 15, 2026 at 4:42p EDT

12 professional forecasters have already rated every Senate race on the 2026 ballot: a race rating places a contest in one of a few named categories, from Solid Democratic through Toss-up to Solid Republican, rather than giving it a probability. Their ratings are public, they disagree with each other in 19 of the 35 races, and not one of them publishes what a rating means as a number. So what does a rating actually claim, and how much of November is already settled in August?

The way to find out is to rate the races yourself first. A prediction made after the fact is not a prediction, and the human capacity to remember having believed whatever happened is close to unlimited.1 The only defence is a record with a date on it.

The test

This brief reads 420 published ratings of 35 Senate races, made by 12 forecasters between 2026-08-05 and 2026-08-22, together with the candidates who have qualified for those ballots. All of it comes from one Wikipedia article, “2026 United States Senate elections” (https://en.wikipedia.org/wiki/2026_United_States_Senate_elections), which is where the forecasters’ ratings sit side by side. It is read as the page’s source text rather than as the page a browser shows, because on the displayed page a rating is a coloured cell, and a colour cannot be read back into a word.

That article answers the question because nowhere else do the 12 sit side by side. They publish no common file and share no vocabulary: Cook says “Solid Republican” where Sabato says “Safe Republican”.2 Wikipedia is not the authority on any of it, and is not treated as one here. Every rating is footnoted to the forecaster who published it and every candidate to a state election official, so what the article supplies is the assembly rather than the facts.

Three sources are joined, and the key is the state. The predictions table gives each state its ratings, the race-summary tables give each state its candidates, and the congress-legislators file kept by volunteers on GitHub gives each state its sitting senators and their Senate class — the Senate is divided into three classes, one of which stands for election every two years, and 2026 is Class 2’s turn.3 The third is used only as a test: the 33 non-special races must be exactly the states with a Class 2 senator. Every join takes on the assumptions of both files plus one more about how they line up. That is the subject of Join Keys and Crosswalks, which also covers the crosswalk, a table that translates one set of identifiers into another.

The data

Start with the arithmetic your 35 answers get added to, which is in seat_math.csv.

seats
seats in the Senate 100
Democratic seats now 47
Republican seats now 53
seats on the ballot in 2026 35
of those, Democratic-held 13
of those, Republican-held 22
Democratic seats not on the ballot 34
Republican seats not on the ballot 31
seats for a Democratic majority 51
of the 35, Democrats must win 17
net Democratic gain required 4

Read the last three rows together. Democrats hold 34 seats that nobody votes on this year. A majority is 51 rather than 50, because the Vice President breaks ties and the Vice President is a Republican.4 So Democrats need 17 of the 35 races on the map, and they currently hold 13 of them, which makes the requirement a net gain of 4.

Two of the 35 are special elections, in Florida and Ohio, for seats whose regular term does not end until 2028. Marco Rubio and JD Vance both left the Senate in January 2025, and both seats were filled by appointment. A count of only the 33 expiring terms would leave out Ohio, one of the most contested races in the country.

races.csv holds one row per race, carrying seat_party, senator, status, dem_cand and rep_cand. It also carries the Cook Partisan Voting Index in pvi — the Cook Political Report’s score of how much more Republican or Democratic a state voted for president than the country did, so that R+6 means six points more Republican than the nation — the winner’s share at the seat’s last election in last_share, and the forecasters’ average, spread and range in fc_mean, fc_sd, fc_min and fc_max. ratings_long.csv holds every forecaster’s rating of every race, with rating, published and a numeric score. forecasters.csv gives each of the twelve a mean_gap, and class_ratings.csv collects the maps other readers have submitted.

That numeric score is the one construction decision worth arguing with. Forecasters do not publish probabilities; they publish one of five words, and a word is a category rather than a measurement.

Category Score Meaning
Safe D 3 the other side is not going to win this
Likely D 2 a significant advantage, but not a certainty
Lean D 1 a slight advantage
Toss-up 0 no advantage either way
Lean R -1 a slight advantage
Likely R -2 a significant advantage, but not a certainty
Safe R -3 the other side is not going to win this

Averaging words is impossible, so the words were turned into the numbers in the middle column: positive for the Democrat, symmetric around a toss-up. The two forecasters who use “Tilt” have it scored at half a point. Nothing makes those gaps equal. Saying that “Likely” is exactly twice “Lean” is an assumption rather than a finding, and a different set of numbers gives a different average. The scale is printed here so that you can disagree with it.

Watch it work on one race. Take New Hampshire, the race the 12 disagree about most: one Safe D at 3, five Likely D at 2 each, five Lean D at 1 each and one Tilt D at 0.5. Add the scores and the total is 18.5; divide by 12 and the average is 1.54, nearer to Likely D than to anything else on the scale, though no forecaster said anything of the kind. Every average in this brief was made this way, and every one inherits the assumption that Likely is worth exactly twice Lean.

There is a second problem with the scale, and it is worse. It has seven boxes, every one of which assumes a Democrat is running against a Republican. In 3 of the 35 races no Democrat filed at all.

on the ballot
Idaho Todd Achilles (Independent); Natalie Fleming (Independent); Matt Loesby (Libertarian); Jim Risch (Republican)
Nebraska Mike Marvin (Legal Marijuana Now); Dan Osborn (Independent); Pete Ricketts (Republican)
South Dakota Brian Bengs (Independent); Mike Rounds (Republican)

Nebraska is the one to look at. Dan Osborn is an independent who came within a few points of a Republican in 2024, with no Democrat on the ballot against him.5 A scale running from Safe D to Safe R cannot say what a strong independent looks like. You will still have to rate Nebraska, and whatever you put there will be wrong in a way the map cannot show.

Before you go on, commit to two numbers. Write down how many of the 100 Senate seats the Democrats will hold in January 2027, and how confident you are, as a percentage. Put them somewhere you will not edit. The second number is the one that will surprise you.

What it says about democracy

Rate all 35 first. Figure 1 is the instrument: pick a rating from the row of buttons, then click states to paint them.

Click a rating, then click states. Hover a state for the incumbent, the candidates and its last result. Your ratings are kept in this browser, so the page can be closed and reopened. Sixteen states have no Senate race in 2026 and are left blank.

Figure 1. Your map. One square per state, all the same size, because every state elects two senators no matter how many people live in it. A geographic map would size Wyoming against California by land, which is the wrong quantity for a chamber apportioned by state. The running total adds your 35 calls to the 34 Democratic seats not on the ballot, and a toss-up counts as neither, which is why the total is often a range.

Two buttons will fill the map for you, one from each seat’s last election and one from the forecasters’ average. Use them second. Starting from someone else’s map and adjusting is a different act from building your own, and it will pull your answer toward theirs.

state seat held by sitting senator Democrat Republican your rating
AK Alaska Republican Dan Sullivan (running) David Leslie Gerald Heikes
AL Alabama Republican Tommy Tuberville (retiring) Everett Wess Barry Moore
AR Arkansas Republican Tom Cotton (running) Hallie Shoffner Tom Cotton
CO Colorado Democratic John Hickenlooper (running) John Hickenlooper Mark Baisley
DE Delaware Democratic Chris Coons (running) Jeff Appelhans Michael Katz
FL Florida Republican Ashley Moody (appointed) Angie Nixon Ashley Moody
GA Georgia Democratic Jon Ossoff (running) Jon Ossoff Mike Collins
IA Iowa Republican Joni Ernst (retiring) Josh Turek Ashley Hinson
ID Idaho Republican Jim Risch (running) — Jim Risch
IL Illinois Democratic Dick Durbin (retiring) Juliana Stratton Don Tracy
KS Kansas Republican Roger Marshall (running) Adam Hamilton Roger Marshall
KY Kentucky Republican Mitch McConnell (retiring) Charles Booker Andy Barr
LA Louisiana Republican Bill Cassidy (lost renomination) Jamie Davis Julia Letlow
MA Massachusetts Democratic Ed Markey (running) Ed Markey John Deaton
ME Maine Republican Susan Collins (running) Troy Jackson Susan Collins
MI Michigan Democratic Gary Peters (retiring) Abdul El-Sayed Mike Rogers
MN Minnesota Democratic Tina Smith (retiring) Peggy Flanagan Michele Tafoya
MS Mississippi Republican Cindy Hyde-Smith (running) Scott Colom Cindy Hyde-Smith
MT Montana Republican Steve Daines (retiring) Alani Bankhead Kurt Alme
NC North Carolina Republican Thom Tillis (retiring) Roy Cooper Michael Whatley
NE Nebraska Republican Pete Ricketts (running) — Pete Ricketts
NH New Hampshire Democratic Jeanne Shaheen (retiring) Karishma Manzur Scott Brown
NJ New Jersey Democratic Cory Booker (running) Cory Booker Justin Murphy
NM New Mexico Democratic Ben Ray Luján (running) Ben Ray Luján Larry Marker
OH Ohio Republican Jon Husted (appointed) Sherrod Brown Jon Husted
OK Oklahoma Republican Alan S. Armstrong (appointed) Jim Priest Kevin Hern
OR Oregon Democratic Jeff Merkley (running) Jeff Merkley David Brock Smith
RI Rhode Island Democratic Jack Reed (running) Connor Burbridge Raymond McKay
SC South Carolina Republican Darline Graham (appointed) Annie Andrews Darline Graham
SD South Dakota Republican Mike Rounds (running) — Mike Rounds
TN Tennessee Republican Bill Hagerty (running) Marquita Bradshaw Bill Hagerty
TX Texas Republican John Cornyn (lost renomination) James Talarico Ken Paxton
VA Virginia Democratic Mark Warner (running) Mark Warner Bert Mizusawa
WV West Virginia Republican Shelley Moore Capito (running) Rachel Fetty Anderson Shelley Moore Capito
WY Wyoming Republican Cynthia Lummis (retiring) James W. Byrd Harriet Hageman

Table 1. The 35 races. The paper version of Figure 1. Fill the last column, then read it down to get your code: 1 for Safe D through 7 for Safe R.

The incumbent, the senator who holds the seat now, is not the ballot. 10 of these senators are retiring, 2 lost their own party’s primary, and 4 were appointed rather than elected. Only 19 of the 35 races have the sitting senator running again.

Now look at what everybody else committed to.

Four layers on the same squares. Blue is Democratic, red Republican, pale is close. Hover a state for the numbers behind it; on the forecaster layer the tooltip lists all 12 ratings.

Figure 2. The same 35 squares, four ways. Your map, the 12 forecasters averaged, each seat’s last election, and the average of any codes other readers have pasted in. Nothing here is a result: three of the four layers are somebody’s opinion and the fourth is a different election.

Read the forecaster layer by the total it implies rather than by the colours. Averaged across all 12, the ratings call 16 of the 35 races for the Democrats. Added to the 34 seats not on the ballot, that is 50 Democratic seats — one short of a majority, in a chamber where a 50-50 split leaves the Republicans in charge. The consensus of 12 professionals, in late August, lands on the one number that resolves nothing.

On 16 of the 35 races all 12 forecasters give the same answer. The interesting races are the other 19.

Each grey dot is one forecaster; the diamond is the average of the 12. Hover a row to read every rating behind it. Rows are sorted by the average.

Figure 3. Every rating, one row per race. Grey dots are the 12 forecasters and the diamond is their average. A row where the dots sit on top of each other is a race nobody argues about. A row where they spread out is a race the professionals disagree about, which is not the same thing as a close race.

Two rows are worth finding by hand. Texas has the average nearest to dead even, at -0.04, so the twelve collectively cannot call it. New Hampshire has the widest spread, running from 0.5 to 3, which is the difference between a race that tilts one way and a race that is over. Those are different kinds of uncertainty. A toss-up everyone agrees is a toss-up is a statement about the race; a race where the forecasters split is a statement about the forecasters.

The last column below is how far each forecaster’s ratings sit, on average, from the mean of the other eleven.

forecaster ratings last changed races rated average distance from the other eleven
The Economist 2026-08-07 35 0.36
Inside Elections 2026-08-06 35 0.32
Split Ticket 2026-08-11 35 0.25
Sabato 2026-08-19 35 0.23
RealClearPolitics 2026-08-14 35 0.22
Silver Bulletin 2026-08-21 35 0.21
VoteHub 2026-08-06 35 0.21
Cook 2026-08-20 35 0.19
Fox News 2026-08-18 35 0.19
FiftyPlusOne 2026-08-11 35 0.19
Race to the WH 2026-08-22 35 0.19
Decision Desk HQ 2026-08-05 35 0.16

Table 2. The 12. The Economist sits furthest from the rest, at 0.36 on a scale six wide, and Decision Desk HQ sits closest. Neither fact says who is right. A forecaster who agrees with everyone else adds nothing to an average, while one who disagrees adds the only thing an average has to work with.

The dates matter too. These ratings were published between 2026-08-05 and 2026-08-22, a spread of more than two weeks in a campaign where two races changed category during it. Some of the twelve are answering a slightly older question than the others.

What this brief cannot tell you

Whether any of these ratings are any good. Twelve forecasters agreeing is not evidence. They read the same polls, the same fundraising reports and each other, so their agreement is close to one opinion counted twelve times. The spread in Figure 3 is a lower bound on the real uncertainty rather than a measure of it.

What a rating means as a probability. “Lean D” does not mean 65%, or any other number, and no forecaster here publishes what it does mean. The average is a summary of language rather than a measurement of chance, and the ratings have polling baked into them without saying how much.

Whether the candidates on Table 1 will be the candidates. The list was current when the article was read. Maine’s Democratic nominee in this file is the party’s second choice, after the first left the race in August, and nothing stops that happening again.

Whether 3 races have been rated honestly at all. Idaho, Nebraska and South Dakota have no Democrat on the ballot, and in two of them the challenger is an independent. Every forecaster still put those races on a Democrat-against-Republican scale, and so did you, because the instrument gave you nowhere else to put them.

What you should have learned

Extensions

None of these is answered above, and every one can be answered from the tables the Sources section hands over.

Sources

Data

The data itself

Every figure above is drawn from these tables, which are plain CSV.

class_ratings.csv, forecasters.csv, races.csv, ratings_long.csv, seat_math.csv

Two more files here are not data about the subject at all – they are how this chapter checked its own work: facts.csv, the individual numbers the text above quotes, and checks.csv, the arithmetic verified before anything was drawn.

Choices made here, which are in no source

Also cited

Rebuild this data yourself, with an AI assistant
I want to rebuild a public dataset from its original sources, without
any starting files. Please do the following and show your work — and
know one thing going in: the main source is edited every day during a
campaign, so your copy will be today's version, not the one this book
captured.

THE FIRST SOURCE. Wikipedia's article "2026 United States Senate
elections", downloaded as raw wikitext through the MediaWiki API:
https://en.wikipedia.org/w/api.php?action=parse&page=2026_United_States_Senate_elections&prop=wikitext&format=json&formatversion=2
No account or key is needed.

HOW TO DOWNLOAD IT. Ask for the wikitext, not the rendered page. On the
rendered page each forecaster's rating is a coloured table cell, and
the category you want has become a background colour. In the wikitext
it is still a template that names the word: {{USRaceRating|Lean|D}}.
Two tables inside the article matter — the one headed "Predictions"
and the ones under "Race summary".

THE SECOND SOURCE. The @unitedstates project's roster of sitting
members of Congress:
https://unitedstates.github.io/congress-legislators/legislators-current.csv
One CSV, one row per current senator or representative, with party,
state and Senate class. No key.

WHAT TO BUILD.
1. One row per 2026 Senate race. There are thirty-five: the thirty-three
   Class 2 seats whose terms expire, plus special elections in Florida
   and Ohio for seats vacated in 2025. For each, record the state, the
   sitting senator and their party, whether that senator is running,
   retiring, appointed or lost their primary, the candidates who
   qualified with their party labels, and the seat's last election
   result. Four seats are held by appointees and have no last election
   of their own; the article's footnote gives the seat's, and the last
   contest named in that footnote is the one to use.
2. One row per forecaster per race, from the Predictions table, with
   the rating word and the date that forecaster's ratings carry.
3. A signed score for each rating so they can be averaged: Safe or
   Solid 3, Likely 2, Lean 1, Tilt 0.5, Tossup 0, positive for the
   Democrat. Say plainly in your output that these numbers are your
   choice and not the forecasters'.
4. The seat arithmetic: how many of the 100 seats are on the ballot,
   how many of each party's seats are not, and how many of the
   thirty-five a party has to win to reach 51.

CHECK YOUR WORK.
- Every race carries the same number of ratings, and the total is 420.
- The thirty-three non-special races are exactly the states with a
  Class 2 senator in the roster file. If that fails, the parse of the
  article is wrong, and nothing downstream can be trusted.
- Neither special-election seat is Class 2, or a seat is counted twice.
- Seats on the ballot plus seats not on the ballot equals 100.
- Every seat is held by one of the two parties, and thirteen of the
  thirty-five are Democratic.
- Three races have no Democrat on the ballot at all. If you get zero,
  your candidate parser is matching the wrong party label — Minnesota's
  Democrats file as the Democratic-Farmer-Labor Party.
The roster file changes whenever a seat changes hands mid-term, so a
count a few rows off there means an appointment or a swearing-in, not a
mistake in your work.

  1. The effect was first measured by Baruch Fischhoff, “Hindsight ≠ Foresight: The Effect of Outcome Knowledge on Judgment under Uncertainty,” Journal of Experimental Psychology: Human Perception and Performance 1, no. 3 (1975): 288–299, https://doi.org/10.1037/0096-1523.1.3.288.↩︎

  2. The Cook Political Report (https://www.cookpolitical.com/ratings/senate-race-ratings) and Sabato’s Crystal Ball at the University of Virginia Center for Politics (https://centerforpolitics.org/crystalball/) are the two longest-running of the forecasters read here.↩︎

  3. The Senate’s own list of Class II senators: https://www.senate.gov/senators/Class_II.htm.↩︎

  4. The Senate’s record of every tie a Vice President has broken: https://www.senate.gov/artandhistory/history/resources/pdf/VPTies.pdf.↩︎

  5. The certified 2024 result is on Ballotpedia: https://ballotpedia.org/United_States_Senate_election_in_Nebraska,_2024.↩︎