Archive for Rockies

Michael Lorenzen and the Rockies Get What They Want From Each Other

Jay Biggerstaff-Imagn Images

Every free agent signing is a trade. For that matter, every job everywhere is a transaction. The employer agrees to give you money and maybe even health insurance. You agree to give them your work. You’re trading something they want in exchange for something you want (or at least something you need in order to not die). But we don’t tend to think about things this way. Everybody has to work, so everybody just gets the best job they can. For ballplayers who have reached free agency, that generally means maximizing earnings. That’s what Michael Lorenzen did on Wednesday, when ESPN’s Jeff Passan reported that the muscular right-hander agreed to a one-year, $8 million deal with the Rockies (with a $9 million club option for 2027). Still, this deal is notable for the starkness of the wants on either side and the concessions they made to get them. Lorenzen wants to be a starting pitcher. That’s all he’s ever wanted. The Rockies want a starting pitcher who is willing to ply his trade under two adverse circumstances: in Colorado and for the Rockies.

In 2015, toward the end of a rookie season in which he put up a 5.45 ERA and 5.48 FIP, the Reds relegated Lorenzen to the bullpen. During six subsequent seasons in Cincinnati, Lorenzen wasn’t shy about the fact that he wanted to go back to starting and often appeared in line to get that chance, but underperformance and injuries – a UCL sprain, a teres major strain, a shoulder strain, even a bout of mono – pushed him into relief roles (and the occasional appearance as an outfielder). He started just five more games in his final six seasons with the Reds. Although he ended on a down note, he ran a 3.65 ERA and 3.92 FIP over those six seasons. He’d earned the chance to pitch where he wanted on his own terms, and he did just that. Lorenzen signed with the Angels, then the Tigers, then the Rangers, then the Royals, and now with the Rockies, all on one-year deals (usually incentive-laden ones), and all with the publicly-acknowledged understanding that he would be given the chance to start.

Making that part clear up front was important because no matter how well he pitched, it was all too easy for people to put together a table that showed his splits as a starter and a reliever. You’d rather have the second guy, right? The one whose strikeout rate is within shouting distance of the league average and who possesses some ability to keep the ball in the yard?

The Splits Michael Lorenzen Can’t Escape
Role K% HR/9 ERA FIP wOBA
Starter 18.8 1.26 4.27 4.71 .325
Reliever 21.1 0.86 3.75 3.93 .295

But Lorenzen persisted. He’s 34 now, and he made the most of his seven-pitch starter’s arsenal. Over the past four years, he made 93 starts for six different teams. And he pitched fine! He ran a combined ERA- of 99 and FIP- of 110. He was an average pitcher, a desirable enough arm that playoff-bound teams traded for him at the deadline in two of the past three seasons. In 2023, he threw a no-hitter. In 2024, thanks to good fortune in the form of a low BABIP and high strand rate, he ran a 3.31 ERA. In 2025, he wasn’t so fortunate, running a 4.64 ERA that matched his 4.59 FIP. Over the past three years, he’s been right around the top 50 in terms of games started and innings pitched. Nevertheless, when things got real, when the season wound down, when Lorenzen found himself in the playoffs, he also found himself back in the bullpen. He won’t have to worry about that in Colorado.

Lorenzen has found the toughest pitching environment in baseball, but he’s also found a situation where league-average numbers would put him in rarefied air. In 2025, Colorado’s starting pitchers ran a 6.65 ERA. That’s the worst mark ever. And when I say ever, I mean ever. It’s the highest starting pitching ERA in AL/NL history. Fourth place belongs to the 1899 Spiders. (Although the 2025 bullpen didn’t set a record, Colorado does own the highest combined bullpen ERA of any franchise at 4.81.) RosterResource pegs Lorenzen as the Rockies’ no. 2 starter, behind lefty Kyle Freeland and ahead of Chase Dollander, Tanner Gordon, and Ryan Feltner. Freeland was the only one of the four incumbents with an ERA below 6.00 or a FIP below 5.00.

But this is a new era. Lorenzen will be the first major leaguer to sign with the Rockies in the Paul DePodesta era. He will also be the team’s first investment in starting pitching of any substance at all since 2015, when they signed Kyle Kendrick for $5.5 million. Somehow, Lorenzen is only the fifth starting pitcher to sign a deal with the Rockies in the past seven years. I went through Colorado’s RosterResource free agent tracker to check. The tracker goes back to 2020, and the four starters I found put up a combined -0.1 WAR with the Rockies. They won a combined 11 games. Chad Kuhl ran the best ERA. It was 5.72.

Rockies Starting Pitcher Free Agent Signings
Year Player Salary ERA FIP WAR
2021 Chi Chi González $1.1M 6.46 5.37 0.3
2022 Chad Kuhl $3M 5.72 5.27 0.4
2023 José Ureña $3.5M 9.82 10.95 -0.8
2024 Dakota Hudson $1.5M 6.17 5.53 0.0

It’s scary to think about how many homers Lorenzen could give up in the thin Denver air, but he’d have to crash spectacularly hard in order be anything less than a significant upgrade for this rotation. Everybody gets what they want here, and all it took to get it was a couple extra millions on one side and a willingness to pitch on a mountain on the other. The Rockies get to take their first step on the long road to reputability, and they get to sign their first decent starting pitcher in years. Lorenzen gets his money – almost certainly more money than he would have gotten anywhere else – and he gets what must have been his last chance to remain a starting pitcher. If he defies the odds and pitches well, maybe he can keep the streak going and sign a similar deal next year.


2026 ZiPS Projections: Colorado Rockies

For the 22nd consecutive season, the ZiPS projection system is unleashing a full set of prognostications. For more information on the ZiPS projections, please consult this year’s introduction, as well as MLB’s glossary entry. The team order is selected by lot, and the next team up is the Colorado Rockies.

Batters

In 2025, the Colorado Rockies had the worst year in team history, losing 119 games, seriously threatening to take away the all-time-loss record of the Chicago White Sox just a year after that singular non-achievement. Paradoxically, the Colorado Rockies also had one of the best years in team history, as it seems to have been enough for ownership to finally commit to fully modernizing the front office. In is Paul DePodesta to run baseball operations, accelerating a process that the team had started a few years ago under caretaker GM, Bill Schmidt. Well known for his role with the Moneyball-era A’s and his short stint with the Dodgers, DePodesta has spent the last decade as the chief strategy officer of the Cleveland Browns. Michael Baumann wrote about the hiring back in November; you should check that out if you want to read more about the unorthodoxy of tabbing DePodesta to lead a major league front office in 2026.

The Rockies’ woes are in large part due to the many mistakes made during the Jeff Bridich era. For most of the 2010s, they were run like a bad 1970s franchise, seemingly with little comprehension of what the team’s problems actually were, spending money with the precision of a mid-inning hot dog cannon, thinking being 35 years old was a skill, and treating minor leaguers that were not top prospects as if they were annoyances rather than players who could help the team. The result was that even when Colorado was good, its blind spots were tremendous. In 2018, the Rockies won 91 games, the most in team history. And they somehow got only -2.1 WAR from position players outside their top three (Charlie Blackmon, Trevor Story, and Nolan Arenado).

Things have been more “normal” the last few years in Colorado. The team actually makes trades at the deadline now, promotes non-elite talent from within, and no longer randomly throws large sacks of cash at players who were good five years before, only to be surprised when those veterans struggled. But the Rockies still haven’t developed that critical mass of prospects to build a team around.

I swear that ZiPS isn’t intentionally trolling with Ian Desmond as one of Ezequiel Tovar’s top three offensive comps. Desmond really was a valuable offensive player for a good four- to five-year period, and Tovar is the better defensive player. ZiPS also expects center fielder Brenton Doyle to have somewhat of a bounceback season. Catcher Hunter Goodman is a real hitter, and ZiPS is kind of taken with his tandem-mate, Braxton Fulford. Completing the group up the middle is Adael Amador. ZiPS is a great deal less excited about the second baseman, but at least we’re talking about a player who has yet to turn 23 and has cognizable upside.

The rest of the offense is rather bleak. ZiPS isn’t sure about Kyle Karros’s bat, but it does have him as the second-best minor league third baseman defensively over the last two seasons, behind only Ben Williamson. ZiPS sees little upside at the other corners, and I don’t think even the Rockies are holding out much hope for a Kris Bryant comeback.

Pitchers

I’m not sure it’s a good sign that ZiPS sees the Rockies’ second-most valuable pitcher being Konner Eaton, a 2024 sixth-rounder who is not really on anyone’s prospect radar and who has barely pitched in Double-A ball. Outside of possible upside from Chase Dollander, and a belief that Sean Sullivan could develop into a decent mid-rotation option, ZiPS doesn’t think there’s much coming in the near future. The team’s best pitching prospects are probably guys like Brody Brecht, JB Middleton, and Griffin Herring, all of whom were too low in the minors for ZiPS to give an “official” projection. Colorado’s best hope here is that Kyle Freeland can soak up 180 innings or so, and that some of the “throw against the wall and see what sticks” options work out.

The bullpen is a rather unexciting bunch, but ZiPS does project most of the Rockies relievers to be a bit above replacement level, which is something. Victor Vodnik is the closest thing they have to what constitutes a good reliever, but ZiPS thinks Juan Mejia, Brennan Bernardino, and Jaden Hill have at least some upside. Like the rotation, the Rockies are probably going to basically hold open auditions and see who in the organization works out. Without many late-inning leads to actually protect, that’s not a bad approach.

The Rockies will probably lose 100 games in 2026, but I’m more hopeful about the organization’s long-term future than I’ve been in a long time.

