Pythagorean Delta
Expected wins from goal/point differential vs actual
Data last updated May 1, 2026, 7:00 PM UTC
Baseball invented luck analytics. Bill James' Pythagorean formula (expected wins from runs scored and allowed) has been validated across 40+ years of data. The MLB CURSD Luck Score (CLS) builds on that foundation with 4 orthogonal signals: Pythagorean delta (30%), one-run game record with Bayesian shrinkage toward .500 (20%), batting luck from Statcast xwOBA vs actual wOBA (25%), and pitching luck from xERA vs actual ERA (25%). Statcast data from Baseball Savant strips out defense, sequencing, and BABIP noise to isolate true hitting and pitching performance. A team that rakes in expected metrics but can't buy a hit with runners in scoring position will show up as deeply cursed. Statcast signal weights ramp up with season progress, reaching full strength at 40+ games when the sample is reliable.
| RK | Team | Pos | LAS | Record | CLS | Trend | Highlight | Share |
|---|---|---|---|---|---|---|---|---|
| ☠ Cursed | ||||||||
| 1 | ![]() Tigers MLB · 47 pts | 22 | 5▲17 | 47-54 | -55 | ☠ Cursed 47-54 despite outscoring opponents by +24 runs. One of the most cursed teams in baseball - close games and sequencing are destroying them. | ||
| 2 | ![]() Mets MLB · 43 pts | 25 | 12▲13 | 43-59 | -52 | ☠ Cursed 43-59 with a -63 run differential. The Pythagorean says 45 wins - they have 43. Margins have fallen the wrong way. | ||
| 3 | ![]() Angels MLB · 41 pts | 29 | 22▲7 | 41-61 | -40 | ☠ Cursed 41-61 with a -57 run differential. The Pythagorean says 45 wins - they have 41. Margins have fallen the wrong way. | ||
| ↓ Unlucky | ||||||||
| 4 | ![]() Orioles MLB · 49 pts | 19 | 8▲11 | 49-52 | -29 | ↓ Unlucky 49-52 with a -14 run differential. The Pythagorean says 49 wins - they have 49. Margins have fallen the wrong way. | ||
| 5 | ![]() Mariners MLB · 51 pts | 14 | 6▲8 | 51-51 | -24 | ↓ Unlucky 51-51 with a +19 run differential. The Pythagorean says 53 wins - they have 51. Margins have fallen the wrong way. | ||
| 6 | ![]() Giants MLB · 42 pts | 27 | 27 | 42-59 | -18 | ↓ Unlucky 42-59 with a -63 run differential. The Pythagorean says 44 wins - they have 42. Margins have fallen the wrong way. | ||
| 7 | ![]() Royals MLB · 42 pts | 28 | 26▲2 | 42-60 | -18 | ↓ Unlucky 42-60 with a -97 run differential. Right where the data says they should be. No significant luck in either direction. | ||
| 8 | ![]() Red Sox MLB · 51 pts | 13 | 9▲4 | 51-48 | -16 | ↓ Unlucky 51-48 with a +46 run differential. The Pythagorean says 55 wins - they have 51. Margins have fallen the wrong way. | ||
| — Neutral | ||||||||
| 9 | ![]() Braves MLB · 58 pts | 3 | 3 | 58-42 | -14 | — Neutral 58-42 with a +104 run differential. The Pythagorean says 61 wins - they have 58. Margins have fallen the wrong way. | ||
| 10 | ![]() Yankees MLB · 56 pts | 6 | 4▲2 | 56-44 | -12 | — Neutral 56-44 with a +88 run differential. The Pythagorean says 59 wins - they have 56. Margins have fallen the wrong way. | ||
| 11 | ![]() Dodgers MLB · 64 pts | 1 | 1 | 64-38 | -9 | — Neutral 64-38 with a +153 run differential. Right where the data says they should be. No significant luck in either direction. | ||
| 12 | ![]() Padres MLB · 50 pts | 18 | 10▲8 | 50-51 | -9 | — Neutral 50-51 with a -28 run differential. Winning more than their run production justifies. The data says regression is coming. | ||
| 13 | ![]() Blue Jays MLB · 46 pts | 23 | 23 | 46-55 | -8 | — Neutral 46-55 with a -61 run differential. Right where the data says they should be. No significant luck in either direction. | ||
| 14 | ![]() Athletics MLB · 43 pts | 26 | 28▼2 | 43-58 | -6 | — Neutral 43-58 with a -112 run differential. Winning more than their run production justifies. The data says regression is coming. | ||
| 15 | ![]() Rockies MLB · 41 pts | 30 | 30 | 41-62 | -2 | — Neutral 41-62 with a -93 run differential. Right where the data says they should be. No significant luck in either direction. | ||
| 16 | ![]() Nationals MLB · 51 pts | 15 | 14▲1 | 51-51 | -1 | — Neutral 51-51 with a +18 run differential. Right where the data says they should be. No significant luck in either direction. | ||
| 17 | ![]() Brewers MLB · 63 pts | 2 | 2 | 63-38 | +2 | — Neutral 63-38 with a +132 run differential. Right where the data says they should be. No significant luck in either direction. | ||
| 18 | ![]() Twins MLB · 49 pts | 20 | 21▼1 | 49-53 | +9 | — Neutral 49-53 with a -36 run differential. Right where the data says they should be. No significant luck in either direction. | ||
| 19 | ![]() Pirates MLB · 52 pts | 10 | 15▼5 | 52-49 | +10 | — Neutral 52-49 with a +51 run differential. Right where the data says they should be. No significant luck in either direction. | ||
| 20 | ![]() White Sox MLB · 53 pts | 9 | 11▼2 | 53-47 | +11 | — Neutral 53-47 with a +42 run differential. Right where the data says they should be. No significant luck in either direction. | ||
| 21 | ![]() Astros MLB · 49 pts | 21 | 25▼4 | 49-54 | +14 | — Neutral 49-54 with a -48 run differential. Winning more than their run production justifies. The data says regression is coming. | ||
| ↑ Lucky | ||||||||
| 22 | ![]() Rangers MLB · 51 pts | 17 | 17 | 51-50 | +18 | ↑ Lucky 51-50 despite being outscored overall (-28 run diff). Winning when it matters and losing when they can afford to. Unsustainably fortunate. | ||
| 23 | ![]() Cubs MLB · 57 pts | 5 | 7▼2 | 57-44 | +19 | ↑ Lucky 57-44 with a +69 run differential. Right where the data says they should be. No significant luck in either direction. | ||
| 24 | ![]() Cardinals MLB · 51 pts | 16 | 20▼4 | 51-49 | +21 | ↑ Lucky 51-49 with a -1 run differential. Right where the data says they should be. No significant luck in either direction. | ||
| 25 | ![]() Reds MLB · 46 pts | 24 | 29▼5 | 46-54 | +21 | ↑ Lucky 46-54 with a -65 run differential. Winning more than their run production justifies. The data says regression is coming. | ||
| 26 | ![]() Marlins MLB · 52 pts | 11 | 18▼7 | 52-50 | +25 | ↑ Lucky 52-50 with a +14 run differential. Right where the data says they should be. No significant luck in either direction. | ||
| 27 | ![]() Phillies MLB · 56 pts | 7 | 13▼6 | 56-46 | +30 | ↑ Lucky 56-46 despite being outscored overall (-11 run diff). Winning when it matters and losing when they can afford to. Unsustainably fortunate. | ||
| 28 | ![]() D-backs MLB · 52 pts | 12 | 24▼12 | 52-49 | +33 | ↑ Lucky 52-49 with a -13 run differential. Winning more than their run production justifies. The data says regression is coming. | ||
| 29 | ![]() Guardians MLB · 54 pts | 8 | 16▼8 | 54-48 | +36 | ↑ Lucky 54-48 with a 0 run differential. Winning more than their run production justifies. The data says regression is coming. | ||
| ✦ Blessed | ||||||||
| 30 | ![]() Rays MLB · 58 pts | 4 | 19▼15 | 58-42 | +64 | ✦ Blessed 58-42 with a +30 run differential. Winning more than their run production justifies. The data says regression is coming. | ||
How each team's CLS has changed throughout the season
Above zero = lucky. Below zero = unlucky. Scale: -100 (cursed) to +100 (blessed).
The CLS combines several signals. Pick one to see which MLB teams are getting robbed (or blessed) on that signal individually.
Expected wins from goal/point differential vs actual