Skip to main content
BEHIND THE DATA · SCHEDULE EDGE

Schedule edge

A within-season comparison of favorable and unfavorable rest gaps, with a win-equivalent estimate based on historical rates.

Keep in mind Worth uses pooled historical rates relative to venue baselines. It estimates schedule conditions, not the wins a team actually gained.

On this page

Counting favorable and unfavorable games

For every game a team played, the fatigue gap against that night’s opponent is the same rest advantage the rest of the site uses. A game counts as favorable when the opponent was the more tired side by at least 0.5, and unfavorable when the team itself was. The season total is the difference.

netEdgeGames = favorableGames − unfavorableGames

favorable    fatigue gap ≥ +0.5 in the team's favor
unfavorable  fatigue gap ≥ 0.5 against
big edge      the ≥ 1.5 subset of either side

Because every game is counted once from each side, the league’s net edge games sum to zero by construction. That is a useful check rather than a finding: a season where the totals did not cancel would mean a bug.

What Worth means

Worth adds each game’s historical rest-state win-rate difference from its venue baseline. This calculation does not fit a new model or use the team’s results. Teams with the same schedule conditions receive the same estimate even if their win totals differ.

Fresher side, at home+1.26points of win probability
Tireder side, at home-2.29facing a fresher visitor
A rest edge, against home court18%3.5 points against 19.8

The two rest groups sit at different distances from the home baseline. The gap between them is 3.5 percentage points; the home-road gap is 19.8. Rest is roughly 18% of that home-road gap. These comparisons describe historical groups rather than causal effects.

Net season values are small because favorable and unfavorable games partly offset each other, and each game is priced at a small difference from its venue baseline.

Worth includes season openers because a fatigue score exists for them. Rest-day comparisons exclude openers because there is no previous game.

Season-opener revision

Excluding openers previously made this page and Season Report disagree by a tenth of a win for the same team.

Preseason win totals: no consistent relationship

Across 31 seasons of archived lines, teams with more favorable schedules did not consistently beat their preseason win-total lines:

Net edge gamesWent overpercent of the bucketTeam-seasons
+10 or better51.8%110
+5 to +943.0%142
−4 to +448.9%376
−9 to −547.4%154
−10 or worse47.5%99

The correlation between a team’s net edge games and its finish against the line is r = -0.01 across 884 team-seasons. The archive does not show a consistent relationship between net edge and beating the line. It does not prove that markets fully price the schedule or rule out every possible betting strategy.

Lines from the sportsoddshistory.com archive (hosted at covers.com), 1993-94 through 2025-26. No lines were published for the 1998-99 lockout, and 2019-20 is skipped here because its season was suspended at 63 to 67 games; a preseason win total never got a full schedule to resolve against. 3 pushes are excluded from the rates; overs hit 47.9% overall in this archive. The archive’s win count matched this site’s own game records for every one of the 884 team-seasons before anything was computed.

Thresholds and rest-day limits

Counts as an edge0.5shared with every page
Counts as a big edge1.5one tier above
Rest days capped at5per side, before differencing

The 0.5 threshold is the same line the whole site uses to decide whether a game is worth calling at all. Using a different one here would let a game count as a schedule edge while the Games page called it too close to matter.

The rest-days cap exists because of the All-Star break. The fatigue model already holds that rest stops helping after three days, and without a cap those few post-break games would swamp the other eighty: both teams get about a week off, rarely the exact same number of days, and the raw difference is enormous. Capping at 5 per side before differencing keeps the season total describing schedule disparity rather than calendar arithmetic.

Back-to-backs and dense stretches

Alongside the headline, each team’s season carries the raw structural burdens: back-to-backs played, games that were the third in four nights, and the fourth in six. These counts follow the dates on the schedule and do not use fatigue-score thresholds.

A dense-window flag describes the game that closes the window, not every game inside it. Counting each game in a 3-in-4 stretch as a 3-in-4 would treble the total.

Coverage and limitations

  • —2019-20 is excluded from this ranking because teams stopped with 63 to 67 games played. Unequal schedule lengths give teams different numbers of opportunities to accumulate an edge.
  • —Rankings compare teams within a season. Schedule length, travel patterns, and back-to-back frequency change across eras.
  • —The NBA publishes only 80 of each team's 82 games before the season. The last two are added in December once NBA Cup group play resolves, so a forward-looking total is provisionally two games short.
  • —It inherits every limit of the fatigue model it is built on, including no injuries, no rotations and no knowledge of team quality.
  • —A favorable schedule is not a prediction. It says the calendar handed a team more rested nights than tired ones, not that they were good.
  • —The Worth column uses pooled historical rates since 1985-86. A displayed season's observed rates can differ, so this estimate does not explain that season's actual wins and losses.