Ballpark graphic courtesy Eephus League. Depth charts constructed by way of those listed here. Size of player names is very roughly proportional to Depth Chart playing time. The final team projections may differ considerably from our Depth Chart playing time.

Batters – Standard
Player B Age PO PA AB R H 2B 3B HR RBI BB SO SB CS
Ezequiel Tovar R 24 SS 556 516 68 139 32 4 17 65 28 136 6 4
Brenton Doyle R 28 CF 524 484 64 121 22 3 17 63 32 139 18 3
Hunter Goodman R 26 C 537 495 68 130 30 3 26 83 33 138 1 1
Ryan Ritter R 25 SS 477 421 63 109 22 4 12 59 37 126 7 2
Drew Avans L 30 CF 505 453 75 122 22 6 7 44 46 118 23 5
Braxton Fulford R 27 C 332 294 42 73 16 2 9 43 25 88 4 2
Kyle Karros R 23 3B 492 440 61 114 26 2 6 50 43 113 5 1
Mickey Moniak L 28 RF 443 415 60 114 21 6 20 65 22 108 8 4
Chad Stevens R 27 SS 501 453 58 118 25 4 12 57 37 144 10 4
Vimael Machín L 32 3B 451 411 46 110 22 2 11 50 34 84 6 2
Blaine Crim R 29 1B 550 492 68 132 28 2 18 70 47 109 3 2
Sam Hilliard L 32 CF 423 376 55 90 19 6 13 47 42 131 10 2
Troy Johnston L 29 1B 492 447 58 120 25 5 12 64 33 95 15 3
Thairo Estrada R 30 2B 399 371 48 99 19 2 9 47 17 72 8 4
Roc Riggio L 24 2B 413 366 54 86 21 3 13 50 39 98 10 6
Cole Carrigg B 24 CF 519 470 70 115 18 7 12 59 33 138 25 7
Tyler Freeman R 27 RF 420 365 53 99 18 2 5 40 33 50 14 5
Adael Amador B 23 2B 498 439 51 110 18 2 10 53 50 81 15 8
Braylen Wimmer R 25 2B 546 497 66 134 25 2 11 63 29 136 19 3
Jordan Beck R 25 LF 563 514 63 131 26 4 16 60 45 157 16 5
Bryant Betancourt L 22 C 392 356 37 82 10 1 8 38 28 84 4 2
Cole Messina R 23 C 432 394 35 91 19 1 5 37 32 85 7 4
Owen Miller R 29 SS 433 395 49 105 23 1 7 45 26 78 9 2
Sterlin Thompson L 25 LF 498 447 59 117 24 4 12 62 36 115 8 3
Ronaiker Palma R 26 C 213 197 20 50 7 1 1 17 12 32 2 1
Keston Hiura R 29 1B 421 374 50 92 16 2 16 60 33 128 1 2
Nicky Lopez L 31 SS 360 321 39 82 11 4 1 25 30 49 6 4
Brett Sullivan L 32 C 346 315 38 76 16 5 5 35 24 56 4 1
Julio Carreras R 26 2B 374 337 41 81 18 3 3 33 24 101 12 3
Charlie Condon R 23 1B 424 379 43 93 15 3 10 50 32 124 2 2
Jose Cordova R 26 C 320 286 32 66 14 1 3 29 27 71 3 2
Sean Bouchard R 30 LF 347 299 40 68 14 3 8 38 41 108 7 2
Jose Torres R 26 SS 386 355 43 79 14 1 8 38 22 128 7 2
Orlando Arcia R 31 SS 420 385 37 91 18 0 10 39 29 83 1 1
Zac Veen L 24 RF 433 391 50 98 19 3 10 47 33 105 15 5
Jesus Ordonez R 26 C 147 134 12 27 7 0 2 13 7 33 1 2
Yanquiel Fernández L 23 RF 480 446 53 113 22 1 14 55 28 103 0 1
Kyle Farmer R 35 2B 325 297 31 71 14 1 7 34 19 68 1 2
Daniel Cope R 29 C 136 122 12 28 6 1 2 14 11 43 0 0
Kris Bryant R 34 DH 247 219 26 52 10 0 5 20 22 62 0 0
Michael Toglia B 27 1B 525 470 59 109 21 3 21 65 50 167 4 2
Andy Perez L 22 SS 554 523 59 129 25 4 7 53 17 110 12 4
Nic Kent R 26 3B 400 361 36 85 14 1 3 34 23 89 5 2
Tommy Hopfe B 23 LF 431 382 37 88 18 1 7 47 26 83 9 6
Ben McCabe R 26 C 183 162 11 27 10 0 0 18 8 74 1 1
Blake Wright R 24 3B 507 461 48 115 23 2 6 48 26 93 5 4
Trevor Boone R 28 CF 207 192 25 39 8 2 7 25 11 93 3 1
Zach Kokoska L 27 1B 341 306 42 63 15 1 11 41 24 114 8 3
Aidan Longwell L 24 1B 468 428 43 105 25 2 8 49 29 101 3 2
Tevin Tucker R 26 2B 298 259 29 46 10 0 2 22 29 96 15 1
GJ Hill B 25 RF 234 210 16 40 8 3 4 22 15 94 8 1
Dyan Jorge R 23 SS 474 435 52 100 14 1 1 33 30 106 12 7
Jean Perez R 24 2B 256 238 24 51 7 1 3 22 5 75 5 2
Nolan Clifford L 24 SS 231 205 17 40 5 1 0 15 19 65 2 3
Skyler Messinger R 27 3B 424 392 37 87 17 1 7 42 20 122 5 4
EJ Andrews Jr. R 25 RF 306 272 29 49 10 2 5 26 23 110 5 1
Jesus Bugarin R 24 RF 329 317 33 75 10 2 4 28 8 105 6 2
Juan Guerrero R 24 LF 471 438 50 111 19 2 3 40 23 79 9 5
Benny Montgomery R 23 RF 408 377 39 83 13 0 5 33 26 147 6 4
Caleb Hobson R 24 CF 350 298 42 48 9 3 1 21 37 164 16 4

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA 3YOPS+ RC
Ezequiel Tovar 556 .269 .309 .446 98 .177 .336 7 2.3 .324 102 74
Brenton Doyle 524 .250 .297 .413 87 .163 .317 16 2.2 .307 91 64
Hunter Goodman 537 .263 .315 .493 111 .230 .314 -6 1.9 .345 110 77
Ryan Ritter 477 .259 .333 .416 99 .157 .343 2 1.8 .328 101 61
Drew Avans 505 .269 .341 .391 95 .121 .351 4 1.7 .321 93 67
Braxton Fulford 332 .248 .323 .408 94 .160 .325 3 1.3 .320 93 40
Kyle Karros 492 .259 .331 .368 87 .109 .336 7 1.2 .309 90 55
Mickey Moniak 443 .275 .316 .499 113 .224 .328 1 1.2 .346 110 69
Chad Stevens 501 .260 .324 .413 95 .152 .357 -4 1.1 .321 96 64
Vimael Machín 451 .268 .324 .411 95 .144 .313 1 1.0 .318 92 57
Blaine Crim 550 .268 .336 .443 106 .175 .312 1 0.9 .337 105 75
Sam Hilliard 423 .239 .315 .426 96 .187 .332 0 0.9 .320 93 53
Troy Johnston 492 .268 .331 .427 101 .159 .318 3 0.9 .330 99 67
Thairo Estrada 399 .267 .311 .402 89 .135 .310 3 0.8 .310 86 50
Roc Riggio 413 .235 .318 .415 94 .180 .286 -1 0.7 .320 99 53
Cole Carrigg 519 .245 .304 .389 83 .144 .322 1 0.6 .302 89 64
Tyler Freeman 420 .271 .356 .373 95 .102 .303 0 0.5 .326 95 53
Adael Amador 498 .251 .333 .369 88 .118 .287 -4 0.4 .313 93 60
Braylen Wimmer 546 .270 .322 .394 90 .124 .351 -8 0.4 .313 90 68
Jordan Beck 563 .255 .316 .414 93 .159 .337 0 0.4 .318 96 73
Bryant Betancourt 392 .230 .288 .331 65 .101 .280 5 0.3 .274 71 36
Cole Messina 432 .231 .296 .322 65 .091 .283 5 0.3 .276 69 41
Owen Miller 433 .266 .316 .382 86 .116 .316 -5 0.3 .305 85 50
Sterlin Thompson 498 .262 .331 .414 98 .152 .328 -3 0.3 .326 100 64
Ronaiker Palma 213 .254 .299 .315 64 .061 .299 4 0.2 .273 66 19
Keston Hiura 421 .246 .325 .428 99 .182 .330 -1 0.2 .328 98 53
Nicky Lopez 360 .255 .325 .324 74 .069 .299 0 0.1 .291 74 37
Brett Sullivan 346 .241 .295 .371 77 .130 .280 -2 0.1 .290 75 36
Julio Carreras 374 .240 .297 .338 69 .098 .335 3 0.1 .281 71 37
Charlie Condon 424 .245 .321 .380 86 .135 .339 3 0.0 .310 91 47
Jose Cordova 320 .231 .305 .318 67 .087 .297 0 0.0 .280 69 29
Sean Bouchard 347 .227 .329 .375 88 .148 .328 -1 0.0 .313 89 39
Jose Torres 386 .223 .273 .335 62 .112 .324 3 -0.1 .268 66 35
Orlando Arcia 420 .236 .290 .361 73 .125 .277 -2 -0.1 .286 72 41
Zac Veen 433 .251 .313 .391 87 .140 .319 0 -0.1 .307 89 53
Jesus Ordonez 147 .201 .257 .299 48 .097 .253 3 -0.2 .245 50 11
Yanquiel Fernández 480 .253 .300 .401 85 .148 .301 2 -0.2 .304 88 54
Kyle Farmer 325 .239 .298 .364 76 .125 .288 -2 -0.3 .292 71 33
Daniel Cope 136 .230 .301 .344 72 .114 .338 -4 -0.3 .287 73 13
Kris Bryant 247 .237 .320 .352 79 .115 .309 0 -0.3 .300 72 25
Michael Toglia 525 .232 .307 .423 92 .191 .312 -2 -0.3 .315 97 63
Andy Perez 554 .247 .273 .350 65 .103 .300 1 -0.4 .271 70 54
Nic Kent 400 .235 .292 .305 60 .070 .305 5 -0.4 .267 61 34
Tommy Hopfe 431 .230 .302 .338 71 .108 .277 5 -0.5 .284 74 43
Ben McCabe 183 .167 .253 .228 30 .061 .307 2 -0.6 .225 32 10
Blake Wright 507 .249 .294 .347 71 .098 .301 0 -0.6 .281 74 50
Trevor Boone 207 .203 .252 .375 65 .172 .348 -4 -0.7 .271 66 19
Zach Kokoska 341 .206 .279 .369 71 .163 .287 2 -0.7 .284 72 34
Aidan Longwell 468 .245 .298 .369 77 .124 .304 2 -0.7 .291 80 49
Tevin Tucker 298 .178 .271 .239 38 .061 .273 0 -1.0 .238 42 20
GJ Hill 234 .190 .260 .314 53 .124 .321 -1 -1.0 .255 58 19
Dyan Jorge 474 .230 .283 .274 50 .044 .302 -1 -1.3 .251 54 39
Jean Perez 256 .214 .242 .290 41 .076 .300 -2 -1.3 .234 46 19
Nolan Clifford 231 .195 .275 .229 37 .034 .286 -4 -1.3 .235 40 15
Skyler Messinger 424 .222 .271 .324 58 .102 .304 -3 -1.4 .263 61 37
EJ Andrews Jr. 306 .180 .251 .287 43 .107 .280 1 -1.5 .240 48 21
Jesus Bugarin 329 .237 .259 .319 53 .082 .341 -1 -1.5 .253 56 28
Juan Guerrero 471 .253 .293 .326 65 .073 .303 0 -1.5 .272 70 46
Benny Montgomery 408 .220 .275 .294 52 .074 .347 -2 -2.0 .255 58 33
Caleb Hobson 350 .161 .264 .221 32 .060 .353 -6 -2.1 .229 39 22

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Ezequiel Tovar Charley Smith Kurt Bevacqua Ian Desmond
Brenton Doyle Corey Patterson Devon White Gerald Williams
Hunter Goodman Tom Murphy Carlton Fisk Cliff Johnson
Ryan Ritter Antonio Perez Garey Ingram Jason Donald
Drew Avans Kyle Wren Vince Coleman Sam Thompson
Braxton Fulford Darrell Miller Gerald Laird Dave Watkins
Kyle Karros Joe Delfino Dale Sveum Paul Flesner
Mickey Moniak Danny Santana Bill Schlesinger Glenallen Hill
Chad Stevens Tyler Greene Jeff Moronko Kurt Abbott
Vimael Machín Chris Snopek Gene Baker Joe Thurston
Blaine Crim J.T. Snow Steve Cox Travis Lee
Sam Hilliard B.J. Upton Michael Tucker Ted Beard
Troy Johnston Charlie Blackmon Bert Haas Kevin Reese
Thairo Estrada Carlos Garcia Bill Cissell Hernán Pérez
Roc Riggio Ernie Fazio James Mouton Gary Redus
Cole Carrigg Demond Smith Leroy Stanton Lee Heath
Tyler Freeman John Finn Eric Young Sr. Daniel Robertson
Adael Amador Lee Bales Lamarr Rogers Luis Alicea
Braylen Wimmer Josh Barfield Tony Taylor Chris Owings
Jordan Beck Michael A. Taylor Daniel Ortmeier Teoscar Hernández
Bryant Betancourt Miguel Montero Dick Harris Brett Kay
Cole Messina Mike Durant Brian Saltzgaber Rick Austin
Owen Miller Frank Duffy Lennie Merullo Brendan Ryan
Sterlin Thompson Bill Haslerig Val Majewski Curtis Brown
Ronaiker Palma Sal Agostinelli Jose Cotto Rodrigo Vigil
Keston Hiura Kevin Keyes Ron Allen Gary Gray
Nicky Lopez Bob Bailor Steve Lombardozzi Vladimir Frias
Brett Sullivan Tom Lampkin Neal Watlington Luke Sewell
Julio Carreras Bobby Dolan Orlando Ramirez Connor Kopach
Charlie Condon Paul Hodgson Albert Thompson Rich Murray
Jose Cordova Tom Magrann Jeff Tackett Max McDowell
Sean Bouchard Adolfo Phillips Ryan Langerhans Dusty Cooke
Jose Torres Jake Wald Taylor Snyder Nick McIntyre
Orlando Arcia Dale Berra Hector Torres Aurelio Rodriguez
Zac Veen Jordan Schafer Marc Rhea Albert Holland
Jesus Ordonez Matt Inouye Joe Kalczynski Carlton Tanabe
Yanquiel Fernández Tommy Peterman Brooks Kieschnick Tommy Raffo
Kyle Farmer Jack Merson Chris Speier Damon Phillips
Daniel Cope Paul Bako Doug Davis Craig Maddox
Kris Bryant Tony Cruz Webster Garrison Danny Murtaugh
Michael Toglia Mike Fuentes Marv Throneberry Chad Rupp
Andy Perez Rob Valido Adeiny Hechavarría Tomas De La Rosa
Nic Kent Cody Regis Matt McLaughlin Sam Ferretti
Tommy Hopfe Gary Gingrich Mike Howard Chad White
Ben McCabe Ryan Wiggins Matt Allen John Francis
Blake Wright Julio Gonzalez Wilberto Ortiz Ron Campbell
Trevor Boone Connor Lien Collin DeLome Charlton Jimerson
Zach Kokoska Pete Whisenant Kirk Taylor Fred Marolewski
Aidan Longwell Kris Harmes Kevin Bryant Daren Epley
Tevin Tucker Chick Fewster Jeff Parsons Alex Polston
GJ Hill Sandy Santos Jareck West Andre Piper-Jordan
Dyan Jorge Osvaldo Fernando Guillermo Reyes Jack López
Jean Perez Kevyn Feiner Marcos Almonte Francisco Lizarraga
Nolan Clifford Luis Cotto Niko Gallego Donny Burks
Skyler Messinger Frank Turco Walter Derucki Ulysees Wilson
EJ Andrews Jr. Bret Berglund Travis Becktel Ray Jackson
Jesus Bugarin Andrew Brauer Tony Pigott Terry McClure
Juan Guerrero James Tomlin Jose Cardona Manuel Melendez
Benny Montgomery Andre Newhouse Ardley Jansen Stephen Kesses
Caleb Hobson Greg Burns Nick Rogers Reggie Farmer

