Author Archive

2024 ZiPS Projections: Kansas City Royals

For the 20th 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 and MLB’s glossary entry. The team order is selected by lot, and the next team up is the Kansas City Royals.

Batters

Bobby Witt Jr. is the saving grace of this lineup, the only player on the Royals with a high chance of being elite at whatever it is he does. If the team isn’t preparing a large extension for Witt before he hits arbitration, they’re doing something seriously wrong. Sadly, given that it’s the Royals, there’s a good chance of them doing something seriously wrong. Read the rest of this entry »


2024 ZiPS Projections: Baltimore Orioles

For the 20th 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 and MLB’s glossary entry. The team order is selected by lot, and the next team up is the Baltimore Orioles.

Batters

If you’ve looked at the depth chart or glanced down at the projections — if you haven’t, this is a weird article to be reading — you ought to be impressed with just how much offensive talent the O’s have. Of course, some spots are brighter (catcher, third base) than others (first base), but there’s really no gaping hole anywhere in this lineup. This reflects the success the team has had developing offensive prospects in recent years. While practically none of the players picked up in the 2018 selloff have worked out all that well, the Elias-era front office has a great record with minor league hitters. The O’s had our top prospect in 2022 (Adley Rutschman) and 2023 (Gunnar Henderson, though ZiPS had him second to Corbin Carroll), and Jackson Holliday, currently no. 1 on The Board, looks to be the heavy favorite to be the top prospect in 2024. Heck, it’s not outside the realm of possibility that someone like Coby Mayo or Samuel Basallo ends up the top prospect in 2025! The O’s eke out a few more wins than the depth chart here simply because of their depth; players like Mayo, Joey Ortiz, Colton Cowser, and Connor Norby all project to be positive contributors without an obvious place to lock up playing time right now. It’s only a slight exaggeration to say that I’d rather have a lineup of all the Orioles who don’t make their team’s 25-man roster out of spring training than all the Washington Nationals who do!

The Ryans O’Hearn and Mountcastle project as the weakest part of the lineup, but offense is in short supply in free agency, and I don’t expect Baltimore to make any changes here. It was always extremely unlikely that the Orioles would return to being one of the league’s payroll heavy hitters, but comments from John Angelos suggest that they’re not even going to be a middle class team, with spending more in line with Tampa Bay or Pittsburgh. If the least valuable parts of your offense project for a wRC+ around 110, you have bigger needs elsewhere. Before anyone calls shenanigans on some of the top comps, Mike Scioscia broke into the majors as a really good hitter before his radiation poisoning and Grady Hatton was a really good hitter when he was young, too. But when your top prospect gets two Hall of Famers in his top three comps, plus a third player who ought to be a Hall of Famer, you shouldn’t be too greedy.

This is one of the best offensive teams in baseball. While that’s never a guarantee of success, it’s a great place to start!

Pitchers

While the O’s have developed a lot of hitters, they haven’t had the same luck with pitchers outside of Grayson Rodriguez. Very few of the large stable of no. 4-ish starter prospects they had a few years ago really developed further, with Kyle Bradish and Dean Kremer being the primary success stories. Suspicions surrounding the pitching are what held Baltimore back in the ZiPS projections last year, and while the computer has come around on a number of pitchers, Bradish most notably, it’s still a rotation that’s begging for one high-end starter in free agency. I’d love to see the O’s go after Shōta Imanaga in any case; he’s gotten a lot less press than Yoshinobu Yamamoto, but he should come cheaper and there’s a lot to like about him. Plus, he’s a fly ball lefty whose weakness is being occasionally gopher ball-prone, and Camden Yards these days is very friendly for that type of pitcher.

Some of the Bradish gain is counteracted by ZiPS’ crush on Kremer being a bit more chaste than last year, but the rotation is at least acceptable so long as they don’t have poor luck with injuries. The team had been pretty lucky until late in the season when Félix Bautista went on the IL, where he’ll stay in 2024 thanks to Tommy John surgery. The bullpen ranked second in team WAR in 2023, but nearly 40% of that total was Bautista. If the O’s stand pat on the overall accomplishments of their 2023 ‘pen, they might regret it.

So how do the O’s look right now? You can add up the depth chart numbers (despite my warnings) and get them right around 90, and the current ZiPS sim has them at around 92 wins, the best record in the division. But that number will be revised as the winter progresses, and if teams like the Jays make any big additions and the O’s don’t, this standing could erode somewhat, despite the depth. It’s tempting to consider Baltimore’s 101 win-total in 2023 to be the team’s “starting point,” but that’s a path to disappointment, as a team exceeding its Pythagorean record and playing well in extra-innings/one-run games isn’t very predictive. Nor is it explained by bullpen quality; the r-squared between ‘pen quality, best reliever quality, and best three-reliever quality and Pythag/extra-innings/one-run game record is under 0.05 historically. And even then, the O’s don’t project to have as good a bullpen next go-around, thanks to the loss of Bautista. And no, projection misses aren’t predictive of future projection misses, even for very young or very old teams (since the projection systems already factor in age).

This is a very good team. The question is whether ownership is willing to invest enough for the Orioles to really find their ceiling.

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.

Batters – Standard
Player B Age PO PA AB R H 2B 3B HR RBI BB SO SB CS
Adley Rutschman B 26 C 578 497 77 132 34 1 18 69 72 88 2 1
Gunnar Henderson L 23 3B 640 561 103 146 27 7 26 93 68 158 12 4
Cedric Mullins L 29 CF 571 515 70 133 27 4 17 68 45 113 23 6
Jackson Holliday L 20 SS 610 538 86 137 23 6 11 70 69 141 12 6
Jordan Westburg R 25 2B 546 493 74 123 27 3 17 71 42 138 8 2
Anthony Santander B 29 RF 607 549 78 141 33 1 28 88 47 130 3 1
Coby Mayo R 22 3B 597 528 69 122 29 2 19 81 56 164 3 1
Austin Hays R 28 LF 543 499 74 132 30 2 18 68 36 127 4 2
Joey Ortiz R 25 SS 469 434 59 107 22 3 8 54 28 94 6 2
Ramón Urías R 30 3B 404 364 46 92 19 1 10 47 31 100 2 1
Colton Cowser L 24 CF 517 443 74 104 20 1 13 67 59 152 7 3
Jud Fabian R 23 CF 516 453 55 91 18 2 16 57 53 184 14 5
Connor Norby R 24 2B 586 534 78 132 24 3 17 75 41 142 7 4
Jorge Mateo R 29 SS 394 365 53 85 18 4 9 42 20 100 27 6
Ryan Mountcastle R 27 1B 553 503 66 130 23 1 23 79 40 132 3 1
Heston Kjerstad L 25 RF 534 487 69 123 22 4 14 71 31 119 3 2
Adam Frazier L 32 2B 505 459 59 117 21 3 7 50 35 68 9 5
Ryan O’Hearn L 30 1B 387 356 48 91 15 1 18 60 25 95 3 1
Daz Cameron R 27 CF 441 398 54 93 19 1 11 56 31 116 14 4
Kyle Stowers L 26 RF 444 395 50 92 17 1 18 62 40 136 3 2
Lewin Díaz L 27 1B 480 436 58 103 20 1 18 65 35 110 1 1
Josh Lester L 29 3B 492 458 59 106 21 2 20 70 28 140 2 1
Samuel Basallo L 19 C 467 428 57 96 18 3 15 61 34 108 5 3
Aaron Hicks B 34 CF 321 277 41 66 9 1 8 31 42 74 5 1
Maverick Handley R 26 C 291 255 30 53 9 1 5 30 26 85 5 1
Hudson Haskin R 25 CF 346 304 38 70 13 2 6 46 21 97 8 3
James McCann R 34 C 286 263 29 62 11 0 7 30 16 76 3 1
Ryan McKenna R 27 CF 278 246 38 53 10 1 7 30 24 87 6 2
Greg Cullen L 27 3B 252 216 20 48 8 1 3 24 30 61 2 1
Max Wagner R 22 3B 477 429 61 91 17 3 9 49 37 138 13 4
Sam Hilliard L 30 CF 364 327 47 67 12 2 14 40 34 125 9 1
Terrin Vavra L 27 LF 232 205 30 49 9 1 3 25 21 50 3 1
Ramón Rodríguez R 25 C 218 199 18 49 8 0 2 19 14 31 1 1
Meibrys Viloria L 27 C 294 256 29 54 11 0 5 30 33 86 1 1
Anthony Bemboom L 34 C 221 198 22 43 6 1 4 19 19 53 1 1
Ben DeLuzio R 29 LF 315 286 38 63 10 4 4 29 20 95 10 4
Silas Ardoin R 23 C 378 334 33 64 11 0 5 32 40 135 3 3
José Godoy L 29 C 259 239 28 57 8 0 5 28 16 57 1 1
Cadyn Grenier R 27 SS 414 360 43 72 15 2 4 36 42 128 7 3
Mark Kolozsvary R 28 C 188 168 20 30 7 0 4 20 12 69 1 1
Shayne Fontana L 27 LF 373 330 41 75 12 2 6 41 31 88 9 3
Elio Prado R 22 CF 431 389 46 86 12 3 7 45 28 98 5 5
Collin Burns L 24 SS 245 225 28 48 7 1 2 21 14 56 7 1
Billy Cook R 25 RF 465 429 46 91 15 3 13 55 25 140 15 2
Connor Pavolony R 24 C 149 130 14 23 4 1 2 11 15 55 1 1
Dylan Beavers L 22 RF 520 468 56 108 26 4 7 53 45 129 13 6
Joseph Rosa B 27 SS 333 298 35 63 12 2 3 30 27 101 7 2
Gilbert Lara R 26 SS 299 286 22 63 11 1 4 26 9 88 1 1
Randy Florentino L 23 C 211 192 23 42 6 0 3 17 14 48 1 1
Tim Susnara L 28 C 178 161 13 29 5 0 3 17 13 65 0 1
John Rhodes R 23 LF 441 398 49 84 17 3 8 46 35 122 6 1
Frederick Bencosme L 21 SS 463 424 48 103 15 3 2 36 33 75 12 4
Jacob Teter L 25 1B 332 303 26 65 15 0 5 30 25 98 1 1
Donta’ Williams L 25 CF 388 339 43 66 14 1 4 34 39 119 12 6
Zach Watson R 27 CF 335 313 34 63 11 2 7 34 13 112 9 2
TT Bowens R 26 1B 343 312 35 60 11 1 7 35 26 123 1 1
Anthony Servideo L 25 SS 350 315 29 50 10 0 2 22 30 152 4 3

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA RC
Adley Rutschman 578 .266 .362 .447 125 .181 .292 5 4.8 .350 81
Gunnar Henderson 640 .260 .344 .472 126 .212 .318 5 4.5 .350 95
Cedric Mullins 571 .258 .322 .425 107 .167 .301 5 2.9 .322 78
Jackson Holliday 610 .255 .341 .381 103 .126 .326 0 2.7 .319 75
Jordan Westburg 546 .249 .317 .420 105 .170 .314 4 2.6 .320 68
Anthony Santander 607 .257 .321 .474 119 .217 .289 -1 2.3 .339 85
Coby Mayo 597 .231 .315 .402 99 .170 .299 2 2.0 .313 68
Austin Hays 543 .265 .319 .441 110 .176 .322 4 1.9 .326 72
Joey Ortiz 469 .247 .296 .366 85 .120 .298 6 1.6 .290 49
Ramón Urías 404 .253 .323 .393 100 .140 .323 3 1.6 .314 47
Colton Cowser 517 .235 .335 .372 99 .138 .327 -2 1.5 .314 58
Jud Fabian 516 .201 .287 .355 79 .155 .296 9 1.4 .283 51
Connor Norby 586 .247 .305 .399 96 .152 .307 -2 1.3 .305 68
Jorge Mateo 394 .233 .277 .378 81 .145 .297 4 1.3 .283 46
Ryan Mountcastle 553 .258 .313 .445 110 .187 .307 0 1.2 .324 71
Heston Kjerstad 534 .253 .313 .400 98 .148 .308 5 1.2 .310 62
Adam Frazier 505 .255 .315 .359 89 .105 .286 1 1.1 .297 56
Ryan O’Hearn 387 .256 .307 .455 110 .199 .300 1 0.9 .324 51
Daz Cameron 441 .234 .298 .369 86 .136 .303 2 0.9 .292 48
Kyle Stowers 444 .233 .311 .418 102 .185 .307 1 0.8 .315 53
Lewin Díaz 480 .236 .298 .411 96 .174 .276 6 0.8 .305 54
Josh Lester 492 .231 .278 .417 92 .186 .289 0 0.8 .296 54
Samuel Basallo 467 .224 .285 .386 86 .161 .266 -4 0.7 .290 49
Aaron Hicks 321 .238 .340 .365 98 .126 .297 -5 0.6 .314 36
Maverick Handley 291 .208 .300 .310 72 .102 .291 2 0.6 .277 25
Hudson Haskin 346 .230 .314 .345 85 .115 .318 0 0.6 .295 36
James McCann 286 .236 .288 .357 80 .122 .306 0 0.5 .283 28
Ryan McKenna 278 .215 .291 .350 79 .134 .303 2 0.5 .283 27
Greg Cullen 252 .222 .327 .310 81 .088 .296 2 0.4 .290 23
Max Wagner 477 .212 .285 .329 72 .117 .291 4 0.4 .273 44
Sam Hilliard 364 .205 .283 .382 84 .177 .282 -2 0.4 .289 38
Terrin Vavra 232 .239 .320 .337 85 .098 .303 2 0.3 .295 23
Ramón Rodríguez 218 .246 .296 .317 72 .070 .283 0 0.2 .273 19
Meibrys Viloria 294 .211 .310 .313 76 .102 .297 -3 0.2 .281 25
Anthony Bemboom 221 .217 .290 .318 71 .101 .277 0 0.2 .271 19
Ben DeLuzio 315 .220 .284 .325 71 .105 .316 7 0.1 .271 30
Silas Ardoin 378 .192 .283 .269 57 .078 .304 4 0.1 .254 27
José Godoy 259 .238 .290 .335 75 .096 .294 -2 0.0 .276 24
Cadyn Grenier 414 .200 .294 .286 64 .086 .298 0 0.0 .266 33
Mark Kolozsvary 188 .179 .262 .292 55 .113 .274 2 0.0 .251 13
Shayne Fontana 373 .227 .307 .330 79 .103 .292 2 0.0 .286 37
Elio Prado 431 .221 .291 .321 72 .100 .278 1 0.0 .274 39
Collin Burns 245 .213 .270 .280 55 .067 .275 1 -0.2 .248 19
Billy Cook 465 .212 .265 .352 71 .140 .283 5 -0.2 .269 44
Connor Pavolony 149 .177 .275 .269 54 .092 .288 -1 -0.3 .250 10
Dylan Beavers 520 .231 .300 .348 82 .118 .304 0 -0.4 .285 54
Joseph Rosa 333 .211 .288 .295 65 .084 .309 -4 -0.4 .264 28
Gilbert Lara 299 .220 .251 .308 56 .087 .304 1 -0.4 .245 23
Randy Florentino 211 .219 .271 .297 60 .078 .277 -4 -0.6 .253 16
Tim Susnara 178 .180 .253 .267 46 .087 .280 -2 -0.6 .236 11
John Rhodes 441 .211 .283 .329 72 .118 .284 0 -0.8 .271 39
Frederick Bencosme 463 .243 .300 .307 71 .064 .291 -11 -0.8 .272 43
Jacob Teter 332 .215 .274 .314 65 .099 .300 2 -0.9 .261 27
Donta’ Williams 388 .195 .289 .277 61 .083 .287 -4 -1.0 .259 32
Zach Watson 335 .201 .240 .316 55 .115 .289 -4 -1.2 .243 26
TT Bowens 343 .192 .262 .301 58 .109 .291 -1 -1.5 .252 25
Anthony Servideo 350 .159 .238 .210 27 .051 .298 -6 -2.3 .208 18

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Adley Rutschman Mike Scioscia Ted Simmons Bill Freehan
Gunnar Henderson Grady Hatton Yoán Moncada Bill Madlock
Cedric Mullins Eric Byrnes Kevin Kiermaier Coco Crisp
Jackson Holliday Bobby Grich Arky Vaughan Alan Trammell
Jordan Westburg Frank Bolling Robert Sagers Robby Thompson
Anthony Santander Mickey Rocco Greg Walker Frank Kellert
Coby Mayo James Darnell Mark Naehring Bill Melton
Austin Hays Stefen Romero Tommy Cruz Rod Allen
Joey Ortiz Rafael Ramirez Jose Pagan Frank Johnson
Ramón Urías Jack Heidemann Kermit Wahl Ernest Riles
Colton Cowser Domingo Santana Rick Monday Ken Singleton
Jud Fabian Mike Hart Evan Chambers Steve Lyons
Connor Norby Josh Rutledge Eugenio Suárez Josh Barfield
Jorge Mateo Greg Gagne Chris Basak Scott Kingery
Ryan Mountcastle Mat Gamel Renato Núñez Dick Sisler
Heston Kjerstad Bill Roman Jim Mooring Frank Johnson
Adam Frazier Marlon Anderson Don Blasingame Dave Cash
Ryan O’Hearn Scott Hairston Micah Hoffpauir Jerry Lynch
Daz Cameron Jake Marisnick Delwyn Young Lane Adams
Kyle Stowers Bobby Prescott Jon Knott Benjamin Downs
Lewin Díaz Razor Shines Jerry Lomastro Scott Thorman
Josh Lester Mark Saccomanno Russ Davis Greg Jelks
Samuel Basallo Steve Nicosia Charlie Moore Jerry Moses
Aaron Hicks Willie Harris F.P. Santangelo Chad Curtis
Maverick Handley Ben Amaya Jeff Farnham Duane Gustavson
Hudson Haskin Michael Lang Rich Barnwell Chad Hinshaw
James McCann Dixie Howell Al Todd Bob Schmidt
Ryan McKenna Norm Roberts Tillman Pugh Earl Robinson
Greg Cullen Horace Porter Rich Paz Ed Jurak
Max Wagner Jose Ortiz Rob Sasser Tyler Goeddel
Sam Hilliard Louie Meadows Clyde Mashore B.J. Upton
Terrin Vavra Debs Garms Tommie Martz Al Spangler
Ramón Rodríguez Billy Alvino Sal Agostinelli Roly de Armas
Meibrys Viloria Luke Carlin Jose Lobaton Tom Lundstedt
Anthony Bemboom Paul Bako Russ Nixon Matt Treanor
Ben DeLuzio Darren Ford Ramon Gomez Scarborough Green
Silas Ardoin Dallas Tarleton Don Werner Mike Rose
José Godoy Adrian Nieto John Sevcik Roger Hansen
Cadyn Grenier Nolan Fontana Anthony Granato Anderson Machado
Mark Kolozsvary Jeff Hearron Gary Tremblay Tom Gregorio
Shayne Fontana Rick Prieto Mark Payton Brett Nommensen
Elio Prado Rick Colzie Ed Yacopino Ransel Melgarejo
Collin Burns Jason McConnell Pedro Blanco Offerman Collado
Billy Cook Anthony Sanders John Ramistella Steve Blomberg
Connor Pavolony Michael Shepston Bryan Graves John Harrell
Dylan Beavers Kory DeHaan Alberto Rodriguez Gary Thomasson
Joseph Rosa Rolando Gomez Darrel Chaney Eric Stamets
Gilbert Lara Kevin Rios Al Quintana Chase Jensen
Randy Florentino Kenny Miller Pete Bazan Michael Uremovich
Tim Susnara Clemente Alvarez Steven Lerud Kerry Baker
John Rhodes Shane Gunderson John Garofalo Jim McArdle
Frederick Bencosme Omar Infante Andrés Blanco Omar Obregon
Jacob Teter Jerry Kudajeski Al Corbeil Stephen Hunt
Donta’ Williams Joey Zellner Ricky Strickland Jim Essian
Zach Watson T.J. Steele Travis Becktel Jono Brooks
TT Bowens Daniel Berg Mark Threlkeld Robert Burrows
Anthony Servideo Seth Bynum Brian Wilson Chad McClanahan

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
Adley Rutschman .291 .386 .500 146 6.2 .241 .336 .403 109 3.5
Gunnar Henderson .284 .374 .533 148 6.2 .234 .319 .419 106 3.0
Cedric Mullins .283 .347 .475 126 4.3 .231 .297 .371 87 1.5
Jackson Holliday .282 .373 .427 122 4.1 .229 .313 .343 85 1.2
Jordan Westburg .275 .344 .469 124 3.8 .226 .292 .368 84 1.1
Anthony Santander .282 .347 .539 143 4.0 .231 .296 .417 98 0.7
Coby Mayo .258 .340 .453 119 3.5 .204 .286 .346 77 0.5
Austin Hays .293 .343 .489 128 3.1 .236 .291 .389 89 0.5
Joey Ortiz .271 .324 .410 103 2.7 .224 .274 .326 70 0.7
Ramón Urías .281 .352 .450 122 2.6 .226 .296 .347 78 0.5
Colton Cowser .264 .364 .423 121 2.9 .207 .311 .329 82 0.5
Jud Fabian .227 .311 .401 96 2.5 .176 .261 .304 59 0.1
Connor Norby .273 .332 .450 115 2.6 .223 .281 .353 76 -0.2
Jorge Mateo .259 .304 .437 104 2.3 .206 .251 .334 63 0.3
Ryan Mountcastle .283 .334 .498 127 2.4 .231 .285 .396 90 -0.1
Heston Kjerstad .283 .342 .452 119 2.6 .225 .286 .354 79 0.0
Adam Frazier .282 .341 .399 104 2.1 .228 .290 .322 71 0.0
Ryan O’Hearn .280 .330 .507 129 1.9 .226 .276 .399 88 -0.1
Daz Cameron .258 .325 .416 106 1.9 .206 .268 .319 64 -0.4
Kyle Stowers .255 .333 .479 123 2.0 .206 .287 .363 82 -0.2
Lewin Díaz .261 .327 .464 118 2.1 .210 .269 .359 76 -0.3
Josh Lester .255 .298 .475 114 2.1 .209 .253 .370 76 -0.2
Samuel Basallo .250 .313 .450 106 1.9 .197 .256 .337 67 -0.6
Aaron Hicks .270 .370 .418 118 1.4 .209 .308 .313 77 -0.2
Maverick Handley .235 .331 .362 92 1.3 .177 .271 .266 53 0.0
Hudson Haskin .262 .338 .392 104 1.4 .203 .284 .297 65 -0.3
James McCann .262 .317 .406 102 1.2 .207 .264 .314 63 -0.2
Ryan McKenna .243 .317 .402 99 1.1 .188 .261 .303 59 -0.3
Greg Cullen .249 .355 .349 97 1.0 .192 .299 .270 62 -0.1
Max Wagner .237 .310 .369 90 1.6 .188 .258 .285 54 -0.6
Sam Hilliard .234 .315 .452 109 1.5 .181 .255 .328 62 -0.6
Terrin Vavra .263 .343 .383 104 0.8 .209 .289 .295 65 -0.3
Ramón Rodríguez .282 .331 .363 94 0.8 .208 .259 .273 52 -0.4
Meibrys Viloria .239 .341 .361 95 0.8 .181 .282 .268 54 -0.6
Anthony Bemboom .253 .323 .373 93 0.7 .187 .258 .270 50 -0.4
Ben DeLuzio .249 .313 .370 92 0.9 .197 .258 .279 53 -0.6
Silas Ardoin .225 .312 .312 77 1.1 .165 .251 .229 38 -0.8
José Godoy .276 .329 .389 101 0.9 .210 .265 .294 59 -0.5
Cadyn Grenier .226 .320 .332 83 1.0 .168 .264 .248 46 -0.9
Mark Kolozsvary .212 .296 .349 79 0.5 .149 .229 .241 34 -0.6
Shayne Fontana .253 .337 .378 100 0.9 .197 .278 .290 60 -0.9
Elio Prado .250 .318 .370 93 1.1 .196 .264 .282 55 -0.9
Collin Burns .244 .300 .324 74 0.4 .184 .242 .245 39 -0.8
Billy Cook .239 .290 .400 91 0.9 .188 .241 .307 55 -1.2
Connor Pavolony .209 .304 .323 76 0.1 .150 .246 .226 37 -0.7
Dylan Beavers .255 .323 .386 99 0.6 .206 .273 .308 67 -1.4
Joseph Rosa .241 .316 .336 82 0.3 .184 .260 .255 47 -1.2
Gilbert Lara .250 .278 .347 74 0.3 .194 .225 .268 37 -1.1
Randy Florentino .256 .312 .353 83 0.1 .183 .242 .249 39 -1.1
Tim Susnara .214 .292 .324 70 0.0 .151 .220 .225 24 -1.1
John Rhodes .236 .308 .367 87 0.1 .184 .255 .284 52 -1.9
Frederick Bencosme .274 .332 .345 90 0.4 .215 .274 .268 52 -1.9
Jacob Teter .239 .298 .353 81 -0.2 .188 .243 .274 46 -1.6
Donta’ Williams .223 .316 .318 79 -0.1 .170 .262 .239 44 -1.8
Zach Watson .229 .267 .365 73 -0.4 .173 .213 .276 36 -2.0
TT Bowens .215 .287 .347 74 -0.8 .166 .234 .259 39 -2.2
Anthony Servideo .188 .269 .251 46 -1.5 .129 .211 .171 11 -3.0

