RotoGraphs Dynasty Rankings
All models are wrong, but some are useful.
It is with great pleasure that I can finally release what I’ve been working on for the past month: RotoGraphs Dynasty Rankings Model. We’ve traveled down a winding road with stops to handle prospects, prospects again, and aging curves. Now we’re at the end of the line.
Before getting to the juice though, I want to walk through the rest of the squeeze. I’ve pasted a table containing the Top 500 ranked players at the bottom of the article, so if you want to skip ahead, you can, but in case you want a peek under the hood at how the model actually works, keep reading. As has been the case, these rankings are based on a standard 5×5 roto, 12-team league with 23-man rosters, though the methodology is flexible and could be adapted to other settings and league types in future runs.
Equation
Here is the top-level formula for how the rankings work:

Here, we are calculating a discounted dollar sum over 10 years (inclusive of the current year, so this year plus nine future seasons). The ranking is then based on the sorted dollar sum value. To go into more detail, let’s start with a given player’s value in the baseline season.
Blended Jump-Off
For players with projected values (i.e. veterans, or prospects who are expected to accrue playing time), the baseline is a dollar value calculated from a mixture of pre-season projections, year-to-date performance, and rest-of-season projections, and various conditional penalties for injuries. The blend is as follows:

Here, YTD% is simply the percentage of games played for most teams divided by 162. Using a numerical example for where we are in the current season (YTD% = 75%), the weights (rounded) would be:
- 5% for pre-season projections
- 36% for YTD performance
- 59% for ROS projections
There are two key choices being made here: to use year-to-date values in the blend, and to subsequently down weight them. I’ll discuss each in sequence.
I don’t think it’s useful to ignore in-season performance. It is, after all, one of the only signals we have for whether or not a player has meaningfully improved! A noisy signal, sure, but one nonetheless. Ultimately this is where my personal philosophy as a modeler came into play, hearkening to Andrew Friedman’s famous view on free agency:
If you’re always rational about every free agent, you will finish third on every free agent.
If you base your player acquisition decisions solely on projections, you will rarely land the true breakouts. Ultimately, this weighting methodology is an injection of risk into the rankings – nudging overperformers (relative to projections) higher and underperformers lower.
That being said, I’ve chosen to down weight in-season performance relative to rest-of-season projections because if I don’t, year-to-date performance will overwhelm the jump-off point in a manner that isn’t consistent with their predictive capacity. The halving of the value is arbitrary and was calibrated based on experimentation; it is one of the areas of the model which could be subject to future optimization.
Consider the dual examples of Otto Lopez and Kyle Tucker. Lopez has been worth $31 year-to-date, is projected (via ATC) to be worth $14 for the remainder of the season, and was projected to be worth -$1 at the start of the season. Tucker, meanwhile: $5, $30, and $37, respectively. Their blended jump off values are $19 for Lopez and $22 for Tucker.
Look into your soul, dear reader, and tell me that you think Kyle Tucker is worth valuing at a baseline of $30 like rest-of-season projections would have you believe. I don’t, and I wanted that reflected in my model. On the flip side, I think you could defensibly argue that Lopez is bound for further regression and probably should be valued closer to his rest-of-season projected value. Fair enough! But valuing a $14 player at $19 is ultimately a pretty measured risk to take for someone who might also genuinely be a $25 player. For an underperformer like Tucker, the extra weight to year-to-date performance is, in my opinion, risk averse. A $20 valuation is still great – top 50 or so for this year – but to my eyes there’s serious bust risk going forward that simply isn’t reflected in his rest-of-season projection.
Injuries
Now, the blending methodology sounds okay on paper, but in practice is significantly effected by injuries. This could be:
- A player who is currently hurt, has been hurt for a little while, but is expected to be fine. This affects their year-to-date value in a way that is not representative of their go-forward value.
- A player who is only recently hurt, and is expected to be out for a while, up to and including the remainder of this season. This does not impact their year-to-date value (for now, though it will eventually), but does affect their rest-of-season projection in a manner that is similarly unrepresentative.
- Pitcher injuries *shrug emoji*
To this end, I devised a series of conditions to assign penalties based on the nature of the injury. Using Roster Resource data, for players who are expected to miss ~20% of the season – either on a year-to-date or total basis – I add a flag for that player to omit year-to-date performance and further adjust based on whether their rest-of-season projection exceeds at least half of their preseason projected value. As a note, I added the wavy tilde next to 20% because I’ve found that this has occasionally required some minor manual flexing based on some quirks in how injury information is disseminated from teams and subsequently recorded in the data. But the overall idea here is for a player who has spent around 20% of the season on the injured list to be subject to some additional attention in the model.
If it does, I simply omit their in-season performance from the blend altogether and calculate their baseline assigning a 5% weight to pre-season projections and 95% weight to rest-of-season projections. Here, the contamination from the injury is playing too much role to derive useful value in their year-to-date performance.
If the rest-of-season value does not exceed 50% of their pre-season projection, I revert back to their pre-season projection with a 25% haircut as a penalty. For hitters, this is the end of the story. Consider Aaron Judge, with a -$22 rest-of-season projection, -$6 year-to-date value, and $60 pre-season projection. My blend methodology would rate him at -$12 which is patently incorrect. The haircutting methodology instead rates him with a $45 jump-off, which felt much more reasonable.
Another example is Nick Kurtz, with a $33 pre-season value, $19 year-to-date, and no rest-of-season projection given his thumb injury. Without the conditional methodology, it would actually be impossible to create a jump off point for him because he wouldn’t be in the rest-of-season data. This method sets his baseline at $24, which is perhaps low for someone who is obviously a very talented young hitter. But, the most predictive indicator for future injuries is previous injuries – ask my colleague Jeff Zimmerman about it. Even with the ding, he’s still ranked 14th in the model. And to the extent that he bounces back to his pre-injury production, the model will adjust quickly. But for now, all else equal, I would generally prefer to gently fade a guy who is set to miss roughly 40% of the season to injury.
Pitchers, meanwhile, are their own separate beast. I used the same general logic as with hitters, but for pitchers whose seasons end due to a serious arm injury, I haircut an additional 50%. For pitchers who have the “revert” flag but aren’t missing the entire year, I haircut an additional 25% no matter how their rest-of-season projection compares to their pre-season projection. Note though that these additional haircuts are on the already-haircut values. So the additional 50% haircut for serious injuries results in a total 62.5% haircut, not 75%.
To provide an example, the projections have given Tarik Skubal a slight ding – $49 rest-of-season versus $60 projected pre-season – but I have his baseline value at $37. He’s obviously still very good and fantasy players should act accordingly, but I think anyone modeling dynasty rankings should be extremely conservative with regard to pitcher injuries. I’m all for stuffing guys who are awesome until they prove otherwise – the best pitchers can be tremendously more valuable than even the second- or third-best arms. Jacob Misiorowski has been 50% more valuable ($61 versus $42) than Cam Schlittler, the number-two ranked pitcher. But once cracks in the armor start to show, I think it’s prudent to be swift in cutting them down in the ranks.
Aging Curve and Prospects
The rest of this explainer should be fairly downhill. Using the baseline value calculated above, and the aging curves that I detailed in last week’s article, I model out for a full 10-year horizon based on the player’s current age.