Batters – 80th/20th Percentiles
Player 80th BA 80th OBP 80th SLG 80th OPS+ 80th WAR 20th BA 20th OBP 20th SLG 20th OPS+ 20th WAR
Ezequiel Tovar .296 .335 .502 121 3.7 .244 .285 .398 81 1.1
Brenton Doyle .279 .326 .472 108 3.6 .220 .265 .358 66 0.9
Hunter Goodman .296 .344 .560 138 3.4 .233 .285 .429 90 0.4
Ryan Ritter .285 .359 .480 122 3.0 .228 .306 .370 81 0.9
Drew Avans .299 .367 .441 113 2.7 .237 .311 .340 72 0.3
Braxton Fulford .281 .356 .460 114 2.0 .218 .293 .349 71 0.4
Kyle Karros .287 .362 .414 105 2.4 .227 .302 .325 68 0.2
Mickey Moniak .300 .341 .561 134 2.3 .243 .286 .447 92 0.0
Chad Stevens .289 .351 .469 116 2.2 .230 .293 .363 76 -0.1
Vimael Machín .294 .353 .463 114 2.0 .239 .297 .362 75 0.0
Blaine Crim .295 .363 .491 125 2.1 .242 .309 .388 86 -0.4
Sam Hilliard .270 .344 .487 118 2.0 .209 .284 .362 72 -0.2
Troy Johnston .302 .368 .484 124 2.2 .236 .305 .377 81 -0.2
Thairo Estrada .299 .340 .457 110 1.8 .235 .281 .355 69 -0.1
Roc Riggio .261 .346 .469 115 1.7 .206 .293 .362 74 -0.2
Cole Carrigg .269 .328 .435 101 1.6 .216 .279 .335 65 -0.6
Tyler Freeman .301 .383 .418 112 1.4 .245 .328 .333 77 -0.4
Adael Amador .279 .364 .422 108 1.7 .222 .304 .325 69 -0.7
Braylen Wimmer .294 .347 .444 107 1.6 .240 .293 .351 72 -0.8
Jordan Beck .282 .345 .468 113 1.7 .224 .286 .365 74 -0.9
Bryant Betancourt .265 .318 .385 86 1.2 .196 .253 .281 45 -0.8
Cole Messina .265 .330 .370 86 1.3 .198 .261 .273 44 -0.8
Owen Miller .292 .343 .428 104 1.3 .237 .290 .335 68 -0.6
Sterlin Thompson .287 .357 .465 115 1.3 .237 .307 .363 81 -0.7
Ronaiker Palma .291 .337 .358 87 0.8 .214 .261 .272 44 -0.3
Keston Hiura .272 .352 .484 119 1.2 .216 .297 .370 78 -0.9
Nicky Lopez .290 .358 .371 94 1.0 .228 .296 .282 58 -0.6
Brett Sullivan .277 .330 .441 103 1.2 .207 .261 .317 55 -0.8
Julio Carreras .271 .326 .389 90 1.0 .210 .266 .289 49 -0.7
Charlie Condon .272 .346 .429 105 1.0 .219 .294 .328 67 -1.0
Jose Cordova .262 .338 .373 92 0.9 .194 .274 .276 48 -0.7
Sean Bouchard .255 .362 .435 109 0.8 .196 .296 .327 67 -0.9
Jose Torres .252 .297 .384 79 0.6 .191 .241 .279 39 -1.1
Orlando Arcia .268 .323 .414 92 0.8 .206 .262 .317 54 -1.1
Zac Veen .280 .342 .444 108 0.9 .224 .289 .349 73 -1.0
Jesus Ordonez .230 .287 .347 67 0.2 .173 .228 .256 30 -0.6
Yanquiel Fernández .282 .329 .456 106 1.0 .226 .273 .350 65 -1.3
Kyle Farmer .269 .328 .413 95 0.4 .212 .272 .311 57 -1.0
Daniel Cope .264 .339 .406 97 0.1 .197 .270 .296 50 -0.7
Kris Bryant .272 .352 .406 101 0.3 .206 .289 .298 58 -0.9
Michael Toglia .262 .337 .490 115 1.0 .203 .279 .369 74 -1.5
Andy Perez .279 .305 .403 85 1.0 .221 .246 .306 46 -1.6
Nic Kent .264 .320 .343 75 0.4 .207 .263 .268 42 -1.2
Tommy Hopfe .258 .328 .386 88 0.3 .199 .278 .294 54 -1.4
Ben McCabe .195 .281 .273 49 -0.2 .138 .222 .184 12 -1.0
Blake Wright .278 .322 .387 88 0.6 .221 .266 .302 53 -1.6
Trevor Boone .235 .282 .443 89 -0.1 .174 .222 .311 40 -1.3
Zach Kokoska .237 .307 .430 93 0.2 .178 .251 .316 51 -1.5
Aidan Longwell .279 .328 .414 95 0.2 .217 .272 .316 58 -1.9
Tevin Tucker .204 .300 .280 57 -0.3 .151 .246 .202 23 -1.6
GJ Hill .221 .288 .371 74 -0.4 .161 .230 .262 34 -1.6
Dyan Jorge .258 .315 .306 67 -0.3 .199 .258 .239 35 -2.1
Jean Perez .243 .269 .337 60 -0.7 .185 .214 .253 24 -1.8
Nolan Clifford .231 .308 .271 56 -0.8 .165 .243 .193 19 -1.8
Skyler Messinger .251 .297 .375 78 -0.4 .191 .237 .277 37 -2.4
EJ Andrews Jr. .211 .284 .338 63 -0.8 .151 .221 .238 24 -2.2
Jesus Bugarin .268 .290 .362 72 -0.7 .208 .230 .277 36 -2.2
Juan Guerrero .282 .323 .369 85 -0.4 .221 .264 .285 48 -2.5
Benny Montgomery .253 .304 .343 71 -1.1 .190 .244 .256 33 -2.9
Caleb Hobson .194 .301 .274 54 -1.1 .128 .234 .178 14 -2.8