Batters – Projected Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Adley Rutschman .263 .367 .430 .267 .359 .456
Gunnar Henderson .245 .333 .436 .269 .350 .493
Cedric Mullins .243 .310 .401 .264 .327 .435
Jackson Holliday .240 .323 .370 .260 .348 .385
Jordan Westburg .251 .328 .433 .248 .307 .408
Anthony Santander .259 .330 .471 .256 .317 .475
Coby Mayo .231 .318 .394 .231 .313 .407
Austin Hays .268 .327 .458 .263 .314 .431
Joey Ortiz .251 .309 .374 .243 .287 .360
Ramón Urías .248 .325 .390 .256 .321 .395
Colton Cowser .227 .328 .347 .239 .339 .386
Jud Fabian .203 .298 .360 .199 .281 .352
Connor Norby .250 .314 .412 .245 .300 .390
Jorge Mateo .241 .289 .404 .228 .269 .362
Ryan Mountcastle .263 .323 .464 .256 .307 .435
Heston Kjerstad .242 .304 .373 .257 .317 .413
Adam Frazier .239 .297 .321 .260 .320 .371
Ryan O’Hearn .234 .286 .390 .262 .314 .473
Daz Cameron .238 .304 .390 .230 .293 .354
Kyle Stowers .228 .305 .389 .236 .314 .435
Lewin Díaz .229 .287 .396 .240 .303 .418
Josh Lester .223 .269 .391 .237 .285 .434
Samuel Basallo .213 .271 .361 .229 .290 .395
Aaron Hicks .241 .340 .379 .237 .339 .358
Maverick Handley .213 .309 .352 .204 .293 .279
Hudson Haskin .233 .314 .353 .227 .314 .338
James McCann .242 .300 .385 .233 .281 .343
Ryan McKenna .220 .301 .367 .212 .283 .336
Greg Cullen .221 .329 .294 .223 .326 .318
Max Wagner .216 .293 .327 .210 .280 .330
Sam Hilliard .202 .279 .383 .206 .285 .382
Terrin Vavra .234 .319 .313 .241 .321 .348
Ramón Rodríguez .250 .302 .330 .243 .292 .306
Meibrys Viloria .202 .309 .310 .215 .310 .314
Anthony Bemboom .206 .282 .286 .222 .293 .333
Ben DeLuzio .230 .296 .338 .211 .273 .313
Silas Ardoin .195 .299 .273 .189 .273 .267
José Godoy .224 .272 .318 .247 .299 .344
Cadyn Grenier .194 .294 .279 .244 .295 .341
Mark Kolozsvary .184 .262 .303 .174 .262 .283
Shayne Fontana .209 .290 .309 .236 .316 .341
Elio Prado .229 .300 .319 .216 .285 .322
Collin Burns .208 .269 .278 .216 .271 .281
Billy Cook .211 .268 .354 .213 .263 .350
Connor Pavolony .179 .292 .304 .176 .262 .243
Dylan Beavers .217 .287 .326 .236 .305 .357
Joseph Rosa .213 .294 .291 .211 .284 .298
Gilbert Lara .227 .261 .333 .214 .242 .286
Randy Florentino .203 .250 .288 .226 .281 .301
Tim Susnara .170 .250 .255 .184 .254 .272
John Rhodes .217 .294 .329 .207 .276 .329
Frederick Bencosme .226 .284 .298 .250 .307 .310
Jacob Teter .205 .260 .284 .219 .280 .326
Donta’ Williams .183 .277 .250 .200 .295 .289
Zach Watson .203 .243 .315 .200 .238 .318
TT Bowens .200 .280 .317 .186 .247 .287
Anthony Servideo .157 .235 .180 .159 .239 .221

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Kyle Bradish R 27 10 8 3.71 29 29 155.3 137 64 17 54 148
Dean Kremer R 28 9 7 3.86 29 28 154.0 147 66 17 48 132
Grayson Rodriguez R 24 7 6 4.07 28 28 141.7 126 64 19 44 153
Félix Bautista R 29 7 2 2.61 59 0 62.0 39 18 7 22 93
Tyler Wells R 29 6 6 4.20 32 20 113.7 97 53 17 36 103
Jack Flaherty R 28 7 7 4.52 25 23 127.3 117 64 18 55 131
Cade Povich L 24 8 9 4.43 25 25 113.7 105 56 15 50 115
DL Hall L 25 4 4 4.01 34 14 76.3 64 34 10 37 96
John Means L 31 5 5 4.24 17 17 85.0 81 40 13 22 63
Cole Irvin L 30 7 9 4.58 28 22 131.7 140 67 21 29 96
Garrett Stallings R 26 7 8 4.54 25 19 111.0 116 56 15 31 86
Bruce Zimmermann L 29 5 6 4.56 24 20 106.7 114 54 16 32 90
Yennier Cano R 30 3 2 3.67 66 0 68.7 64 28 8 22 64
Justin Armbruester R 25 5 5 4.67 24 22 106.0 107 55 14 40 82
Alex Pham R 24 3 4 4.50 24 16 88.0 86 44 12 37 76
Chayce McDermott R 25 6 7 4.67 23 18 98.3 87 51 13 54 105
Trey McGough L 26 4 4 4.60 19 14 76.3 81 39 10 24 52
Kyle Brnovich R 26 3 3 4.45 17 14 64.7 62 32 9 21 58
Keegan Akin L 29 3 3 4.09 29 7 61.7 59 28 8 18 65
Jean Pinto R 23 3 3 4.76 24 19 85.0 84 45 12 38 71
Ryan Watson R 26 4 5 4.70 29 11 82.3 85 43 11 31 65
Peter Van Loon R 25 5 5 4.60 19 12 60.7 60 31 8 23 53
Seth Johnson R 25 3 4 4.55 16 12 57.3 58 29 9 24 56
Antonio Velez L 27 4 4 4.60 20 8 58.7 63 30 8 14 41
Ryan Long R 24 5 6 4.80 24 11 86.3 89 46 12 32 64
Mike Baumann R 28 5 5 4.48 45 6 72.3 68 36 9 32 68
Tucker Davidson L 28 4 5 4.71 28 12 80.3 78 42 11 33 75
Trace Bright R 23 4 4 4.93 24 20 91.3 84 50 13 50 90
Brandon Young R 25 3 3 4.70 16 15 53.7 56 28 8 20 43
Noah Denoyer R 26 2 3 4.63 22 6 56.3 54 29 8 27 54
Danny Coulombe L 34 4 3 4.11 51 0 46.0 44 21 7 17 49
Keagan Gillies R 26 3 3 4.08 30 1 35.3 32 16 5 13 37
Austin Voth R 32 2 3 4.80 33 8 60.0 61 32 9 23 57
Jacob Webb R 30 3 3 4.30 59 1 60.7 54 29 8 24 67
Cionel Pérez L 28 3 3 4.31 61 1 54.3 51 26 6 25 50
Nick Vespi L 28 3 3 4.18 43 0 47.3 45 22 6 16 45
Jorge López R 31 4 5 4.67 47 6 69.3 69 36 9 27 64
Connor Gillispie R 26 4 6 5.14 23 12 89.3 94 51 14 38 63
Jake Lyons R 25 3 5 4.98 19 7 56.0 59 31 8 25 44
Ryan Hennen L 26 2 2 4.18 21 0 32.3 31 15 4 9 28
Conner Loeprich R 26 2 3 4.75 28 3 53.0 55 28 7 19 41
Bryan Baker R 29 4 4 4.37 56 0 55.7 50 27 7 25 54
Shintaro Fujinami R 30 5 7 4.97 40 8 76.0 68 42 9 46 80
Darwinzon Hernández L 27 2 2 4.95 32 3 36.3 29 20 5 24 46
Dillon Tate R 30 2 3 4.71 45 0 49.7 47 26 6 17 38
Jensen Elliott R 27 2 4 5.10 23 2 42.3 49 24 6 13 23
Houston Roth R 26 4 7 5.32 22 7 71.0 75 42 11 37 55
Nathan Webb R 26 2 3 5.03 23 2 39.3 38 22 6 22 38
T.J. McFarland L 35 3 3 4.65 40 0 50.3 52 26 6 18 38
Carlos Tavera R 25 3 5 5.54 19 14 65.0 64 40 10 47 57
Nolan Hoffman R 26 1 2 4.79 32 0 41.3 44 22 5 13 27
Mychal Givens R 34 2 4 5.02 39 1 37.7 36 21 6 20 36
Ryan Conroy R 27 3 4 5.15 25 3 50.7 53 29 7 26 42
Dylan Heid R 26 3 3 4.81 27 0 39.3 36 21 5 24 41
Ignacio Feliz R 24 3 4 5.47 24 5 54.3 52 33 8 34 51
Joey Krehbiel R 31 2 2 4.87 42 0 44.3 44 24 6 20 35
Tyler Burch R 26 2 3 5.03 27 0 39.3 42 22 6 16 28
Ofreidy Gómez R 28 2 3 5.55 27 5 47.0 46 29 7 31 43
Kade Strowd R 26 2 2 5.09 29 0 46.0 46 26 7 23 40
Cole Uvila R 30 2 3 5.26 34 0 39.3 41 23 6 22 34
Morgan McSweeney R 26 2 2 5.18 37 0 41.7 41 24 6 24 35
Xavier Moore R 25 1 2 5.83 24 1 29.3 26 19 4 25 32
Kyle Dowdy R 31 4 5 5.04 36 0 55.3 55 31 8 31 49
Nick Richmond R 26 1 2 5.68 22 0 25.3 27 16 4 14 18
Wandisson Charles R 27 3 5 5.26 35 0 39.3 36 23 6 28 41
Dan Hammer R 26 1 4 6.98 21 3 38.7 36 30 6 43 39

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ FIP ERA- WAR
Kyle Bradish 155.3 8.6 3.1 1.0 8.2% 22.6% .281 110 3.93 91 2.8
Dean Kremer 154.0 7.7 2.8 1.0 7.4% 20.3% .290 106 4.03 94 2.6
Grayson Rodriguez 141.7 9.7 2.8 1.2 7.4% 25.8% .289 101 3.90 99 2.0
Félix Bautista 62.0 13.5 3.2 1.0 8.9% 37.7% .262 157 2.84 64 1.9
Tyler Wells 113.7 8.2 2.9 1.3 7.7% 22.0% .258 98 4.42 102 1.3
Jack Flaherty 127.3 9.3 3.9 1.3 10.0% 23.8% .290 91 4.54 110 1.2
Cade Povich 113.7 9.1 4.0 1.2 10.1% 23.3% .292 92 4.40 108 1.1
DL Hall 76.3 11.3 4.4 1.2 11.2% 29.1% .297 102 4.05 98 1.1
John Means 85.0 6.7 2.3 1.4 6.2% 17.8% .269 97 4.64 103 1.1
Cole Irvin 131.7 6.6 2.0 1.4 5.2% 17.3% .292 89 4.69 112 1.0
Garrett Stallings 111.0 7.0 2.5 1.2 6.5% 18.1% .297 90 4.38 111 1.0
Bruce Zimmermann 106.7 7.6 2.7 1.4 6.9% 19.5% .306 90 4.50 111 0.9
Yennier Cano 68.7 8.4 2.9 1.0 7.6% 22.1% .290 112 4.00 90 0.8
Justin Armbruester 106.0 7.0 3.4 1.2 8.7% 17.8% .290 88 4.73 114 0.8
Alex Pham 88.0 7.8 3.8 1.2 9.5% 19.5% .289 91 4.60 110 0.8
Chayce McDermott 98.3 9.6 4.9 1.2 12.3% 24.0% .287 88 4.61 114 0.7
Trey McGough 76.3 6.1 2.8 1.2 7.3% 15.7% .293 89 4.58 112 0.7
Kyle Brnovich 64.7 8.1 2.9 1.3 7.6% 21.0% .288 92 4.48 109 0.7
Keegan Akin 61.7 9.5 2.6 1.2 6.9% 25.0% .305 100 3.76 100 0.7
Jean Pinto 85.0 7.5 4.0 1.3 10.1% 18.8% .288 86 4.90 116 0.6
Ryan Watson 82.3 7.1 3.4 1.2 8.6% 18.0% .296 87 4.69 115 0.5
Peter Van Loon 60.7 7.9 3.4 1.2 8.7% 20.1% .294 89 4.56 112 0.5
Seth Johnson 57.3 8.8 3.8 1.4 9.5% 22.1% .304 90 4.70 111 0.5
Antonio Velez 58.7 6.3 2.1 1.2 5.6% 16.3% .297 89 4.45 112 0.4
Ryan Long 86.3 6.7 3.3 1.3 8.5% 17.0% .291 85 4.80 117 0.4
Mike Baumann 72.3 8.5 4.0 1.1 10.1% 21.5% .291 91 4.40 109 0.4
Tucker Davidson 80.3 8.4 3.7 1.2 9.5% 21.6% .295 87 4.51 115 0.4
Trace Bright 91.3 8.9 4.9 1.3 12.0% 21.6% .285 83 5.04 120 0.4
Brandon Young 53.7 7.2 3.4 1.3 8.5% 18.3% .296 87 4.88 115 0.4
Noah Denoyer 56.3 8.6 4.3 1.3 10.8% 21.5% .293 88 4.73 113 0.3
Danny Coulombe 46.0 9.6 3.3 1.4 8.6% 24.9% .301 100 4.28 100 0.2
Keagan Gillies 35.3 9.4 3.3 1.3 8.6% 24.3% .287 101 4.19 99 0.2
Austin Voth 60.0 8.6 3.5 1.4 8.7% 21.7% .304 85 4.56 117 0.2
Jacob Webb 60.7 9.9 3.6 1.2 9.3% 25.9% .293 95 4.10 105 0.2
Cionel Pérez 54.3 8.3 4.1 1.0 10.5% 21.1% .292 95 4.34 105 0.2
Nick Vespi 47.3 8.6 3.0 1.1 7.9% 22.3% .293 98 4.08 102 0.2
Jorge López 69.3 8.3 3.5 1.2 8.9% 21.1% .302 88 4.57 114 0.1
Connor Gillispie 89.3 6.3 3.8 1.4 9.6% 15.9% .288 80 5.36 125 0.1
Jake Lyons 56.0 7.1 4.0 1.3 10.0% 17.5% .298 82 4.99 122 0.1
Ryan Hennen 32.3 7.8 2.5 1.1 6.6% 20.6% .287 98 4.15 102 0.1
Conner Loeprich 53.0 7.0 3.2 1.2 8.1% 17.4% .296 86 4.61 116 0.1
Bryan Baker 55.7 8.7 4.0 1.1 10.3% 22.3% .283 94 4.40 107 0.0
Shintaro Fujinami 76.0 9.5 5.4 1.1 13.4% 23.3% .292 82 4.70 121 0.0
Darwinzon Hernández 36.3 11.4 5.9 1.2 14.7% 28.2% .282 83 4.99 121 -0.1
Dillon Tate 49.7 6.9 3.1 1.1 8.0% 17.8% .277 87 4.62 115 -0.1
Jensen Elliott 42.3 4.9 2.8 1.3 6.9% 12.2% .301 80 5.07 125 -0.1
Houston Roth 71.0 7.0 4.7 1.4 11.4% 16.9% .295 77 5.41 130 -0.2
Nathan Webb 39.3 8.7 5.0 1.4 12.1% 20.9% .294 81 5.14 123 -0.2
T.J. McFarland 50.3 6.8 3.2 1.1 8.2% 17.4% .297 88 4.55 114 -0.2
Carlos Tavera 65.0 7.9 6.5 1.4 15.2% 18.4% .289 74 5.76 135 -0.2
Nolan Hoffman 41.3 5.9 2.8 1.1 7.2% 15.0% .293 86 4.68 117 -0.2
Mychal Givens 37.7 8.6 4.8 1.4 11.9% 21.4% .288 82 5.25 122 -0.2
Ryan Conroy 50.7 7.5 4.6 1.2 11.3% 18.3% .303 80 5.23 126 -0.2
Dylan Heid 39.3 9.4 5.5 1.1 13.6% 23.2% .295 85 4.81 117 -0.2
Ignacio Feliz 54.3 8.4 5.6 1.3 13.6% 20.4% .289 75 5.56 133 -0.3
Joey Krehbiel 44.3 7.1 4.1 1.2 10.2% 17.9% .286 84 4.92 119 -0.3
Tyler Burch 39.3 6.4 3.7 1.4 9.1% 15.9% .293 81 5.19 123 -0.3
Ofreidy Gómez 47.0 8.2 5.9 1.3 13.8% 19.1% .291 74 5.79 136 -0.3
Kade Strowd 46.0 7.8 4.5 1.4 11.1% 19.2% .291 81 5.19 124 -0.4
Cole Uvila 39.3 7.8 5.0 1.4 12.1% 18.7% .302 78 5.26 128 -0.4
Morgan McSweeney 41.7 7.6 5.2 1.3 12.6% 18.4% .287 79 5.32 127 -0.4
Xavier Moore 29.3 9.8 7.7 1.2 17.6% 22.5% .289 70 5.61 142 -0.4
Kyle Dowdy 55.3 8.0 5.0 1.3 12.3% 19.4% .294 81 5.21 123 -0.4
Nick Richmond 25.3 6.4 5.0 1.4 11.8% 15.1% .291 72 6.02 139 -0.4
Wandisson Charles 39.3 9.4 6.4 1.4 15.1% 22.2% .288 78 5.44 128 -0.4
Dan Hammer 38.7 9.1 10.0 1.4 21.7% 19.7% .288 59 7.06 170 -0.9

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Kyle Bradish Sonny Gray Tim Hudson Justin Verlander
Dean Kremer Marcus Stroman Roberto Hernandez Johnny Cueto
Grayson Rodriguez Mat Latos José Berríos Kevin Appier
Félix Bautista Rich Gossage Trevor Hoffman Cody Allen
Tyler Wells Phil Collins Jesse Flores Mark Portugal
Jack Flaherty Kevin Gross Roger Pavlik Joey Jay
Cade Povich Chris Seddon 세든 Jalen Beeks Jarrod Washburn
DL Hall Caleb Ferguson Jonathan Sanchez William Glane
John Means Donovan Osborne Tyler Anderson Art Nehf
Cole Irvin Scott McGregor Clayton Richard Mitchell Lambson
Garrett Stallings Lindsey Caughel Terry Doyle Cisco Carlos
Bruce Zimmermann David Huff 허프 Glen Perkins Kei Igawa
Yennier Cano Alex Colomé Braden Looper Sam Dyson
Justin Armbruester Larry Pashnick Jeanmar Gómez Dan Houston
Alex Pham Michael Lorenzen Jeff Samardzija George Bechtold
Chayce McDermott Matt Magill Jake Faria Steve Renko
Trey McGough Derek Manning Pat Underwood Frank Bork
Kyle Brnovich Tim Hallgren Mitch Lukevics Frank Brosseau
Keegan Akin Adam Morgan Lester Clinkscales Bob Lacey
Jean Pinto Will Inman Gerald Alexander Kent Hunziker
Ryan Watson Rick Kirsten Joel Davis Eric Thompson
Peter Van Loon J.R. Graham Milt Wilcox Bill Dillman
Seth Johnson Dave Meyer Bob Giggie Nick Krsnich
Antonio Velez Luke Sommer Casey Harman Trevor Enders
Ryan Long Kevin Mlodik Fredy Deza Luke Robertson
Mike Baumann J.C. Gutierrez Drew VerHagen Hank Mason
Tucker Davidson Bob Hendley Rick Krivda Bob Buchanan
Trace Bright Reggie Harris Bill Risley Keyvius Sampson 샘슨
Brandon Young John Hannon Robert Gill Tim Dell
Noah Denoyer Austin House Marcelino Dominguez Travis Lakins
Danny Coulombe Joey Eischen Pedro Feliciano Brian Duensing
Keagan Gillies Art Martinez Jim Bryant Jim Donohue
Austin Voth Gary Glover 글로버 Jim Owens Mike Harkey
Jacob Webb Mace Brown Cliff Politte Tom Sturdivant
Cionel Pérez James Pazos Jeff Calhoun Bob McClure
Nick Vespi Jesse Carlson Graeme Lloyd Donnie Hart
Jorge López Alfredo Simon Joe Biagini Buck Farmer
Connor Gillispie Barrett Astin Jesus Tinoco Josh Hodges
Jake Lyons Bernard Belan Wascar Serrano Paul Moviel
Ryan Hennen Erasmo Ramirez Mark Mesewicz Courtney Mitchell
Conner Loeprich John Green Freddie Davis Henry Villar
Bryan Baker Matt Albers Logan Ondrusek Marvin Freeman
Shintaro Fujinami John Pacella José Álvarez Tyler Pearson
Darwinzon Hernández Bill Bayne Don Shaw Leyson Septimo
Dillon Tate Rob Scahill Bob Bowman Braden Looper
Jensen Elliott Raul Mercado Adam Cimber Jeremy Halpin
Houston Roth Brian Dupra Johendi Jiminian John Kuchno
Nathan Webb David Carpenter Seth Overbey Darren Balsley
T.J. McFarland Ken Lehman Fred Baczewski Chad Zerbe
Carlos Tavera John Papa Al Schmelz Marvin Freeman
Nolan Hoffman Greg Washburn Dick Bokelmann Kurt Yacko
Mychal Givens Matt Karchner Ricky Bottalico Emil Kush
Ryan Conroy Jose Vargas Kyle Crist Jefri Hernandez
Dylan Heid Hector Nelo Ed Riley Fred Wenz
Ignacio Feliz Mike Hermanson Myles Smith Chris Sinacori
Joey Krehbiel Georges Maranda Cal Koonce Mike Fornieles
Tyler Burch T.J. Burton Edgar Garcia Billy Biggs
Ofreidy Gómez Daniel Turpen Joe Valentine Jose Ortega
Kade Strowd Derek Diaz Angel Nesbitt Domingo Guzman
Cole Uvila Juan Sandoval B.J. Litchfield Douglas Gentry
Morgan McSweeney Marcel Lachemann Oswaldo Pacheco Jack Lazorko
Xavier Moore Harvey Mattingly Mike Barba Darren Hall
Kyle Dowdy T.J. Beam Tim Corcoran Mike Walker
Nick Richmond John Brown Rich Grife William Gerhardt
Wandisson Charles Chris Perry Jeff Ames Ysmael Carmona
Dan Hammer Yoel Espinal Alvin Brown Jeff Soptic

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 Bradish .234 .309 .361 .229 .293 .384 3.9 1.7 3.16 4.29
Dean Kremer .238 .310 .365 .251 .302 .408 3.4 1.5 3.40 4.41
Grayson Rodriguez .229 .292 .384 .236 .298 .398 3.1 1.0 3.49 4.69
Félix Bautista .173 .250 .306 .177 .254 .315 2.9 0.9 1.81 3.70
Tyler Wells .212 .268 .352 .236 .304 .435 2.1 0.5 3.70 4.88
Jack Flaherty .248 .336 .416 .229 .313 .396 2.2 0.1 3.88 5.29
Cade Povich .236 .324 .354 .241 .322 .418 2.0 0.2 3.86 5.12
DL Hall .205 .290 .318 .230 .329 .405 1.8 0.2 3.37 4.93
John Means .235 .283 .388 .250 .302 .439 1.6 0.5 3.78 4.83
Cole Irvin .265 .313 .404 .267 .311 .468 1.8 0.3 4.06 5.16
Garrett Stallings .282 .339 .450 .246 .289 .409 1.8 0.2 3.96 5.19
Bruce Zimmermann .263 .302 .415 .269 .328 .455 1.6 0.1 4.01 5.29
Yennier Cano .250 .314 .395 .234 .297 .383 1.4 0.0 3.12 4.50
Justin Armbruester .268 .344 .443 .247 .315 .399 1.4 0.1 4.23 5.24
Alex Pham .253 .326 .418 .247 .318 .414 1.5 0.2 3.91 4.98
Chayce McDermott .253 .348 .434 .211 .317 .356 1.5 -0.3 4.08 5.44
Trey McGough .258 .311 .361 .271 .323 .469 1.1 0.1 4.09 5.15
Kyle Brnovich .235 .308 .387 .258 .322 .439 1.1 0.2 3.91 5.04
Keegan Akin .230 .275 .311 .253 .309 .446 1.2 0.2 3.41 4.87
Jean Pinto .229 .325 .333 .270 .340 .492 1.1 0.0 4.25 5.26
Ryan Watson .258 .343 .430 .263 .318 .423 1.0 -0.1 4.20 5.35
Peter Van Loon .259 .339 .438 .246 .314 .389 0.9 0.0 4.04 5.24
Seth Johnson .238 .319 .410 .273 .341 .463 0.9 0.0 3.95 5.23
Antonio Velez .268 .303 .408 .270 .318 .448 0.8 0.0 4.06 5.26
Ryan Long .246 .326 .398 .276 .328 .465 1.0 -0.2 4.28 5.39
Mike Baumann .236 .331 .382 .248 .316 .408 1.0 -0.2 3.93 5.30
Tucker Davidson .231 .324 .363 .257 .325 .441 0.9 -0.3 4.12 5.55
Trace Bright .232 .352 .378 .245 .336 .436 1.1 -0.3 4.35 5.51
Brandon Young .255 .327 .388 .270 .336 .478 0.7 0.0 4.19 5.24
Noah Denoyer .245 .342 .408 .248 .324 .421 0.7 -0.3 4.10 5.40
Danny Coulombe .235 .297 .353 .252 .323 .468 0.9 -0.4 3.19 5.33
Keagan Gillies .250 .324 .391 .222 .288 .417 0.6 -0.1 3.38 4.97
Austin Voth .270 .339 .459 .246 .314 .413 0.8 -0.3 4.04 5.59
Jacob Webb .225 .316 .373 .238 .306 .408 0.8 -0.6 3.53 5.46
Cionel Pérez .232 .316 .391 .248 .331 .383 0.7 -0.4 3.63 5.12
Nick Vespi .250 .314 .375 .242 .303 .417 0.6 -0.3 3.40 5.07
Jorge López .266 .349 .461 .243 .321 .368 0.8 -0.5 3.98 5.47
Connor Gillispie .277 .356 .488 .254 .332 .413 0.7 -0.5 4.62 5.72
Jake Lyons .277 .357 .426 .254 .328 .443 0.5 -0.3 4.53 5.59
Ryan Hennen .237 .293 .368 .250 .309 .420 0.4 -0.2 3.45 5.06
Conner Loeprich .250 .324 .385 .272 .328 .456 0.5 -0.3 4.20 5.45
Bryan Baker .223 .315 .362 .244 .321 .412 0.6 -0.6 3.64 5.31
Shintaro Fujinami .239 .363 .387 .228 .329 .376 0.8 -0.9 4.14 5.95
Darwinzon Hernández .174 .333 .283 .233 .364 .433 0.4 -0.6 4.01 5.96
Dillon Tate .260 .348 .429 .235 .299 .383 0.3 -0.6 4.05 5.54
Jensen Elliott .289 .349 .500 .281 .333 .427 0.1 -0.4 4.59 5.74
Houston Roth .266 .367 .461 .265 .343 .445 0.4 -0.8 4.71 6.07
Nathan Webb .271 .378 .486 .229 .323 .386 0.1 -0.6 4.45 5.89
T.J. McFarland .231 .282 .385 .281 .358 .438 0.2 -0.7 3.92 5.74
Carlos Tavera .256 .382 .416 .248 .359 .442 0.3 -0.7 5.03 6.32
Nolan Hoffman .284 .361 .446 .253 .303 .407 0.1 -0.5 4.31 5.33
Mychal Givens .276 .391 .517 .227 .317 .375 0.2 -0.6 4.23 5.91
Ryan Conroy .258 .348 .464 .269 .369 .404 0.2 -0.6 4.51 5.89
Dylan Heid .243 .369 .400 .235 .330 .395 0.1 -0.6 4.17 5.61
Ignacio Feliz .274 .402 .432 .224 .336 .414 0.1 -0.8 4.93 6.23
Joey Krehbiel .250 .349 .389 .255 .325 .441 0.1 -0.7 4.20 5.70
Tyler Burch .274 .354 .493 .262 .330 .417 -0.1 -0.6 4.57 5.78
Ofreidy Gómez .259 .400 .481 .243 .358 .388 0.1 -0.8 4.93 6.57
Kade Strowd .261 .363 .477 .247 .330 .398 0.0 -0.8 4.55 5.84
Cole Uvila .254 .361 .423 .271 .351 .471 0.0 -0.8 4.56 6.25
Morgan McSweeney .270 .379 .459 .236 .330 .404 -0.1 -0.8 4.63 6.01
Xavier Moore .250 .418 .462 .217 .342 .350 -0.1 -0.8 5.06 6.96
Kyle Dowdy .247 .360 .376 .258 .345 .460 0.0 -1.0 4.42 5.99
Nick Richmond .280 .390 .480 .255 .361 .451 -0.3 -0.7 5.19 6.65
Wandisson Charles .247 .382 .452 .231 .344 .385 -0.1 -0.9 4.55 6.25
Dan Hammer .235 .435 .441 .247 .421 .420 -0.6 -1.6 6.10 8.59

