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.
After the regular season ends, the table below compares the start of season projections to how each team finished the year. Below the table are a few stats summarizing how the model performed.
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 |
LAD | 95 | 67 | 85.00 | 24.66 | 60.34 | 21.57 | 12.16 | 98 | 64 | .605 | 56.68 | -3 |
PHI | 87 | 75 | 59.09 | 39.89 | 19.20 | 8.51 | 4.25 | 95 | 67 | .586 | 75.92 | -8 |
NYY | 90 | 72 | 68.97 | 33.63 | 35.34 | 14.47 | 7.28 | 94 | 68 | .580 | 61.34 | -4 |
SDP | 84 | 78 | 47.74 | 31.85 | 15.90 | 6.04 | 2.74 | 93 | 69 | .574 | 78.97 | -9 |
MIL | 78 | 84 | 28.57 | 13.58 | 14.99 | 2.90 | 1.26 | 93 | 69 | .574 | 90.72 | -15 |
CLE | 84 | 78 | 48.91 | 17.34 | 31.57 | 6.80 | 2.94 | 92 | 69 | .571 | 75.22 | -8 |
BAL | 84 | 78 | 44.70 | 28.40 | 16.30 | 7.24 | 3.42 | 91 | 71 | .562 | 71.58 | -7 |
ATL | 99 | 63 | 89.84 | 24.01 | 65.83 | 29.23 | 17.41 | 89 | 73 | .549 | 16.09 | 10 |
ARI | 82 | 80 | 36.45 | 25.75 | 10.70 | 4.12 | 1.90 | 89 | 73 | .549 | 73.81 | -7 |
NYM | 83 | 79 | 44.32 | 33.29 | 11.03 | 5.18 | 2.47 | 89 | 73 | .549 | 68.47 | -6 |
HOU | 92 | 70 | 72.33 | 28.71 | 43.62 | 16.38 | 8.30 | 88 | 73 | .547 | 35.06 | 4 |
KCR | 73 | 89 | 14.24 | 7.05 | 7.18 | 1.11 | 0.40 | 86 | 76 | .531 | 88.34 | -13 |
DET | 76 | 86 | 20.41 | 9.62 | 10.80 | 2.00 | 0.83 | 86 | 76 | .531 | 81.31 | -10 |
SEA | 86 | 76 | 53.11 | 29.00 | 24.10 | 8.61 | 4.02 | 85 | 77 | .525 | 45.43 | 1 |
STL | 84 | 78 | 51.85 | 18.96 | 32.90 | 6.50 | 3.31 | 83 | 79 | .512 | 43.22 | 1 |
CHC | 83 | 79 | 44.89 | 17.31 | 27.58 | 5.58 | 2.60 | 83 | 79 | .512 | 47.91 | 0 |
MIN | 88 | 74 | 63.68 | 15.27 | 48.41 | 11.10 | 5.22 | 82 | 80 | .506 | 27.43 | 6 |
BOS | 78 | 84 | 24.76 | 17.98 | 6.78 | 3.06 | 1.30 | 81 | 81 | .500 | 58.46 | -3 |
SFG | 82 | 80 | 40.66 | 27.78 | 12.88 | 4.40 | 2.02 | 80 | 82 | .494 | 41.98 | 2 |
TBR | 84 | 78 | 48.14 | 30.64 | 17.51 | 7.51 | 3.56 | 80 | 82 | .494 | 31.76 | 4 |
TEX | 86 | 76 | 54.05 | 29.30 | 24.75 | 8.97 | 4.21 | 78 | 84 | .481 | 22.31 | 8 |
CIN | 78 | 84 | 26.70 | 12.82 | 13.88 | 2.40 | 1.03 | 77 | 85 | .475 | 44.25 | 1 |
PIT | 76 | 86 | 21.68 | 11.04 | 10.65 | 1.88 | 0.81 | 76 | 86 | .469 | 49.11 | 0 |
TOR | 87 | 75 | 57.01 | 32.93 | 24.07 | 9.90 | 4.76 | 74 | 88 | .457 | 10.69 | 13 |
WSN | 64 | 98 | 2.66 | 2.31 | 0.35 | 0.11 | 0.05 | 71 | 91 | .438 | 75.53 | -7 |
OAK | 68 | 94 | 5.79 | 4.35 | 1.44 | 0.41 | 0.17 | 69 | 93 | .426 | 52.23 | -1 |
LAA | 76 | 86 | 19.38 | 13.30 | 6.08 | 2.17 | 0.86 | 63 | 99 | .389 | 9.81 | 13 |
MIA | 76 | 86 | 19.32 | 15.73 | 3.58 | 1.48 | 0.61 | 62 | 100 | .383 | 8.29 | 14 |
COL | 60 | 102 | 1.21 | 1.03 | 0.19 | 0.08 | 0.03 | 61 | 101 | .377 | 52.63 | -1 |
CHW | 66 | 96 | 4.52 | 2.48 | 2.04 | 0.25 | 0.07 | 41 | 121 | .253 | 0.46 | 25 |