Batters – Platoon Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Ezequiel Tovar .277 .323 .457 .265 .301 .440
Brenton Doyle .257 .309 .425 .246 .290 .407
Hunter Goodman .277 .333 .528 .256 .306 .476
Ryan Ritter .262 .341 .434 .258 .330 .408
Drew Avans .261 .331 .377 .273 .345 .397
Braxton Fulford .255 .330 .426 .245 .320 .400
Kyle Karros .260 .331 .386 .259 .331 .361
Mickey Moniak .255 .297 .445 .282 .323 .518
Chad Stevens .254 .325 .413 .263 .324 .413
Vimael Machín .254 .313 .369 .273 .328 .429
Blaine Crim .287 .358 .480 .259 .325 .424
Sam Hilliard .234 .297 .402 .242 .322 .435
Troy Johnston .262 .323 .423 .272 .335 .430
Thairo Estrada .269 .313 .412 .266 .310 .397
Roc Riggio .222 .307 .389 .239 .322 .424
Cole Carrigg .252 .301 .398 .242 .304 .386
Tyler Freeman .273 .358 .386 .270 .356 .365
Adael Amador .254 .331 .377 .249 .334 .365
Braylen Wimmer .277 .329 .409 .267 .319 .389
Jordan Beck .258 .322 .419 .253 .314 .412
Bryant Betancourt .215 .275 .269 .236 .293 .354
Cole Messina .231 .302 .333 .231 .294 .318
Owen Miller .266 .324 .367 .266 .313 .390
Sterlin Thompson .252 .320 .391 .265 .335 .422
Ronaiker Palma .277 .319 .323 .242 .289 .311
Keston Hiura .241 .326 .431 .248 .325 .426
Nicky Lopez .241 .302 .291 .260 .332 .335
Brett Sullivan .229 .278 .324 .248 .303 .395
Julio Carreras .239 .297 .342 .241 .297 .336
Charlie Condon .257 .331 .398 .241 .316 .372
Jose Cordova .230 .309 .310 .231 .303 .322
Sean Bouchard .239 .339 .394 .221 .323 .363
Jose Torres .224 .278 .345 .222 .271 .331
Orlando Arcia .239 .300 .376 .236 .287 .355
Zac Veen .242 .310 .367 .255 .315 .403
Jesus Ordonez .209 .261 .326 .198 .255 .286
Yanquiel Fernández .244 .285 .378 .257 .307 .412
Kyle Farmer .253 .312 .394 .232 .292 .348
Daniel Cope .238 .319 .357 .225 .292 .338
Kris Bryant .241 .333 .345 .236 .315 .354
Michael Toglia .236 .306 .424 .230 .307 .423
Andy Perez .229 .253 .329 .253 .280 .358
Nic Kent .234 .297 .299 .236 .290 .307
Tommy Hopfe .227 .295 .353 .232 .305 .331
Ben McCabe .180 .255 .260 .161 .252 .214
Blake Wright .264 .306 .372 .243 .288 .335
Trevor Boone .214 .267 .414 .197 .244 .352
Zach Kokoska .200 .278 .325 .208 .280 .385
Aidan Longwell .231 .288 .333 .250 .302 .381
Tevin Tucker .179 .278 .256 .177 .268 .232
GJ Hill .188 .253 .304 .191 .263 .319
Dyan Jorge .231 .288 .264 .229 .281 .277
Jean Perez .221 .250 .286 .211 .238 .292
Nolan Clifford .186 .273 .203 .199 .276 .240
Skyler Messinger .229 .280 .330 .219 .268 .322
EJ Andrews Jr. .182 .258 .318 .179 .248 .272
Jesus Bugarin .240 .263 .323 .235 .258 .317
Juan Guerrero .259 .302 .345 .251 .288 .318
Benny Montgomery .230 .288 .320 .216 .269 .282
Caleb Hobson .174 .283 .233 .156 .256 .217

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Kyle Freeland L 33 7 10 4.87 26 26 135.0 154 73 20 35 100
Konner Eaton L 23 5 9 4.98 26 25 124.7 131 69 17 46 98
Gabriel Hughes R 24 4 7 5.01 22 22 93.3 103 52 13 34 63
Chase Dollander R 24 5 9 5.08 23 23 108.0 107 61 16 48 95
Jack O’Loughlin L 26 3 4 4.71 25 13 70.7 77 37 9 30 53
Roansy Contreras R 26 3 6 4.99 31 13 92.0 98 51 14 33 65
Jeff Criswell R 27 3 4 4.66 29 9 77.3 81 40 12 33 70
Ben Shields L 27 2 4 4.00 16 13 61.7 64 33 9 22 56
Tanner Gordon R 28 6 10 5.32 23 23 111.7 130 66 21 26 80
Ryan Feltner R 29 4 6 5.17 20 20 95.7 100 55 13 43 78
McCade Brown R 25 3 6 5.21 23 23 84.7 86 49 14 36 80
Germán Márquez R 31 6 10 5.31 23 23 117.0 132 69 18 42 82
Sean Sullivan L 23 5 9 5.33 19 19 96.3 104 57 17 28 70
Blake Adams R 25 4 7 5.21 24 16 86.3 99 50 15 25 59
Victor Vodnik R 26 3 4 4.11 54 0 57.0 54 26 6 28 54
Carson Palmquist L 25 4 8 5.26 29 17 99.3 101 58 16 50 93
Adam Laskey L 28 4 5 4.99 27 13 70.3 81 39 10 27 47
Xzavion Curry R 27 4 6 5.17 26 13 78.3 86 45 13 31 52
Connor Van Scoyoc R 26 5 8 5.14 31 9 89.3 105 51 12 33 47
Brennan Bernardino L 34 3 3 4.40 51 3 47.0 45 23 5 23 43
Eiberson Castellano R 25 3 5 5.09 20 9 58.3 62 33 8 25 49
Victor Juarez R 23 4 6 5.06 31 7 80.0 89 45 12 25 53
Welinton Herrera L 22 5 6 4.35 52 0 62.0 59 30 8 25 63
Kyle Brnovich R 28 3 5 5.25 19 15 70.3 75 41 10 35 57
Jaden Hill R 26 3 4 4.44 42 3 48.7 46 24 6 18 50
Jack Mahoney R 24 4 8 5.49 22 21 96.7 114 59 14 38 56
TJ Shook R 28 4 6 5.07 28 7 65.7 70 37 9 26 52
Jimmy Herget R 32 2 2 4.36 49 0 66.0 65 32 9 21 62
Karl Kauffmann R 28 3 7 5.38 31 13 95.3 112 57 14 43 56
RJ Petit R 26 4 7 4.63 44 2 56.3 57 29 7 21 49
Bradley Blalock R 25 4 8 5.58 25 23 108.0 125 67 18 45 68
Antonio Senzatela R 31 5 9 5.54 23 19 104.0 131 64 16 37 60
Andrew Quezada R 29 3 6 5.53 22 16 81.3 100 50 12 32 41
Michael Prosecky L 25 5 10 5.65 22 22 100.3 109 63 17 48 76
Juan Mejia R 25 2 4 4.48 57 0 64.3 58 32 8 30 69
Seth Halvorsen R 26 2 3 4.50 44 0 44.0 43 22 6 20 42
Mason Green L 27 4 6 5.42 30 11 74.7 83 45 11 40 55
Brayan Castillo R 25 2 3 5.13 34 5 54.3 56 31 7 31 46
Garrett Acton R 28 3 3 4.88 42 3 51.7 52 28 8 24 48
John Brebbia R 36 2 2 4.99 39 2 39.7 43 22 7 15 38
Angel Chivilli R 23 3 4 4.75 51 0 66.3 68 35 10 24 61
Parker Mushinski L 30 3 5 4.73 45 0 45.7 45 24 5 24 43
Mason Albright L 23 4 9 5.91 24 23 106.7 126 70 20 38 60
Diego Castillo R 32 2 2 5.00 27 0 27.0 27 15 2 17 23
Zach Agnos R 25 2 3 4.95 41 0 43.7 44 24 7 17 35
Collin Baumgartner R 27 3 5 4.99 45 0 52.3 53 29 8 24 48
Carson Skipper L 26 3 4 4.99 42 0 57.7 62 32 9 20 46
Evan Justice L 27 2 3 5.52 31 1 31.0 32 19 4 21 27
Sam Weatherly L 27 1 1 5.40 34 1 43.3 45 26 7 24 40
Evan Shawver L 26 1 2 5.55 31 3 48.7 54 30 7 25 35
Davison Palermo R 26 2 5 5.27 42 0 56.3 61 33 8 26 42
Luis Peralta L 25 2 5 5.57 44 2 53.3 53 33 8 34 53
Lucas Gilbreath L 30 0 1 5.40 36 0 36.7 40 22 5 21 29
Alec Barger R 28 1 3 5.35 32 0 35.3 38 21 5 18 27
Carlos Torres R 25 2 2 5.36 31 0 43.7 51 26 7 16 28
Bryce McGowan R 26 1 2 5.44 43 0 46.3 51 28 7 27 35
Austin Smith R 27 2 5 5.70 37 0 36.3 40 23 6 19 28
Connor Staine R 25 3 7 6.40 21 20 84.3 99 60 17 40 51

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ 3ERA+ FIP ERA- WAR
Kyle Freeland 135.0 6.7 2.3 1.3 6.0% 17.1% .312 95 92 4.50 105 1.3
Konner Eaton 124.7 7.1 3.3 1.2 8.4% 18.0% .299 93 98 4.78 108 1.1
Gabriel Hughes 93.3 6.1 3.3 1.3 8.2% 15.3% .300 92 98 4.81 109 0.8
Chase Dollander 108.0 7.9 4.0 1.3 10.1% 20.0% .292 91 96 4.91 110 0.8
Jack O’Loughlin 70.7 6.8 3.8 1.1 9.4% 16.7% .306 98 102 4.76 102 0.7
Roansy Contreras 92.0 6.4 3.2 1.4 8.1% 16.0% .292 93 97 4.90 108 0.7
Jeff Criswell 77.3 8.2 3.8 1.4 9.6% 20.3% .307 99 101 4.73 101 0.7
Ben Shields 61.7 8.2 3.2 1.3 8.1% 20.7% .306 96 100 4.61 104 0.7
Tanner Gordon 111.7 6.4 2.1 1.7 5.4% 16.5% .307 87 89 4.93 115 0.6
Ryan Feltner 95.7 7.3 4.0 1.2 10.1% 18.3% .301 89 89 4.77 112 0.6
McCade Brown 84.7 8.5 3.8 1.5 9.5% 21.2% .300 89 94 4.95 113 0.6
Germán Márquez 117.0 6.3 3.2 1.4 8.1% 15.7% .305 87 85 4.94 115 0.6
Sean Sullivan 96.3 6.5 2.6 1.6 6.7% 16.8% .291 87 93 5.03 115 0.5
Blake Adams 86.3 6.2 2.6 1.6 6.6% 15.6% .303 89 94 4.99 113 0.5
Victor Vodnik 57.0 8.5 4.4 0.9 11.0% 21.3% .298 113 117 4.16 88 0.5
Carson Palmquist 99.3 8.4 4.5 1.5 11.2% 20.9% .300 88 93 5.17 114 0.5
Adam Laskey 70.3 6.0 3.5 1.3 8.5% 14.8% .310 93 93 5.00 108 0.5
Xzavion Curry 78.3 6.0 3.6 1.5 8.9% 14.9% .292 89 92 5.26 112 0.5
Connor Van Scoyoc 89.3 4.7 3.3 1.2 8.1% 11.6% .304 90 93 5.17 111 0.5
Brennan Bernardino 47.0 8.2 4.4 1.0 11.0% 20.6% .296 105 101 4.50 95 0.4
Eiberson Castellano 58.3 7.6 3.9 1.2 9.5% 18.6% .307 91 95 4.96 110 0.4
Victor Juarez 80.0 6.0 2.8 1.4 7.1% 15.1% .298 91 97 4.91 110 0.4
Welinton Herrera 62.0 9.1 3.6 1.2 9.3% 23.4% .300 106 114 4.26 94 0.4
Kyle Brnovich 70.3 7.3 4.5 1.3 11.0% 17.9% .304 88 90 5.14 114 0.4
Jaden Hill 48.7 9.2 3.3 1.1 8.6% 23.8% .301 104 108 4.25 96 0.4
Jack Mahoney 96.7 5.2 3.5 1.3 8.6% 12.7% .307 84 89 5.25 119 0.4
TJ Shook 65.7 7.1 3.6 1.2 8.9% 17.8% .303 91 94 4.82 110 0.4
Jimmy Herget 66.0 8.5 2.9 1.2 7.5% 22.1% .299 106 102 4.24 94 0.4
Karl Kauffmann 95.3 5.3 4.1 1.3 9.8% 12.8% .306 86 87 5.38 116 0.3
RJ Petit 56.3 7.8 3.4 1.1 8.6% 20.0% .301 100 102 4.42 100 0.3
Bradley Blalock 108.0 5.7 3.8 1.5 9.2% 13.9% .302 83 88 5.40 120 0.3
Antonio Senzatela 104.0 5.2 3.2 1.4 7.8% 12.6% .321 83 82 5.22 120 0.3
Andrew Quezada 81.3 4.5 3.5 1.3 8.6% 11.0% .310 84 84 5.40 119 0.3
Michael Prosecky 100.3 6.8 4.3 1.5 10.6% 16.7% .298 82 86 5.56 122 0.3
Juan Mejia 64.3 9.7 4.2 1.1 10.6% 24.3% .294 103 109 4.41 97 0.3
Seth Halvorsen 44.0 8.6 4.1 1.2 10.3% 21.5% .298 103 107 4.53 97 0.2
Mason Green 74.7 6.6 4.8 1.3 11.6% 15.9% .306 85 88 5.37 118 0.2
Brayan Castillo 54.3 7.6 5.1 1.2 12.4% 18.3% .302 90 95 5.02 111 0.2
Garrett Acton 51.7 8.4 4.2 1.4 10.5% 21.0% .299 95 96 4.77 106 0.2
John Brebbia 39.7 8.6 3.4 1.6 8.6% 21.7% .316 93 86 4.83 108 0.1
Angel Chivilli 66.3 8.3 3.3 1.4 8.3% 21.1% .304 97 103 4.55 103 0.1
Parker Mushinski 45.7 8.5 4.7 1.0 11.7% 21.0% .305 98 96 4.54 102 0.1
Mason Albright 106.7 5.1 3.2 1.7 7.9% 12.6% .297 78 84 5.63 128 0.0
Diego Castillo 27.0 7.7 5.7 0.7 13.5% 18.3% .309 92 91 4.53 108 0.0
Zach Agnos 43.7 7.2 3.5 1.4 8.9% 18.2% .285 93 99 4.88 108 0.0
Collin Baumgartner 52.3 8.3 4.1 1.4 10.3% 20.6% .300 93 95 4.81 108 -0.1
Carson Skipper 57.7 7.2 3.1 1.4 7.8% 18.0% .301 93 97 4.74 108 -0.1
Evan Justice 31.0 7.8 6.1 1.2 14.1% 18.1% .304 84 88 5.52 119 -0.1
Sam Weatherly 43.3 8.3 5.0 1.5 12.1% 20.1% .304 86 89 5.42 117 -0.1
Evan Shawver 48.7 6.5 4.6 1.3 11.1% 15.6% .305 83 87 5.32 120 -0.1
Davison Palermo 56.3 6.7 4.2 1.3 10.1% 16.3% .301 88 92 5.12 114 -0.2
Luis Peralta 53.3 8.9 5.7 1.4 13.7% 21.4% .304 83 88 5.32 120 -0.2
Lucas Gilbreath 36.7 7.1 5.1 1.2 12.3% 17.0% .310 86 85 5.32 116 -0.2
Alec Barger 35.3 6.9 4.6 1.3 11.1% 16.7% .303 86 88 5.26 116 -0.2
Carlos Torres 43.7 5.8 3.3 1.4 8.1% 14.2% .308 86 91 5.27 116 -0.2
Bryce McGowan 46.3 6.8 5.2 1.4 12.4% 16.1% .306 85 89 5.56 118 -0.2
Austin Smith 36.3 6.9 4.7 1.5 11.3% 16.7% .304 81 84 5.59 123 -0.3
Connor Staine 84.3 5.4 4.3 1.8 10.3% 13.2% .296 72 77 6.21 139 -0.4

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Kyle Freeland Bob Kerrigan Claude Osteen Charlie Leibrandt
Konner Eaton Eric Milton Steven Brault Yohander Mendez
Gabriel Hughes Brian Conroy Rusty Richards Brett Backlund
Chase Dollander Mike Shawaryn Mike Foltynewicz John Purdin
Jack O’Loughlin Mike Yearout Ben Snyder Russ Rothermel
Roansy Contreras Herman Fink Omar Olivares Joe Presko
Jeff Criswell Jeff Jones Tom Kramer Chris Nicoll
Ben Shields Ben Fox Woodie Fryman Mike Magnante
Tanner Gordon LaTroy Hawkins Matt Koch Nick Kingham
Ryan Feltner Steve Arlin Jeff Hoffman Edwin Carl
McCade Brown Phil Ortega Chris Knapp Jonathan Hurst
Germán Márquez Roberto Hernandez Matt Garza Andrew Cashner
Sean Sullivan Pedro Borbon Corey Littrell Tom Urbani
Blake Adams Vern Law Justin Pope Benton Moss
Victor Vodnik Fred Breining Miguel Castro Ronald Belisario
Carson Palmquist Stephen Gonsalves Bill Boemler Brad Hand
Adam Laskey James Hurst Fred Baczewski Pete Olsen
Xzavion Curry Buck Ross Jerry Walker Willie Fraser
Connor Van Scoyoc Jeremy Kehrt Clifford Adams Jim Magrane
Brennan Bernardino Scott Eyre Ron Perranoski Jeremy Affeldt
Eiberson Castellano Blake Wood Troy Konemann Rich Anderson
Victor Juarez Chih-Wei Hu Hut Smith Ryan Keefer
Welinton Herrera Steve Frey Raymond Gallo Jimmy Hamilton
Kyle Brnovich Robert Gilliam Rich Yett Alberto Rolon
Jaden Hill George Frazier Jack Billingham Mark Montgomery
Jack Mahoney Jon Henry Dylan Owen Brad Salmon
TJ Shook Shawn Hillegas Anthony Bass Albert Suarez
Jimmy Herget Donne Wall Dick Tidrow Joe Black
Karl Kauffmann Tyler Wagner Scott Robinson Braden Shipley
RJ Petit Alan Busenitz Gary Haught Jeff Bennett
Bradley Blalock Parker Bridwell David Hess Jackson Stephens
Antonio Senzatela Matt Harvey Mike Pelfrey Drew Gagnon
Andrew Quezada Matt Long Jordan Cooper Gary Goldsmith
Michael Prosecky Luis Lugo Ben Braymer Amir Garrett
Juan Mejia Ed Bernard Bill Caudill John Wetteland
Seth Halvorsen Dale Kisten Scott Oberg Kirk Bullinger
Mason Green Matt Whitehouse Mike Jones Chris Welsh
Brayan Castillo Brian Omogrosso Jeff Kennard John Hudek
Garrett Acton Hal Kolstad Jonah Bayliss Keith Atherton
John Brebbia Jim Miller Matt Whiteside Homer Gibson
Angel Chivilli Mac Rogers Paolo Espino Andy Kimball
Parker Mushinski Mike Mohler Dennis Miscik Erik Plantenberg
Mason Albright Mike Brandt Nick Kennedy Sean Brady
Diego Castillo Dwight Bernard Luis Peraza Hugo Castellanos
Zach Agnos Cloyd Boyer Matt Stites Dave Beard
Collin Baumgartner Hal Kolstad Pat Mahomes Dan Naulty
Carson Skipper Shane McCain Joe Rogers Jordan Jess
Evan Justice Bill Moloney Sean Fesh Sean Runyan
Sam Weatherly Bobby Seay Bob Cluck Lou Marone
Evan Shawver Chris Siegfried Sean Whiteside Neil Schenk
Davison Palermo Jarrett Grube Fernando Zarranz Dave Stevens
Luis Peralta Phil Corddry Alan Webb Richard Licklider
Lucas Gilbreath Pat Wernig Mickey McDermott Julio Jimenez
Alec Barger Paul Thorp Hunter Davis Rich Simon
Carlos Torres Gilberto Mendez Jeff Howatt Scott Vander Weg
Bryce McGowan Kris Keller James Thornton Matt Avery
Austin Smith Carlos Gonzalez Dick Balderson Juan Ramos
Connor Staine Ozzie Osborn Ryan O’Shea David Lowery