Players are listed with their most recent teams wherever possible. This includes players who are unsigned or have retired, players who will miss 2024 due to injury, and players who were released in 2023. So yes, if you see Joe Schmoe, who quit baseball back in August to form a Belgian Death Metal Skiffle Band that only plays songs by Franz Schubert, he’s still listed here intentionally. ZiPS is assuming a league with an ERA of 4.33.

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.

As always, incorrect projections are either caused by flaws in the physical reality of the universe or by the skillful sabotage of our friend and former editor. You can, however, still get mad at me on Twitter.


2024 ZiPS Projections: Toronto Blue Jays

For the 20th 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 and MLB’s glossary entry. The team order is selected by lot, and the next team up is the Toronto Blue Jays.

Batters

None of the projections here will blow your socks off, but on the plus side, very few of them will get your socks wet (and then you’re walking around all day with your feet wet and clammy, and every time you step it makes a little squishing sound, and you think there’s a bit of dirt in there and you’d like to take off your shoes, but that’s why you’re not allowed in Kroger anymore, so you can’t). If social media is any indication, Matt Chapman might be underrated at this point. He was terrible in the second half, but I haven’t found that to be very predictive, and overall, he still gave the Blue Jays about four wins that they now have to replace. Right now, third base, along with left field and designated hitter, looks to be an amalgamation of role players, though I don’t expect that situation to persist through Opening Day, if for no other reason than active rosters aren’t large enough for Toronto to start the season with all three of those unwieldy chimeras. Read the rest of this entry »