For example, a player who is 23 will receive bumps up to their peak age based on the curve, followed by decreases after they reach their peak. I floored negative-value seasons at -$10 because I didn’t think it added useful information to have a currently good but aging player suffer as extreme of a penalty as the aging curve would imply in edge seasons. It wouldn’t be consistent with how players are rostered in fantasy; if they’re sufficiently old and sufficiently bad, they’re cut. This is something that I might calibrate more precisely or change in future versions of the model, but ultimately it produced results that were overall reasonable and consistent with my intuition, so I stuck with it.
For prospects, using the rank buckets discussed in my previous articles (with a slight modification; I ultimately did separate number-one ranked hitters to create hitter buckets of Top 1, Top 2-5, Top 6-30, and 30+) and used the 40th percentile peak value for hitters within each bucket, and the 20th percentile for pitchers. These came out to be:
| Rank Bucket | N | Percentile | Peak Value | Comp 1 | Comp 2 | Comp 3 |
|---|---|---|---|---|---|---|
| Top 1 | 19 | 40 | $26.13 | Cliff Floyd (1994; #1; $26.11) | Andruw Jones (1996; #1; $26.20) | Jay Bruce (2008; #1; $25.14) |
| 2 to 5 | 62 | 40 | $16.24 | Hank Blalock (2002; #3; $15.32) | Corey Patterson (2001; #2; $17.17) | Ryan Klesko (1991; #3; $15.16) |
| 6 to 30 | 354 | 40 | $4.33 | Miguel Sano (2013; #9; $4.33) | Josh Barfield (2004; #20; $4.26) | Cameron Maybin (2007; #6; $4.50) |
| 30+ | 900 | 40 | -$6.01 | Todd Greene (1996; #59; -$5.99) | Warren Morris (1999; #84; -$6.04) | Anthony Gose (2012; #39; -$5.96) |
So, to use top-ranked Jesús Made as an example, the model is treating his expected peak season to be roughly that of Cliff Floyd’s best year. Meanwhile, fourth-ranked Walker Jenkins’ best season looks like Hank Blalock’s to the model. It then uses the aging curves to extrapolate downward to their current age and outward until they hit 10 years past their current age. For the ranks, I used the FanGraphs lists, as opposed to Baseball America (which the historical data are based on) to calibrate the model’s prospect preference to match our in-house philosophies.
I have set the model to be very pessimistic with pitchers:
| Rank Bucket | N | Percentile | Peak Value | Comp 1 | Comp 2 | Comp 3 |
|---|---|---|---|---|---|---|
| 1 to 15 | 131 | 20 | $0.00 | Bill Pulsipher (1995; #12; $1.43) | Allen Watson (1993; #9; $1.46) | Franklin Morales (2008; #8; $1.74) |
| 16 to 40 | 249 | 20 | -$5.60 | Jimmy Haynes (1996; #38; $0.09) | David Nied (1993; #23; $0.10) | John Roper (1993; #36; $0.17) |
| 41+ | 685 | 20 | -$8.03 | A.J. Cole (2012; #57; $0.58) | Daniel Norris (2012; #91; $0.72) | Kyle Crick (2013; #66; $0.91) |
To me, this is conceptually aligned with the conservativeness by which I treat them for injuries and generally reflects the evergreen logic of TINSTAAPP. For prospects who rely on list rankings to derive their dynasty value, these assumptions result in the best hitters ranking roughly in the 50-100 range, while the best pitchers are generally closer to 200. If you’re a pitching nut, before coming at me with a pitchfork, go back to the 2024 prospect list and look at the sparse number of pitchers who have returned meaningful fantasy value so far. Out of 37 pitchers ranked, it’s Paul Skenes, Mason Miller, and Jacob Misiorowski. And sure, these guys are awesome, but that’s not a very good hit rate.
For players ranked on both mid- and pre-season lists, the model uses the mid-season rank. For players who appeared on a preseason list but accrued sufficient playing time to lose prospect eligibility, the model uses the higher of their values based on their prospect status or the blended value methodology detailed above. This only lasts for the season that they appeared on the list; subsequent years will rely only on projections. I like these mechanics because it results in the model correctly stuffing a guy like Kevin McGonigle, who would be ranked much lower based on his prospect status. Meanwhile, it affords a bit of patience to guys who struggle at first but reacts fairly swiftly after that grace period ends. There are new top prospects literally every season – it doesn’t make sense to hang on to a player who isn’t producing when you can (and should) be digging to find the next guy who will to take their place on lists.
To circle back to aging curves briefly, last week I promised a comparison of the model rankings between a delta method-based curve and a GAM-based curve. The flat shape of the GAM aging curve, in my opinion, highly overrates older players:
| Name | Position | Role | Age | Delta Curve Rank | GAM Curve Rank | Diff |
|---|---|---|---|---|---|---|
| Jacob deGrom | SP | Pitcher | 38 | 91 | 42 | -49 |
| Freddie Freeman | 1B | Hitter | 36 | 92 | 52 | -40 |
| Mookie Betts | SS | Hitter | 33 | 99 | 61 | -38 |
| Zack Wheeler | SP | Pitcher | 36 | 60 | 30 | -30 |
| Chris Sale | SP | Pitcher | 37 | 39 | 14 | -25 |
| Bryce Harper | 1B | Hitter | 33 | 70 | 45 | -25 |
| Kyle Schwarber | 1B | Hitter | 33 | 54 | 31 | -23 |
| José Ramírez | 3B | Hitter | 33 | 41 | 19 | -22 |
| Blake Snell | SP | Pitcher | 33 | 100 | 80 | -20 |
| Aaron Judge | OF | Hitter | 34 | 18 | 6 | -12 |
Reasonable minds could disagree about where these players should settle in a final dynasty rank; maybe 39 is too high for Chris Sale. But to that point, if 39 maybe is too high, then 14 is not reasonable. So while the GAM model might perform marginally better in certain testing setups, I don’t think it is well suited for this exercise.
Discount Factors
After applying the aging curves, with a 10-year model of projected dollar value for both current veterans and prospects in hand, I applied a 25% discount factor to future years:

Here, the discount for 2026 would be 100%, because 1.250 equals 1. For 2033, it is 21%. That is, the model only values a 2033 season at 21% of what it would value an identical season in 2026. This rate is aggressive, but I think is appropriate. Flags fly forever. With something as unpredictable as fantasy baseball, even in dynasty, you should chase championships, not prospect rankings.
In addition to the general 25% discount factor, I have added an additional 4x multiplier on catchers, and a 6x multiplier on relievers.

Again, I know these seem extreme but consider the volatility associated with each position. This is another area I hope to calibrate more precisely over time, but for now, I think the results are reasonable. To bring it all back:

Then, take the sum of each player’s discounted values and sort it to create the rankings:

Conclusion
An astute reader may notice the occasional oddity in the rankings, like Walker Jenkins being ranked one spot higher than Jesús Made, despite being a lower-ranked prospect. This is because given his age (21 vs. 19), the model sees him as closer to his peak and therefore likelier to begin accruing fantasy value on your rosters sooner. Since nearer seasons are discounted much less steeply than later ones, Made’s relatively longer ramp up to viable fantasy production results in more of his best years being discounted relative to Jenkins’. With something like this, while I might personally value Made more, I also think the model is built soundly and want to listen to its results to see what kind of information can be gleaned. I will spend time in subsequent articles diving deeper into the actual rankings, pointing out some things that I like, don’t like, or just think are interesting. It may will undoubtedly be wrong in various ways, but I’m optimistic that it will also be useful.
*Note: Already, a hitch: this model run was done prior to knowledge of Jacob deGrom’s removal due to triceps fatigue, and not enough information is known yet to have sufficient inputs for a re-run. So, interpret his ranking with caution.
| Rank | Name | Position | Age | Discounted Total |
|---|---|---|---|---|
| 1 | Junior Caminero | 3B | 22 | $211.40 |
| 2 | Pete Crow-Armstrong | OF | 24 | $184.76 |
| 3 | Jackson Chourio | OF | 22 | $175.19 |
| 4 | Shohei Ohtani | DH/SP | 31 | $169.37 |
| 5 | Jacob Misiorowski | SP | 24 | $167.62 |
| 6 | Elly De La Cruz | SS | 24 | $150.01 |
| 7 | Yordan Alvarez | DH | 29 | $144.71 |
| 8 | Bobby Witt Jr. | SS | 26 | $143.38 |
| 9 | CJ Abrams | SS | 25 | $137.90 |
| 10 | Juan Soto | OF | 27 | $135.60 |
| 11 | Tarik Skubal | SP | 29 | $135.54 |
| 12 | Sal Stewart | 3B | 22 | $134.91 |
| 13 | Paul Skenes | SP | 24 | $132.87 |
| 14 | Nick Kurtz | 1B | 23 | $124.08 |
| 15 | James Wood | OF | 23 | $122.91 |
| 16 | Jordan Walker | OF | 24 | $118.35 |
| 17 | Julio Rodríguez | OF | 25 | $116.42 |
| 18 | Aaron Judge | OF | 34 | $107.77 |
| 19 | Wyatt Langford | OF | 24 | $107.64 |
| 20 | Ronald Acuña Jr. | OF | 28 | $106.72 |
| 21 | Jackson Merrill | OF | 23 | $106.00 |
| 22 | Cristopher Sánchez | SP | 29 | $105.12 |
| 23 | Yoshinobu Yamamoto | SP | 27 | $104.78 |
| 24 | Corbin Carroll | OF | 25 | $101.41 |
| 25 | Kevin McGonigle | 3B | 21 | $95.55 |
| 26 | Fernando Tatis Jr. | OF | 27 | $90.32 |
| 27 | Logan Gilbert | SP | 29 | $89.12 |
| 28 | Cam Schlittler | SP | 25 | $86.90 |
| 29 | Garrett Crochet | SP | 27 | $85.07 |
| 30 | Andy Pages | OF | 25 | $84.49 |
| 31 | Michael Harris II | OF | 25 | $79.85 |
| 32 | Gunnar Henderson | SS | 25 | $78.91 |
| 33 | Drew Rasmussen | SP | 30 | $78.39 |
| 34 | Munetaka Murakami | 1B | 26 | $78.03 |
| 35 | Roman Anthony | OF | 22 | $77.21 |
| 36 | Ben Rice | C | 27 | $75.45 |
| 37 | Zach Neto | SS | 25 | $74.27 |
| 38 | Bryan Woo | SP | 26 | $73.64 |
| 39 | Chris Sale | SP | 37 | $72.75 |
| 40 | Dylan Cease | SP | 30 | $71.49 |
| 41 | José Ramírez | 3B | 33 | $70.49 |
| 42 | Chase Burns | SP | 23 | $69.07 |
| 43 | Matt Olson | 1B | 32 | $68.46 |
| 44 | Pete Alonso | 1B | 31 | $67.41 |
| 45 | Ceddanne Rafaela | OF | 25 | $64.17 |
| 46 | Iván Herrera | 1B | 26 | $62.46 |
| 47 | Brice Turang | 2B | 26 | $62.24 |
| 48 | Hunter Goodman | C | 26 | $60.14 |
| 49 | Jesús Luzardo | SP | 28 | $59.20 |
| 50 | Miguel Vargas | 3B | 26 | $58.98 |
| 51 | Konnor Griffin | SS | 20 | $56.69 |
| 52 | JJ Wetherholt | 2B | 23 | $54.31 |
| 53 | Jacob Wilson윌슨 | SS | 24 | $54.00 |
| 54 | Kyle Schwarber | DH | 33 | $52.71 |
| 55 | Tyler Soderstrom | OF | 24 | $52.00 |
| 56 | Daylen Lile | OF | 23 | $49.46 |
| 57 | Alec Burleson | OF | 27 | $49.26 |
| 58 | Mason Miller | RP | 27 | $48.90 |
| 59 | Francisco Lindor | SS | 32 | $47.82 |
| 60 | Zack Wheeler | SP | 36 | $47.10 |
| 61 | Otto Lopez | 2B | 27 | $47.10 |
| 62 | Drake Baldwin | C | 25 | $46.04 |
| 63 | Jac Caglianone | OF | 23 | $44.00 |
| 64 | Max Fried | SP | 32 | $43.91 |
| 65 | Vladimir Guerrero Jr. | 1B | 27 | $41.18 |
| 66 | Nolan McLean | SP | 24 | $40.13 |
| 67 | Kyle Tucker | OF | 29 | $39.86 |
| 68 | Hunter Brown | SP | 27 | $36.21 |
| 69 | Logan Webb | SP | 29 | $33.87 |
| 70 | Bryce Harper | 1B | 33 | $33.28 |
| 71 | Walker Jenkins | OF | 21 | $33.10 |
| 72 | Jesús Made | SS | 19 | $33.07 |
| 73 | Carson Benge | OF | 23 | $32.26 |
| 74 | Maikel Garcia | 3B | 26 | $32.18 |
| 75 | Cade Smith | RP | 27 | $30.83 |
| 76 | Gavin Williams | SP | 26 | $30.25 |
| 77 | Brent Rooker | OF | 31 | $27.22 |
| 78 | Parker Messick | SP | 25 | $26.77 |
| 79 | Wilyer Abreu | OF | 27 | $25.53 |
| 80 | Eury Pérez | SP | 23 | $23.52 |
| 81 | Colson Montgomery | SS | 24 | $23.25 |
| 82 | Randy Arozarena | OF | 31 | $22.19 |
| 83 | Jazz Chisholm Jr. | 3B | 28 | $21.45 |
| 84 | Jhoan Duran | RP | 28 | $20.59 |
| 85 | Riley Greene | OF | 25 | $20.17 |
| 86 | Jonathan Aranda | 1B | 28 | $19.81 |
| 87 | Ketel Marte | 2B | 32 | $19.47 |
| 88 | Rafael Devers | 1B | 29 | $18.48 |
| 89 | Seiya Suzuki | OF | 31 | $18.37 |
| 90 | Grant Taylor | RP | 24 | $18.30 |
| 91 | Jacob deGrom | SP | 38 | $17.54 |
| 92 | Freddie Freeman | 1B | 36 | $17.27 |
| 93 | Payton Tolle | SP | 23 | $16.96 |
| 94 | Bryce Eldridge | 1B | 21 | $16.24 |
| 95 | Franklin Arias | SS | 20 | $15.61 |
| 96 | Logan Henderson | SP | 24 | $15.49 |
| 97 | George Kirby | SP | 28 | $14.96 |
| 98 | Sam Antonacci | OF | 23 | $14.78 |
| 99 | Mookie Betts | SS | 33 | $14.44 |
| 100 | Blake Snell | SP | 33 | $13.93 |
| 101 | Carter Jensen | C | 22 | $13.80 |
| 102 | Dillon Dingler | C | 27 | $13.25 |
| 103 | Jeremy Peña | SS | 28 | $13.15 |
| 104 | Bryce Miller | SP | 27 | $11.81 |
| 105 | Louis Varland | RP | 28 | $10.63 |
| 106 | Trea Turner | SS | 33 | $9.88 |
| 107 | Shane McClanahan | SP | 29 | $9.64 |
| 108 | Willson Contreras | 1B | 34 | $9.13 |
| 109 | Luis García Jr. | 2B | 26 | $8.59 |
| 110 | Vinnie Pasquantino | 1B | 28 | $7.84 |
| 111 | Andrés Muñoz | RP | 27 | $6.71 |
| 112 | Troy Melton | SP | 25 | $6.06 |
| 113 | Braxton Ashcraft | SP | 26 | $5.86 |
| 114 | Josh Naylor | 1B | 29 | $5.13 |
| 115 | Trey Yesavage | SP | 22 | $4.59 |
| 116 | Shota Imanaga | SP | 32 | $4.29 |
| 117 | Dansby Swanson | SS | 32 | $4.04 |
| 118 | Samuel Basallo | C | 21 | $3.67 |
| 119 | Michael Busch | 1B | 28 | $3.58 |
| 120 | Sonny Gray | SP | 36 | $3.31 |
| 121 | Xavier Edwards | 2B | 26 | $3.24 |
| 122 | Yandy Díaz | 1B | 34 | $2.29 |
| 123 | Chase DeLauter | OF | 24 | $2.15 |
| 124 | Cole Young | 2B | 22 | $1.85 |
| 125 | Mike Sirota | OF | 23 | $0.94 |
| 126 | Henry Bolte | OF | 22 | -$1.06 |
| 127 | Jackson Jobe | SP | 23 | -$1.35 |
| 128 | Jared Jones | SP | 24 | -$1.41 |
| 129 | Ranger Suarez | SP | 30 | -$1.83 |
| 130 | Foster Griffin | SP | 30 | -$1.91 |
| 131 | Chandler Simpson | OF | 25 | -$1.93 |
| 132 | Bryan Reynolds | OF | 31 | -$1.97 |
| 133 | Ozzie Albies | 2B | 29 | -$2.45 |
| 134 | Luke Keaschall | 2B | 23 | -$2.83 |
| 135 | Geraldo Perdomo | SS | 26 | -$2.90 |
| 136 | David Bednar | RP | 31 | -$3.25 |
| 137 | Jo Adell | OF | 27 | -$3.81 |
| 138 | Ryan Pepiot | SP | 28 | -$4.35 |
| 139 | Shea Langeliers | C | 28 | -$4.36 |
| 140 | Cal Raleigh | C | 29 | -$4.54 |
| 141 | Spencer Strider | SP | 27 | -$5.35 |
| 142 | Jake McCarthy | OF | 28 | -$6.10 |
| 143 | Angel Genao | SS | 22 | -$6.29 |
| 143 | Aidan Miller | SS | 22 | -$6.29 |
| 145 | William Contreras | C | 28 | -$6.36 |
| 146 | José Soriano | SP | 27 | -$6.66 |
| 147 | Kyle Harrison | SP | 24 | -$7.39 |
| 148 | Oneil Cruz | OF | 27 | -$8.07 |
| 149 | Jackson Holliday | 2B | 22 | -$8.12 |
| 150 | Teoscar Hernández | OF | 33 | -$8.22 |
| 151 | Heliot Ramos | OF | 26 | -$8.33 |
| 152 | Joe Ryan | SP | 30 | -$8.38 |
| 153 | Devin Williams | RP | 31 | -$8.72 |
| 154 | Tyler Glasnow | SP | 32 | -$9.83 |
| 155 | Bradgley Rodriguez | SP | 22 | -$10.16 |
| 156 | Cade Horton | SP | 24 | -$10.37 |
| 157 | Bryan Baker | RP | 31 | -$10.49 |
| 158 | Didier Fuentes | RP | 21 | -$10.60 |
| 159 | Colt Emerson | 3B | 20 | -$11.16 |
| 160 | Casey Mize | SP | 29 | -$12.15 |
| 161 | Jacob Latz | RP | 30 | -$12.83 |
| 162 | Justin Crawford | OF | 22 | -$13.15 |
| 163 | A.J. Ewing | OF | 21 | -$13.49 |
| 164 | Spencer Torkelson | 1B | 26 | -$13.85 |
| 165 | Nick Lodolo | SP | 28 | -$13.93 |
| 166 | Chase Meidroth | 2B | 24 | -$14.02 |
| 167 | Max Clark | OF | 21 | -$14.20 |
| 167 | Josue De Paula | OF | 21 | -$14.20 |
| 167 | Roch Cholowsky | SS | 21 | -$14.20 |
| 167 | George Lombard Jr. | SS | 21 | -$14.20 |
| 171 | Bubba Chandler | SP | 23 | -$14.32 |
| 172 | Adrian Morejon | RP | 27 | -$14.38 |
| 173 | Matthew Boyd | SP | 35 | -$14.69 |
| 174 | Nick Pivetta | SP | 33 | -$14.73 |
| 175 | Thomas White | SP | 21 | -$14.82 |
| 175 | Kade Anderson | SP | 21 | -$14.82 |
| 177 | Cam Smith | OF | 23 | -$15.13 |
| 178 | Zack Gelof | 2B | 26 | -$15.96 |
| 179 | Colt Keith | 3B | 24 | -$16.78 |
| 180 | Caleb Durbin | 3B | 26 | -$16.98 |
| 181 | Bo Bichette | SS | 28 | -$16.99 |
| 182 | Spencer Schwellenbach | SP | 26 | -$18.04 |
| 183 | Seth Hernandez | SP | 20 | -$18.46 |
| 183 | Ryan Sloan | SP | 20 | -$18.46 |
| 185 | Corey Seager | SS | 32 | -$18.61 |
| 186 | Michael King | SP | 31 | -$19.00 |
| 187 | Brandon Lowe | 2B | 31 | -$19.45 |
| 188 | Nico Hoerner | 2B | 29 | -$19.50 |
| 189 | Spencer Miles | SP | 25 | -$19.72 |
| 190 | Kris Bubic | SP | 28 | -$19.88 |
| 191 | Reid Detmers | SP | 26 | -$20.19 |
| 192 | Ryan Weathers | SP | 26 | -$20.38 |
| 193 | Carlos Rodón | SP | 33 | -$20.84 |
| 194 | Hunter Greene | SP | 26 | -$21.09 |
| 195 | Manny Machado | 3B | 33 | -$21.13 |
| 196 | Luis Robert Jr. | OF | 28 | -$22.35 |
| 197 | Esmerlyn Valdez | OF | 22 | -$22.74 |
| 198 | Sandy Alcantara | SP | 30 | -$22.88 |
| 199 | Bryce Rainer | SS | 20 | -$22.95 |
| 199 | Sebastian Walcott | SS | 20 | -$22.95 |
| 199 | Theo Gillen | OF | 20 | -$22.95 |
| 202 | Kyle Bradish | SP | 29 | -$23.02 |
| 203 | Jack Dreyer | SP | 27 | -$23.65 |
| 204 | Josh Hader | RP | 32 | -$23.68 |
| 205 | Masyn Winn | SS | 24 | -$24.28 |
| 206 | MacKenzie Gore | SP | 27 | -$24.35 |
| 207 | Gabriel Moreno | C | 26 | -$24.66 |
| 208 | Vahn Lackey | C | 21 | -$24.80 |
| 209 | Mickey Moniak | OF | 28 | -$24.90 |
| 210 | Edward Cabrera | SP | 28 | -$25.08 |
| 211 | Jack Flaherty | SP | 30 | -$25.49 |
| 212 | Eugenio Suárez | 3B | 34 | -$25.88 |
| 213 | JJ Bleday | OF | 28 | -$25.97 |
| 214 | Jung Hoo Lee 이정후 | OF | 27 | -$26.05 |
| 215 | Ian Seymour | SP | 27 | -$26.09 |
| 216 | Trent Grisham | OF | 29 | -$27.12 |
| 217 | Byron Buxton | OF | 32 | -$27.69 |
| 218 | Jake Burger | 1B | 30 | -$27.87 |
| 219 | Jake Bennett | SP | 25 | -$27.92 |
| 220 | TJ Rumfield | 1B | 26 | -$28.05 |
| 221 | Cody Bradford | SP | 28 | -$28.28 |
| 222 | Dominic Canzone | OF | 28 | -$28.39 |
| 223 | Justin Wrobleski | SP | 25 | -$28.78 |
| 224 | Abner Uribe | RP | 26 | -$29.39 |
| 225 | Taj Bradley | SP | 25 | -$29.57 |
| 226 | Ben Joyce | RP | 25 | -$29.97 |
| 227 | Justin Steele | SP | 30 | -$30.10 |
| 228 | Jarren Duran | OF | 29 | -$30.84 |
| 229 | Shane Bieber | SP | 31 | -$31.16 |
| 230 | Alfredo Duno | C | 20 | -$31.27 |
| 230 | Ethan Salas | C | 20 | -$31.27 |
| 232 | Brandon Marsh | OF | 28 | -$31.35 |
| 233 | Brenton Doyle | OF | 28 | -$31.53 |
| 234 | Edwin Díaz | RP | 32 | -$31.65 |
| 235 | Jordan Beck | OF | 25 | -$31.68 |
| 236 | Shane Drohan | SP | 27 | -$31.76 |
| 237 | Trevor Megill | RP | 32 | -$31.95 |
| 238 | Luis Peña | SS | 19 | -$32.30 |
| 238 | Leo De Vries | SS | 19 | -$32.30 |
| 240 | Gerrit Cole | SP | 35 | -$32.43 |
| 241 | Luis Arraez | 1B | 29 | -$32.82 |
| 242 | Emerson Hancock | SP | 27 | -$32.90 |
| 243 | Mitch Bratt | SP | 22 | -$32.96 |
| 244 | Braydon Fisher | SP | 25 | -$33.06 |
| 245 | Keider Montero | SP | 25 | -$33.51 |
| 246 | Tanner Bibee | SP | 27 | -$33.59 |
| 247 | Ezequiel Tovar | SS | 24 | -$33.65 |
| 248 | Kyle Stowers | OF | 28 | -$33.87 |
| 249 | Michael Soroka | SP | 28 | -$34.11 |
| 250 | Grayson Rodriguez | SP | 26 | -$34.44 |
| 251 | Lawrence Butler | OF | 25 | -$34.82 |
| 252 | Ian Happ | OF | 31 | -$35.05 |
| 253 | Gleyber Torres | 2B | 29 | -$35.36 |
| 254 | Dylan Lee | RP | 31 | -$35.77 |
| 255 | Sean Burke | SP | 26 | -$35.93 |
| 256 | Brooks Lee | 3B | 25 | -$36.16 |
| 257 | Brayan Rocchio | 2B | 25 | -$36.81 |
| 258 | Griffin Jax | SP | 31 | -$37.61 |
| 259 | Hayden Wesneski | SP | 28 | -$37.88 |
| 260 | Isaac Paredes | 3B | 27 | -$38.05 |
| 261 | Liam Doyle | SP | 22 | -$38.37 |
| 261 | Jarlin Susana | SP | 22 | -$38.37 |
| 261 | Gage Wood | SP | 22 | -$38.37 |
| 261 | Noah Schultz | SP | 22 | -$38.37 |
| 265 | Anthony Eyanson | SP | 21 | -$38.93 |
| 265 | Jackson Flora | SP | 21 | -$38.93 |
| 265 | Christian Zazueta | SP | 21 | -$38.93 |
| 268 | Travis Bazzana | 2B | 23 | -$38.99 |
| 269 | Drew Anderson 앤더슨 | SP | 32 | -$39.21 |
| 270 | Andrew Painter | SP | 23 | -$39.30 |
| 271 | Dylan Crews | OF | 24 | -$39.87 |
| 272 | Cade Cavalli | SP | 27 | -$40.00 |
| 273 | Tyler Holton | SP | 30 | -$40.10 |
| 274 | Eli Willits | SS | 18 | -$40.16 |
| 274 | Grady Emerson | SS | 18 | -$40.16 |
| 276 | Braylon Doughty | SP | 20 | -$40.32 |
| 277 | Bryson Stott | 2B | 28 | -$40.58 |
| 278 | Mike Trout | OF | 34 | -$40.69 |
| 279 | Rainiel Rodriguez | C | 19 | -$40.87 |
| 280 | Zac Gallen | SP | 30 | -$41.06 |
| 281 | Austin Riley | 3B | 29 | -$41.07 |
| 282 | Ben Brown | SP | 26 | -$42.11 |
| 283 | Kaelen Culpepper | SS | 23 | -$42.22 |
| 283 | Ryan Waldschmidt | OF | 23 | -$42.22 |
| 283 | Braden Montgomery | OF | 23 | -$42.22 |
| 283 | Carson Williams | SS | 23 | -$42.22 |
| 283 | Charlie Condon | OF | 23 | -$42.22 |
| 288 | Joe Musgrove | SP | 33 | -$42.38 |
| 289 | Braxton Garrett | SP | 28 | -$42.41 |
| 290 | Connelly Early | SP | 24 | -$42.55 |
| 291 | Jacob Reimer | 3B | 22 | -$43.34 |
| 291 | Aiva Arquette | SS | 22 | -$43.34 |
| 291 | Marek Houston | SS | 22 | -$43.34 |
| 291 | Aaron Walton | OF | 22 | -$43.34 |
| 291 | Murf Gray | 3B | 22 | -$43.34 |
| 291 | Jett Williams | OF | 22 | -$43.34 |
| 291 | Pedro Ramírez | 2B | 22 | -$43.34 |
| 298 | Tanner Scott | RP | 31 | -$43.96 |
| 299 | Nick Gonzales | 2B | 27 | -$43.97 |
| 300 | Brayden Taylor | 3B | 24 | -$44.00 |
| 300 | Dylan Beavers | OF | 24 | -$44.00 |
| 300 | Tommy Troy | 2B | 24 | -$44.00 |
| 303 | Nolan Schanuel | 1B | 24 | -$44.10 |
| 304 | Kazuma Okamoto | 3B | 30 | -$44.16 |
| 305 | Brandon Woodruff | RP | 33 | -$44.62 |
| 306 | Daniel Palencia | RP | 26 | -$44.66 |
| 307 | Ralphy Velazquez | 1B | 21 | -$45.05 |
| 307 | Jonny Farmelo | OF | 21 | -$45.05 |
| 307 | Jefferson Rojas | SS | 21 | -$45.05 |
| 307 | Zyhir Hope | OF | 21 | -$45.05 |
| 307 | Lazaro Montes | OF | 21 | -$45.05 |
| 307 | Josue Briceño | 1B | 21 | -$45.05 |
| 307 | Tyler Bell | SS | 21 | -$45.05 |
| 307 | Michael Arroyo | 2B | 21 | -$45.05 |
| 315 | Riley O’Brien | RP | 31 | -$45.54 |
| 316 | Kerry Carpenter | OF | 28 | -$45.58 |
| 317 | Evan Carter | OF | 23 | -$45.61 |
| 318 | Christian Scott | SP | 27 | -$45.71 |
| 319 | Chad Patrick | SP | 27 | -$47.05 |
| 320 | AJ Smith-Shawver | SP | 23 | -$47.10 |
| 321 | Sal Frelick | OF | 26 | -$47.26 |
| 322 | Christian Oppor | SP | 21 | -$47.37 |
| 322 | Caden Scarborough | SP | 21 | -$47.37 |
| 322 | Keyner Martinez | SP | 21 | -$47.37 |
| 325 | Jake Bauers | OF | 30 | -$47.38 |
| 326 | Cooper Pratt | SS | 21 | -$47.63 |
| 327 | Tyler Bremner | SP | 22 | -$47.85 |
| 327 | Hagen Smith | SP | 22 | -$47.85 |
| 327 | Michael Forret | SP | 22 | -$47.85 |
| 327 | Karson Milbrandt | SP | 22 | -$47.85 |
| 327 | Riley Quick | SP | 22 | -$47.85 |
| 327 | Travis Sykora | SP | 22 | -$47.85 |
| 327 | Zachary Root | SP | 22 | -$47.85 |
| 327 | Elmer Rodríguez | SP | 22 | -$47.85 |
| 327 | Robby Snelling | SP | 22 | -$47.85 |
| 336 | Brandon Sproat | SP | 25 | -$47.93 |
| 337 | Juan Valera | SP | 20 | -$48.12 |
| 337 | Ramon Marquez | SP | 20 | -$48.12 |
| 339 | Framber Valdez | SP | 32 | -$48.52 |
| 340 | Caleb Bonemer | 3B | 20 | -$48.52 |
| 340 | Eduardo Quintero | OF | 20 | -$48.52 |
| 340 | Arjun Nimmala | SS | 20 | -$48.52 |
| 340 | Felnin Celesten | SS | 20 | -$48.52 |
| 340 | Eric Hartman | OF | 20 | -$48.52 |
| 340 | Devin Fitz-Gerald | SS | 20 | -$48.52 |
| 346 | Yainer Diaz | C | 27 | -$48.52 |
| 347 | Tyler Mahle | SP | 31 | -$48.55 |
| 348 | Royce Lewis | 3B | 27 | -$48.77 |
| 349 | Owen Caissie | OF | 23 | -$48.97 |
| 350 | Kevin Gausman | SP | 35 | -$49.03 |
| 351 | Cody Ponce 폰세 | SP | 32 | -$49.17 |
| 352 | Aroldis Chapman | RP | 38 | -$49.38 |
| 353 | Matt Chapman | 3B | 33 | -$49.54 |
| 354 | Christian Walker | 1B | 35 | -$49.84 |
| 355 | Alex Bregman | 3B | 32 | -$49.89 |
| 356 | Max Meyer | SP | 27 | -$49.97 |
| 357 | Kyle Karros | 3B | 23 | -$50.14 |
| 358 | Luis De León | SP | 23 | -$50.17 |
| 358 | Khal Stephen | SP | 23 | -$50.17 |
| 358 | Jurrangelo Cijntje | SP | 23 | -$50.17 |
| 358 | Jonah Tong | SP | 23 | -$50.17 |
| 358 | JR Ritchie | SP | 23 | -$50.17 |
| 358 | Gage Jump | SP | 23 | -$50.17 |
| 358 | Tanner McDougal | SP | 23 | -$50.17 |
| 358 | Kendry Rojas | SP | 23 | -$50.17 |
| 366 | Nick Martinez | SP | 35 | -$50.62 |
| 367 | Peter Lambert | SP | 29 | -$50.71 |
| 368 | Kevin Kelly | RP | 28 | -$51.00 |
| 369 | Ezequiel Duran | 1B | 27 | -$51.38 |
| 370 | Kodai Senga | SP | 33 | -$51.64 |
| 371 | Brandon Nimmo | OF | 33 | -$51.80 |
| 372 | Brandon Pfaadt | SP | 27 | -$51.89 |
| 373 | Kendry Chourio | SP | 18 | -$52.18 |
| 374 | Dustin May | SP | 28 | -$52.37 |
| 375 | Raisel Iglesias | RP | 36 | -$52.48 |
| 376 | Landen Roupp | SP | 27 | -$53.06 |
| 377 | Ronny Cruz | 3B | 19 | -$53.22 |
| 377 | Emil Morales | SS | 19 | -$53.22 |
| 377 | Yolfran Castillo | SS | 19 | -$53.22 |
| 377 | Jhonny Level | 2B | 19 | -$53.22 |
| 377 | Dax Kilby | SS | 19 | -$53.22 |
| 377 | Josh Hammond | SS | 19 | -$53.22 |
| 377 | Edward Florentino | OF | 19 | -$53.22 |
| 377 | Roldy Brito | OF | 19 | -$53.22 |
| 377 | Ethan Holliday | 3B | 19 | -$53.22 |
| 377 | Josiah Hartshorn | 1B | 19 | -$53.22 |
| 377 | Hayden Alvarez | OF | 19 | -$53.22 |
| 377 | Justin Gonzales | OF | 19 | -$53.22 |
| 377 | Tate Southisene | SS | 19 | -$53.22 |
| 377 | JoJo Parker | 3B | 19 | -$53.22 |
| 377 | Cristian Arguelles | OF | 19 | -$53.22 |
| 392 | Bryan Hudson | SP | 29 | -$53.30 |
| 393 | Liam Hicks | C | 27 | -$53.35 |
| 394 | Jack Wenninger | SP | 24 | -$53.43 |
| 394 | Brody Hopkins | SP | 24 | -$53.43 |
| 394 | Jaxon Wiggins | SP | 24 | -$53.43 |
| 394 | Tyson Hardin | SP | 24 | -$53.43 |
| 394 | Trey Gibson | SP | 24 | -$53.43 |
| 394 | Rhett Lowder | SP | 24 | -$53.43 |
| 394 | Winston Santos | SP | 24 | -$53.43 |
| 394 | George Klassen | SP | 24 | -$53.43 |
| 402 | Michael McGreevy | SP | 25 | -$53.44 |
| 403 | Mike Burrows | SP | 26 | -$53.98 |
| 404 | Joey Cantillo | SP | 26 | -$54.86 |
| 405 | Cole Carrigg | OF | 24 | -$55.45 |
| 406 | Trevor Story | SS | 33 | -$55.53 |
| 407 | Carmen Mlodzinski | SP | 27 | -$56.07 |
| 408 | Willy Adames | SS | 30 | -$56.11 |
| 409 | J.T. Ginn | SP | 27 | -$56.19 |
| 410 | Zac Thornton | SP | 24 | -$56.28 |
| 411 | Paul Blackburn | SP | 32 | -$56.65 |
| 412 | Adley Rutschman | C | 28 | -$56.66 |
| 413 | Christian Yelich | 1B | 34 | -$57.09 |
| 414 | Trevor Rogers | SP | 28 | -$57.36 |
| 415 | Josuar Gonzalez | SS | 18 | -$57.68 |
| 415 | Taitn Gray | 1B | 18 | -$57.68 |
| 415 | Dorian Soto | SS | 18 | -$57.68 |
| 415 | Alexander Frias | OF | 18 | -$57.68 |
| 415 | Brady Ebel | SS | 18 | -$57.68 |
| 415 | Juneiker Caceres | OF | 18 | -$57.68 |
| 415 | Kevin Alvarez | OF | 18 | -$57.68 |
| 415 | Elian Peña | 3B | 18 | -$57.68 |
| 423 | Sean Newcomb | SP | 33 | -$57.75 |
| 424 | Roki Sasaki | SP | 24 | -$57.76 |
| 425 | Jakob Marsee | OF | 25 | -$57.82 |
| 426 | Will Smith | C | 31 | -$58.63 |
| 427 | Javier Sanoja | 3B | 23 | -$58.67 |
| 428 | David Davalillo | SP | 25 | -$58.80 |
| 428 | Jake Bloss | SP | 25 | -$58.80 |
| 428 | Connor Prielipp | SP | 25 | -$58.80 |
| 431 | Walbert Ureña | SP | 22 | -$60.48 |
| 432 | Bailey Ober | SP | 30 | -$60.53 |
| 433 | Marcelo Mayer | 3B | 23 | -$60.82 |
| 434 | Jack Leiter | SP | 26 | -$60.90 |
| 435 | Shane Smith | SP | 26 | -$60.99 |
| 436 | Caden Dana | SP | 22 | -$61.61 |
| 437 | Brandon Young | SP | 27 | -$61.73 |
| 438 | Victor Bericoto | OF | 24 | -$62.06 |
| 439 | Luis Perales | SP | 23 | -$62.30 |
| 440 | Heriberto Hernández | OF | 26 | -$62.37 |
| 441 | Noah Cameron | SP | 26 | -$62.88 |
| 442 | Kai-Wei Teng | SP | 27 | -$63.35 |
| 443 | Javier Assad | SP | 28 | -$63.44 |
| 444 | Davis Martin | SP | 29 | -$63.69 |
| 445 | River Ryan | SP | 27 | -$63.87 |
| 446 | Lake Bachar | SP | 31 | -$63.94 |
| 447 | Zebby Matthews | SP | 26 | -$64.35 |
| 448 | Reynaldo López | SP | 32 | -$64.74 |
| 449 | Matt McLain | 2B | 26 | -$65.04 |
| 450 | Nathan Eovaldi | SP | 36 | -$65.41 |
| 451 | Adolis García | OF | 33 | -$65.78 |
| 452 | Emmet Sheehan | SP | 26 | -$65.83 |
| 453 | Luis Castillo | SP | 33 | -$66.14 |
| 454 | Shane Baz | SP | 27 | -$66.33 |
| 455 | Addison Barger | 3B | 26 | -$66.63 |
| 456 | Michael Wacha | SP | 34 | -$66.64 |
| 457 | Nasim Nuñez | OF | 25 | -$67.53 |
| 458 | Andre Pallante | SP | 27 | -$67.65 |
| 459 | Ryne Nelson | SP | 28 | -$68.39 |
| 460 | Joe Whitman | SP | 24 | -$68.81 |
| 461 | Tyler Alexander | SP | 31 | -$69.47 |
| 462 | Cade Povich | SP | 26 | -$69.52 |
| 463 | Andrew Vaughn | 1B | 28 | -$70.00 |
| 464 | Robert Gasser | SP | 27 | -$70.04 |
| 465 | Joey Estes | SP | 24 | -$70.14 |
| 466 | Alejandro Kirk | C | 27 | -$70.21 |
| 467 | Clay Holmes | SP | 33 | -$70.44 |
| 468 | Freddy Peralta | SP | 30 | -$70.47 |
| 469 | Eduardo Rodriguez | SP | 33 | -$71.37 |
| 470 | Eduardo Rivera | SP | 23 | -$71.79 |
| 471 | Jacob Young | OF | 26 | -$72.07 |
| 472 | Chase Petty | SP | 23 | -$72.88 |
| 473 | Taylor Ward | OF | 32 | -$72.90 |
| 474 | Huascar Brazobán | SP | 36 | -$72.93 |
| 475 | George Springer | OF | 36 | -$73.00 |
| 476 | Luis Gil | SP | 28 | -$73.25 |
| 477 | Kody Clemens | OF | 30 | -$73.35 |
| 478 | Spencer Arrighetti | SP | 26 | -$73.39 |
| 479 | Brendan Donovan | 2B | 29 | -$73.42 |
| 480 | Coby Mayo | 1B | 24 | -$73.48 |
| 481 | Sam Aldegheri | SP | 24 | -$73.52 |
| 482 | Luis Morales | SP | 23 | -$73.83 |
| 483 | Jordan Westburg | 3B | 27 | -$73.96 |
| 484 | Sean Manaea | SP | 34 | -$74.01 |
| 485 | Salvador Perez | C | 36 | -$74.03 |
| 486 | Willi Castro | 3B | 29 | -$74.33 |
| 487 | JP Sears | SP | 30 | -$74.86 |
| 488 | Carson Whisenhunt | SP | 25 | -$75.02 |
| 489 | Ramón Laureano | OF | 31 | -$75.11 |
| 490 | Brady House | 3B | 23 | -$75.15 |
| 491 | Will Warren | SP | 27 | -$75.33 |
| 492 | Logan Allen로건 | SP | 27 | -$75.63 |
| 493 | Andrew Abbott | SP | 27 | -$75.66 |
| 494 | Denzer Guzman | SS | 22 | -$76.68 |
| 495 | Kumar Rocker | SP | 26 | -$77.04 |
| 496 | Garrett Mitchell | OF | 27 | -$77.27 |
| 497 | Corbin Burnes | SP | 31 | -$77.28 |
| 498 | Quinn Priester | SP | 25 | -$77.38 |
| 499 | Ryan Jeffers | C | 29 | -$77.54 |
| 500 | Quinn Mathews | SP | 25 | -$77.61 |
Jonathan is a contributor for RotoGraphs. He is a Tigers fan living in Philadelphia with his wife and dog and requests that you leave your best pizza topping combinations in the comments.
Seems really aggressive on Jordan Walker for 2 very good months to start this year balanced against 3 years of disappointment. Plenty of names behind him that I’d put before him. Pretty sure I’m keeping McGonigle ahead of Walker for one.
I have no issue with wanting to move McGonigle up, but you may want to look at Jordan Walker’s splits again. Two good months? His worst month is July- .260/4 HR/4 SB and 20 RBI/21 runs. Project that out over 6 months.
He’s also 24 and was in the bigs before he was ready. I think your view of him is very obtuse.
I agree that maybe he was promoted before he was truly ready, and maybe he even gained while working through those struggles, but his current 2nd half stats (100 PAs) compare closer to his previous seasons then the current one. He could prove to be a keeper cornerstone, but maybe he belongs closer to someone like Money Mike in the late 20s-early 30s then top 15.
Walker since May 29th: 273 PA, .271/.322/.418, 8 HR, 34 R, 42 RBI, 9 SB and a 1.27 GB/FB
Now players all wax and wane and his 1st 2 months count too and he is still only 24 and he still has massive prospect pedigree. All of that is true. Look, as someone holding Walker, I’m very much rooting for him. However, I would say the jury is still very much out on whether Walker has really broken out and I’m not sure I’m taking him ahead of a bunch of guys behind him on the list like Carroll, for example. I do think he’s turned the corner but the question is whether that means he’s now a .335 wOBA guy or a .360 wOBA guy. Big difference in there. I’m excited to see how he finishes.
BTW, his worst month was probably June when he went .283, 3 HR, 8 R, 15 RBI, 3 SB.
I agree with that – plus a 29/4 K%/BB% that month, but he has been much improved overall this year in reducing his strikeouts.
It seems like Ivan Herrera and Daylen Lile are clear outliers. My test for this in my head is to ask if I’d accept them on a $1 keep forever contract in a straight-up trade for a $1 Bryce Harper, Vlad Guerrero, Logan Webb, any elite closer, or even a Tolle, Made, etc? Those two plus Jacob Wilson seem to be benefiting too much from a combination of youth plus a good 2025.
Sharp eye, I would tend to agree. Wilson and Lile were on my list specifically as “dislikes”. Herrera is probably over ranked but he at least has actually been a very good hitter and is still quite young.
Lile’s BABIP this season is .280. If he regresses to .300, he likely looks a lot better. In 2025, his MLB BABIP .336 and MiLB BABIP was .377. In 2024 it was .316.
Shohei the first baseman!
It’s a big ask, but to make this customizable like the auction calculator would be amazing.
Seconded! I suspect some of these values change meaningfully in OBP, SV+HLD leagues etc etc
Nice job! While there are of course nits to pick with specific rankings and methodology, overall this is a MUCH better dynasty ranking than any of the others out there.
It might interesting to incorporate OOPSY into the prospect ranking since that specifically is intended for fantasy as opposed to the EL/BG prospect list. I might have missed it but did you add injury penalty for prospects too? The (way too high) ranking of Aidan Miller, Thomas White, and Aiva Arquette all stood out to me.
Adjusting this for other formats (points, deeper leagues) would be valuable too as another commenter noted.
There might be something weird with your position adjustments. There are a bunch of SP-eligible relievers that get bumped WAY high in these ranks. Bradgley at 155, Miles at 189, Dreyer at 203, Seymour at 215, Braydon Fisher 244, Holton 273, Newcomb, Blackburn etc etc. There is a ton of utility in these kinds of guys in lots of leagues, but in a 12T 5×5 I think something is goofing up their value.
I tend to think a 10 year period is far too long given the uncertainty involved, but your discount rate is fairly aggressive so perhaps that’s fine.
Again, awesome stuff. Nice to have a dynasty tool that is built off a bit more than just vibes!
Thanks for the kinds words, glad you enjoyed it.
You’re right, good catch on the RPs. They’re getting higher ranks because they aren’t being discounted like other relievers. I had caught a few SP/RPs higher in the rankings but missed these guys.
And no I did not factor prospect injuries because it’s not in the RR data. Something to consider for the future, perhaps.
I love this and it meets my gut expectations.
But I am flabbergasted that Zac Gallen is 40 slots higher than Christian Scott, 80 points higher than Max Meyer, and 200 slots higher than Freddie Peralta.
Glad you liked it. Bear in mind the guys that far down the list are all actually pretty close, which is why I included the discounted total as a column. The $ difference between Gallen is the same as the ~difference between 25 and 40ish.
I know Max Muncy (LAD) is old as dirt but he’s still very potent and I’m surprised to not see him at all. Great work and an enjoyable series!
Thank you. Projections just don’t like him that much, and while he’s been good in 2026 he hasn’t been world-beating. Add in his age and it’s a recipe for, as you pointed out, not showing up here at all.
Are there certain factors about Catchers it devalues?
Kind of surprise neither Francisco Alvarez or Endy Rodriguez make the Top 500 while 36 yo Salvador Perez and nothing-burger Alejandro Kirk do.
Francisco Alvarez has his share of fleas, but has outperformed Kirk and is a 24 yo, former 60 grade prospect. I struggle to see any upside to Kirk this season, much less as a dynasty keeper.
And I would imagine Endy Rodriguez is MIA due to frequent injury issues – but then again Will Smith has had his fair share recently and I can’t imagine someone locking in Sal Perez over Endy long term at this point.
I feel like I’m missing something.
I appreciate the close look here. You’ll note that I pretty aggressively discount catchers; 4x the usual rate. So in the discount factor calculation a hitter has 1.25 in the denominator (25% discount), a catcher will have a 2 (100%). This will prioritize catchers who are expected to do well in the short term more than those who might have longer term potential. As far as your other question, you can usually find the answer within how the various projections shook out.
Projections still like Sal Perez a good bit ROS. Kirk has been hurt so the model goes back to his pre-season projection, which was decent. Both of those factors result in the model preferring them to either of Rodriguez or Alvarez.
One thing I will note too is that Alvarez just missed the top 500 and the difference between him and Kirk (with Perez in between) was just $8 of combined discounted value. So we’re talking like the model preferring Kirk by ~$1 at most in any given year. Functionally speaking it thinks basically the same about these players. For Rodriguez while I agree he looks interesting, there’s nothing in his profile that a model would really pick up. He’s at his peak age (so it’s all downhill from here), and doesn’t have a long history of being good. I wouldn’t fault anyone for preferring him to the other three but I think the model produced a defensible result by omitting him.
Love this stuff.
Why include preseason projection at all (at 5%)? Shouldn’t ROS presumably incorporate that into its value already?
Thank you. Good question. Mechanically it is useful to have for the injury conditionals. But to your point, those don’t strictly require it to be in the blend as opposed to just being available for the model to access.
It all comes down to preferences for how to make the blend work functionally. I like to think of Pre-Season -> ROS -> YTD as a spectrum in terms of the type of information that is available about how we can expect a player to perform. Pre-season represents the cleanest distillation of our priors, ROS is a mix of our priors and latest (noisy) evidence, and YTD is simply the latest evidence. By inserting pre-season into the blend, I’m deliberately adding extra weight to our priors in a way that is a bit more straightforward than finding some optimized blend of YTD/ROS to hit the same result. It’s just easier to conceptualize the intuition of changing this weight than would be for making the denominator of the YTD down weight 1.7 or 2.43 or something.
Further, I like having an extra lever to pull in the model if I decide that I want to compare a result that is super conservative or super aggressive based on in-season results. If this is ever implemented systemically for the site this is something I think would be interesting for end users to tweak.
Just want to say thank you and bookmarked
LOL. am i an idiot or is Nootbar not on here? not saying that’s wrong or anything, just pretty funny as I have kept him around for like 2+ years now and still cant force myself to drop him
Cole Ragans too. I get the injury discount but can’t imagine him outside the top 500
Maybe my search function is failing me but I don’t see Cody Bellinger. I’d much rather have him than Quinn Mathews 🙂
Great catch! This is this quote in action:
I had already tweaked a little below 20% to make sure Kurtz flagged, but Bellinger was just below that threshold. He would come out to be around 175th.