Pitchers – Splits and Percentiles
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R 80th WAR 20th WAR 80th ERA 20th ERA
Kyle Freeland .274 .316 .435 .280 .328 .463 2.1 0.5 4.27 5.53
Konner Eaton .247 .320 .368 .272 .349 .466 1.7 0.5 4.52 5.55
Gabriel Hughes .287 .346 .462 .263 .329 .429 1.3 0.2 4.54 5.61
Chase Dollander .277 .367 .451 .231 .314 .409 1.4 0.0 4.63 5.77
Jack O’Loughlin .263 .345 .395 .273 .346 .450 1.1 0.3 4.18 5.38
Roansy Contreras .287 .355 .482 .254 .312 .423 1.1 0.2 4.48 5.62
Jeff Criswell .257 .340 .429 .268 .333 .464 1.2 0.1 4.08 5.41
Ben Shields .260 .333 .429 .260 .333 .432 1.1 0.2 4.21 5.66
Tanner Gordon .266 .312 .467 .298 .331 .514 1.3 0.1 4.76 5.87
Ryan Feltner .266 .354 .428 .261 .332 .435 1.2 0.0 4.63 5.88
McCade Brown .264 .355 .472 .251 .325 .429 1.2 0.0 4.50 5.90
Germán Márquez .289 .358 .479 .265 .318 .444 1.2 -0.1 4.86 5.96
Sean Sullivan .288 .341 .492 .262 .318 .461 1.1 0.0 4.69 5.97
Blake Adams .286 .351 .455 .278 .313 .500 1.0 0.0 4.65 5.89
Victor Vodnik .245 .350 .382 .242 .308 .383 1.0 -0.1 3.52 5.04
Carson Palmquist .236 .339 .358 .267 .359 .477 1.2 -0.2 4.56 6.01
Adam Laskey .289 .358 .412 .276 .343 .479 0.9 0.0 4.51 5.66
Xzavion Curry .299 .366 .517 .255 .321 .430 0.9 0.0 4.66 5.78
Connor Van Scoyoc .292 .365 .472 .282 .342 .442 0.9 0.1 4.68 5.62
Brennan Bernardino .224 .307 .358 .265 .373 .416 0.8 -0.1 3.56 5.57
Eiberson Castellano .305 .383 .514 .231 .327 .362 0.8 0.0 4.43 5.67
Victor Juarez .272 .329 .456 .277 .337 .452 0.8 -0.1 4.50 5.76
Welinton Herrera .226 .305 .369 .252 .333 .415 0.9 -0.2 3.65 5.39
Kyle Brnovich .239 .335 .425 .293 .379 .463 0.9 -0.1 4.62 5.94
Jaden Hill .262 .354 .429 .229 .311 .371 0.8 0.0 3.71 5.43
Jack Mahoney .294 .367 .495 .274 .338 .431 0.8 -0.1 5.09 6.00
TJ Shook .271 .345 .442 .261 .342 .440 0.8 -0.1 4.47 5.81
Jimmy Herget .255 .336 .464 .252 .306 .381 0.9 -0.1 3.59 5.33
Karl Kauffmann .301 .390 .514 .274 .335 .420 0.8 -0.3 4.94 6.04
RJ Petit .248 .325 .394 .263 .336 .430 0.7 -0.1 3.98 5.37
Bradley Blalock .293 .358 .493 .273 .343 .463 0.8 -0.2 5.15 6.14
Antonio Senzatela .292 .357 .466 .302 .354 .500 0.8 -0.2 5.09 6.15
Andrew Quezada .310 .379 .513 .282 .343 .442 0.7 -0.1 5.11 6.10
Michael Prosecky .272 .348 .432 .272 .366 .482 0.9 -0.3 5.09 6.30
Juan Mejia .241 .344 .366 .230 .327 .407 0.8 -0.3 3.69 5.43
Seth Halvorsen .262 .361 .440 .241 .309 .402 0.5 -0.2 4.01 5.13
Mason Green .283 .368 .478 .270 .362 .441 0.7 -0.3 4.86 6.25
Brayan Castillo .283 .402 .511 .244 .324 .358 0.5 -0.2 4.62 5.84
Garrett Acton .278 .365 .467 .239 .310 .416 0.5 -0.3 4.20 5.79
John Brebbia .261 .346 .522 .278 .333 .433 0.4 -0.3 3.99 6.42
Angel Chivilli .252 .323 .454 .260 .327 .411 0.5 -0.3 4.05 5.45
Parker Mushinski .237 .338 .322 .258 .357 .433 0.5 -0.4 3.96 5.73
Mason Albright .291 .350 .504 .286 .344 .495 0.6 -0.6 5.35 6.53
Diego Castillo .250 .389 .364 .250 .338 .391 0.2 -0.2 4.20 6.18
Zach Agnos .270 .341 .473 .253 .321 .432 0.3 -0.3 4.33 5.63
Collin Baumgartner .276 .368 .480 .241 .308 .398 0.3 -0.5 4.37 5.87
Carson Skipper .247 .306 .377 .277 .339 .484 0.4 -0.5 4.27 5.77
Evan Justice .225 .367 .350 .271 .382 .459 0.1 -0.3 4.96 6.39
Sam Weatherly .246 .348 .386 .270 .375 .478 0.2 -0.4 4.74 6.29
Evan Shawver .250 .333 .324 .285 .373 .508 0.3 -0.4 4.86 6.30
Davison Palermo .257 .347 .419 .281 .358 .463 0.1 -0.5 4.80 6.00
Luis Peralta .261 .366 .406 .246 .365 .437 0.2 -0.7 4.82 6.59
Lucas Gilbreath .255 .367 .373 .278 .372 .474 0.1 -0.5 4.68 6.44
Alec Barger .277 .373 .477 .260 .348 .416 0.1 -0.4 4.70 6.19
Carlos Torres .293 .366 .524 .273 .330 .424 0.1 -0.5 4.71 6.06
Bryce McGowan .282 .386 .482 .262 .353 .427 0.0 -0.6 4.94 6.17
Austin Smith .304 .400 .522 .247 .337 .416 -0.1 -0.6 5.12 6.78
Connor Staine .284 .378 .503 .289 .360 .511 0.0 -0.8 5.93 6.98