2024 ZiPS Projections: Washington Nationals

For the 20th 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 and MLB’s glossary entry. The team order is selected by lot, and the next team up is the Washington Nationals.

Batters

Let’s get the bad news out of the way first. One isn’t the loneliest number on this depth chart, which features the most ones you’ll see outside of a singles mixer. CJ Abrams is the only player to get a two-win projection, and as for any threes, fours, or even something spicier (read: higher)? Well, they’re not invited to this party. We can also dispense with the other bit of bad news: ZiPS is actually more optimistic about a lot of these players than Steamer is.

I was thinking about just ending this writeup there, but that’s too cruel even for me. The good news is that even though the Nationals are unlikely to be very good in 2024, they’re not really supposed to be, and much of this roster is made up of players either still at the start of their career or who nobody in the organization expects to be playing an important role by the time the team is good again. Lane Thomas was a great story this year, as was Joey Meneses in 2022, but does anyone really expect either to be a big part of Washington’s 2027 World Series championship, should that come to pass? The Nats are using this time wisely, and it’s better to look at interesting minor league veterans than washed-up 35-year-olds for the spots you don’t have better prospects to fill. Read the rest of this entry »


2024 ZiPS Projections: Tampa Bay Rays

For the 20th 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 and MLB’s glossary entry. The team order is selected by lot, and the next team up is the Tampa Bay Rays.

Batters

With the sudden collapse of the Cardinals, the Rays are arguably the holders of the crown in the solid-but-not-spectacular department. With one problematic exception, just looking at the depth chart, you see a whole bunch of twos and threes but no obvious MVP candidates, unless Yandy Díaz finds yet another extra gear in him. But there’s also almost nowhere on the diamond where you expect a huge collapse if forced to find an emergency fill-in. Manuel Margot can capably take any outfield job handily, and elsewhere, Curtis Mead, Vidal Bruján, Junior Caminero, and Jonathan Aranda can cover most anything needed outside of catcher. Read the rest of this entry »


2024 ZiPS Projections: New York Mets

For the 20th 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 and MLB’s glossary entry. The team order is selected by lot, and the first team up is the New York Mets.

Batters

At the very least, there’s a good sense of clarity when looking at the Mets depth chart. Francisco Lindor and Brandon Nimmo are plug-and-play options — just stick them in, and if they’re your biggest problem, you’re doomed anyway. Pete Alonso qualifies as that as well, though the Mets are not long from having to make a decision on whether it’s better to offer him a potentially ludicrous contract extension or find a new polar bear (they’re endangered after all!). Jeff McNeil will likely have a season somewhere in between his 2022 and 2023. Francisco Alvarez has a hold on the starting catching job now that he’s outlasted his predecessor (Tomás Nido) and the guy who really, really liked playing said predecessor (Buck Showalter). It’s also obvious that this is a crucial season for Mark Vientos and Brett Baty; the Mets don’t have infinite patience. There likely need to be better solutions in left field, and it’s time to start thinking about a post-Starling Marte right field.

While people are looking for the Mets to make big, splashy signings, it’s also a team that could use an extra bat or two in reserve. With questions at third and in left and right, it’s really hard from a roster standpoint to keep a platoon DH with no defensive value hanging around unless he absolutely crushes his side of the platoon (and Daniel Vogelbach really doesn’t). Eduardo Escobar was traded for good reasons, but he was handy to have around. The fixes to the offense might be low-key because of the need in the next section of this article. There aren’t any young phenoms really threatening to seize a roster spot from any of the offensive stragglers; the Mets have four offensive prospects in our Top 100 who are about a year away from making a real impact in the majors. The fifth, Ronny Mauricio, certainly has upside at second, but then the question becomes how much value McNeil really has as a corner outfielder.

Pitchers

There’s a lot of work to be done here. Kodai Senga is written in with permanent marker, and while ZiPS is very lukewarm — to be nice — about José Quintana, he’s certainly going to be in the rotation as well. After that, the Mets have a deep stable of just-a-guy types; the rotation is probably the biggest hurdle preventing the team from having a nice little bounce-back season. Not to pick on Mike Vasil, who I think will be a serviceable fourth/fifth starter for a while, but if Mike Vasil is this high in the projections, you’ve got some slots to fill. The Mets may have been relieved of the worry of Max Scherzer and Justin Verlander’s inevitable aging curve cliffs, but even if their time with the team didn’t go exactly to plan, without them, the rotation looks like a smoking crater. The good news is that while the free agent market has a real lack of impact bats, starting pitching is well-stocked, even before you consider the availability of Yoshinobu Yamamoto and Shōta Imanaga.

A healthy Edwin Díaz is a boon for the bullpen, though he’s not enough to single-armedly make this a plus unit. The relief corps is less of a smoking crater than the rotation, and ZiPS is more or less is cool with the rest of the group in Brooks Raley, Drew Smith, Trevor Gott, and Phil Bickford. ZiPS sees Josh Walker as a pretty decent swingman option, if a very low-ceiling one. Still, there’s room to improve. I don’t think the starters who fail to make the rotation next spring have electric enough stuff to be overly enthused about their bullpen chances, so the Mets will likely need to find an arm or two here. It doesn’t have to be a Díaz-like arm — good luck finding that — but a couple of mid-tier relievers might keep the wheels from coming off this apple cart.

Ballpark graphic courtesy Eephus League. Depth charts constructed by way of those listed here.

