The All-Star break is over, and every fan of a team within shouting distance of a race is doing the same thing: scrolling the schedule and counting the soft spots. I did the counting properly. I pulled every 2026 regular-season game still to be played — 984 of them, from the public MLB Stats API schedule feed — and priced each club’s remaining slate by the current winning percentage of the opponents on it, weighted by how many times they still meet. Two findings, and they pull in opposite directions. First, the honest one: the spread is small. The hardest remaining schedule in baseball (the Mets’ opponents sit at .538) and the softest (the Guardians’ at .467) differ by about four and a half wins’ worth of schedule, and most contenders live within one win of neutral. Second, the interesting one: the single largest schedule gap between two contenders in the same race belongs to the only race that is literally tied. The White Sox and Guardians are even at the top of the AL Central, and Cleveland’s remaining road is about 1.7 wins softer.
The method, and one worked example
Strength of schedule here is the simplest defensible version: for each team, take every opponent left on its slate, weight that opponent’s current winning percentage by the number of remaining meetings, and average. I pulled the full 2026 schedule (2,453 regular-season entries), kept every game not yet decided as of the snapshot on July 17, and dropped the 22 postponed entries whose makeup dates already appear as separate games — after that housekeeping, every club’s completed-plus-remaining games sum back to its 161 or 162. Opponent records come from the site’s live standings snapshot, the same file behind the 2026 season tracker.
The Guardians, end to end. They have 65 games left: seven against the Twins (.495), seven against the Tigers (.458), six against the White Sox (.526), six against the Royals (.392), and three-game sets against thirteen other clubs. Multiply each opponent’s win% by the meetings, sum, and divide: 30.38 expected-opponent-wins’ worth over 65 games, or a weighted opponent win% of .467. To turn that into something a standings-watcher can use, compare it with a neutral all-.500 slate: (.467 − .500) × 65 = −2.1 wins of schedule, the softest figure in baseball. Forty-seven of those 65 games — 72 percent — come against teams currently under .500.
The league at a glance
Read the axis before the team names, because the axis is the finding: the entire league fits between −2.1 and +2.4. The standard deviation of remaining-opponent win% across the 30 clubs is .014, which over a typical 66 remaining games is about 0.9 wins. Schedule tilt in mid-July is real, computable, and mostly worth less than one swing game. Anyone selling you a September narrative built primarily on strength of schedule is selling rounding error — with one exception I’ll get to.
The extremes are also not where a casual guess would put them. The hardest roads belong to two non-contenders, the Mets (.538, +2.4) and Reds (.528, +1.9), both buried 15.5 games back and both facing a parade of the NL’s first-place clubs. And there is no rich-get-richer pattern: the correlation between a team’s own win% and its remaining opponents’ win% is −0.09, indistinguishable from zero.
| Race | Team | W–L | GB | Left | H/R | Opp win% | Tilt (wins) |
|---|---|---|---|---|---|---|---|
| AL East | Rays | 56–39 | — | 67 | 31/36 | .489 | −0.8 |
| Yankees | 54–42 | 2.5 | 66 | 38/28 | .504 | +0.2 | |
| AL Central | White Sox | 50–45 | — | 67 | 33/34 | .493 | −0.5 |
| Guardians | 51–46 | 0.0 | 65 | 35/30 | .467 | −2.1 | |
| Twins | 48–49 | 3.0 | 65 | 30/35 | .491 | −0.6 | |
| AL West | Rangers | 49–47 | — | 66 | 35/31 | .491 | −0.6 |
| Mariners | 48–49 | 1.5 | 65 | 34/31 | .489 | −0.7 | |
| Astros | 47–51 | 3.0 | 64 | 34/30 | .485 | −0.9 | |
| NL East | Braves | 55–40 | — | 67 | 36/31 | .513 | +0.8 |
| Phillies | 54–44 | 2.5 | 64 | 34/30 | .516 | +1.0 | |
| Marlins | 52–45 | 4.0 | 65 | 30/35 | .508 | +0.5 | |
| NL Central | Brewers | 59–37 | — | 66 | 34/32 | .499 | −0.1 |
| Cubs | 54–42 | 5.0 | 66 | 35/31 | .521 | +1.4 | |
| NL West | Dodgers | 61–36 | — | 65 | 31/34 | .495 | −0.3 |
The AL Central is the exception
The one race where the schedule is a legitimate thumb on the scale is the one that needs a tiebreaker anyway. The White Sox (50–45) and Guardians (51–46) are zero games apart — Chicago leads by half a point of winning percentage — and the two clubs are about to play different sports. Cleveland gets the league’s softest slate at .467, 35 of its final 65 at home, and 20 games against the division’s sub-.500 trio of the Twins, Tigers and Royals. Chicago’s .493 is soft too, but it comes with seven against Houston, six against Texas, four against the Yankees, and a 33/34 home-road split. Difference on paper: about 1.7 wins, in a race currently decided by less than one. They also play each other six more times, and head-to-head games are the one part of a schedule that no strength number can arbitrate.
The overlay with this site’s Monday piece on one-run records makes the Central genuinely strange. The White Sox hold their share of first place despite a losing record (31–32) in games decided by two or more runs; they are propped up by a 19–13 mark in one-run games, the kind of edge that historically evaporates. So Chicago’s two biggest second-half risks are regression and the calendar, and they compound: the club most likely to give back close-game luck is also the club with the harder road, against the pursuer with the softest schedule in baseball. The Rangers lead the AL West on the same fragile arithmetic (32–37 in two-plus-run games), but their race lacks the schedule asymmetry — Texas (−0.6), Seattle (−0.7) and Houston (−0.9) face essentially identical roads, so that division will be settled by play, not by the calendar.
Elsewhere the schedule mostly declines to pick sides. The NL East gap between the Braves (+0.8) and Phillies (+1.0) is two-tenths of a win, noise on noise; both simply have hard schedules, because they play each other seven more times and the Marlins six or seven more each. The clearest schedule tax on a chaser is in the NL Central: the Cubs sit five back of the Brewers and face the hardest contender slate in baseball (.521, +1.4) while Milwaukee’s is dead neutral (.499, −0.1) — a 1.5-win headwind on top of a five-game deficit, with seven head-to-head meetings as the only lever. And the Dodgers, up 11.5 with a schedule tilt of −0.3, have reduced the NL West to a formality; their remaining interest is the run-differential history chase, not the standings.
Home and road: even smaller than you think
The other thing fans count is home dates, so I priced those too. Home teams have won 755 of 2026’s 1,447 completed games — a .522 rate, on the low side of the historical .530–.540 band. At that rate, each game shifted from road to home is worth about 0.044 wins. The most home-heavy remaining schedule in baseball is the Yankees’ 38 home against 28 road; that ten-game surplus is worth roughly 0.2 wins. The worst deficits — the Cardinals and Orioles, nine more road games than home — cost about the same. Home-road imbalance in a remaining schedule is, at 2026’s home-field advantage, close to a pure nothing: I computed it so you don’t have to.
Limitations, stated plainly
Three honest problems with any remaining-SOS number, including mine. First, it is a snapshot pretending to be a forecast: I priced opponents at their July 17 win%, but the trade deadline is July 31, injuries and call-ups will remake half these rosters, and first-half records only partly predict second-half play. Second, current win% is itself contaminated by the very luck this site keeps writing about — my method prices the White Sox as a .526 opponent even though their two-plus-run record says something closer to .490, and it makes no iterative opponent-of-opponent adjustment the way Baseball-Reference’s SRS does. A team also never plays itself, which mechanically deflates a good team’s SOS a touch; the −0.09 correlation above is partly that artifact. Third, and most important: the spread is small relative to noise. A .500 team’s 66-game record has a binomial standard deviation of about four wins — larger than the entire league-wide schedule spread. Outside the AL Central and the Cubs’ chase, every contender gap in the table is smaller than one swing game, and I would treat it accordingly.
Reproduce it
The bundled snapshot is data_layer/remaining_schedule_2026.json, built by data_layer/build_remaining_schedule.py from the MLB Stats API schedule endpoint (/api/v1/schedule?sportId=1&season=2026&gameType=R across the full season date range), joined to the standings snapshot for opponent records. A game counts as remaining if its status is not Final at retrieval; Postponed entries are dropped because their makeups appear as separate entries. The whole computation is a weighted mean:
for each team T:
opp_pct(T) = sum(win%[opp] * games_left_vs[T][opp]) / remaining_G[T]
tilt_wins(T) = (opp_pct(T) - 0.500) * remaining_G[T]
# Guardians: 30.38 / 65 = .467 -> (.467 - .500) * 65 = -2.1 wins
# league: mean opp_pct = .500, sd = .014 (~0.9 wins over 66 games)
The chart is charts/chart_remaining_sos.py; it reads only the JSON, so re-running the builder any morning re-prices every schedule in the league. Home-field value comes from the same snapshot’s completed games (755 home wins in 1,447 decided).
Sources & Further Reading
- 2026 remaining schedule and completed-game results: MLB Stats API schedule endpoint (gameType=R), bundled as
data_layer/remaining_schedule_2026.json(retrieved 2026-07-17; games not yet final on July 17 counted as remaining). - Opponent records: MLB Stats API standings, bundled as
data_layer/mlb_2026_standings.json(1,446 games played at the snapshot). - The weighted mean, and why a distribution’s spread matters as much as its center, are covered in Chapter 6: Numerical Summaries: Center, Spread, and Shape (free, DataField.dev).
- Sports-Reference, “SRS Calculation Details” — the iterative, opponent-adjusted rating this simple snapshot method deliberately is not.