Players are listed with their most recent teams wherever possible. This includes players who are unsigned or have retired, players who will miss 2026 due to injury, and players who were released in 2025. So yes, if you see Joe Schmoe, who quit baseball back in August to form a Ambient Math-Rock Trip-Hop Yacht Metal band that only performs in abandoned malls, he’s still listed here intentionally. ZiPS is assuming a league with an ERA of 4.16.

Hitters are ranked by zWAR, which is to say, WAR values as calculated by me, Dan Szymborski, whose surname is spelled with a z. WAR values might differ slightly from those that appear in the full release of ZiPS. Finally, I will advise anyone against — and might karate chop anyone guilty of — merely adding up WAR totals on a depth chart to produce projected team WAR. It is important to remember that ZiPS is agnostic about playing time, and has no information about, for example, how quickly a team will call up a prospect or what veteran has fallen into disfavor.

As always, incorrect projections are either caused by misinformation, a non-pragmatic reality, or by the skillful sabotage of our friend and former editor. You can, however, still get mad at me on Twitter or on Bluesky. This last is, however, not an actual requirement.


Sunday Notes: Colorado Reliever Juan Mejia Has a Brayan Bello Connection

When our 2025 Colorado Rockies Top Prospect list was published last January, a 24-year-old pitcher coming off of an underwhelming season ranked 14th with a 45+ FV. Over 54 innings with the Double-A Hartford Yard Goats, Juan Mejia had logged a 5.00 ERA and an equally-unhealthy 12.3% walk rate. Eric Longenhagen nonetheless remained enamored of his potential. Offering a “relatively bullish projection,” our lead prospect analyst wrote that the righty “is too freaky to slide,” because he possessed “one of the more explosive and athletic deliveries in the minors” as well as a mid-to-high-90s fastball and an “overtly nasty” slider.