Batters – Standard
Player B Age PO PA AB R H 2B 3B HR RBI BB SO SB CS
Francisco Lindor B 30 SS 646 568 95 146 27 3 27 91 62 123 20 4
Brandon Nimmo L 31 CF 615 530 84 144 27 5 19 66 70 124 3 3
Pete Alonso R 29 1B 646 559 88 141 26 1 40 115 66 140 4 1
Jeff McNeil L 32 2B 575 519 66 147 30 2 10 57 38 63 6 1
Francisco Alvarez R 22 C 483 422 61 97 18 0 23 73 51 131 2 1
Mark Vientos R 24 3B 486 441 55 107 20 2 22 69 37 144 1 1
Brett Baty L 24 3B 509 457 67 113 18 0 19 66 44 139 2 2
Ronny Mauricio B 23 2B 600 565 69 138 25 3 20 74 29 145 18 7
Rafael Ortega L 33 CF 415 361 49 85 18 1 9 37 48 91 12 6
Omar Narváez L 32 C 306 268 31 67 13 1 6 27 31 61 0 1
Danny Mendick R 30 2B 421 382 49 92 15 1 8 43 34 83 7 2
Starling Marte R 35 RF 403 368 55 99 17 2 10 45 23 81 22 5
Daniel Vogelbach L 31 DH 364 306 39 71 12 1 14 48 56 93 0 1
Luisangel Acuña R 22 SS 560 514 73 122 21 2 8 52 42 134 31 7
Jett Williams R 20 SS 547 462 64 99 19 6 11 58 68 156 21 4
Jeremiah Jackson R 24 3B 455 413 47 88 19 1 14 54 34 145 11 5
Zack Short R 29 2B 412 351 46 69 16 0 11 48 53 125 5 2
Rhylan Thomas L 24 LF 344 308 32 81 12 1 2 28 28 37 4 7
Wyatt Young L 24 SS 542 486 58 110 18 2 4 42 50 128 8 2
Luis Guillorme L 29 2B 269 234 25 58 10 1 2 19 31 48 1 1
Drew Gilbert L 23 CF 522 467 65 107 20 2 14 58 44 119 7 4
Matt Rudick L 25 LF 311 268 43 62 12 1 5 33 34 60 7 1
Lorenzo Cedrola R 26 CF 411 375 51 93 14 4 5 44 19 65 11 5
Tim Locastro R 31 LF 203 178 29 39 8 1 4 19 10 51 8 2
Luke Ritter R 27 2B 442 387 47 76 12 1 15 53 43 162 3 1
Tomás Nido R 30 C 251 233 26 53 8 0 5 21 12 64 0 1
Khalil Lee L 26 RF 397 339 46 69 19 1 9 50 43 144 9 5
Nick Meyer R 27 C 282 249 31 54 7 0 4 24 25 69 5 2
Abraham Almonte B 35 RF 290 249 39 53 11 0 10 32 39 84 3 1
Jose Peraza R 30 1B 228 212 24 49 11 1 3 23 8 42 2 1
Carlos Cortes L 27 LF 438 391 48 83 21 1 10 46 40 117 1 1
Jonathan Araúz B 25 SS 439 392 48 85 13 2 10 42 40 106 2 1
Brandon McIlwain R 26 CF 483 428 47 95 19 2 8 53 38 142 10 5
Jaylin Davis R 29 RF 349 307 41 60 12 2 10 38 34 126 2 2
DJ Stewart L 30 RF 378 339 39 75 13 1 13 45 30 104 3 1
Kevin Parada R 22 C 456 415 43 90 19 3 12 52 29 148 0 1
Hayden Senger R 27 C 302 272 28 54 13 1 4 30 21 112 1 1
Mikey Perez R 24 2B 243 216 24 39 7 0 8 27 21 77 6 2
William Lugo R 22 3B 470 428 44 94 19 2 10 49 33 129 3 2
Stanley Consuegra R 23 RF 455 423 50 88 19 3 15 55 25 152 4 3
Daniel Palka L 32 1B 403 364 48 79 14 1 14 45 37 116 2 1
Matt O’Neill R 26 C 254 223 22 37 6 1 4 19 28 111 0 1
Joe Suozzi R 26 1B 348 313 37 66 9 2 6 37 24 120 6 2
Rowdey Jordan B 25 2B 468 414 49 87 18 2 7 44 44 126 13 4
D’Andre Smith R 23 2B 249 228 27 44 11 1 3 24 15 89 4 1
JT Schwartz L 24 1B 347 314 33 72 14 2 3 34 27 75 2 1
Branden Fryman R 26 SS 223 209 19 41 7 1 2 16 8 65 4 2
Jose Mena R 27 C 228 219 14 45 8 0 2 17 7 67 0 1
Alex Ramirez R 21 CF 555 510 58 111 22 2 8 49 39 149 11 6
Mateo Gil R 23 3B 404 375 42 76 17 2 8 39 24 124 3 2
Ryan Clifford L 20 1B 506 441 52 89 15 0 16 59 48 175 2 1
Agustin Ruiz L 24 RF 440 396 46 77 15 1 13 50 31 151 1 1
Jaylen Palmer R 23 LF 463 408 54 67 11 2 10 42 45 212 15 4

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA
Francisco Lindor 646 .257 .336 .458 117 .201 .285 8 4.7 .341
Brandon Nimmo 615 .272 .367 .449 124 .177 .323 2 3.9 .356
Pete Alonso 646 .252 .345 .517 134 .265 .266 0 3.1 .363
Jeff McNeil 575 .283 .347 .407 108 .123 .307 0 2.5 .330
Francisco Alvarez 483 .230 .321 .436 107 .206 .276 0 2.4 .327
Mark Vientos 486 .243 .307 .447 105 .204 .309 0 1.7 .323
Brett Baty 509 .247 .321 .411 101 .164 .314 0 1.6 .320
Ronny Mauricio 600 .244 .285 .405 88 .161 .295 4 1.4 .297
Rafael Ortega 415 .235 .327 .366 91 .130 .291 3 1.2 .307
Omar Narváez 306 .250 .331 .373 95 .123 .303 1 1.2 .310
Danny Mendick 421 .241 .309 .348 82 .107 .289 6 1.1 .292
Starling Marte 403 .269 .328 .408 102 .139 .321 1 1.1 .321
Daniel Vogelbach 364 .232 .352 .415 111 .183 .286 0 0.9 .337
Luisangel Acuña 560 .237 .295 .333 73 .095 .306 2 0.9 .278
Jett Williams 547 .214 .329 .353 89 .139 .298 -10 0.8 .306
Jeremiah Jackson 455 .213 .277 .366 76 .153 .291 7 0.6 .280
Zack Short 412 .197 .304 .336 77 .140 .270 3 0.6 .286
Rhylan Thomas 344 .263 .326 .328 82 .065 .294 9 0.5 .293
Wyatt Young 542 .226 .299 .296 66 .070 .299 5 0.5 .269
Luis Guillorme 269 .248 .337 .325 85 .077 .304 0 0.4 .297
Drew Gilbert 522 .229 .305 .370 86 .141 .278 -3 0.3 .296
Matt Rudick 311 .231 .334 .340 87 .108 .281 1 0.3 .305
Lorenzo Cedrola 411 .248 .302 .347 79 .099 .289 0 0.3 .287
Tim Locastro 203 .219 .308 .343 80 .124 .285 2 0.2 .293
Luke Ritter 442 .196 .290 .349 76 .152 .290 -1 0.1 .283
Tomás Nido 251 .227 .267 .326 63 .099 .293 2 0.1 .261
Khalil Lee 397 .204 .317 .345 83 .142 .323 -1 -0.2 .299
Nick Meyer 282 .217 .297 .293 65 .076 .284 -2 -0.2 .269
Abraham Almonte 290 .213 .321 .378 92 .165 .277 -5 -0.2 .310
Jose Peraza 228 .231 .278 .335 68 .104 .275 4 -0.2 .270
Carlos Cortes 438 .212 .288 .348 75 .136 .277 5 -0.2 .280
Jonathan Araúz 439 .217 .288 .337 72 .120 .272 -5 -0.2 .277
Brandon McIlwain 483 .222 .304 .332 76 .110 .313 -4 -0.2 .285
Jaylin Davis 349 .195 .287 .345 74 .150 .292 3 -0.3 .281
DJ Stewart 378 .221 .296 .381 85 .159 .279 -4 -0.4 .296
Kevin Parada 456 .217 .283 .364 77 .147 .306 -11 -0.5 .284
Hayden Senger 302 .199 .275 .298 59 .099 .321 -3 -0.5 .258
Mikey Perez 243 .181 .264 .324 62 .144 .237 -4 -0.7 .262
William Lugo 470 .220 .283 .343 72 .124 .291 -5 -0.7 .276
Stanley Consuegra 455 .208 .259 .374 72 .165 .285 3 -0.7 .274
Daniel Palka 403 .217 .290 .376 83 .159 .278 -2 -0.7 .291
Matt O’Neill 254 .166 .264 .256 45 .090 .306 0 -0.7 .238
Joe Suozzi 348 .211 .287 .310 65 .099 .321 3 -0.7 .269
Rowdey Jordan 468 .210 .293 .314 68 .104 .285 -6 -0.7 .273
D’Andre Smith 249 .193 .261 .289 52 .096 .301 -1 -0.7 .248
JT Schwartz 347 .229 .300 .315 71 .086 .292 1 -0.7 .275
Branden Fryman 223 .196 .232 .268 38 .072 .275 1 -0.8 .221
Jose Mena 228 .205 .237 .269 40 .064 .287 -2 -1.0 .225
Alex Ramirez 555 .218 .277 .316 64 .098 .292 -3 -1.0 .264
Mateo Gil 404 .203 .253 .323 58 .120 .280 -1 -1.1 .252
Ryan Clifford 506 .202 .296 .345 77 .143 .292 -6 -1.3 .286
Agustin Ruiz 440 .194 .266 .336 65 .141 .276 -2 -1.5 .264
Jaylen Palmer 463 .164 .258 .275 48 .110 .306 5 -1.5 .243

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Francisco Lindor Marcus Semien Ryne Sandberg Ian Kinsler
Brandon Nimmo Earle Combs Robin Yount Phil Cavarretta
Pete Alonso Glenn Davis Justin Morneau Tino Martinez
Jeff McNeil Placido Polanco Fernando Vina Jim Gantner
Francisco Alvarez Gary Carter Stan Holmes Ozzie Virgil
Mark Vientos Austin Riley Juan Guerrero Jeff Hamilton
Brett Baty Chad McDonald Edwin Encarnación Jedd Gyorko
Ronny Mauricio Jordany Valdespin Mike Edwards Paul Dade
Rafael Ortega Nemo Leibold Len Johnston Nick Capra
Omar Narváez Robert Fick Jacob Stallings Michael LaValliere
Danny Mendick Marty Malloy Rod Booker Corey Jones
Starling Marte Howie Bedell Carl Crawford Skeeter Barnes
Daniel Vogelbach John Wockenfuss Erubiel Durazo Pete Ward
Luisangel Acuña Elvis Andrus Rafael Furcal Mike Sharperson
Jett Williams Zeke DeVoss Tommy Harper Sean Rodriguez
Jeremiah Jackson Duncan Campbell Gene Davis Gene Freese
Zack Short Steve Curry Eddie Joost Kelly Heath
Rhylan Thomas Brent Keys Ron McNeely Richard Giallella
Wyatt Young Mark Raynor Nate Mondou Tyler Smith
Luis Guillorme Jerry Browne Ed Giovanola Tim Flannery
Drew Gilbert Everett Graham Brian Kowitz Joe Gaines
Matt Rudick Gerald Bosch Josh Alley Mark Marquess
Lorenzo Cedrola Joe Orsulak Shooty Babitt Alex Diaz
Tim Locastro Juan Ciriaco Brian Hunter Adron Chambers
Luke Ritter Ryan Roberts James Russin Emerito Lopez
Tomás Nido Humberto Quintero Ronnie Freeman Bob Barton
Khalil Lee Al Chambers Nick Plummer Willie Argo
Nick Meyer Jeff Farnham Phil Avlas Darren Niethammer
Abraham Almonte Dwayne Murphy Jose Cruz Jason Bay
Jose Peraza Brent Butler John Wathan Derrick Pyles
Carlos Cortes Caleb Gindl Trey Dyson Gary Borg
Jonathan Araúz Kevin Polcovich Ronnie Merrill Mike Reynolds
Brandon McIlwain Ryan LaMarre Darnell McDonald Brian Turang
Jaylin Davis George Kopacz Mike Berger William Thomas
DJ Stewart Keith Brachold Jay Gainer Sam Vico
Kevin Parada Ryan Luzinski Creighton Gubanich Dennis Paepke
Hayden Senger John Nester Casey Snow Doug Davis
Mikey Perez J.E. Cruz Donald Kinzel Heinie Scheer
William Lugo Rob Sperring Craig Seegmiller Ty Waller
Stanley Consuegra Collin DeLome Bobby DeLoach Edwin Neal
Daniel Palka Brad Nelson Pat Putnam Mike Jacobs
Matt O’Neill Dan Plante Paul Bradley Buddy Pryor
Joe Suozzi Cameron Monger Juan Rodriguez Taylor Kohlwey
Rowdey Jordan Harry Chappas Mike Myers Andy Fox
D’Andre Smith Justino Cuevas Glenn Osinski Jason Stidham
JT Schwartz Mark Manering Dan Arendas Derek Nicholson
Branden Fryman Niko Gallego Kenny Krey Kyle Padgett
Jose Mena Jayson Hernandez Tony Gilmore Carlos Dominguez
Alex Ramirez Ted Parks Gorkys Hernandez Mickey Stanley
Mateo Gil Alex Valdez Joseph Monty Greg Sinatro
Ryan Clifford Brant Colamarino Brad Pounders Joey Votto
Agustin Ruiz Joe De Berry Chad Townsend David Mowry
Jaylen Palmer John Cotton Angelo Dagres Tom Johnson

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
Francisco Lindor .278 .358 .514 135 6.3 .233 .311 .411 99 3.3
Brandon Nimmo .294 .390 .504 142 5.2 .246 .340 .405 106 2.6
Pete Alonso .276 .372 .580 156 4.8 .229 .321 .461 113 1.4
Jeff McNeil .308 .373 .445 124 3.6 .257 .325 .365 92 1.4
Francisco Alvarez .256 .348 .496 130 3.7 .200 .292 .379 87 1.3
Mark Vientos .270 .332 .515 130 3.1 .216 .277 .383 83 0.4
Brett Baty .273 .348 .465 123 2.9 .223 .296 .361 82 0.3
Ronny Mauricio .267 .309 .464 108 2.9 .222 .261 .360 72 0.0
Rafael Ortega .262 .357 .414 109 2.1 .208 .297 .316 71 0.2
Omar Narváez .277 .357 .422 113 1.9 .222 .305 .325 73 0.4
Danny Mendick .270 .334 .389 100 2.1 .216 .282 .306 66 0.3
Starling Marte .297 .355 .457 120 2.1 .244 .303 .368 86 0.3
Daniel Vogelbach .258 .379 .472 129 1.8 .203 .325 .367 91 0.1
Luisangel Acuña .265 .321 .374 91 2.1 .212 .269 .295 57 -0.2
Jett Williams .242 .358 .409 109 2.1 .191 .305 .306 70 -0.5
Jeremiah Jackson .240 .301 .416 94 1.7 .190 .254 .318 57 -0.4
Zack Short .225 .330 .390 95 1.6 .170 .274 .296 57 -0.4
Rhylan Thomas .294 .354 .369 99 1.3 .236 .300 .297 66 -0.2
Wyatt Young .248 .321 .329 80 1.4 .200 .276 .265 53 -0.4
Luis Guillorme .275 .362 .369 102 0.9 .218 .304 .286 67 -0.2
Drew Gilbert .254 .330 .421 104 1.6 .205 .280 .325 68 -0.8
Matt Rudick .256 .361 .383 106 1.0 .209 .310 .300 74 -0.3
Lorenzo Cedrola .279 .328 .392 98 1.2 .225 .278 .309 62 -0.6
Tim Locastro .247 .336 .388 99 0.7 .191 .283 .290 61 -0.3
Luke Ritter .226 .318 .404 97 1.2 .169 .265 .297 56 -0.9
Tomás Nido .261 .302 .378 85 0.7 .199 .239 .286 46 -0.5
Khalil Lee .228 .339 .390 100 0.6 .174 .289 .294 65 -1.0
Nick Meyer .250 .332 .334 85 0.6 .188 .267 .257 47 -0.8
Abraham Almonte .236 .350 .427 111 0.5 .187 .290 .322 72 -0.9
Jose Peraza .262 .308 .383 87 0.3 .206 .253 .294 51 -0.7
Carlos Cortes .237 .313 .393 94 0.8 .188 .260 .302 56 -1.2
Jonathan Araúz .245 .314 .385 90 0.7 .188 .261 .292 52 -1.3
Brandon McIlwain .244 .328 .368 90 0.6 .199 .279 .291 59 -1.3
Jaylin Davis .221 .317 .400 94 0.5 .170 .256 .298 55 -1.2
DJ Stewart .250 .329 .440 109 0.6 .194 .269 .328 67 -1.3
Kevin Parada .245 .307 .413 99 0.7 .191 .256 .318 60 -1.5
Hayden Senger .229 .307 .343 79 0.3 .171 .247 .252 40 -1.2
Mikey Perez .209 .292 .401 88 0.2 .155 .242 .274 46 -1.2
William Lugo .247 .311 .382 89 0.4 .196 .258 .298 56 -1.6
Stanley Consuegra .236 .285 .423 91 0.4 .185 .235 .329 55 -1.6
Daniel Palka .242 .317 .436 107 0.5 .187 .261 .324 62 -1.7
Matt O’Neill .195 .292 .308 64 -0.1 .137 .229 .217 27 -1.3
Joe Suozzi .234 .309 .354 82 0.0 .184 .260 .271 48 -1.4
Rowdey Jordan .235 .320 .356 86 0.4 .186 .271 .277 53 -1.6
D’Andre Smith .220 .285 .334 70 -0.2 .170 .234 .245 34 -1.3
JT Schwartz .253 .327 .358 88 0.0 .206 .279 .284 57 -1.3
Branden Fryman .222 .259 .309 55 -0.2 .168 .204 .228 20 -1.3
Jose Mena .241 .268 .311 60 -0.4 .178 .206 .234 23 -1.5
Alex Ramirez .242 .300 .354 79 0.1 .192 .252 .275 46 -2.2
Mateo Gil .226 .278 .370 75 -0.1 .176 .229 .285 41 -1.9
Ryan Clifford .224 .323 .391 94 -0.3 .173 .272 .305 59 -2.5
Agustin Ruiz .223 .295 .382 84 -0.5 .170 .242 .288 47 -2.5
Jaylen Palmer .190 .284 .322 64 -0.6 .139 .231 .232 28 -2.6

