> > >
On March 20 we published call-up odds for 28 prospects and locked them in public. Ninety days later, the results are in. Fourteen reached the majors. Fourteen did not. And the model ranked all 28 correctly, from most likely to least likely to get called up. Here is everything, every hit and every miss.
Think of the model like a weather forecaster for call-ups. The job is not to be certain. The job is to say which prospects are more likely to get the call than others, and to be right about the order. On that test the model went a perfect 14 for 14 on who got called up, and it sorted all 28 players into the right order from most to least likely.
The one thing it got wrong: it was too cautious with the numbers at the top. Players it pegged around a 1-in-3 chance actually got called up far more often than that. The ranking was right. The confidence was low. That is a fixable problem, and fixing it is the entire focus of the next version.
We sorted all 28 players into four groups by the call-up odds we gave them in March. Then we checked how many in each group actually reached the majors. A well-built model shows each higher group getting called up more often than the group below it. That is exactly what happened, and the gap between the gray and gold bars at the top is the part we are fixing next.
Every group got called up at a higher rate than the group below it. That is the model doing its core job: putting prospects in the right order. The miss is at the top. The six players we rated as best bets all reached the majors, but the model only gave them around 41% odds on average. It should have been near certain. The next version corrects that.
All 28 players, sorted by the call-up odds we published on March 20. The three misses are flagged. Nothing here has been edited since the run date.
| Player | Odds we gave | Outcome | What happened |
|---|---|---|---|
JR Ritchie ATL · SP |
55% | Called up | Debut Apr 23. Dominated Triple-A with a 0.99 ERA before the call. |
JJ Wetherholt STL · 2B |
50% | Called up | Opening Day starter. |
Carson Benge NYM · OF |
38% | Called up | Made the Opening Day roster. A veteran's opt-out forced the timing. |
Coleman Crow MIL · SP |
35% | Called up | Spot start against the Marlins on Apr 17. |
Travis Bazzana CLE · 2B |
35% | Called up | Debut Apr 28. Hit .287 at Triple-A and forced the issue. |
Konnor Griffin PIT · SS |
34% | Called up | Debut Apr 2. Signed a $140M extension days later. |
Colt Emerson SEA · SS |
24% | Called up | Debut May 17. Youngest Mariner since Felix Hernandez in 2005. |
Brandon Sproat MIL · SP |
23% | Called up | Opening Day roster. |
Parker Messick CLE · SP |
23% | Called up | In the rotation. 9-2 with a 2.39 ERA through May 30. |
Connelly Early BOS · SP |
22% | Called up | Won an Opening Day rotation spot. |
Samuel Basallo BAL · C |
22% | Called up | Opening Day catcher and DH. |
Payton Tolle BOS · SP |
22% | Called up | Debut Apr 23 after two injuries opened a spot. 11 strikeouts against the Yankees. |
Kevin McGonigle DET · SS |
13% | Called up Miss | The longest shot to get called up. Went 4-for-5 on Opening Day. |
Cooper Pratt MIL · SS |
14% | Called up Miss | Signed an extension and debuted Jun 16. |
Aidan Miller PHI · SS |
22% | Did not Miss | A spinal procedure on Jun 5 ended his season before it started. |
Charlie Condon COL · 1B |
22% | Did not | Still at Triple-A Albuquerque despite April buzz. |
Jett Williams MIL · INF |
24% | Did not | Still at Triple-A Nashville. |
Harry Ford WSH · C |
20% | Did not | Still at Triple-A Rochester after a cold start. |
Max Clark DET · OF |
15% | Did not | Still at Triple-A Toledo. |
Ryan Sloan SEA · SP |
15% | Did not | Still at the lower minors. |
Kade Anderson SEA · SP |
15% | Did not | Still at High-A. |
Nate George BAL · OF |
14% | Did not | Still at High-A. |
Luis Pena MIL · INF |
14% | Did not | At Double-A. Returned from a health scare in early June. |
Theo Gillen TBR · OF |
13% | Did not | Still at Double-A. |
Arjun Nimmala TOR · SS |
7% | Did not | Still at High-A. |
Josue De Paula LAD · OF |
7% | Did not | Still at Double-A behind a crowded outfield. |
Zyhir Hope LAD · OF |
7% | Did not | Still at Double-A. |
Xavier Isaac TBR · 1B |
6% | Did not | At High-A, working back from surgery. |
A model that never admits a miss is not worth trusting. Three predictions came out wrong. Each one points to a specific fix.
The results point to one big fix and a few small ones. The next version of the model, v0.5, ships before the next group of prospects is scored.
For people who want the raw scoring. A Brier score measures forecast accuracy where lower is better and 0 is perfect. There is a catch worth understanding, explained below.
This year exactly half the players got called up. When the real rate lands at 50%, a lazy guess of "50% for everyone" happens to score well, even though it tells you nothing about who is actually going up. The MKDC model does the hard part a coin flip cannot: it ranks players in the right order. The raw score hides that. The corrected score, which keeps the exact same rankings and only fixes the too-low confidence numbers, drops to 0.142. That is the real measure of what the model got right, and it is the entire job of the next version.
That next version, v0.5, is now live. It rebuilds the CUS-to-CUP mapping from the 28 outcomes above and adds an injury-severity humility band. The first cohort scored on it is Sub-Batch B, fourteen players that resolve September 9. The full patch is on the methodology page. The results above are not edited. They remain the honest first record.