Longenhagen’s faith was realized in the youngster’s rookie season. Not only did Mejia make 55 appearances, he put up a 3.96 ERA, a 3.71 FIP, and a 26.1% strikeout rate over 61-and-a-third innings. Among Rockies relievers, only Jimmy Herget took the mound more frequently and tossed more frames.

When I spoke to Mejia at Fenway Park this past summer — Colorado PR staffer Edwin Perez served as an interpreter — I learned that he has a connection with Red Sox right-hander Brayan Bello. Both were signed out of the Dominican Republic in 2017, and they were together, along with other starry-eyed hopefuls, when Mejia first caught the eye of a Rockies scout.

“When I was 16, I was doing a tryout,” recalled Mejia, who hails from Baní, roughly an hour south of Santo Domingo. “I don’t remember how many teams were there, but there were a lot of them. That’s where I met Brayan Bello, who a lot of scouts were there to see. Read the rest of this entry »


2025 National League 40-Man Roster Crunch Analysis

Edwin Arroyo Photo: Angelina Alcantar/News Sentinel/USA TODAY NETWORK via Imagn Images

We’re less than a month from the Winter Meetings and the Rule 5 Draft, which means it’s a good time to evaluate every team’s 40-man roster situation. This is the time of year when teams have one final chance to protect Rule 5 eligible players by placing them on the 40-man. Eligibility is determined by a mix of how long a player has been with their parent organization and how young they were when they signed: Players who signed at 18 or younger must be added to the 40-man within five seasons, while everyone else must be added within four. RosterResource monitors Rule 5 eligibility, if you’re curious to see the lay of the land.

During the season, teams can free up roster space by placing an injured player on the 60-day IL. In the offseason, teams don’t get extra slots for injured players, which tends to put pressure on the back of the roster. The Diamondbacks are a good example of how space can tighten quickly, as they’ve currently got six pitchers battling long-term injuries occupying a spot. You may have noticed a flurry of moves immediately following the World Series, with many teams outrighting players off the 40-man in order to make room for all the guys who were on the IL.

Below, I’ve assessed every National League team’s 40-man roster situation (Eric will sort through the American League tomorrow). Some teams, like the Braves, have plenty of roster space, and thus a lot of flexibility in adding whoever they like. Others, like the Cardinals and Marlins, will face some tough choices as they seek to balance protecting interesting prospects with retaining players already on the roster, as well as finding room for prospective additions via trade or free agency. Some clubs don’t have many impact players to add, while others may need to protect a half-dozen or so guys. I’ve tried to identify which players are most likely to be added, which guys on the 40-man are vulnerable to getting lopped off in a roster crunch, and who could be moved in a deal to free up roster space. Let’s dig in. Read the rest of this entry »


Dispatches From the GM Meetings: Matt Arnold, Paul DePodesta, Chaim Bloom

Rhona Wise-Imagn Images

The General Managers Meetings are currently taking place in Las Vegas, and as always, FanGraphs is on hand to report on what the executives have to say. We’ll hear from a number of them this week, beginning with a trio of National League execs, Matt Arnold of the Brewers, Paul DePodesta of the Rockies, and Chaim Bloom of the Cardinals.

———

MATT ARNOLD — MILWAUKEE BREWERS

Brewers hitters had both a low strikeout rate and a relatively high walk rate this season; they ranked top five in both metrics. How was that achieved, and to what extent was it a focus?

“I think it was achieved by Murph letting people know, ‘You better put the ball in play and you better not chase,’” Arnold replied, crediting National League Manager of the Year Pat Murphy. “He’s relentless about that. Those are good things that we were able to execute this year, and it’s easier said than done. It starts with the players buying in and Murph enforcing that in the dugout, making sure our guys have that as a focus: the ball-strike, the ball in play. Having those types of skills in your pocket can lead to better at-bats and better outcomes.”

Needless to say, it’s not all Murphy. Milwaukee’s hitting coaches play a role as well.

“It’s a combination of all of them,” Arnold agreed. “Our coaches do a really good job of that. They want our guys to focus on getting a good pitch to hit, and again, while it’s easier said than done, we’ve done a good job of that. We try to focus on it as much as we can in our [minor league system] Marrying your scouting and player development is also super important. We try to communicate it with both of them.”

Jackson Chourio had a perfectly acceptable 20.5% strikeout rate, but also a 5.1% walk rate that ranked lowest on the team. How does he take the next steps to better fit that mold?

“He’s so young, and so athletic, and so talented,” Arnold said of the team’s 21-year-old phenom. “He’s got every ingredient to do it. He’s already doing it at a pretty high level. Whatever he does beyond this is even more special. The sky is the limit for this kid.”

———

PAUL DEPODESTA — COLORADO ROCKIES

Colorado’s new top executive is inheriting a team whose hitters had both a high strikeout rate (second-worst in the majors) and a low slugging percentage (tied for sixth worst). If he had to pick one or the other, which is more in need of improvement?

“I would say it’s not the combo we want,” said DePodesta, stating the obvious. “And it won’t ultimately be one or the other. I said earlier what we want our identity to be, in Colorado especially, but… put it this way: If that’s a dial from one to the other, it’s not necessarily going to be one or the other. We need to find the right combination for us.”

Following up, I asked the well-traveled exec if he has an idea of which direction that combination might trend.

“I do, but I probably won’t share it,” he replied. “For us, it’s how we go about scouting and developing, or even setting up a major league roster. So yeah, ultimately it will be proprietary, what we feel is going to work well for us.”

And then there is the organization’s longest-standing question: What is the best way to pitch effectively in Colorado? Is there an actual answer to be found?

“We’ll find out,” DePodesta said. “I’m encouraged. There have been plenty of successful teams in Colorado. When I was in San Diego in 2007, 2008, 2009, and obviously the teams that Buddy [Black] had in 2017 and 2018, those teams were very successful. There were teams that had winning records on the road.

“My approach, at least as of today, is that I know it’s not impossible,” he added. “It’s been done. Are there things we have to consider that other teams don’t? Probably so. Are there adjustments we’re going to have to make that will look a little different than everybody else? Probably yes, but I’m confident that it’s not impossible. We’re going to figure something out.”

One more follow-up seemed in order. Given the Rockies’ reputation of lagging behind other organizations in terms of analytics, are there maybe things that have been overlooked?