Batters – Projected Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Francisco Lindor .262 .341 .470 .255 .334 .452
Brandon Nimmo .268 .356 .439 .273 .372 .453
Pete Alonso .247 .350 .505 .255 .343 .523
Jeff McNeil .275 .343 .383 .286 .348 .416
Francisco Alvarez .235 .338 .449 .226 .306 .425
Mark Vientos .251 .321 .462 .236 .294 .434
Brett Baty .239 .313 .390 .252 .325 .423
Ronny Mauricio .237 .280 .384 .249 .288 .419
Rafael Ortega .222 .315 .333 .239 .330 .375
Omar Narváez .241 .328 .328 .252 .332 .386
Danny Mendick .240 .315 .342 .242 .305 .352
Starling Marte .262 .321 .417 .272 .331 .404
Daniel Vogelbach .203 .321 .362 .241 .360 .430
Luisangel Acuña .238 .303 .333 .237 .290 .332
Jett Williams .213 .333 .362 .215 .326 .347
Jeremiah Jackson .219 .287 .385 .209 .270 .352
Zack Short .205 .323 .343 .189 .286 .330
Rhylan Thomas .256 .323 .291 .266 .328 .342
Wyatt Young .221 .296 .290 .229 .301 .299
Luis Guillorme .238 .324 .270 .251 .342 .345
Drew Gilbert .221 .299 .352 .232 .306 .377
Matt Rudick .224 .327 .294 .235 .338 .361
Lorenzo Cedrola .255 .309 .378 .241 .296 .316
Tim Locastro .221 .302 .377 .218 .313 .317
Luke Ritter .200 .304 .352 .194 .280 .347
Tomás Nido .230 .272 .333 .226 .265 .322
Khalil Lee .201 .318 .321 .205 .317 .361
Nick Meyer .214 .302 .295 .219 .294 .292
Abraham Almonte .207 .317 .356 .216 .323 .389
Jose Peraza .237 .275 .329 .228 .279 .338
Carlos Cortes .209 .277 .328 .214 .293 .358
Jonathan Araúz .212 .284 .322 .220 .291 .346
Brandon McIlwain .225 .313 .337 .220 .299 .328
Jaylin Davis .198 .298 .344 .193 .278 .347
DJ Stewart .218 .292 .356 .222 .298 .389
Kevin Parada .215 .282 .348 .218 .284 .374
Hayden Senger .204 .280 .327 .195 .271 .277
Mikey Perez .183 .269 .312 .179 .261 .333
William Lugo .223 .290 .349 .217 .278 .340
Stanley Consuegra .213 .269 .388 .204 .252 .363
Daniel Palka .209 .283 .348 .221 .293 .390
Matt O’Neill .165 .276 .275 .167 .255 .242
Joe Suozzi .217 .294 .333 .207 .283 .293
Rowdey Jordan .210 .296 .308 .210 .292 .317
D’Andre Smith .191 .265 .270 .194 .258 .302
JT Schwartz .212 .284 .303 .237 .307 .321
Branden Fryman .200 .244 .294 .194 .223 .250
Jose Mena .213 .245 .287 .200 .231 .256
Alex Ramirez .221 .283 .315 .215 .273 .316
Mateo Gil .203 .259 .320 .203 .249 .324
Ryan Clifford .191 .293 .322 .206 .298 .353
Agustin Ruiz .189 .262 .315 .197 .268 .346
Jaylen Palmer .166 .264 .278 .163 .253 .272

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Kodai Senga R 31 11 8 3.63 28 28 161.0 132 65 18 76 190
Edwin Díaz R 30 4 2 2.62 56 0 55.0 36 16 4 18 87
David Peterson L 28 6 7 4.49 29 24 126.3 120 63 15 58 138
Mike Vasil R 24 5 5 4.40 25 24 110.3 107 54 14 41 102
Coleman Crow R 23 4 6 4.47 19 19 100.7 100 50 12 33 87
Dominic Hamel R 25 6 7 4.65 25 24 110.3 107 57 14 50 107
Tylor Megill R 28 7 9 4.83 26 25 128.7 137 69 19 51 111
José Quintana L 35 5 5 4.61 22 19 99.7 108 51 12 39 86
José Butto R 26 6 7 4.86 25 23 116.7 118 63 16 51 100
Tyler Stuart R 24 4 5 4.83 21 21 100.7 107 54 13 36 75
Joey Lucchesi L 31 5 8 4.93 22 21 107.7 113 59 15 47 87
Denyi Reyes R 27 3 4 4.90 24 17 93.7 104 51 13 28 68
Peyton Battenfield R 26 5 6 5.02 21 20 100.3 108 56 15 40 69
Josh Walker L 29 4 3 4.40 25 8 59.3 60 29 7 23 55
Landon Marceaux R 24 5 7 4.97 19 19 83.3 95 46 11 28 49
Justin Jarvis R 24 6 10 5.13 23 23 108.7 112 62 16 58 98
Humberto Mejia R 27 4 6 4.92 16 15 71.3 78 39 10 25 54
Adam Ottavino R 38 4 3 3.98 57 0 52.0 46 23 5 25 55
Nate Lavender L 24 4 4 4.00 40 1 54.0 44 24 6 27 69
Robert Colina R 23 4 6 4.90 22 9 68.0 71 37 10 24 60
Dylan Bundy R 31 4 5 5.15 17 17 80.3 86 46 14 21 61
Dylan Tebrake R 24 2 2 4.02 25 1 40.3 37 18 4 21 44
Jose Chacin R 27 4 6 5.28 23 18 92.0 104 54 15 30 64
Junior Santos R 22 5 9 5.31 26 16 95.0 107 56 11 43 57
Phil Bickford R 28 4 4 4.22 59 0 64.0 55 30 8 26 71
Jordan Geber R 24 3 4 5.06 15 8 58.7 67 33 10 15 39
Connor Grey R 30 3 4 5.29 17 14 68.0 73 40 9 29 52
Blade Tidwell R 23 6 10 5.44 24 24 101.0 98 61 15 64 100
Joander Suarez R 24 5 9 5.46 21 19 87.3 89 53 13 47 80
Sean Reid-Foley R 28 2 2 4.76 26 6 45.3 39 24 7 29 61
Oscar Rojas R 25 4 6 5.35 17 13 67.3 75 40 10 27 48
Trevor Gott R 31 3 3 4.35 41 0 39.3 36 19 5 15 41
Drew Smith R 30 4 4 4.36 54 0 53.7 48 26 8 23 56
Brooks Raley L 36 1 2 4.40 56 0 45.0 41 22 5 20 50
Eric Orze R 26 3 4 4.55 36 1 55.3 50 28 7 31 59
Daniel Juarez L 23 3 3 4.82 36 2 52.3 50 28 6 25 48
Dennis Santana R 28 4 5 4.70 44 3 51.7 48 27 6 27 53
Carlos Carrasco R 37 4 7 5.62 18 18 81.7 96 51 14 32 68
Grant Hartwig R 26 5 7 4.58 46 0 59.0 55 30 6 29 59
Bryce Montes de Oca R 28 2 2 4.78 29 1 32.0 26 17 3 22 41
David Griffin R 27 3 6 5.52 20 14 73.3 82 45 11 35 51
Benito Garcia R 24 3 4 5.11 27 3 49.3 56 28 8 13 34
John Curtiss R 31 1 2 4.78 31 1 37.7 37 20 6 16 38
Josh Hejka R 27 2 3 4.89 27 1 46.0 49 25 5 16 32
Dedniel Núñez R 28 2 4 4.91 33 1 51.3 51 28 7 26 51
Bubby Rossman R 32 2 4 5.30 27 5 37.3 38 22 5 23 34
Nolan Clenney R 28 2 3 4.84 32 0 57.7 58 31 8 25 57
Tyler Thomas L 28 1 2 4.85 26 0 39.0 38 21 5 19 37
Sam Coonrod R 31 1 1 5.40 28 2 25.0 24 15 2 16 23
Trey McLoughlin R 25 3 4 4.89 31 0 46.0 48 25 8 16 41
Reed Garrett R 31 2 2 5.24 28 0 34.3 37 20 4 17 30
William Woods R 25 2 2 5.18 35 0 48.7 49 28 7 22 43
Tommy Hunter R 37 1 1 5.40 17 0 23.3 27 14 5 7 18
Jimmy Yacabonis R 32 2 4 5.45 30 1 36.3 38 22 5 19 33
Tony Dibrell R 28 2 4 6.20 11 9 40.7 46 28 7 25 32
Matt Minnick L 28 2 3 5.40 26 0 35.0 35 21 5 19 31
Eli Ankeney L 23 3 4 5.48 31 1 42.7 41 26 6 28 41
Brian Metoyer R 27 1 2 5.95 15 0 19.7 17 13 3 16 24
Hunter Parsons R 27 3 4 5.29 33 0 49.3 49 29 7 27 48
Tyler Jay L 30 1 1 5.71 21 1 34.7 38 22 6 16 33
Jeff Brigham R 32 2 3 5.40 42 0 45.0 41 27 8 24 48
Paul Gervase R 24 2 4 5.36 36 0 50.3 42 30 6 42 60
Justin Courtney R 27 2 3 5.61 23 0 33.7 38 21 6 16 27
Marcel Rentería R 29 1 1 5.96 18 0 25.7 27 17 4 16 21
Brendan Hardy R 24 1 2 6.11 24 0 28.0 24 19 4 24 34
Luis Moreno R 25 2 4 5.75 25 1 51.7 57 33 9 22 41
Wilkin Ramos R 23 2 5 5.58 34 0 50.0 48 31 6 38 45
Joey Lancellotti R 26 1 1 6.34 28 1 44.0 49 31 8 29 35
Troy Miller R 27 2 6 7.16 12 11 49.0 58 39 13 32 38
Quinn Brodey L 28 0 2 7.71 20 0 25.7 30 22 6 22 21

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ FIP ERA- WAR
Kodai Senga 161.0 10.6 4.2 1.0 10.9% 27.3% .287 122 3.86 82 3.4
Edwin Díaz 55.0 14.2 2.9 0.7 8.2% 39.7% .299 169 2.29 59 1.6
David Peterson 126.3 9.8 4.1 1.1 10.4% 24.8% .311 98 4.16 102 1.6
Mike Vasil 110.3 8.3 3.3 1.1 8.6% 21.3% .296 100 4.25 100 1.4
Coleman Crow 100.7 7.8 3.0 1.1 7.6% 20.1% .297 99 4.24 101 1.3
Dominic Hamel 110.3 8.7 4.1 1.1 10.2% 21.9% .301 95 4.46 105 1.2
Tylor Megill 128.7 7.8 3.6 1.3 9.0% 19.5% .307 92 4.76 109 1.2
José Quintana 99.7 7.8 3.5 1.1 8.8% 19.4% .318 96 4.33 104 1.1
José Butto 116.7 7.7 3.9 1.2 9.9% 19.4% .297 91 4.84 110 1.0
Tyler Stuart 100.7 6.7 3.2 1.2 8.1% 16.9% .300 91 4.67 109 0.9
Joey Lucchesi 107.7 7.3 3.9 1.3 9.8% 18.2% .301 90 4.84 112 0.9
Denyi Reyes 93.7 6.5 2.7 1.2 6.9% 16.7% .306 90 4.63 111 0.8
Peyton Battenfield 100.3 6.2 3.6 1.3 9.0% 15.5% .293 88 5.08 114 0.7
Josh Walker 59.3 8.3 3.5 1.1 8.9% 21.2% .308 100 4.15 100 0.7
Landon Marceaux 83.3 5.3 3.0 1.2 7.5% 13.1% .302 89 4.91 112 0.7
Justin Jarvis 108.7 8.1 4.8 1.3 11.7% 19.8% .304 86 5.02 116 0.6
Humberto Mejia 71.3 6.8 3.2 1.3 8.0% 17.3% .305 90 4.74 111 0.6
Adam Ottavino 52.0 9.5 4.3 0.9 11.0% 24.1% .295 111 4.12 90 0.5
Nate Lavender 54.0 11.5 4.5 1.0 11.6% 29.7% .297 110 3.92 91 0.5
Robert Colina 68.0 7.9 3.2 1.3 8.0% 20.0% .305 90 4.68 111 0.5
Dylan Bundy 80.3 6.8 2.4 1.6 6.1% 17.7% .293 86 4.90 117 0.5
Dylan Tebrake 40.3 9.8 4.7 0.9 11.7% 24.4% .308 110 3.92 91 0.4
Jose Chacin 92.0 6.3 2.9 1.5 7.4% 15.7% .303 84 5.09 120 0.4
Junior Santos 95.0 5.4 4.1 1.0 10.0% 13.3% .304 83 5.01 120 0.4
Phil Bickford 64.0 10.0 3.7 1.1 9.6% 26.3% .287 105 4.02 96 0.4
Jordan Geber 58.7 6.0 2.3 1.5 5.8% 15.1% .302 87 4.96 115 0.3
Connor Grey 68.0 6.9 3.8 1.2 9.5% 17.1% .303 83 4.99 120 0.3
Blade Tidwell 101.0 8.9 5.7 1.3 13.8% 21.5% .297 81 5.31 123 0.3
Joander Suarez 87.3 8.2 4.8 1.3 11.8% 20.0% .302 81 5.21 124 0.3
Sean Reid-Foley 45.3 12.1 5.8 1.4 14.3% 30.0% .308 93 4.62 108 0.3
Oscar Rojas 67.3 6.4 3.6 1.3 8.9% 15.9% .304 83 5.14 121 0.2
Trevor Gott 39.3 9.4 3.4 1.1 9.0% 24.7% .295 102 4.12 98 0.2
Drew Smith 53.7 9.4 3.9 1.3 10.0% 24.5% .284 101 4.56 99 0.2
Brooks Raley 45.0 10.0 4.0 1.0 10.3% 25.8% .305 100 4.08 100 0.2
Eric Orze 55.3 9.6 5.0 1.1 12.6% 23.9% .295 97 4.61 103 0.2
Daniel Juarez 52.3 8.3 4.3 1.0 10.8% 20.7% .295 92 4.52 109 0.2
Dennis Santana 51.7 9.2 4.7 1.0 11.7% 22.9% .298 94 4.46 106 0.2
Carlos Carrasco 81.7 7.5 3.5 1.5 8.6% 18.4% .324 79 5.14 127 0.1
Grant Hartwig 59.0 9.0 4.4 0.9 11.2% 22.7% .301 97 4.36 104 0.1
Bryce Montes de Oca 32.0 11.5 6.2 0.8 14.9% 27.7% .303 92 4.44 108 0.1
David Griffin 73.3 6.3 4.3 1.4 10.5% 15.3% .303 80 5.45 125 0.1
Benito Garcia 49.3 6.2 2.4 1.5 6.0% 15.7% .304 86 4.96 116 0.1
John Curtiss 37.7 9.1 3.8 1.4 9.8% 23.2% .301 92 4.66 108 0.0
Josh Hejka 46.0 6.3 3.1 1.0 8.0% 15.9% .301 90 4.71 111 0.0
Dedniel Núñez 51.3 8.9 4.6 1.2 11.3% 22.1% .308 90 4.62 111 0.0
Bubby Rossman 37.3 8.2 5.5 1.2 13.3% 19.7% .306 83 5.10 120 0.0
Nolan Clenney 57.7 8.9 3.9 1.2 9.8% 22.3% .309 91 4.54 110 0.0
Tyler Thomas 39.0 8.5 4.4 1.2 11.0% 21.4% .300 91 4.79 110 0.0
Sam Coonrod 25.0 8.3 5.8 0.7 13.9% 20.0% .306 82 4.74 122 0.0
Trey McLoughlin 46.0 8.0 3.1 1.6 7.9% 20.3% .299 90 4.78 111 -0.1
Reed Garrett 34.3 7.9 4.5 1.0 10.8% 19.1% .317 84 4.59 119 -0.1
William Woods 48.7 8.0 4.1 1.3 10.2% 20.0% .298 85 4.84 117 -0.2
Tommy Hunter 23.3 6.9 2.7 1.9 6.8% 17.5% .306 82 5.53 122 -0.2
Jimmy Yacabonis 36.3 8.2 4.7 1.2 11.5% 20.0% .311 81 5.04 123 -0.2
Tony Dibrell 40.7 7.1 5.5 1.5 13.0% 16.6% .310 71 5.91 140 -0.2
Matt Minnick 35.0 8.0 4.9 1.3 12.0% 19.6% .297 82 5.23 122 -0.2
Eli Ankeney 42.7 8.6 5.9 1.3 14.4% 21.0% .294 81 5.27 124 -0.2
Brian Metoyer 19.7 11.0 7.3 1.4 16.5% 24.7% .292 74 5.54 135 -0.2
Hunter Parsons 49.3 8.8 4.9 1.3 11.9% 21.2% .302 83 5.04 120 -0.2
Tyler Jay 34.7 8.6 4.2 1.6 10.2% 21.0% .317 77 5.25 129 -0.2
Jeff Brigham 45.0 9.6 4.8 1.6 12.0% 24.0% .282 82 5.30 122 -0.3
Paul Gervase 50.3 10.7 7.5 1.1 17.7% 25.3% .290 82 5.22 121 -0.3
Justin Courtney 33.7 7.2 4.3 1.6 10.3% 17.3% .311 79 5.48 127 -0.3
Marcel Rentería 25.7 7.4 5.6 1.4 13.1% 17.2% .299 74 5.98 135 -0.4
Brendan Hardy 28.0 10.9 7.7 1.3 17.6% 25.0% .294 72 5.68 138 -0.4
Luis Moreno 51.7 7.1 3.8 1.6 9.3% 17.4% .304 77 5.44 130 -0.5
Wilkin Ramos 50.0 8.1 6.8 1.1 16.2% 19.1% .294 79 5.60 126 -0.5
Joey Lancellotti 44.0 7.2 5.9 1.6 13.6% 16.4% .304 70 6.14 144 -0.7
Troy Miller 49.0 7.0 5.9 2.4 13.6% 16.2% .300 62 7.17 162 -0.7
Quinn Brodey 25.7 7.4 7.7 2.1 16.9% 16.2% .308 57 7.70 175 -0.9

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Kodai Senga David Cone Bob Lemon Bob Gibson
Edwin Díaz Robb Nen Duane Ward Tom Henke
David Peterson David Purcey Roenis Elías 엘리아스 Francisco Liriano
Mike Vasil Enrique Gonzalez Kris Benson Ben Sheets
Coleman Crow Buddy Harris Pat Cristelli Jackson Todd
Dominic Hamel Jeff Hoffman Dave Freisleben Brian Holman
Tylor Megill Wily Peralta Pete Hernandez Jose Urena
José Quintana Tommy John Chet Johnson Danny Jackson
José Butto A.J. Cole Eddie Butler 버틀러 Wade Davis
Tyler Stuart Henderson Alvarez III Leslie Bass Bryse Wilson
Joey Lucchesi Paul Splittorff Tom Zachary Shane Rawley
Denyi Reyes Mark Ciardi Tyler Wilson윌슨 Jason Stephens
Peyton Battenfield Doyle Lade Keith Couch Steve Comer
Josh Walker Jose Alvarez Jon Switzer Tyler Olson
Landon Marceaux Erskine Thomason Shawn Purdy Jonathan Johnson
Justin Jarvis Nathan Bumstead Brett Marshall Chris Reed
Humberto Mejia Ismael Ramirez Jim Melton Mark Johnson
Adam Ottavino Al Worthington Stu Miller Salomon Torres 토레스
Nate Lavender Tim Collins Bill Wilkinson Chasen Shreve
Robert Colina Victor Arano Mickey Sinks Tom Johnson
Dylan Bundy Chad Ogea Ismael Valdez Glenn Abbott
Dylan Tebrake Rick Carriger Miguel Valdez Kurt Mattson
Jose Chacin Walker Lockett Reggie McClain Greg Beck
Junior Santos Dick Calmus Steve Anderson Nick Struck
Phil Bickford Pat Dobson Jim Brosnan Ryan Tepera
Jordan Geber Gonzalo Sanudo Brad Tippitt Ricky Bennett
Connor Grey Jorge De Paula Logan Bawcom Oswaldo Verdugo
Blade Tidwell Connor Graham Dan Cortes Chuck Murray
Joander Suarez Steve Watkins Eddie Watt Mike Anderson
Sean Reid-Foley Spencer Patton Mark Corey Fernando Cabrera
Oscar Rojas Eric Boudreaux Dale Spier Travis Risser
Trevor Gott Mike Schooler Johnny Murphy Tim Scott
Drew Smith Ryan Tepera Dave Tobik Pedro Baez
Brooks Raley Rheal Cormier Neal Cotts Mike Stanton
Eric Orze Roger Weaver Dayan Diaz Yoervis Medina
Daniel Juarez Doug Stockam Dennis DeBarr Oscar Alvarez
Dennis Santana Scott Medvin Kevin Campbell Yoervis Medina
Carlos Carrasco Joe Orrell T.J. Mathews General Crowder
Grant Hartwig Ryan Pressly Tim Drummond Dave Klenda
Bryce Montes de Oca Horacio Pina Bill Wilson Todd Schmitt
David Griffin James Avery Gary Goldsmith Hansel Izquierdo
Benito Garcia Ricky Bennett Gonzalo Sanudo Brandon Berl
John Curtiss Don Cooper Jack Aker Claude Raymond
Josh Hejka Ron Rightnowar Ivan Zavala Dave Smith
Dedniel Núñez Justin Huisman Chad Paronto Tim Lavigne
Bubby Rossman Mike Buddie Jay Powell George Culver
Nolan Clenney Scott McGough Mark Serrano Dave Gil
Tyler Thomas Bob Buchanan Frank Gailey Dick Luebke
Sam Coonrod Jack Berly Luis Peraza Juan Cerros
Trey McLoughlin Keith Cantwell Kevin Ponder Chris Niesel
Reed Garrett Blaine Boyer Bob Trowbridge Casey Daigle
William Woods Cam Hill Matty Ott Ken Kendrena
Tommy Hunter Clint Brown Dennis Eckersley Dick Hall
Jimmy Yacabonis Chris Resop Chris Bodishbaugh Terry Pearson
Tony Dibrell Aaron Wilson Jeff Letourneau Sean Black
Matt Minnick Joe Harris Mike Santiago Sean Runyan
Eli Ankeney Adam Bright Carlos Cabassa Jamie Eppeneder
Brian Metoyer Johnny Humphries Dick Drott George Smith
Hunter Parsons Matt Peterson R.J. Seidel Steve Cline
Tyler Jay Zach Baldwin Rommie Lewis Dallas Mahan
Jeff Brigham Wes Stock Ron Schueler Vicente Romo
Paul Gervase Tommy Kahnle Zac Houston Matt Anderson
Justin Courtney Ernie Baker Joe Maskivish William Drummond
Marcel Rentería Mike Heinen Daryl Patterson Bradley Meyring
Brendan Hardy Steven Lovins Mike Barba Lon Morton
Luis Moreno Bob Davidson Zac Reininger Tom Kibbee
Wilkin Ramos Don O’Riley Ben Ford Vic Martin
Joey Lancellotti John Thompson Justin Ferrell Wander Alvino
Troy Miller Noah Piard Brad Purcell Mickey Reichenbach
Quinn Brodey Jaime Escamilla Ben Griset Eric White

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
Kodai Senga .220 .321 .361 .217 .297 .353 4.6 2.2 2.99 4.37
Edwin Díaz .157 .257 .281 .202 .273 .294 2.3 0.6 1.69 4.37
David Peterson .234 .308 .375 .248 .338 .399 2.6 0.5 3.81 5.19
Mike Vasil .243 .309 .421 .254 .323 .395 2.2 0.6 3.82 5.13
Coleman Crow .258 .330 .429 .249 .308 .385 2.0 0.5 3.89 5.24
Dominic Hamel .251 .336 .402 .247 .328 .411 1.9 0.4 4.20 5.29
Tylor Megill .284 .363 .486 .249 .309 .401 2.0 0.3 4.29 5.41
José Quintana .250 .311 .365 .276 .343 .444 1.7 0.4 3.88 5.52
José Butto .270 .365 .435 .246 .317 .412 1.7 0.1 4.31 5.57
Tyler Stuart .286 .354 .438 .247 .311 .419 1.6 0.3 4.26 5.45
Joey Lucchesi .243 .333 .346 .271 .341 .461 1.5 0.0 4.34 5.87
Denyi Reyes .277 .338 .463 .274 .321 .428 1.3 0.2 4.38 5.51
Peyton Battenfield .267 .338 .445 .271 .335 .448 1.2 0.1 4.59 5.61
Josh Walker .219 .284 .370 .273 .341 .422 1.2 0.1 3.70 5.36
Landon Marceaux .261 .333 .416 .299 .344 .480 1.0 0.2 4.55 5.54
Justin Jarvis .257 .346 .432 .264 .351 .438 1.2 -0.1 4.70 5.79
Humberto Mejia .286 .356 .474 .260 .315 .422 1.1 0.1 4.35 5.64
Adam Ottavino .273 .385 .429 .205 .295 .320 1.1 -0.2 3.10 5.25
Nate Lavender .221 .321 .324 .215 .323 .378 1.1 -0.1 3.27 4.97
Robert Colina .277 .336 .423 .250 .329 .450 1.0 0.0 4.20 5.75
Dylan Bundy .284 .329 .471 .253 .304 .464 0.9 -0.1 4.61 5.81
Dylan Tebrake .247 .341 .390 .231 .315 .359 0.8 0.0 3.35 4.80
Jose Chacin .263 .332 .468 .292 .341 .470 1.0 -0.1 4.72 5.88
Junior Santos .292 .374 .456 .268 .336 .413 0.8 -0.2 4.90 5.91
Phil Bickford .233 .322 .369 .221 .295 .386 0.9 -0.3 3.52 5.17
Jordan Geber .281 .325 .491 .282 .323 .460 0.8 -0.1 4.41 5.87
Connor Grey .270 .366 .443 .267 .335 .433 0.7 -0.2 4.74 6.00
Blade Tidwell .253 .376 .411 .245 .347 .436 0.9 -0.6 4.91 6.21
Joander Suarez .278 .382 .489 .237 .328 .385 1.0 -0.3 4.80 6.07
Sean Reid-Foley .224 .353 .412 .230 .333 .402 0.7 -0.2 3.89 5.88
Oscar Rojas .280 .363 .432 .273 .335 .481 0.6 -0.2 4.84 5.99
Trevor Gott .258 .338 .424 .224 .295 .376 0.6 -0.2 3.51 5.40
Drew Smith .231 .327 .374 .237 .313 .439 0.8 -0.4 3.61 5.30
Brooks Raley .193 .281 .281 .259 .351 .431 0.8 -0.5 3.17 6.53
Eric Orze .226 .360 .387 .244 .321 .395 0.7 -0.4 3.81 5.45
Daniel Juarez .227 .307 .333 .255 .348 .423 0.6 -0.3 4.20 5.70
Dennis Santana .241 .347 .414 .239 .331 .372 0.5 -0.4 4.12 5.69
Carlos Carrasco .285 .363 .487 .288 .344 .480 0.6 -0.6 4.99 6.53
Grant Hartwig .240 .360 .365 .242 .321 .387 0.6 -0.4 3.91 5.39
Bryce Montes de Oca .218 .368 .364 .215 .350 .338 0.4 -0.3 4.01 5.94
David Griffin .275 .353 .478 .278 .368 .443 0.5 -0.5 5.03 6.28
Benito Garcia .289 .340 .495 .272 .321 .447 0.5 -0.3 4.34 5.81
John Curtiss .250 .320 .397 .253 .333 .481 0.3 -0.3 4.06 5.75
Josh Hejka .275 .359 .438 .262 .330 .398 0.3 -0.3 4.33 5.52
Dedniel Núñez .268 .360 .464 .240 .322 .385 0.5 -0.5 4.11 5.81
Bubby Rossman .250 .349 .375 .267 .371 .480 0.3 -0.4 4.58 6.29
Nolan Clenney .260 .359 .450 .252 .314 .402 0.5 -0.5 4.11 5.74
Tyler Thomas .250 .328 .442 .250 .356 .400 0.4 -0.4 4.03 5.71
Sam Coonrod .267 .400 .422 .231 .339 .346 0.2 -0.2 4.64 6.12
Trey McLoughlin .247 .312 .424 .276 .327 .490 0.4 -0.5 4.11 5.88
Reed Garrett .262 .357 .443 .273 .345 .416 0.2 -0.4 4.42 6.30
William Woods .272 .362 .424 .242 .315 .434 0.2 -0.5 4.44 5.81
Tommy Hunter .298 .353 .596 .271 .321 .458 0.0 -0.4 4.44 6.59
Jimmy Yacabonis .266 .382 .453 .263 .341 .425 0.2 -0.5 4.57 6.38
Tony Dibrell .263 .378 .434 .292 .379 .517 0.1 -0.6 5.51 6.96
Matt Minnick .256 .360 .419 .255 .355 .436 0.1 -0.6 4.72 6.31
Eli Ankeney .241 .359 .389 .250 .361 .438 0.2 -0.6 4.69 6.35
Brian Metoyer .216 .383 .351 .237 .362 .447 0.0 -0.5 4.80 7.40
Hunter Parsons .279 .386 .453 .231 .328 .398 0.1 -0.7 4.65 6.25
Tyler Jay .262 .354 .452 .276 .357 .480 0.1 -0.6 4.93 6.78
Jeff Brigham .235 .354 .457 .239 .330 .413 0.1 -0.8 4.65 6.56
Paul Gervase .223 .392 .415 .219 .356 .333 0.2 -0.9 4.54 6.54
Justin Courtney .279 .362 .459 .280 .353 .507 -0.1 -0.7 4.96 6.51
Marcel Rentería .265 .400 .490 .264 .365 .434 -0.2 -0.6 5.28 6.81
Brendan Hardy .250 .400 .462 .204 .371 .352 -0.1 -0.7 5.21 7.33
Luis Moreno .308 .373 .549 .248 .336 .410 -0.1 -0.8 5.09 6.45
Wilkin Ramos .241 .394 .434 .252 .373 .378 -0.1 -0.9 4.93 6.35
Joey Lancellotti .287 .398 .483 .264 .364 .473 -0.4 -1.1 5.65 7.25
Troy Miller .296 .402 .561 .282 .370 .544 -0.3 -1.1 6.40 8.05
Quinn Brodey .265 .419 .382 .296 .427 .606 -0.6 -1.2 6.89 9.35

