I built a model that gives the chance a player matches or beats his season the following year. It weighs the season against his underlying talent, and against how much next seasons have scattered around talent since 2015.
Before the 2026 numbers, here's how its calls on last season held up, across all 445 players with enough playing time in both 2025 and 2026:
| 2025 call |
Players |
Average call |
Actually matched it |
| Under 30% |
144 |
17% |
17% |
| 30 to 70% |
224 |
49% |
46% |
| Over 70% |
77 |
82% |
86% |
So when it said 1 in 6, it was 1 in 6. On Brier score, these 2025 calls beat a flat guess by 23% (19% for hitters, 18% for starters, 31% for relievers).
These 2025 calls are a backtest: the model was fitted without the 2025 seasons, so it never saw 2026, but I didn't publish them at the time. This winter's numbers are the first real test.
Here's the top of this winter's free agent class, with each player's 2025 call, whether he matched 2025, and his chance to match 2026 in 2027.
Hitters
| Player |
2025 OPS |
2026 OPS |
2025 call |
Matched 2025? |
2027 chance |
| Trent Grisham, NYY |
.812 |
.703 |
25% |
No |
80% |
| Alec Bohm, PHI |
.740 |
.698 |
60% |
No |
75% |
| Taylor Ward, SEA |
.792 |
.670 |
35% |
No |
70% |
| George Springer, TOR |
.959 |
.726 |
under 10% |
No |
70% |
| Gleyber Torres, DET |
.745 |
.727 |
55% |
No |
55% |
| Ian Happ, CHC |
.762 |
.738 |
55% |
No |
55% |
| Michael Conforto, CHC |
.638 |
.800 |
90% |
Yes |
35% |
| Ryan Jeffers, MIN |
.753 |
.814 |
30% |
Yes |
20% |
| Brandon Lowe, PIT |
.784 |
.824 |
40% |
Yes |
20% |
| Seiya Suzuki, CHC |
.804 |
.841 |
45% |
Yes |
15% |
| Jake Bauers, MIL |
.752 |
.873 |
– |
– |
under 10% |
| Randy Arozarena, SEA |
.760 |
.865 |
35% |
Yes |
under 10% |
Starters
| Player |
2025 OPS allowed |
2026 OPS allowed |
2025 call |
Matched 2025? |
2027 chance |
| Freddy Peralta, TB |
.604 |
.733 |
20% |
No |
75% |
| Jack Flaherty, DET |
.717 |
.741 |
60% |
No |
75% |
| Shota Imanaga, CHC |
.686 |
.713 |
35% |
No |
60% |
| Kevin Gausman, CHC |
.627 |
.725 |
under 10% |
No |
55% |
| Casey Mize, SD |
.744 |
.736 |
55% |
Yes |
55% |
| Tyler Mahle, ATL |
.593 |
.708 |
under 10% |
No |
40% |
| Tarik Skubal, LAD |
.559 |
.600 |
20% |
No |
40% |
| Trevor Rogers, BAL |
.503 |
.699 |
under 10% |
No |
35% |
Relievers
| Player |
2025 OPS allowed |
2026 OPS allowed |
2025 call |
Matched 2025? |
2027 chance |
| Kirby Yates, PIT |
.831 |
.642 |
over 90% |
Yes |
50% |
| Raisel Iglesias, ATL |
.611 |
.620 |
30% |
No |
35% |
| David Bednar, NYY |
.567 |
.563 |
15% |
No* |
15% |
| Adrian Morejon, SD |
.471 |
.549 |
under 10% |
No |
10% |
| Alex Vesia, LAD |
.620 |
.507 |
40% |
Yes |
10% |
Notes:
- "Matched" means at least as good by wOBA (wOBA allowed for pitchers), which is what the model judges, so OPS can disagree slightly. *Bednar's OPS allowed dipped from .567 to .563, but his wOBA allowed rose, so he counts as No.
- "–" means not enough playing time in 2025 for a call (Bauers had 218 PA).
- A low chance isn't a knock on the player. It means 2026 ran ahead of his underlying numbers. A high one can mean 2026 was below them: Peralta's 75% is a chance to match a down year.
- Free agents only; players with options or opt-outs come after those decisions.
Who's the buyer-beware in this class, and who's the bargain?