MLB Projections


My MLB projections are generated using the Satchel projection model. I wrote a brief description of how the model works in an earlier post, and it has since grown into a more substantive project. The source code is available on my GitHub.

These projections are updated automatically every morning during the season around 10AM Eastern. The "Season Percentile" column grades how the team is projected to finish (in terms of total wins) relative to their opening day projections. A team that's roughly meeting expectations will have a percentile around 50. Those that dramatically over or underperform will have scores significantly higher and lower than 50, respectively.

Projected Outcomes Actual
Team W L Make Playoffs (%) Make Wild Card (%) Win Division (%) Win League (%) Win WS (%) W L W-L% Season Percentile Projected - Actual Wins
MIL 80 82 34.86 14.24 20.61 3.88 1.80 97 65 .599 95.03 -17
PHI 89 73 67.97 39.35 28.62 11.99 6.06 96 66 .593 74.46 -7
TOR 85 77 50.80 30 20.81 8.96 4.46 94 68 .580 80.16 -9
NYY 88 74 59.98 32.23 27.74 11.88 6.14 94 68 .580 72.39 -6
LAD 96 66 87.22 22.54 64.69 25.49 14.99 93 69 .574 35.48 3
CHC 85 77 52.24 16.34 35.91 7.17 3.42 92 70 .568 75.08 -7
SEA 86 76 53.55 25.50 28.06 9.11 4.19 90 72 .556 65.14 -4
SDP 82 80 41.98 29.75 12.23 5.12 2.53 90 72 .556 76.48 -8
BOS 83 79 38.95 24.91 14.04 6.25 2.92 89 73 .549 71.94 -6
CLE 81 81 33.72 15.40 18.32 4.43 1.86 88 74 .543 75.46 -7
DET 81 81 37 15.73 21.27 5.12 2.34 87 75 .537 69.31 -6
HOU 85 77 51.35 24.50 26.85 9.26 4.38 87 75 .537 54.02 -2
NYM 88 74 65.66 39.23 26.43 11.02 5.68 83 79 .512 27.41 5
CIN 78 84 26.11 11.95 14.17 2.57 1.21 83 79 .512 67.88 -5
KCR 80 82 32.98 15.05 17.92 4.06 1.73 82 80 .506 54.68 -2
SFG 80 82 33.53 24.70 8.82 3.29 1.47 81 81 .500 52.48 -1
TEX 87 75 58.09 24.22 33.88 10.96 5.45 81 81 .500 27.22 6
ARI 84 78 46.11 31.96 14.15 6.16 2.91 80 82 .494 32.21 4
MIA 67 95 4.12 3.52 0.60 0.24 0.09 79 83 .488 87.82 -12
STL 79 83 32.15 13.69 18.46 3.12 1.32 78 84 .481 45.48 1
TBR 81 81 35.25 23.61 11.65 4.66 2.17 77 85 .475 33.09 4
ATL 93 69 78.97 35.82 43.15 17.75 10.03 76 86 .469 4.23 17
BAL 87 75 56.93 31.18 25.75 11.42 5.61 75 87 .463 10.42 12
LAA 75 87 16.98 10.90 6.07 1.77 0.68 72 90 .444 35.58 3
PIT 75 87 20.16 9.31 10.85 1.66 0.64 71 91 .438 31.99 4
MIN 86 76 58.30 16.80 41.50 10.46 5.05 70 92 .432 4.43 16
WSN 70 92 7.84 6.64 1.21 0.50 0.20 66 96 .407 33.22 4
CHW 64 98 2.06 1.06 1 0.12 0.06 60 102 .370 33.23 4
COL 61 101 1.07 0.97 0.10 0.04 0.01 43 119 .265 1.90 18
Average difference between projected and actual wins: 0.07 wins
Average difference between projected and actual wins (absolute value): 6.90 wins
Largest over projection: 18.0 wins (COL)
Largest under projection: -17.0 wins (MIL)
Maximum difference between projected and actual wins (absolute value): 18.0 wins (COL)
Minimum difference between projected and actual wins (absolute value): 1.0 wins (STL)
Last Updated: September 30, 2025


Follow @andersonfrailey.bsky.social on Bluesky