Players are listed with their most recent teams wherever possible. This includes players who are unsigned or have retired, players who will miss 2024 due to injury, and players who were released in 2023. So yes, if you see Joe Schmoe, who quit baseball back in August to form a Belgian Death Metal Skiffle Band that only plays songs by Franz Schubert, he’s still listed here intentionally. ZiPS is assuming a league with an ERA of 4.33.

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.

As always, incorrect projections are either caused by flaws in the physical reality of the universe or by the skillful sabotage of our friend and former editor. You can, however, still get mad at me on Twitter.


Here Come the 2024 ZiPS Projections!

Matt Kartozian-USA TODAY Sports

Once again, it’s time for me to fire up my computer and crank out the yearly team-by-team ZiPS projections. This is where I’d normally do my shtick, but we have a lot to get to, so imagine a quote from a 19th century personality, an allusion to a 13th century battle, and a 1980s pop culture reference, and then cram them all together for your own haute couture Szymborski pablum! We’ve got business to take care of, so no time for shenanigans.

ZiPS is a computer projection system I initially developed in 2002–04. It officially went live for the public in 2005, after it had reached a level of non-craptitude I was content with. The origin of ZiPS is similar to Tom Tango’s Marcel the Monkey, coming from discussions I had in the late 1990s with Chris Dial, one of my best friends (my first interaction with Chris involved me being called an expletive!) and a fellow stat nerd. ZiPS quickly evolved from its original iteration as a reasonably simple projection system, and now does a lot more and uses a lot more data than I ever envisioned it would 20 years ago. At its core, however, it’s still doing two primary tasks: estimating what the baseline expectation for a player is at the moment I hit the button, and then estimating where that player may be going using large cohorts of relatively similar players.

So why is ZiPS named ZiPS? At the time, Voros McCracken’s theories on the interaction of pitching, defense, and balls in play were fairly new, and since I wanted to integrate some of his findings, I wanted my system to rhyme with DIPS (defense-independent pitching statistics), with his blessing. I didn’t like SIPS, so I went with the next letter in my last name, Z. I originally named my work ZiPs as a nod to CHiPs, one of my favorite shows to watch as a kid. I mis-typed ZiPs as ZiPS when I released the projections publicly, and since my now-colleague Jay Jaffe had already reported on ZiPS for his Futility Infielder blog, I decided to just go with it. I never expected that all of this would be useful to anyone but me; if I had, I would have surely named it in less bizarre fashion.

ZiPS uses multi-year statistics, with more recent seasons weighted more heavily; in the beginning, all the statistics received the same yearly weighting, but eventually, this became more varied based on additional research. And research is a big part of ZiPS. Every year, I run hundreds of studies on various aspects of the system to determine their predictive value and better calibrate the player baselines. What started with the data available in 2002 has expanded considerably. Basic hit, velocity, and pitch data began playing a larger role starting in 2013, while data derived from StatCast has been included in recent years as I’ve gotten a handle on its predictive value and the impact of those numbers on existing models. I believe in cautious, conservative design, so data is only included once I have confidence in improved accuracy; there are always builds of ZiPS that are still a couple of years away. Additional internal ZiPS tools like zBABIP, zHR, zBB, and zSO are used to better establish baseline expectations for players. These stats work similarly to the various flavors of “x” stats, with the z standing for something I’d wager you’ve already guessed.

How does ZiPS project future production? First, using both recent playing data with adjustments for zStats, and other factors such as park, league, and quality of competition, ZiPS establishes a baseline estimate for every player being projected. To get an idea of where the player is going, the system compares that baseline to the baselines of all other players in its database, also calculated from whatever the best data available for the player is in the context of their time. The current ZiPS database consists of about 140,000 baselines for pitchers and about 170,000 for hitters. For hitters, outside of knowing the position played, this is offense only; how good a player is defensively doesn’t yield information on how a player will age at the plate.

Using a whole lot of stats, information on shape, and player characteristics, ZiPS then finds a large cohort that is most similar to the player. I use Mahalanobis distance extensively for this. A CompSci/Math student at Texas A&M did a wonderful job showing how I do this, though the variables used aren’t identical.

As an example, here are the top 50 near-age offensive comps for World Series MVP Corey Seager right now. The total cohort is much larger than this, but 50 ought to be enough to give you an idea:

Top 50 ZiPS Offensive Comps – Corey Seager
Player Year
Anthony Rendon 2017-2020
Cal Ripken Jr. 1988-1991
Buddy Bell 1979-1982
Edgardo Alfonzo 1999-2002
Troy Tulowitzki 2010-2013
Xander Bogaerts 2018-2021
Robinson Canó 2010-2013
Nomar Garciaparra 1999-2002
Sid Gordon 1945-1948
George Brett 1980-1983
Tony Cuccinello 1935-1938
Rich Aurilia 1998-2001
Kyle Seager 2013-2016
Brooks Robinson 1964-1967
Mike Lowell 2001-2004
Sal Bando 1970-1973
Aramis Ramirez 2006-2009
Neil Walker 2011-2014
Edgar Martinez 1990-1993
Alan Trammell 1985-1988
Robin Ventura 1994-1997
Lou Boudreau 1945-1948
Miguel Tejada 2001-2004
Charlie Gehringer 1931-1934
Hanley Ramirez 2011-2014
Scott Rolen 2003-2006
Chase Utley 2006-2009
Joe Sewell 1925-1928
Whitey Kurowski 1943-1946
Manny Machado 2018-2021
Jose Vidro 2001-2004
Davey Johnson 1968-1971
Justin Turner 2013-2016
Aubrey Huff 2001-2004
Richie Hebner 1973-1976
Eric Soderholm 1974-1977
Barry Larkin 1990-1993
Josh Donaldson 2012-2015
Don Money 1974-1977
Lou Whitaker 1983-1986
Jim Ray Hart 1967-1970
Alex Bregman 2018-2021
Felix Mantilla 1961-1964
Jed Lowrie 2010-2013
Robin Yount 1981-1984
Chipper Jones 1997-2000
John Valentin 1994-1997
Zeke Bonura 1934-1937
Matt Carpenter 2013-2016
Joe Torre 1968-1971

Ideally, ZiPS would prefer players to be the same age and position, but since we have about 170,000 baselines, not 170 billion, ZiPS frequently has to settle for players nearly the same age and nearly the same position. The exact mix here was determined by extensive testing. The large group of similar players is then used to calculate an ensemble model on the fly for a player’s future career prospects, both good and bad.

One of the tenets of projections that I follow is that no matter what the projection says, that’s what the ZiPS projection is. Even if inserting my opinion would improve a specific projection, I’m philosophically opposed to doing so. ZiPS is most useful when people know that it’s purely data-based, not some unknown mix of data and my opinion. Over the years, I like to think I’ve taken a clever approach to turning more things into data — for example, ZiPS’ use of basic injury information — but some things just aren’t in the model. ZiPS doesn’t know if a pitcher wasn’t allowed to throw his slider coming back from injury, or if a left fielder suffered a family tragedy in July. I consider those sorts of things outside a projection system’s purview, even though they can affect on-field performance.

It’s also important to remember that the bottom-line projection is, in layman’s terms, only a midpoint. You don’t expect every player to hit that midpoint; 10% of players are “supposed” to fail to meet their 10th-percentile projection and 10% of players are supposed to pass their 90th-percentile forecast. This point can create a surprising amount of confusion. ZiPS gave .300 batting average projections to three players in 2021: Luis Arraez, DJ LeMahieu (yikes!), and Juan Soto. But that’s not the same thing as ZiPS thinking there would only be three .300 hitters. On average, ZiPS thought there would be 34 hitters with at least 100 plate appearances to eclipse .300, not three. In the end, there were 25; the league BA environment turned out to be five points lower than ZiPS expected, catching the projection system flat-footed.

Another crucial thing to bear in mind is that the basic ZiPS projections are not playing-time predictors, at least with players without firm possession of a full-time job in the majors. By design, ZiPS has no idea who will actually play in the majors in 2024. ZiPS is essentially projecting equivalent production; a batter with a .240 projection may “actually” have a .260 Triple-A projection or a .290 Double-A projection. But telling me how Julio Rodríguez would hit in a full-time role in the majors in 2022 was a far more interesting use of a projection system than it telling me that he would only play a partial season (in the end, quite obviously, he played a full year). For the depth charts that go live in every article, I use the FanGraphs Depth Charts to determine the playing time for individual players. Since we’re talking about team construction, I can’t leave ZiPS to its own devices for an application like this. It’s the same reason I use modified depth charts for team projections in-season. There’s a probabilistic element in the ZiPS depth charts: sometimes Joe Schmo will play a full season, sometimes he’ll miss playing time and Buck Schmuck has to step in. But the basic concept is very straightforward.

What’s new in 2024? Outside of the typical calibration updates, there’ll be an extra table in this year’s projections. Don’t worry, the 80/20 splits are returning, but I’m adding split projections into the team-by-team rundowns as well. Usually I create these for the benefit of companies using my projections for their baseball games and calculate it sometime in February. But this year, I successfully integrated that model into ZiPS and, after repairing all the things I broke doing so, platoon splits are now being spit out with the usual array of numbers.

Have any questions, suggestions, or concerns about ZiPS? I’ll try to reply to as many as I can reasonably address in the comments below. If the projections have been valuable to you now or in the past, I would also urge you to consider becoming a FanGraphs Member, should you have the ability to do so. It’s with your continued and much appreciated support that I have been able to keep so much of this work available to the public for so many years for free. Improving and maintaining ZiPS is a time-intensive endeavor and reader support has enabled me to have the flexibility to put an obscene number of hours into its development. It’s hard to believe that ZiPS is now 20 years old. Hopefully, the projections and the things we’ve learned about baseball have provided you with a return on your investment, or at least a small measure of entertainment, whether you’re delighted or enraged.


My 2023 National League Rookie of the Year Ballot

Corbin Carroll
Arizona Republic

The first of MLB’s major awards to be announced for 2023, the Rookie of the Year awards, were given out Monday evening, with Arizona’s Corbin Carroll and Baltimore’s Gunnar Henderson taking the laurels in the NL and AL races, respectively.

Getting inappropriately annoyed with year-end awards — more specifically in 1995, the year Mo Vaughn beat Albert Belle in the AL and Dante Bichette confusingly finished second in the NL — was one of the things that got me reading Usenet. A high schooler at the time, I had little idea that it was the start of a surprising career path. And even back then, I was frustrated that the writers who voted for these awards didn’t always make convincing arguments about their picks and, occasionally, offered no justifications at all.

I still believe that this kind of transparency is crucial for the legitimacy of any type of award. This is ostensibly an expert panel; if it’s not, there’s no purpose for the award to exist. As such, a secret ballot is not appropriate the way I believe it is for, say, a presidential or parliamentary election. So, as usual, this is my explanation (or apologia depending on your point of view) of why I voted the way I did. I don’t expect 100% of people to agree with my reasoning, which I doubt has happened for any opinion I’ve expressed ever, but that doesn’t mean I don’t owe you, the reader, the details of my vote.

This is my fifth Rookie of the Year vote. Previously, I gave my first-place votes to Spencer Strider, Trevor Rogers, Pete Alonso, and Corey Seager. This year, my ballot, starting at the top, was Carroll, the Mets’ Kodai Senga, and the Reds’ Matt McLain. Let’s start at the top. I’m also including preliminary 2024 ZiPS projections because, hey, why not? (They didn’t have any bearing on my vote, nor did the preseason projections.)