“That I don’t know,” said DePodesta, who has spent the last decade working in the NFL as the chief strategy officer of the Cleveland Browns. “I’m looking forward to diving in deeper to the organization and figuring out all the things they have tried. I have a handful of ideas right now, but I would imagine they’re pretty naïve. Coors Field has been around since 1995 [and] they’ve tried a lot of things. I don’t have to reinvent the wheel. I want to understand what all of those things were and what they felt worked, and what didn’t. I don’t want to try things a second time if they’ve already tried them.”

———

CHAIM BLOOM — ST. LOUIS CARDINALS

Cardinals pitchers didn’t strike out a lot of batters this year; they were second worst in the majors. How much of a concern is that?

“It’s definitely a concern,” replied Bloom, who succeeded John Mozeliak as St. Louis’ president of baseball operations at the conclusion of the regular season. “It’s not the only thing that matters, but it does matter. Having stuff that can beat people in the strike zone, that can miss bats — both in and out of the strike zone — is really important. It’s hard to have an elite staff without being able to do that. It’s not something you want to chase at the expense of throwing strikes — you’re not trying to put people in positions where they can’t succeed, or stay healthy — but it’s super important.”

How close is Liam Doyle to helping out in that respect?

“He’ll tell us that as the season unfolds,” Bloom said of the 21-year-old southpaw whom the Cardinals drafted fifth overall this year out of the University of Tennessee. “We gave him a little taste of [pro ball] at the end; he got his feet wet a little bit. Obviously, a first full season will tell you a lot. A first full season in and of itself is a big developmental step for guys, because they haven’t been asked to pitch that regularly for that long. But he came in and showed everything you want to see. He got after his work. He showed openness, a desire to get better, a willingness to listen. There is obviously some work to do before we can call him a big leaguer, but we’re really happy with the pitcher we got.

“The player will move himself,” added Bloom. “The player tells you where he should be. If you try to force something that’s not there, you usually end up paying a price. You might end up picking the pieces up from that for quite some time. When a player is ready and you give him that opportunity, he can carry it. It’s really just what the game is telling us, letting the player’s performance and his progress on the mound carry the day.”

Balls in play are less of an issue when you have a strong defense, which St. Louis largely had in 2025. Just how strong depends on the numbers you favor. I asked Bloom if he could explain how the Cardinals led all teams in Outs Above Average, yet were well below average in Defensive Runs Saved.

“That is a bigger conversation than one we could have here today,” Bloom said. “There are some differences between those metrics, some differences in [how they] get calculated that might disproportionally help or hurt certain types of players. Sometimes those things… they usually will even out year over year. I’ve seen specific players where that might not be the case, because of certain things that the player does or doesn’t do well that some metrics favor — or don’t — but typically over the course of time, they tend to [even out].”

What does it say about the 2025 Cardinals specifically?

“I’d be hesitant to draw too much of a big picture about specific players or player seasons,” Bloom responded. “If it persists over two or three years, then we can look at it as a trend and see if there is something underlying.”


FanGraphs Weekly Mailbag: November 8, 2025

Kamil Krzaczynski-Imagn Images

Happy first Saturday of the offseason, everyone. To celebrate the occasion, you get two mailbag columns this week! The first ran on Monday and wrapped up a thrilling World Series. In today’s edition, we’ll move on from the Fall Classic and answer your questions about several teams that finished in last place this season. We’ll also cover small-market teams and some of the structures that are in place to encourage them to spend more on their rosters.

The first question we’ll answer today is about a player we’ve featured before in this column. In fact, some are calling him the Patron Saint of the Mailbag, an honor second only to his status as the worst major league player ever.

But before we continue, I’d like to remind you all that this mailbag is exclusive to FanGraphs Members. If you aren’t yet a Member and would like to keep reading, you can sign up for a Membership here. It’s the best way to both experience the site and support our staff, and it comes with a bunch of other great benefits. Also, if you’d like to ask a question for an upcoming mailbag, send me an email at mailbag@fangraphs.com. Read the rest of this entry »


Looking Toward the Future, the Rockies Are Begging for the Past

Jeff Lange-USA TODAY NETWORK

Most major league baseball organizations think more or less the same way. They vary on tactics and strategy, in competency, in resources, and in culture, but for the most part everyone agrees on how to win a baseball game. This leads to some groupthink and a lot of same-y executive hires.

The Giants have bucked the trend, turning back the clock to hand the reins to an ex-player who’s long on cultural cachet and short on expertise. He, in turn, made a delightfully unorthodox choice for field manager. I look forward to seeing if these iconoclasts can hold their own.

Not to be outdone, the Colorado Rockies have gone even further off the board for their new head of baseball operations, as they are reportedly nearing a deal to hire Paul DePodesta for the position. I’ll be as blunt as I can be: It’s one of the weirdest executive hires in decades, from an organization that’s at least a full step behind its rivals to start. With all the best will in the world, unless DePodesta’s appointment heralds a complete change in organizational structure and philosophy, it is almost certainly doomed to fail. Read the rest of this entry »


2026 Contemporary Baseball Era Committee Candidate: Dale Murphy

Malcolm Emmons-USA TODAY Sports

The following article is part of my ongoing look at the candidates on the 2026 Contemporary Baseball Era Committee ballot. Originally written for the 2013 election at SI.com, it has been expanded and updated. For a detailed introduction to this year’s ballot, use the tool above. An introduction to JAWS can be found here.

It took four position changes — from catcher to first base, then left field, right field, and finally center field — and parts of five major league seasons for the Braves to figure out where the 6-foot-4 Dale Murphy fit. Once they did, they had themselves a franchise centerpiece, a wholesome, milk-drinking superstar whom Sports Illustrated profiled for its July 4, 1983 cover story by proclaiming, “Murphy’s Law is Nice Guys Finish First.”

The title was a reference to the slugger helping the Braves to an NL West title the previous year, their lone playoff appearance during the 1970-90 stretch. “Here’s a guy who doesn’t drink, smoke, chew or cuss,” wrote Steve Wulf. “Here’s a guy who has time for everyone, a guy who’s slow to anger and eager to please, a guy whose agent’s name is Church. His favorite movie is Frank Capra’s It’s a Wonderful Life. He’s a wonderful ballplayer.” Let the record show that Wulf did unearth some dirt on Murphy, noting that he once got a speeding ticket for doing 35 in a 25-mph zone… while running late to speak to a church group.

Murphy won the first of his back-to-back MVP awards in 1982 as well as the first of his five consecutive Gold Gloves, and made his second of seven All-Star teams. He would spend most of the 1980s as one of the game’s best players. Alas, knee problems turned him into a shadow of the player he once was while he was still in his early 30s, and he played his final game in the majors at age 37. Read the rest of this entry »


Sunday Notes: Willie MacIver Caught a Guy Named Riley Pint

Willie MacIver has caught a lot of power arms since entering pro ball in 2018. Some were in Sacramento this season — the 28-year-old University of Washington product spent a chunk of the summer with the Athletics, backing up Shea Langeliers — but none of those hurlers stand out as having the best raw stuff he’s been behind the dish for. That distinction belongs to a former Colorado Rockies farmhand whose brief major-league ledger includes a 22.09 ERA and a 22.7% walk rate over five appearances comprising three-and-a-third innings.

“I caught a guy named Riley Pint,” said MacIver, citing the right-handed flamethrower whom the Rockies drafted fourth overall in 2016 out of an Overland, Kansas high school. “To this day, he has the best stuff I’ve ever seen. I caught him from Low-A all the way through Triple-A, so I was on the ride with him the whole time.”

That ride isn’t necessarily over. Pint is just 27 years old, and while he missed the 2025 season with an injury, the arm is indeed special. MacIver caught him as recently as 2024, and it’s being Pint, and not recent teammate Mason Miller, who he cited speaks volumes.

“When we were in Low-A, it was 102 [mph] all over the place,” MacIver told me. “Then he started throwing a sinker. We were at Driveline together and he was throwing sinkers that were registering as left-handed curveballs on the TrackMan. He could make the ball move like nothing else. His sinker would be like negative-eight, and then he would throw a true sweeper that was Morales-like with the horizontal, but at 87 [mph]. Read the rest of this entry »


Sunday Notes: Jack Dreyer Is a Dodger With a Sneaky Heater and a “Bad Slider”

Jack Dreyer has been one of the top performers on a Los Angeles Dodgers pitching staff that includes no shortage of better-known hurlers. Amid relative obscurity, the 26-year-old rookie left-hander has logged a a 2.98 ERA and a 2.95 FIP over 46 appearances comprising 57-and-a-third innings. Moreover, only Yoshinobu Yamamoto has been worth more WAR (3.5) than has the 2021 non-drafted free agent out of the University of Iowa (1.3).

Our lead prospect analyst was early to the bandwagon. When our 2025 Dodgers Top Prospects list was published in late April, Eric Longenhagen described Dreyer as “incredibly deceptive,” adding that his whippy arm action delivers a fastball that has “20 inches of due north vertical break as it explodes toward the plate.”

The southpaw’s signature pitch wasn’t seen as plus during his injury-marred Iowa Hawkeyes days.

“In college, I was always told that I have average spin rate, so I can’t really throw my fastball at the top of the zone,” recalled Dreyer, who missed much of the 2019 season with a shoulder injury, then all of 2021 after undergoing Tommy John surgery. “I was told that I had a very average fastball. I kind of believed that, but then I got to the Dodgers and they were like, ‘No, actually, your stuff is really, really good. You can live at the top of the zone because of how your pitch moves.’ So, that’s kind of how I’ve adapted my pitching, using heaters at the top, which opens up my other pitches.”

Dreyer’s secondaries comprise a curveball that he’s thrown at a 10.8% clip this season, and a “bad slider” that he’s thrown far more frequently at 45.2%. More on the latter in a moment. Read the rest of this entry »