The Easy Part: Corbin Carroll

My last two first-place votes were close for me, and it took a while to decide on them. But this one was the easiest since Seager in 2016 (and I’m not forgetting Alonso versus Michael Soroka). Everyone expected Carroll to steamroll the league, and that’s just what he did. And while he didn’t have a Mike Trout-esque rookie season, who does?

For much of the season, Carroll logically was part of the MVP discussion, though by the time September rolled around, Ronald Acuña Jr. and Mookie Betts had an obvious advantage, with Freddie Freeman and Matt Olson being clearly superior, too. But if I had voted for the NL MVP, Carroll would have still landed somewhere in the back of my ballot. He hit .285/.362/.506, clubbed 25 homers and stole 50 bases, and played all three outfield positions at least respectably. He is the type of player for whom the phrase “speed kills” makes sense, because his skill set is broad enough that he can actually weaponize that speed. For the season, he was seventh in sprint speed, had dominating baserunning numbers beyond stolen bases, and in 90-foot splits, he was bested only by Elly De La Cruz.

ZiPS Projection – Corbin Carroll
Year BA OBP SLG AB R H 2B 3B HR RBI BB SO SB OPS+ DR WAR
2024 .279 .362 .485 555 99 155 27 12 21 90 61 141 39 129 10 5.4
2025 .275 .359 .480 571 104 157 28 10 23 94 64 139 39 127 10 5.4
2026 .272 .358 .474 570 104 155 28 9 23 95 65 133 37 125 10 5.2
2027 .273 .361 .479 568 105 155 29 8 24 95 67 129 36 127 9 5.4
2028 .272 .363 .479 566 105 154 29 8 24 94 69 125 33 128 9 5.3

The Still Pretty Easy Part: Kodai Senga

I’m inclined to like Senga considerably more than his WAR simply because he has a significant history of outperforming his peripherals in Japan as well, so there’s more basis for believing in his ERA than for the typical pitcher in this position. Because of that, I’m closer to bWAR on Senga (4.4) than I am to fWAR. If forced at gunpoint to name the Dan’s Brain WAR for Senga, I’d probably put him at 3.8–4.0 or so. Also, that’s a very weird use of a firearm.

There’s always a writer or two who complains about Japanese players being eligible for the RoY award, but I think the idea that they shouldn’t be is preposterous. Nippon Professional Baseball appears a bit closer to the majors than Triple-A ball in the U.S. is — something like Triple-A 1/2 — but it’s a very different kind of league. While Triple-A hitters may be easier than NPB hitters, you’re also facing a rather different style of play and plate approaches, and now that some of the recent rule changes have hit in the majors, Triple-A ball is roughly a not-as-good MLB.

Despite facing different types of hitters, a spate of different rules, and against the backdrop of New York pressure and a collapsing team behind him, Senga was one of the few players who could really be counted on there. He had some issues with walks early on, and to his credit, he adjusted. But it wasn’t actually his control that was the issue; he actually threw more strikes earlier in the season! Instead, the issue was that after putting up an out-of-zone swing rate above 30% in each of his last two seasons in Japan, he was down in the low-20s early on with the Mets. As time went on, he got a better feel on how to lure MLB batters to their doom; in the second half, his 31.1% out-of-zone swing rate was right where it was in Japan.

ZiPS Projection – Kodai Senga
Year W L ERA FIP G GS IP H ER HR BB SO ERA+ WAR
2024 11 8 3.63 3.87 28 28 161.0 132 65 18 76 190 122 3.4
2025 10 7 3.72 3.94 26 26 150.0 126 62 17 69 171 119 3.0
2026 9 7 3.82 4.06 24 24 141.3 124 60 17 63 156 116 2.7
2027 8 7 3.98 4.24 22 22 129.0 118 57 17 58 138 111 2.3
2028 7 8 4.21 4.46 21 21 124.0 118 58 17 56 128 105 1.9

The Excruciating Part and the Fifth Wheel: Matt McLain versus Nolan Jones versus James Outman

I don’t see Rookie of the Year as necessarily meaning Most Valuable Rookie, but as Best Rookie. As such, in a kind of small-scale examination of Hall of Fame candidates’ peak versus career numbers, I don’t necessarily think measures against replacement are as important as in the MVP voting, which has directions that more strongly imply an emphasis on quantity.

Outman was probably the most valuable of the three hitters I listed above, but he also got a lot more playing time, winning the job from the start. Both McLain and Jones out-hit him from a quality standpoint, with a 128 wRC+ from McLain, a 135 from Jones, and a 118 from Outman. I might discount this if there were evidence from their minor league time that the major league time was flukier, but both played in Triple-A just about how you’d expect from their actual major league performances. Outman was an excellent player and a big part of why the Dodgers survived the loss of a lot of players, but I would have him fifth in a larger ballot because he wasn’t quite as good as McLain or Jones. Per WAA on Baseball-Reference, both McLain and Jones were well ahead of him.

McLain versus Jones was very difficult for me, and I went back and forth on it the entire Sunday I made my vote (the last day of the season). And it still wasn’t an obvious result, more a 51%–49% judgment; if asked on a different day, I might have said Jones instead of McLain. But at the end of the day, I had to pick one. McLain hit almost as well as Jones did and played the hardest non-catcher defensive position. I don’t like deciding based on small things, but it’s inevitable if the big things can’t settle the score. The slight nudge to McLain comes on the balance of having the more valuable defensive versatility (2B/SS for him versus 3B/OF for Jones) and the fact that he played for a team that was playing higher-leverage games all season, with a deep roster of prospects that could push him off a job at any time. The Rockies, meanwhile, were a basement dweller without a lot in the cupboard.

Jones may have just missed my ballot, but it’s no negative reflection on what was an excellent season. I was quite perturbed that he didn’t start the season in Colorado, with the Rockies apparently deciding that Mike Moustakas was nine years better in age than Jones, but they at least weren’t stubborn after he crushed pitchers in the Pacific Coast League. That wRC+ of 135 was an OPS+ of 138 if you like the simpler approach, and both numbers are park-adjusted, so he was Actual Good, not merely Coors Field Good.

ZiPS Projection – Matt McLain
Year BA OBP SLG AB R H 2B 3B HR RBI BB SO SB OPS+ DR WAR
2024 .245 .332 .444 482 73 118 25 4 21 83 55 148 18 107 3 3.4
2025 .250 .339 .457 501 78 125 27 4 23 88 59 147 18 112 3 3.9
2026 .249 .341 .458 518 81 129 28 4 24 92 63 148 17 113 3 4.1
2027 .246 .339 .453 528 83 130 28 3 25 94 65 147 16 111 4 4.1
2028 .244 .339 .445 528 83 129 28 3 24 93 66 146 14 109 4 4.0

ZiPS Projection – Nolan Jones
Year BA OBP SLG AB R H 2B 3B HR RBI BB SO SB OPS+ DR WAR
2024 .272 .366 .485 474 77 129 30 4 21 80 66 157 13 118 3 3.1
2025 .271 .365 .484 479 78 130 30 3 22 82 67 154 13 118 3 3.1
2026 .271 .366 .483 480 78 130 30 3 22 83 68 151 12 118 2 3.0
2027 .268 .363 .480 477 77 128 29 3 22 81 67 147 10 116 2 2.8
2028 .266 .362 .474 466 75 124 28 3 21 78 66 143 9 115 2 2.6

ZiPS Projection – James Outman
Year BA OBP SLG AB R H 2B 3B HR RBI BB SO SB OPS+ DR WAR
2024 .244 .337 .437 501 85 122 22 3 23 79 62 185 12 108 3 3.3
2025 .243 .337 .435 503 85 122 22 3 23 80 63 181 11 107 3 3.3
2026 .244 .340 .445 499 86 122 22 3 24 80 63 177 10 110 2 3.5
2027 .237 .333 .429 490 82 116 21 2 23 77 62 172 9 104 2 3.0
2028 .234 .330 .417 475 78 111 20 2 21 72 60 166 8 100 2 2.6

Short on Pitching: Bobby Miller, Eury Pérez, and Andrew Abbott

Outside of Senga, no pitcher was close to making my ballot, though these three came closest. The Dodgers should be greatly pleased about having Miller’s services, but his numbers weren’t enough to balance out a rather low innings total. Pérez not being called up until May was a handicap, and while the Marlins being cautious with his workload to the extent of giving him a bit of a mini-vacation in July may be good for his future, it’s hard to give a Rookie of the Year vote to someone who threw less than 100 innings. Abbott’s mid-rotation performance was absolutely needed by the Reds, but again, not quite enough.

ZiPS Projection – Bobby Miller
Year W L ERA FIP G GS IP H ER HR BB SO ERA+ WAR
2024 10 7 3.76 3.57 26 26 138.7 119 58 13 38 128 114 2.4
2025 11 7 3.75 3.55 27 27 144.0 122 60 13 38 133 114 2.5
2026 11 7 3.77 3.56 28 28 150.3 128 63 14 39 138 114 2.6
2027 12 7 3.76 3.58 30 30 155.7 133 65 15 40 143 114 2.7
2028 11 8 3.87 3.65 30 30 156.0 134 67 15 40 140 111 2.5

ZiPS Projection – Eury Pérez
Year W L ERA FIP G GS IP H ER HR BB SO ERA+ WAR
2024 8 6 3.72 3.85 27 27 121.0 106 50 16 42 138 120 2.5
2025 8 7 3.67 3.77 29 29 130.0 113 53 17 42 143 122 2.7
2026 9 7 3.66 3.72 30 30 137.7 119 56 17 41 147 122 3.0
2027 9 8 3.58 3.69 32 32 145.7 125 58 18 41 151 124 3.2
2028 10 7 3.58 3.67 32 32 148.3 128 59 18 39 150 125 3.3

ZiPS Projection – Andrew Abbott
Year W L ERA FIP G GS IP H ER HR BB SO ERA+ WAR
2024 8 9 4.60 4.17 29 29 144.7 130 74 22 53 161 95 1.7
2025 8 9 4.48 4.08 29 29 144.7 129 72 21 50 160 98 1.8
2026 8 9 4.50 4.08 29 29 148.0 135 74 22 49 161 97 1.9
2027 8 9 4.53 4.11 30 30 147.0 136 74 22 47 156 97 1.8
2028 8 9 4.60 4.16 30 30 146.7 139 75 22 47 152 95 1.7

The Sixth Man: Patrick Bailey

Of the rest of the field, the closest to making my ballot was Bailey, who was absurdly good defensively in 2023. I could have voted for a player short on playing time; I clearly did with McLain and was close with Jones. But to vote for a hitter at any position who slashed .233/.285/.359 over Outman, McLain, and Jones, I’d need a lot more certainty with defensive numbers than I have. We’ve made great progress in evaluating defense, but it remains extremely volatile, meaning that we simply can’t count on a small sample of defensive data to the same degree as a small sample of offensive data.

I have little doubt that Bailey is an elite defensive catcher, but just how elite is crucial to advancing him over the others with only 97 games played. And it was just a bridge too far for me; if he had been the catcher at the start of the season, there would have likely been a little more flexibility on how to deal with a defense-only candidate.

ZiPS Projection – Patrick Bailey
Year BA OBP SLG AB R H 2B 3B HR RBI BB SO SB OPS+ DR WAR
2024 .228 .291 .366 382 45 87 18 1 11 45 32 112 2 81 13 2.7
2025 .233 .299 .382 377 46 88 18 1 12 46 33 108 2 87 13 3.0
2026 .234 .300 .387 367 45 86 18 1 12 45 32 103 2 89 13 3.0
2027 .234 .302 .390 354 44 83 17 1 12 44 32 99 2 90 13 3.0
2028 .229 .298 .379 340 42 78 16 1 11 42 31 94 2 86 12 2.6

The Best of the Rest: Spencer Steer, Francisco Alvarez, Elly De La Cruz, Ezequiel Tovar

Steer played the entire season but was basically a league-average starter — something that had value, but he was clearly behind several others in quality. Alvarez hit a lot of homers (25) but was rather one-note in his offensive contributions, though he really surprised with his framing numbers. Tovar was brilliant defensively, and it was nice to see him as a Gold Glove finalist, but his offense was well behind his glove.

De La Cruz was arguably the most exciting of the prospects, maybe even more than Carroll, but he still has some serious holes in his game that were exposed with time in the majors. At the very least, he’s going to need to shore up his plate discipline or become better at effectively connecting with junk in the way Tim Anderson was able to do at his peak.

ZiPS Projection – Spencer Steer
Year BA OBP SLG AB R H 2B 3B HR RBI BB SO SB OPS+ DR WAR
2024 .249 .331 .436 534 76 133 28 3 22 85 56 129 8 104 4 1.9
2025 .250 .330 .436 525 75 131 28 2 22 84 55 124 8 104 4 1.9
2026 .250 .332 .434 511 73 128 27 2 21 81 54 119 7 104 4 1.9
2027 .250 .332 .433 492 70 123 26 2 20 77 52 114 6 104 3 1.7
2028 .250 .331 .429 464 64 116 25 2 18 72 49 107 5 103 3 1.5

ZiPS Projection – Francisco Alvarez
Year BA OBP SLG AB R H 2B 3B HR RBI BB SO SB OPS+ DR WAR
2024 .230 .321 .436 422 61 97 18 0 23 73 51 131 2 107 0 2.4
2025 .236 .329 .449 441 67 104 19 0 25 79 56 131 2 112 1 2.9
2026 .240 .334 .459 442 69 106 19 0 26 82 57 126 2 116 1 3.2
2027 .241 .338 .461 440 69 106 19 0 26 83 59 122 2 118 1 3.4
2028 .244 .344 .466 438 70 107 19 0 26 84 61 119 2 121 1 3.6

ZiPS Projection – Elly De La Cruz
Year BA OBP SLG AB R H 2B 3B HR RBI BB SO SB OPS+ DR WAR
2024 .236 .298 .434 564 91 133 24 8 24 89 48 190 39 94 -2 2.4
2025 .239 .303 .441 585 98 140 26 7 26 97 52 185 40 97 -1 2.8
2026 .243 .308 .450 606 106 147 27 6 29 104 56 181 40 101 -1 3.3
2027 .247 .314 .465 608 110 150 28 6 31 107 59 173 38 106 0 3.8
2028 .248 .317 .465 606 111 150 29 5 31 108 61 166 35 107 0 3.9

ZiPS Projection – Ezequiel Tovar
Year BA OBP SLG AB R H 2B 3B HR RBI BB SO SB OPS+ DR WAR
2024 .258 .300 .416 551 75 142 31 4 16 75 29 145 11 83 10 2.5
2025 .264 .307 .433 561 79 148 33 4 18 79 31 141 11 89 11 3.1
2026 .268 .313 .443 567 82 152 34 4 19 82 33 136 11 93 11 3.5
2027 .269 .315 .448 572 84 154 34 4 20 84 34 132 10 95 12 3.6
2028 .271 .318 .454 573 86 155 34 4 21 85 36 128 10 97 12 3.9

The Rangers Shut Out the Diamondbacks in Game 5 To Win Their First World Series

Matt Kartozian-USA TODAY Sports

The last of the extant pre-divisional era franchises to not have won the World Series has finally hoisted their own trophy, as the Texas Rangers shut down the Arizona Diamondbacks, 5-0, to score the team’s first championship. Texas’ starter, Nathan Eovaldi, was shaky in the early going, but every last one of Arizona’s runners were stranded on the basepaths, and the shelling of Paul Sewald in the ninth sealed the deal with insurance runs.

If you just watched the starting pitchers, Eovaldi and Zac Gallen, for the first five innings on Wednesday night, you might be surprised that the series didn’t find its way back to Texas. The Rangers entered Game 5 having won all five of Eovaldi’s starts this postseason, but it was Gallen who looked to have the advantage early on. Eovaldi’s control was spotty. He allowed five walks over five innings, the most free passes he’s issued in a decade, going back to when he was a hard-throwing Marlins prospect who had trouble putting away batters. Read the rest of this entry »


Phillies Wheel the Diamondbacks to the Precipice in NLCS Game 5

Rob Schumacher/The Republic / USA TODAY NETWORK

On the back of a seven-inning near-shutout from ace Zack Wheeler, three round-trippers, and a Bryce Harper steal of home, the Philadelphia Phillies convincingly beat the Arizona Diamondbacks, 6-1, to push the latter to the brink of oblivion. The Phillies got to Diamondbacks starter Zac Gallen often, scoring two runs in the first, a lead that Arizona never really threatened. The NLCS now heads back to Philadelphia, where the Diamondbacks have to win two games or all that will be left to do is to grab a couple cheesesteaks and a roast pork and fly back home for the winter.

The Phillies got things going quickly with a fun-filled first. The action started with a Kyle Schwarber infield hit and ended with a double steal. Totally Traditional Leadoff Hitter Schwarber’s little dribbler to third against the current iteration of the infield shift was way too far for third baseman Evan Longoria to reach in time, and he legged his way to first. While fans often overestimated the ease with which hitters could magically just go the opposite way during the shift’s heyday — as if that’s so simple against big league pitching — Schwarber actually was fairly good at it. Despite not being quick, even deceptively so, Schwarber ranks 20th since 2015 in groundball hits the opposite way against shifts and shades, with 38 of them in 69 attempts. That .551 BABIP is nearly 100 points above the league average of .460 over the same timeframe! Read the rest of this entry »