2024 ZiPS Projections: Texas Rangers

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 Texas Rangers.

Batters

The Rangers led the American League in runs scored in 2023, and most of the players who contributed to that success are set to return to the lineup in 2024. Sure, Corey Seager might not repeat his monster season, but his performance should still land comfortably in star territory, and the Rangers could get a little luckier with his health. Evan Carter isn’t likely to post an OPS around 1.000 again, but that’s balanced by the fact that the team ought to get a lot more than 23 regular season games from him this year.

There are no real surprises among Marcus Semien, Nathaniel Lowe, or Jonah Heim, and ZiPS is now far more convinced by Leody Taveras‘ offense. Losing Mitch Garver to the Mariners hurts, but maybe not as much as you would think. If you thought Steamer was bullish on Wyatt Langford making an immediate impact, well rest assured that ZiPS agrees. It sees his production taking a slightly different shape (less OBP, more power), but the computer still views him as a legitimate big league bat. The only reason the DH projection on the graphic below is relatively low is that ZiPS likes Sam Huff and Ezequiel Duran a good bit less as DHs. If the projections are right, Langford will be among the quickest college bats to succeed in the majors.

Once you take into account the presence of Langford and the odds that he’ll be as good as any hitter they were likely to add in free agency (except for Shohei Ohtani, naturally), you can understand why the Rangers have had a rather quiet offseason, especially compared to some of their recent ones. It’s usually a dangerous sign when a championship team kind of stands pat, but it was largely justified by Texas’ roster and the players available this offseason. Of course, Ohtani would still have been nice!

Pitchers

The injuries make this a really weird set of projections, as this rotation projects as much better in the playoffs than it does in the regular season. It would have been nice to retain Jordan Montgomery — he gets the best projection here, after all — and they could still re-sign him, but Max Scherzer, Jacob deGrom, and Tyler Mahle are all expected back sometime this summer. All three of those returns have the potential to match the best deals Texas could make at the trade deadline. While I could see the Rangers doing a little tinkering here, I think their plan is to cobble together a competitive rotation for most of the season and come October, play around with their suddenly impressive depth. That’s not at all different from how 2023 worked out.

Among the returning, healthier pitchers, there also aren’t many surprises. Nathan Eovaldi, Jon Gray, Dane Dunning, and Andrew Heaney are far from the most exciting front four, but they’re at least a competent quartet. The offense will likely be good enough that holding down the fort may be all the Rangers need here.

The relief corps projects as the team’s weak spot. Nobody here is expected to be aggressively lousy, but there’s a strong scent of the ordinary wafting through the bullpen. ZiPS thinks that Josh Sborz and Brock Burke should handle more high-leverage innings while José Leclerc takes fewer, and the computer has little faith in post-injury Kirby Yates, who is now in the twilight of his career. There are still relievers out there who Texas could land, such as Josh Hader, David Robertson, Robert Stephenson, or Hector Neris. This is where I expect the Rangers to show some movement.

All told, this is a very competitive AL West team, though ZiPS puts them a hair behind the Astros at this point.

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
Corey Seager L 30 SS 556 492 81 145 31 1 26 84 54 88 2 1
Marcus Semien R 33 2B 698 626 106 166 36 3 26 93 66 110 11 2
Jonah Heim B 29 C 449 411 50 102 22 2 16 61 35 83 2 1
Wyatt Langford R 22 LF 599 546 81 144 41 5 24 98 44 125 18 6
Adolis García R 31 RF 603 546 88 135 27 2 31 98 45 172 12 3
Evan Carter L 21 LF 617 532 79 138 26 5 15 79 73 160 19 7
Leody Taveras B 25 CF 571 519 72 135 28 4 14 68 45 121 16 5
Justin Foscue R 25 2B 511 449 69 111 31 2 14 71 47 86 6 4
Nathaniel Lowe L 28 1B 621 562 71 157 25 2 22 82 55 140 3 1
Josh Jung R 26 3B 461 427 60 109 23 1 19 69 27 126 1 2
Sam Huff R 26 C 368 335 43 79 13 0 18 56 29 115 0 1
Josh H. Smith L 26 3B 373 319 49 75 15 2 9 39 38 81 6 3
Josh Harrison R 36 3B 357 323 36 85 18 2 6 36 18 62 3 2
Ezequiel Duran R 25 SS 491 455 59 113 25 3 15 61 26 132 9 5
Davis Wendzel R 27 SS 470 413 57 89 16 0 19 64 44 127 2 2
Sandro Fabian R 26 RF 439 413 52 106 22 2 17 62 16 82 3 1
Derek Hill R 28 CF 403 370 53 91 14 4 10 52 24 102 11 4
Jonathan Ornelas R 24 SS 525 476 68 108 17 2 8 54 40 133 8 3
Blaine Crim R 27 1B 538 485 66 123 23 2 18 75 39 113 1 1
J.P. Martinez L 28 CF 441 393 49 85 14 6 9 50 41 143 19 5
Travis Jankowski L 33 LF 284 245 38 59 10 1 1 21 35 49 14 2
Robbie Grossman B 34 LF 461 392 54 89 20 1 12 51 59 115 6 2
Geisel Cepeda R 26 LF 407 377 37 96 10 1 4 35 23 52 4 5
Dustin Harris L 24 LF 522 467 66 112 21 4 13 64 46 125 18 3
Liam Hicks L 25 C 347 296 27 69 12 1 3 35 38 66 3 1
Abimelec Ortiz L 22 1B 447 405 55 92 15 3 21 66 31 147 1 2
Kellen Strahm R 27 RF 455 403 55 89 15 2 6 42 45 123 5 1
Elier Hernandez R 29 RF 510 474 62 115 23 3 13 63 28 125 5 3
Trevor Hauver L 25 RF 461 399 47 85 19 2 11 49 54 153 1 1
Andrew Knizner R 29 C 262 237 29 54 11 0 7 30 18 62 1 1
Diosbel Arias R 27 2B 429 393 47 92 18 2 7 45 30 118 2 1
Scott Kapers R 27 C 254 224 28 47 9 1 6 32 14 72 0 1
Andrew Knapp B 32 C 295 266 27 55 11 1 7 33 23 89 1 1
Nick Tanielu R 31 1B 307 281 33 61 14 1 7 33 20 77 1 1
Benjamin Blackwell R 25 2B 93 88 8 18 2 0 1 8 5 27 2 2
Jax Biggers L 27 2B 405 364 36 78 13 2 6 36 31 99 7 3
Jordan Procyshen L 31 C 125 109 13 21 4 0 2 12 11 36 0 1
David Garcia B 24 C 261 238 27 49 9 0 3 25 17 79 1 1
Max Acosta R 21 SS 492 459 58 106 23 1 7 49 24 117 15 7
Michael Reed B 29 RF 168 150 18 29 7 0 3 15 14 62 5 1
Brad Miller L 34 1B 280 249 30 52 8 1 10 34 29 81 2 1
Alejandro Osuna L 21 RF 352 312 48 72 13 1 5 36 30 84 10 6
Matt Whatley R 28 C 264 239 29 47 8 0 4 24 17 78 3 3
Devin Hurdle R 24 2B 105 95 13 18 2 0 1 8 6 35 2 1
Daniel Mateo R 22 CF 469 450 50 104 13 6 9 51 10 129 19 10
Cody Freeman R 23 C 397 364 43 81 15 2 8 41 24 83 4 1
Jayce Easley B 24 2B 341 287 41 57 8 2 1 25 39 84 16 4
Josh Sale L 32 LF 188 165 20 31 5 0 6 20 20 71 1 1
Frainyer Chavez B 25 2B 334 300 31 63 10 1 2 27 27 87 3 4
Cooper Johnson R 26 C 227 200 21 34 10 0 3 19 21 92 1 1
Zion Bannister B 22 LF 193 174 16 29 7 1 1 16 14 79 8 3
Angel Aponte R 24 RF 226 208 26 45 10 1 3 22 11 68 7 3
Josh Hatcher L 25 1B 393 371 44 79 13 2 9 41 16 126 5 2
Keyber Rodriguez R 23 SS 493 453 57 101 18 2 5 44 27 121 12 4
Aaron Zavala L 24 LF 450 388 46 72 15 1 6 43 51 167 5 2
Chris Seise R 25 3B 371 345 35 64 14 1 5 32 22 143 7 2

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA RC
Corey Seager 556 .295 .367 .520 143 .226 .315 -1 4.5 .374 95
Marcus Semien 698 .265 .337 .457 118 .192 .286 7 4.3 .342 99
Jonah Heim 449 .248 .307 .428 102 .180 .276 11 2.8 .316 55
Wyatt Langford 599 .264 .324 .489 122 .225 .302 4 2.6 .346 93
Adolis García 603 .247 .310 .474 114 .227 .303 9 2.5 .334 84
Evan Carter 617 .259 .358 .412 114 .152 .345 5 2.4 .338 85
Leody Taveras 571 .260 .318 .410 101 .150 .315 7 2.4 .316 73
Justin Foscue 511 .247 .333 .419 107 .171 .278 -1 1.8 .328 65
Nathaniel Lowe 621 .279 .346 .448 119 .169 .338 -1 1.8 .344 88
Josh Jung 461 .255 .306 .447 106 .192 .319 3 1.7 .323 59
Sam Huff 368 .236 .302 .436 102 .200 .302 2 1.6 .317 44
Josh H. Smith 373 .235 .337 .379 99 .144 .288 4 1.5 .319 43
Josh Harrison 357 .263 .323 .387 96 .124 .310 6 1.4 .311 42
Ezequiel Duran 491 .248 .296 .415 95 .167 .318 0 1.3 .306 60
Davis Wendzel 470 .215 .303 .392 91 .177 .262 -1 1.1 .305 50
Sandro Fabian 439 .257 .294 .443 101 .186 .283 5 0.9 .315 55
Derek Hill 403 .246 .296 .386 88 .141 .314 2 0.7 .296 46
Jonathan Ornelas 525 .227 .294 .321 71 .095 .299 5 0.5 .275 48
Blaine Crim 538 .254 .318 .421 103 .167 .297 0 0.5 .319 65
J.P. Martinez 441 .216 .298 .351 80 .135 .315 0 0.4 .288 47
Travis Jankowski 284 .241 .339 .302 81 .061 .297 4 0.4 .293 29
Robbie Grossman 461 .227 .332 .375 96 .148 .291 -1 0.4 .313 51
Geisel Cepeda 407 .255 .307 .318 75 .064 .287 12 0.3 .280 40
Dustin Harris 522 .240 .314 .385 93 .146 .301 -1 0.3 .305 61
Liam Hicks 347 .233 .337 .311 82 .078 .291 -8 0.1 .297 32
Abimelec Ortiz 447 .227 .285 .435 96 .207 .300 1 0.0 .306 51
Kellen Strahm 455 .221 .302 .313 72 .092 .303 8 0.0 .277 40
Elier Hernandez 510 .243 .292 .386 86 .143 .304 3 0.0 .295 56
Trevor Hauver 461 .213 .309 .353 84 .140 .315 2 0.0 .294 44
Andrew Knizner 262 .228 .295 .363 82 .135 .280 -5 -0.1 .288 26
Diosbel Arias 429 .234 .292 .344 76 .109 .317 -1 -0.1 .280 40
Scott Kapers 254 .210 .286 .339 73 .129 .281 -3 -0.2 .277 22
Andrew Knapp 295 .207 .279 .335 70 .128 .282 -3 -0.2 .272 25
Nick Tanielu 307 .217 .277 .349 73 .132 .274 5 -0.3 .275 28
Benjamin Blackwell 93 .205 .247 .261 42 .057 .283 1 -0.3 .228 7
Jax Biggers 405 .214 .278 .310 63 .096 .278 3 -0.4 .262 34
Jordan Procyshen 125 .193 .282 .284 59 .092 .268 -2 -0.4 .259 9
David Garcia 261 .206 .272 .282 55 .076 .295 0 -0.4 .250 19
Max Acosta 492 .231 .274 .331 67 .100 .296 -1 -0.4 .266 48
Michael Reed 168 .193 .265 .300 57 .107 .306 2 -0.4 .253 13
Brad Miller 280 .209 .293 .369 83 .161 .266 -1 -0.4 .290 28
Alejandro Osuna 352 .231 .303 .327 75 .096 .300 2 -0.5 .281 35
Matt Whatley 264 .197 .261 .280 51 .084 .274 1 -0.5 .244 19
Devin Hurdle 105 .189 .243 .242 36 .053 .288 0 -0.6 .220 6
Daniel Mateo 469 .231 .252 .347 64 .116 .304 4 -0.6 .258 47
Cody Freeman 397 .223 .280 .341 71 .118 .267 -8 -0.6 .273 36
Jayce Easley 341 .199 .305 .251 58 .052 .277 -3 -0.7 .261 27
Josh Sale 188 .188 .287 .327 71 .139 .284 -4 -0.8 .277 16
Frainyer Chavez 334 .210 .280 .270 54 .060 .289 1 -0.9 .250 25
Cooper Johnson 227 .170 .258 .265 46 .095 .295 -7 -1.2 .239 14
Zion Bannister 193 .167 .244 .236 34 .069 .298 0 -1.3 .221 13
Angel Aponte 226 .216 .267 .317 62 .101 .307 -7 -1.5 .258 20
Josh Hatcher 393 .213 .247 .332 59 .119 .297 3 -1.5 .250 32
Keyber Rodriguez 493 .223 .271 .305 60 .082 .294 -10 -1.7 .254 41
Aaron Zavala 450 .186 .293 .276 60 .090 .307 -6 -2.0 .263 33
Chris Seise 371 .186 .237 .275 42 .090 .299 -6 -2.2 .228 25

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Corey Seager Edgardo Alfonzo Buddy Bell Anthony Rendon
Marcus Semien Ryne Sandberg Ray Durham Ian Kinsler
Jonah Heim Jerry Narron Del Rice Brian Schneider
Wyatt Langford Ken Landreaux Vada Pinson Cesar Cedeno
Adolis García Alfonso Soriano Nelson Cruz크루즈 Denis Phipps
Evan Carter Gene Richards Christian Yelich Joe Gaines
Leody Taveras Tom Shopay Lemmie Miller Kevin Kiermaier
Justin Foscue Jurickson Profar Larry Fobbs Charlie Hollocher
Nathaniel Lowe Eric Hosmer Tito Francona George McQuinn
Josh Jung David Freese Nick Castellanos Kevin Mitchell
Sam Huff Dave Duncan Mike Minster Rob Natal
Josh H. Smith Robert Hewes Ralph Milliard Rudy Meoli
Josh Harrison Ramon Conde Alcides Escobar Mark Ellis
Ezequiel Duran Bill Hall Alfonso Soriano Adalberto Mondesi
Davis Wendzel Johnny Bero Gabe Alvarez Todd Betts
Sandro Fabian Randy Roth Chan Perry Jeffrey Geach
Derek Hill Keanon Simon Robert Stotsky Jeff Stone
Jonathan Ornelas Mark Raynor Mark Belanger Walt Weiss
Blaine Crim Matt Hague Willie Montanez Ray Barker
J.P. Martinez Gale Wade Chris Latham Chris Dickerson
Travis Jankowski Grégor Blanco Otis Nixon John Cangelosi
Robbie Grossman Kosuke Fukudome Bobby Del Greco George Burns
Geisel Cepeda Jack Parenty Matt McCay Henry Nichols
Dustin Harris Duane Walker Kyle Isbel Ryan Kalish
Liam Hicks Mike Tresh Geno Petralli Jamie Nelson
Abimelec Ortiz DeGold Francis Nathaniel King Bob Jones
Kellen Strahm Brian Sellier Neil Martin Jeff Forney
Elier Hernandez Theodore Del Guercio D.T. Cromer Tom Alston
Trevor Hauver Archie Moore Vernon Ramie Eddy Furniss
Andrew Knizner Steve Holm Dennis Paepke Angel Flores
Diosbel Arias Josh Horton Iván De Jesús Jr. David Hensley
Scott Kapers Roberto Santiago Orlando Gomez Christian Kelley
Andrew Knapp Reed Secrist Koyie Hill Steve Patchin
Nick Tanielu Javier Colina Julio Valdez Joe Mather
Benjamin Blackwell Jason Brett Anthony Caronia Scott Burcham
Jax Biggers Micah Furtado Ryan Walker Jon Schuerholz
Jordan Procyshen Mike Knapp Brian Jeroloman Mike O’Berry
David Garcia Eric Sim John Vanden Berg Dave Morgan
Max Acosta Yeyson Yrizarri Guillermo Reyes Alexis Infante
Michael Reed Kevin Flora Carroll Hardy Zach Welz
Brad Miller Chris Richard Mike Hegan Mike Jorgensen
Alejandro Osuna Vernon Spearman Terry Puhl Braxton Lee
Matt Whatley Bob Kappesser Miguel Fermin Milton Bohannion
Devin Hurdle Jason Brett Candido Pimentel Warren Horner
Daniel Mateo Angel Ramirez Peter Bourjos Steve Pegues
Cody Freeman Ronald Davini John Marzano Trevor Brown
Jayce Easley Fernando Garcia Ronnie Chapman Jamodrick McGruder
Josh Sale Cliff Mapes Joe Tipton Chris Parmelee
Frainyer Chavez Jim Reiser Ryan Riley Andrew Salvo
Cooper Johnson Robert Palmer Val Picinich Stuart Levy
Zion Bannister Virgil Hill Andre Piper-Jordan Zeek White
Angel Aponte Cristian Paulino Bob Pregnalato Jhombeyker Morales
Josh Hatcher Jared Bolden Juan Rodriguez Luis Domoromo
Keyber Rodriguez Jolbert Cabrera Jack López Luis Aparicio
Aaron Zavala Robert Markham Shawn Robertson Omar Rosario
Chris Seise Paul Stockley J.D. Vidal Jarred Mederos

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
Corey Seager .320 .391 .584 164 5.8 .271 .339 .467 122 3.0
Marcus Semien .289 .362 .515 139 5.9 .241 .311 .410 99 2.6
Jonah Heim .278 .334 .489 126 4.2 .223 .282 .370 83 1.9
Wyatt Langford .291 .351 .552 144 4.3 .235 .293 .425 99 0.9
Adolis García .272 .332 .531 136 4.1 .217 .282 .405 90 0.9
Evan Carter .287 .389 .461 133 3.8 .226 .329 .358 92 0.8
Leody Taveras .285 .346 .458 120 3.7 .238 .296 .365 84 1.3
Justin Foscue .273 .358 .469 126 3.0 .222 .309 .369 89 0.7
Nathaniel Lowe .302 .370 .499 139 3.2 .252 .317 .404 100 0.4
Josh Jung .281 .333 .504 127 2.9 .229 .280 .386 84 0.4
Sam Huff .266 .330 .502 125 2.6 .205 .273 .377 80 0.5
Josh H. Smith .260 .361 .429 117 2.2 .212 .313 .335 81 0.7
Josh Harrison .290 .349 .432 114 2.1 .232 .295 .340 77 0.5
Ezequiel Duran .273 .320 .467 115 2.5 .222 .272 .369 77 0.2
Davis Wendzel .242 .327 .459 113 2.2 .190 .275 .340 71 -0.1
Sandro Fabian .283 .317 .501 123 2.2 .229 .265 .386 80 -0.1
Derek Hill .271 .323 .433 106 1.6 .224 .272 .342 70 -0.2
Jonathan Ornelas .252 .320 .364 90 1.7 .200 .270 .290 56 -0.5
Blaine Crim .282 .345 .475 124 1.8 .227 .291 .372 86 -0.6
J.P. Martinez .246 .325 .412 101 1.5 .190 .268 .303 58 -0.8
Travis Jankowski .271 .366 .339 99 1.0 .213 .309 .268 64 -0.3
Robbie Grossman .255 .359 .427 118 1.5 .200 .305 .321 77 -0.7
Geisel Cepeda .281 .333 .353 90 1.1 .228 .282 .287 60 -0.5
Dustin Harris .266 .340 .436 114 1.6 .215 .289 .339 77 -0.7
Liam Hicks .260 .372 .352 102 0.9 .202 .310 .270 64 -0.8
Abimelec Ortiz .252 .310 .490 116 1.1 .202 .259 .378 75 -1.1
Kellen Strahm .248 .330 .353 89 0.9 .195 .272 .273 53 -1.1
Elier Hernandez .267 .318 .430 103 1.1 .217 .267 .335 67 -1.2
Trevor Hauver .239 .338 .402 101 0.9 .187 .279 .304 63 -1.2
Andrew Knizner .259 .324 .421 104 0.6 .200 .266 .307 60 -0.8
Diosbel Arias .259 .317 .382 93 0.7 .208 .263 .302 59 -1.0
Scott Kapers .240 .318 .391 95 0.5 .177 .256 .284 51 -0.9
Andrew Knapp .236 .306 .389 88 0.4 .183 .250 .289 50 -0.9
Nick Tanielu .246 .304 .407 93 0.5 .191 .249 .301 52 -1.1
Benjamin Blackwell .231 .276 .298 61 -0.1 .182 .223 .232 27 -0.5
Jax Biggers .240 .308 .351 81 0.6 .185 .254 .266 46 -1.2
Jordan Procyshen .224 .315 .338 81 0.0 .168 .252 .247 40 -0.7
David Garcia .239 .305 .327 75 0.2 .176 .246 .240 36 -1.0
Max Acosta .255 .300 .380 85 0.7 .204 .252 .292 51 -1.4
Michael Reed .222 .294 .346 78 0.0 .169 .238 .261 40 -0.8
Brad Miller .237 .321 .434 107 0.4 .179 .261 .307 60 -1.2
Alejandro Osuna .257 .329 .376 95 0.4 .205 .275 .283 58 -1.3
Matt Whatley .226 .294 .332 72 0.2 .168 .233 .243 33 -1.1
Devin Hurdle .212 .264 .276 50 -0.4 .165 .218 .213 22 -0.8
Daniel Mateo .251 .272 .388 81 0.3 .207 .228 .307 48 -1.6
Cody Freeman .254 .309 .399 94 0.5 .191 .249 .289 50 -1.7
Jayce Easley .227 .332 .286 74 0.1 .172 .281 .221 44 -1.3
Josh Sale .219 .320 .391 97 -0.3 .162 .255 .272 50 -1.3
Frainyer Chavez .234 .307 .307 70 -0.2 .182 .254 .233 37 -1.6
Cooper Johnson .197 .285 .312 64 -0.7 .141 .225 .223 25 -1.8
Zion Bannister .195 .275 .278 52 -0.8 .143 .215 .195 17 -1.7
Angel Aponte .244 .297 .364 81 -0.9 .188 .240 .278 44 -2.0
Josh Hatcher .243 .276 .387 80 -0.5 .192 .226 .290 43 -2.3
Keyber Rodriguez .248 .298 .341 75 -0.7 .197 .246 .267 44 -2.6
Aaron Zavala .212 .321 .318 76 -1.1 .161 .268 .235 43 -2.9
Chris Seise .210 .261 .313 58 -1.5 .160 .211 .234 24 -3.0

Batters – Projected Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Corey Seager .282 .345 .474 .301 .377 .542
Marcus Semien .269 .343 .473 .264 .334 .450
Jonah Heim .256 .307 .444 .245 .307 .422
Wyatt Langford .269 .333 .516 .261 .319 .475
Adolis García .246 .311 .485 .248 .310 .469
Evan Carter .243 .338 .367 .267 .367 .433
Leody Taveras .263 .318 .413 .259 .318 .409
Justin Foscue .259 .347 .448 .240 .324 .400
Nathaniel Lowe .272 .335 .432 .282 .351 .455
Josh Jung .265 .314 .483 .250 .301 .429
Sam Huff .238 .313 .462 .234 .295 .420
Josh H. Smith .228 .331 .386 .239 .340 .376
Josh Harrison .264 .320 .407 .263 .324 .379
Ezequiel Duran .254 .309 .428 .245 .288 .408
Davis Wendzel .231 .320 .423 .206 .292 .374
Sandro Fabian .270 .306 .466 .248 .286 .428
Derek Hill .255 .309 .403 .240 .287 .376
Jonathan Ornelas .233 .305 .337 .223 .287 .310
Blaine Crim .262 .329 .441 .247 .310 .406
J.P. Martinez .212 .285 .336 .219 .306 .359
Travis Jankowski .222 .319 .254 .247 .346 .319
Robbie Grossman .246 .346 .404 .219 .326 .363
Geisel Cepeda .263 .317 .342 .251 .303 .308
Dustin Harris .236 .310 .364 .242 .317 .397
Liam Hicks .233 .337 .302 .233 .337 .314
Abimelec Ortiz .216 .279 .405 .231 .288 .446
Kellen Strahm .231 .319 .350 .215 .293 .292
Elier Hernandez .254 .306 .398 .235 .283 .379
Trevor Hauver .197 .288 .321 .221 .319 .370
Andrew Knizner .230 .296 .405 .227 .294 .344
Diosbel Arias .234 .299 .354 .234 .287 .336
Scott Kapers .213 .286 .333 .208 .286 .342
Andrew Knapp .202 .272 .310 .209 .282 .346
Nick Tanielu .224 .288 .364 .213 .270 .339
Benjamin Blackwell .207 .258 .241 .203 .242 .271
Jax Biggers .202 .258 .281 .220 .286 .324
Jordan Procyshen .179 .256 .282 .200 .296 .286
David Garcia .200 .266 .270 .210 .276 .290
Max Acosta .233 .280 .329 .230 .271 .332
Michael Reed .200 .267 .309 .189 .264 .295
Brad Miller .203 .266 .322 .211 .301 .384
Alejandro Osuna .222 .291 .293 .235 .308 .343
Matt Whatley .196 .267 .293 .197 .256 .272
Devin Hurdle .194 .242 .226 .188 .243 .250
Daniel Mateo .240 .263 .357 .226 .247 .341
Cody Freeman .219 .284 .344 .225 .277 .339
Jayce Easley .206 .305 .255 .195 .306 .249
Josh Sale .185 .279 .315 .189 .291 .333
Frainyer Chavez .216 .276 .276 .207 .283 .266
Cooper Johnson .171 .266 .271 .169 .253 .262
Zion Bannister .179 .246 .214 .161 .242 .246
Angel Aponte .219 .266 .315 .215 .267 .319
Josh Hatcher .204 .239 .320 .216 .251 .336
Keyber Rodriguez .231 .283 .325 .218 .264 .294
Aaron Zavala .181 .281 .260 .188 .299 .284
Chris Seise .188 .238 .282 .184 .237 .272

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Jordan Montgomery L 31 10 8 3.84 29 29 168.7 163 72 22 52 160
Max Scherzer R 39 8 8 4.05 24 24 135.7 121 61 22 36 149
Nathan Eovaldi R 34 8 7 4.12 23 23 131.0 126 60 18 39 119
Jon Gray R 32 7 8 4.25 25 25 131.3 122 62 17 43 131
Jacob deGrom R 36 5 2 2.89 12 12 65.3 48 21 9 15 95
Tyler Mahle R 29 6 7 4.35 22 22 118.0 107 57 17 42 119
Dane Dunning R 29 7 9 4.57 30 24 145.7 149 74 20 49 127
Cody Bradford L 26 7 9 4.41 28 21 112.3 116 55 17 29 95
Andrew Heaney L 33 6 7 4.69 27 23 117.0 115 61 20 42 119
Robert Dugger R 28 6 8 4.90 25 23 115.7 123 63 17 47 93
Brock Burke L 27 5 5 3.69 52 0 68.3 62 28 9 19 65
Josh Stephan R 22 5 7 4.73 20 18 91.3 91 48 13 29 76
Avery Weems L 27 3 4 4.69 19 14 71.0 71 37 11 26 68
Aroldis Chapman L 36 4 4 3.91 53 0 48.3 36 21 8 28 78
Zak Kent R 26 2 4 4.90 18 17 71.7 74 39 11 26 63
Chase Lee R 25 3 3 4.33 46 3 60.3 56 29 8 22 65
Jake Latz L 28 2 3 4.66 35 9 65.7 63 34 10 32 68
Josh Sborz R 30 4 3 3.99 61 0 56.3 51 25 8 22 66
Tim Brennan R 27 3 5 4.99 17 12 61.3 68 34 9 15 36
Owen White R 24 4 5 5.24 23 20 92.7 97 54 14 41 67
Jack Leiter R 24 4 5 5.27 21 21 83.7 79 49 13 47 84
José Leclerc R 30 1 2 4.26 57 0 57.0 46 27 8 30 69
Yerry Rodríguez R 26 2 3 4.74 43 7 62.7 61 33 9 29 64
Matt Bush R 38 1 1 4.24 34 3 34.0 30 16 5 14 36
Seth Nordlin R 26 3 6 5.29 28 13 81.7 92 48 12 29 50
Marc Church R 23 6 6 4.50 42 2 58.0 53 29 8 28 62
James Marvel R 30 4 6 5.33 21 13 81.0 92 48 12 32 48
Cole Winn R 24 5 9 5.38 26 16 97.0 97 58 14 60 80
Antoine Kelly L 24 2 2 5.05 37 9 66.0 60 37 10 40 71
Grant Anderson R 27 3 4 4.57 45 1 65.0 62 33 10 26 68
Kyle Cody R 29 3 4 5.05 28 7 62.3 68 35 10 21 46
Dane Acker R 25 1 1 5.40 18 18 58.3 57 35 9 32 51
Robby Ahlstrom L 25 3 3 4.91 32 5 62.3 62 34 9 30 57
Jonathan Hernández R 27 3 2 4.55 54 0 57.3 53 29 8 29 61
Grant Wolfram L 27 4 4 4.88 33 4 55.3 53 30 8 29 56
Josh Dye L 27 3 3 4.73 33 2 45.7 49 24 7 15 33
Kirby Yates R 37 3 4 4.56 53 0 49.3 42 25 8 26 59
Nick Krauth R 24 5 9 5.63 23 20 96.0 112 60 16 35 51
Ryan Garcia R 26 3 7 5.67 21 21 79.3 80 50 13 45 69
Daniel Robert R 29 1 3 5.06 27 1 37.3 36 21 6 20 38
Steven Jennings R 25 3 4 4.58 30 0 53.0 53 27 8 16 42
Danny Duffy L 35 2 3 5.53 21 5 42.3 42 26 7 27 40
Noah Bremer R 28 2 4 5.63 17 10 48.0 55 30 8 21 32
Reid Birlingmair R 27 3 4 5.68 20 9 57.0 61 36 10 31 45
Carson Coleman R 26 2 2 4.97 34 0 41.7 36 23 6 23 49
Edwar Colina R 27 2 4 5.62 22 5 41.7 44 26 7 22 35
Aidan Anderson R 27 2 3 5.20 35 2 53.7 56 31 9 23 45
Diego Castillo R 30 4 5 5.06 50 1 53.3 50 30 8 28 49
Fernery Ozuna R 28 2 4 5.36 34 2 47.0 48 28 8 21 41
Scott Engler R 27 1 1 5.52 22 1 29.3 30 18 5 17 27
Ian Kennedy R 39 1 3 5.09 36 0 35.3 37 20 7 14 35
Andy Rodriguez R 25 2 3 5.16 32 0 45.3 48 26 7 22 37
Florencio Serrano R 24 1 2 5.48 20 1 44.3 51 27 7 18 26
Lucas Jacobsen L 28 1 2 6.20 22 1 24.7 26 17 4 16 19
Triston Polley L 27 3 5 5.44 36 2 51.3 54 31 8 27 40
Michael Brewer R 25 2 3 5.66 19 0 35.0 37 22 6 20 27
Hever Bueno R 29 1 3 5.93 23 0 30.3 31 20 5 23 28
Theo McDowell R 25 2 3 5.97 28 0 34.7 35 23 6 27 32

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ FIP ERA- WAR
Jordan Montgomery 168.7 8.5 2.8 1.2 7.3% 22.3% .297 114 4.05 88 3.0
Max Scherzer 135.7 9.9 2.4 1.5 6.5% 26.8% .284 108 4.12 92 2.2
Nathan Eovaldi 131.0 8.2 2.7 1.2 7.1% 21.6% .290 106 4.23 94 2.0
Jon Gray 131.3 9.0 2.9 1.2 7.7% 23.6% .292 103 4.08 97 1.8
Jacob deGrom 65.3 13.1 2.1 1.2 5.8% 37.0% .285 152 2.87 66 1.8
Tyler Mahle 118.0 9.1 3.2 1.3 8.5% 23.9% .284 101 4.31 99 1.5
Dane Dunning 145.7 7.8 3.0 1.2 7.8% 20.1% .301 96 4.49 104 1.5
Cody Bradford 112.3 7.6 2.3 1.4 6.1% 20.0% .297 100 4.41 100 1.3
Andrew Heaney 117.0 9.2 3.2 1.5 8.4% 23.7% .298 94 4.73 107 1.2
Robert Dugger 115.7 7.2 3.7 1.3 9.2% 18.2% .302 90 4.88 112 0.9
Brock Burke 68.3 8.6 2.5 1.2 6.7% 23.0% .282 119 3.99 84 0.9
Josh Stephan 91.3 7.5 2.9 1.3 7.5% 19.5% .290 93 4.56 108 0.9
Avery Weems 71.0 8.6 3.3 1.4 8.4% 22.0% .300 94 4.66 107 0.7
Aroldis Chapman 48.3 14.5 5.2 1.5 13.1% 36.6% .301 112 3.98 89 0.6
Zak Kent 71.7 7.9 3.3 1.4 8.3% 20.2% .300 90 4.71 112 0.6
Chase Lee 60.3 9.7 3.3 1.2 8.6% 25.3% .300 101 4.12 99 0.5
Jake Latz 65.7 9.3 4.4 1.4 11.0% 23.4% .298 94 4.72 106 0.5
Josh Sborz 56.3 10.5 3.5 1.3 8.9% 26.8% .303 110 3.93 91 0.5
Tim Brennan 61.3 5.3 2.2 1.3 5.7% 13.6% .292 88 5.06 114 0.4
Owen White 92.7 6.5 4.0 1.4 9.9% 16.2% .289 84 5.29 119 0.4
Jack Leiter 83.7 9.0 5.1 1.4 12.5% 22.4% .291 83 5.17 120 0.4
José Leclerc 57.0 10.9 4.7 1.3 12.1% 27.9% .277 103 4.45 97 0.4
Yerry Rodríguez 62.7 9.2 4.2 1.3 10.5% 23.2% .302 93 4.66 108 0.3
Matt Bush 34.0 9.5 3.7 1.3 9.5% 24.5% .281 104 4.46 96 0.3
Seth Nordlin 81.7 5.5 3.2 1.3 8.0% 13.8% .299 83 5.23 121 0.3
Marc Church 58.0 9.6 4.3 1.2 11.0% 24.4% .294 98 4.51 103 0.2
James Marvel 81.0 5.3 3.6 1.3 8.8% 13.2% .299 82 5.48 122 0.2
Cole Winn 97.0 7.4 5.6 1.3 13.4% 17.9% .289 82 5.49 123 0.2
Antoine Kelly 66.0 9.7 5.5 1.4 13.4% 23.7% .289 87 5.21 115 0.2
Grant Anderson 65.0 9.4 3.6 1.4 9.2% 24.1% .297 96 4.59 104 0.2
Kyle Cody 62.3 6.6 3.0 1.4 7.6% 16.6% .299 87 5.07 115 0.2
Dane Acker 58.3 7.9 4.9 1.4 12.2% 19.5% .286 81 5.47 123 0.2
Robby Ahlstrom 62.3 8.2 4.3 1.3 10.7% 20.4% .296 89 4.94 112 0.2
Jonathan Hernández 57.3 9.6 4.6 1.3 11.4% 23.9% .296 96 4.62 104 0.1
Grant Wolfram 55.3 9.1 4.7 1.3 11.6% 22.4% .298 90 4.85 111 0.1
Josh Dye 45.7 6.5 3.0 1.4 7.6% 16.7% .296 93 4.85 108 0.1
Kirby Yates 49.3 10.8 4.7 1.5 12.0% 27.3% .283 96 4.86 104 0.1
Nick Krauth 96.0 4.8 3.3 1.5 8.2% 11.9% .295 78 5.73 128 0.0
Ryan Garcia 79.3 7.8 5.1 1.5 12.4% 19.1% .291 77 5.46 129 0.0
Daniel Robert 37.3 9.2 4.8 1.4 12.0% 22.8% .297 87 5.08 115 0.0
Steven Jennings 53.0 7.1 2.7 1.4 7.1% 18.6% .285 92 4.71 109 0.0
Danny Duffy 42.3 8.5 5.7 1.5 13.8% 20.4% .294 79 5.50 126 0.0
Noah Bremer 48.0 6.0 3.9 1.5 9.6% 14.6% .303 78 5.65 128 -0.1
Reid Birlingmair 57.0 7.1 4.9 1.6 11.7% 17.0% .295 77 5.80 129 -0.1
Carson Coleman 41.7 10.6 5.0 1.3 12.4% 26.3% .291 88 5.01 113 -0.1
Edwar Colina 41.7 7.6 4.8 1.5 11.5% 18.3% .298 78 5.56 128 -0.1
Aidan Anderson 53.7 7.5 3.9 1.5 9.5% 18.7% .296 84 5.38 118 -0.1
Diego Castillo 53.3 8.3 4.7 1.4 11.8% 20.7% .282 87 5.17 115 -0.1
Fernery Ozuna 47.0 7.9 4.0 1.5 10.0% 19.5% .292 82 5.45 122 -0.2
Scott Engler 29.3 8.3 5.2 1.5 12.6% 20.0% .298 79 5.47 126 -0.2
Ian Kennedy 35.3 8.9 3.6 1.8 8.9% 22.3% .303 86 5.12 116 -0.2
Andy Rodriguez 45.3 7.3 4.4 1.4 10.5% 17.6% .299 85 5.22 118 -0.3
Florencio Serrano 44.3 5.3 3.7 1.4 9.0% 13.0% .299 80 5.49 125 -0.3
Lucas Jacobsen 24.7 6.9 5.8 1.5 13.7% 16.2% .293 71 6.01 141 -0.3
Triston Polley 51.3 7.0 4.7 1.4 11.5% 17.1% .295 81 5.53 124 -0.3
Michael Brewer 35.0 6.9 5.1 1.5 12.3% 16.7% .292 78 5.83 129 -0.3
Hever Bueno 30.3 8.3 6.8 1.5 15.5% 18.9% .299 74 5.93 135 -0.4
Theo McDowell 34.7 8.3 7.0 1.6 15.9% 18.8% .293 74 6.17 136 -0.5

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Jordan Montgomery Cole Hamels Frank Viola Jose Quintana
Max Scherzer Don Sutton Gaylord Perry Phil Niekro
Nathan Eovaldi Lance Lynn Roy Oswalt Justin Verlander
Jon Gray Justin Verlander Andy Benes Bob Feller
Jacob deGrom Dazzy Vance Tommy Bridges Max Scherzer
Tyler Mahle Bob Welch Curt Schilling Don Wilson
Dane Dunning Kevin Brown Rene Valdes Cal McLish
Cody Bradford Scott McGregor Rudy Owens Fritz Peterson
Andrew Heaney Frank Tanana Denny Neagle Rudy May
Robert Dugger Chris Stratton Terry Doyle John Webb
Brock Burke Craig Lefferts Gary Lucas Ricky Horton
Josh Stephan Jon Adkins 애킨스 Maurice McCall J.C. Mejía
Avery Weems Fred Heimach John Yandle Mike Myers
Aroldis Chapman John Hiller Mike Remlinger Tippy Martinez
Zak Kent Steve Dreyer Jimmy Whisman Nick Kingham
Chase Lee Jensen Lewis Oscar Villarreal Steven Shell
Jake Latz Jesse Biddle Ross Powell Rich Sauveur
Josh Sborz Alejandro Pena Al Benton Heath Hembree
Tim Brennan Scott Nielsen Dave Ford Ryan Williams
Owen White Vic Martin Juan Castillo Allen Levrault
Jack Leiter Stolmy Pimentel Freddie Martinez Tommy Moore
José Leclerc Armando Benitez Charlie Hough Cody Allen
Yerry Rodríguez Blake Wood Dave Lemanczyk Tim Scott
Matt Bush Jeff Montgomery Don McMahon Lee Smith
Seth Nordlin Terance Marin Jake Matthys Kyle McCulloch
Marc Church James Hemric Fred Breining Dustin Loggins
James Marvel David Hale 헤일 Graham Godfrey Sergio Valenzuela
Cole Winn Kevin McAvoy Stan Fansler Pedro Payano
Antoine Kelly Art DeFilippis Hipolito Pena Jesse Orosco
Grant Anderson Bryan Hebson Matt Roney Paul Byrd
Kyle Cody Anthony Bass Alfredo Figaro 피가로 Frank Herrmann
Dane Acker Tom Kelley Dave Proctor Bob Graczyk
Robby Ahlstrom Scott Bailes Tom Bolton Gilbert De La Vara
Jonathan Hernández Ed Nunez Jesse Crain Ronald Belisario
Grant Wolfram Mark Lukasiewicz Nick Maronde Bary Woodruff
Josh Dye Graeme Lloyd Kraig Sitton Jack DiLauro
Kirby Yates Grant Balfour Tom Gordon Joaquin Benoit
Nick Krauth Duke von Schamann Joey O’Gara Sean O’Sullivan 오설리반
Ryan Garcia Carl Nicholson Stan Willis Marvin Freeman
Daniel Robert Jesus Colome Rafael Martin Justin Hedrick
Steven Jennings Bryan Corey 코리 William Clauss Pat Lehman
Danny Duffy Jerry Don Gleaton Don Hood Ron Perranoski
Noah Bremer James Raynor Matt Murray Nate Yeskie
Reid Birlingmair Paul Clemens Seth McGarry Travis Anderson
Carson Coleman Frank Snook Mark Acre Keith Butler
Edwar Colina German Melendez Kyle Collins Josh Kranawetter
Aidan Anderson Pedro Beato Zac Reininger Brandon Reed
Diego Castillo Jesus Colome Dyar Miller Matt Albers
Fernery Ozuna Elvys Quezada Mike Cather Mike Roesler
Scott Engler Scooter Cushman Chuck Taylor Ronald Welsch
Ian Kennedy Joe Borowski Joel Peralta Chad Durbin
Andy Rodriguez Angel Nesbitt Rob Derksen Kevin Altman
Florencio Serrano Zach Isler Julio Felix Jose Sosa
Lucas Jacobsen Bill Moloney Len Whitehouse Bryan Duquette
Triston Polley Don Arlich Mark Miggins Chris Cervantes
Michael Brewer Ray Calhoun Rich Berg Jay Volkman
Hever Bueno Del Hill Jake Meyer Aris Tirado
Theo McDowell Mike Goff Ned Darley Luis Liria

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
Jordan Montgomery .213 .260 .316 .257 .316 .430 4.0 1.8 3.35 4.56
Max Scherzer .256 .321 .448 .209 .255 .378 3.2 1.1 3.29 5.00
Nathan Eovaldi .254 .321 .430 .241 .289 .391 2.7 1.2 3.61 4.73
Jon Gray .243 .317 .413 .238 .295 .383 2.6 0.8 3.73 4.96
Jacob deGrom .207 .264 .388 .192 .233 .328 2.4 1.2 1.92 3.92
Tyler Mahle .225 .312 .394 .247 .301 .417 2.3 0.6 3.73 5.15
Dane Dunning .264 .334 .431 .254 .316 .421 2.3 0.6 4.09 5.15
Cody Bradford .303 .350 .492 .243 .293 .412 2.0 0.6 3.85 5.06
Andrew Heaney .252 .313 .395 .251 .326 .457 1.9 0.1 4.10 5.61
Robert Dugger .276 .357 .463 .259 .320 .429 1.6 0.2 4.39 5.48
Brock Burke .240 .293 .360 .235 .291 .406 1.4 0.2 2.99 4.66
Josh Stephan .259 .333 .437 .250 .303 .420 1.5 0.2 4.08 5.54
Avery Weems .225 .292 .300 .266 .341 .482 1.2 0.1 4.07 5.54
Aroldis Chapman .167 .286 .271 .214 .320 .427 1.4 -0.4 2.50 6.24
Zak Kent .254 .331 .429 .266 .324 .456 1.0 0.0 4.35 5.62
Chase Lee .253 .342 .444 .231 .293 .366 1.1 -0.1 3.46 5.28
Jake Latz .229 .309 .386 .254 .343 .439 1.0 -0.1 3.95 5.48
Josh Sborz .255 .324 .449 .220 .290 .364 1.0 -0.2 3.15 5.29
Tim Brennan .274 .331 .469 .276 .333 .433 0.8 0.1 4.53 5.52
Owen White .272 .354 .462 .256 .336 .427 0.8 -0.2 4.83 5.85
Jack Leiter .248 .358 .450 .240 .340 .406 1.0 -0.3 4.66 5.97
José Leclerc .237 .345 .433 .197 .301 .333 1.1 -0.4 3.30 5.41
Yerry Rodríguez .264 .354 .464 .237 .320 .378 0.9 -0.2 4.02 5.56
Matt Bush .236 .323 .400 .227 .306 .413 0.7 -0.1 3.42 5.45
Seth Nordlin .285 .362 .486 .274 .332 .435 0.7 -0.2 4.76 5.86
Marc Church .242 .327 .414 .234 .329 .395 0.7 -0.3 3.85 5.39
James Marvel .272 .343 .451 .289 .368 .470 0.6 -0.2 4.86 5.93
Cole Winn .244 .360 .405 .263 .361 .446 0.8 -0.4 4.89 6.01
Antoine Kelly .230 .333 .351 .239 .361 .433 0.8 -0.4 4.36 5.84
Grant Anderson .278 .363 .491 .221 .296 .372 0.8 -0.4 3.79 5.38
Kyle Cody .273 .336 .482 .271 .335 .436 0.6 -0.3 4.53 5.78
Dane Acker .238 .341 .390 .260 .366 .463 0.5 -0.3 4.87 6.16
Robby Ahlstrom .267 .349 .400 .247 .338 .435 0.7 -0.4 4.26 5.67
Jonathan Hernández .245 .345 .441 .235 .324 .378 0.6 -0.5 3.92 5.55
Grant Wolfram .197 .299 .288 .268 .360 .477 0.6 -0.4 4.16 5.67
Josh Dye .230 .299 .377 .289 .341 .488 0.5 -0.2 4.12 5.53
Kirby Yates .241 .364 .458 .212 .308 .365 0.7 -0.6 3.26 6.29
Nick Krauth .288 .361 .476 .284 .351 .477 0.5 -0.5 5.15 6.11
Ryan Garcia .270 .381 .475 .246 .330 .427 0.6 -0.6 5.08 6.40
Daniel Robert .265 .359 .412 .234 .333 .455 0.3 -0.4 4.33 6.03
Steven Jennings .255 .324 .394 .254 .306 .465 0.4 -0.4 3.85 5.22
Danny Duffy .222 .317 .361 .262 .370 .469 0.4 -0.6 4.44 7.29
Noah Bremer .291 .367 .488 .275 .355 .468 0.2 -0.4 5.16 6.20
Reid Birlingmair .272 .368 .509 .263 .356 .421 0.3 -0.5 5.08 6.46
Carson Coleman .219 .360 .411 .235 .347 .388 0.2 -0.6 4.28 6.01
Edwar Colina .266 .370 .443 .264 .350 .471 0.2 -0.5 4.96 6.43
Aidan Anderson .275 .368 .440 .254 .333 .467 0.2 -0.5 4.66 5.89
Diego Castillo .253 .364 .446 .236 .326 .398 0.4 -0.7 4.35 6.06
Fernery Ozuna .262 .361 .464 .255 .342 .441 0.2 -0.6 4.59 6.38
Scott Engler .263 .373 .456 .254 .338 .458 0.1 -0.5 4.88 6.65
Ian Kennedy .261 .329 .522 .264 .333 .444 0.2 -0.6 4.14 6.62
Andy Rodriguez .277 .375 .446 .255 .327 .449 0.0 -0.6 4.67 5.76
Florencio Serrano .298 .362 .500 .271 .343 .448 -0.1 -0.6 5.02 6.17
Lucas Jacobsen .276 .382 .448 .261 .373 .464 -0.1 -0.6 5.54 7.49
Triston Polley .250 .329 .375 .271 .372 .479 0.1 -0.7 4.70 6.18
Michael Brewer .270 .387 .476 .263 .345 .461 -0.1 -0.6 5.03 6.43
Hever Bueno .259 .385 .481 .258 .375 .439 -0.1 -0.7 5.22 7.03
Theo McDowell .254 .405 .444 .257 .364 .459 -0.2 -0.8 5.23 7.00

Here are how the ZiPS percentiles worked out in 2023 for pitchers and hitters in in 2023. Percentiles are based on the projected PA or TBF.

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.





Dan Szymborski is a senior writer for FanGraphs and the developer of the ZiPS projection system. He was a writer for ESPN.com from 2010-2018, a regular guest on a number of radio shows and podcasts, and a voting BBWAA member. He also maintains a terrible Twitter account at @DSzymborski.

68 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
markakis21
1 month ago

So looking at all these Zips things, and actually seeing it written out on the diamond has got me thinking. Is the standard for having a “good player” at shortstop higher now? Like, is a 3 WAR player just an average one? 3.5? It seems like the inverse of catcher, where the position itself deviates from the populace.

darren
1 month ago
Reply to  markakis21

I think 2 WAR is the rule of thumb for an average player. Somewhere around 5 is an All-Star, 8 is MVP level.

markakis21
1 month ago
Reply to  darren

Yes, I know that. But I’m saying, is it different for shortstop these days?

Smiling Politely
1 month ago
Reply to  markakis21

There’s going to be a selection (survivor?) bias at SS since that’s where the most talented IFs will play (so you might expect it to be higher? or, at least, to have a higher ceiling). I was not the only person to notice that in the recent Int’l Prospect Rankings, SS was the most common position (and 7 of the first 13 spots).

hughduffy
1 month ago

What position is the best athlete on the team usually going to play? Shortstop.
What happens if a shortstop prospect gets bigger and heavier/can’t cut it defensively/the team has different positional needs? They can always move down the defensive spectrum.
That’s why shortstops are generally the most sought after position player prospects, even if that’s not where they end up playing.

Robertmember
1 month ago
Reply to  markakis21

I’d say yes as over the past decade the offensive bar at the position has risen substantially. But these days there just seem to be so many guys who can hack it so maybe its easier to find a playable solution.

shampain
1 month ago
Reply to  Robert

I agree. Another contributing factor: modern defensive positioning and more TTO also reduces the importance of maximizing defense there, so you can play a better hitter.

Cool Lester Smoothmember
1 month ago
Reply to  markakis21

Using the “At SS” split, the 10th ranked player had 3.4 WAR and the 15th had 2.1 WAR.

2022: 3.7 and 2.6
2021: 3.7 and 2.4
2019: 3.8 and <i>3.1</i> (!!!)

MikeDmember
1 month ago
Reply to  markakis21

It’s not a clean answer. Anthony Volpe was basically a 2 fWAR and 3 rWAR player while being hitting challenged in year one; meanwhile, Vlad Jr. was a 1 fWAR and 2 rWAR player while hitting almost 20% better than league average. A player gets awarded WAR points just for standing at SS or CF, while a 1B’man is penalized. The positional adjustment makes zeroing in on what average truly means difficult.

Last edited 1 month ago by MikeD
HappyFunBallmember
1 month ago
Reply to  markakis21

Shouldn’t that be covered by the positional adjustment taken into account by WAR? I know that the adjustment is not continuously variable so it may not come out evenly every season, but if a league-average SS was a 3 WAR player then that means the adjustment is wrong.

sadtrombonemember
1 month ago
Reply to  HappyFunBall

The positional adjustment is supposed to reflect league-wide scarcity in being able to field a position. Technically, it’s entirely possible that a league-average SS being a 3-win player is fine and reflects the league-wide scarcity. But it does indicate something might be off. It’s more of a warning sign than a problem in itself.

mikejuntmember
1 month ago
Reply to  sadtrombone

The positional adjustments aren’t dynamic from year to year so its quite possible that during a particular bounty of hitting at the position that the average may be higher than normal, but its probably not insanely so – the MoE of war is like half a win, so 2 and 2.5 aren’t really all that different (or shouldn’t be).

But also its important to look at the median and not the mean when you’re evaluating those kinds of things, as even when SS is a deeper position, the average or replacement level SS may not be any different at all. The 15th-16th SS is still right around 2, and the 25th is still well below that.

At times when a position is particularly deep or thin (see: left field the last 5 years or so), it can look like the replacement level baseline isn’t correct, but it’s often the case that the actual replacement level is more or less the same – its just a question of how far the top end is away from it, which is gonna be different when there’s a bunch of stars (whether that’s Seager/Turner or Rodriguez/Jeter/Garciaparra) or a bunch of scrubs (see: circa 2012 or so)

Here’s a great comparison. In 2012, only 3 SS were above 4.0 fWAR and one of those was above 5. The 15th SS was a 1.9 fWAR player.

In 2023, there were 3 SS above 5 and 7 above 4. The 15th SS was a 1.9 fWAR player.

High-end depth can make it important to find something better than just a league average SS as a team that means to contend, but it doesn’t really change WHAT the median player at the position really looks like.

In 2023, that player was Anthony Volpe (1.9) or CJ Abrams (2.1, if you believe the DRS value of Volpe). In 2012, it was Zack Cozart (1.9).

Last edited 1 month ago by mikejunt
Cool Lester Smoothmember
1 month ago
Reply to  sadtrombone

That’s when it helps to look at things via the lens of where SS guys tend to shift down to on the defensive spectrum:

For 3B: 10th best was 2.9 and 15th was 2.0 (2022: 2.9/2.2, 2021: 3.0/2.0)

For 2B: 3.1 and 2.3 (2.4/1.6, 2.6/2.3)

For CF: 2.4 and 1.9 (2.2/1.8, 2.5/1.8)

It basically looks like there’s currently a bumper crop of guys who haven’t moved off SS yet.

Last edited 1 month ago by Cool Lester Smooth
hughduffy
1 month ago
Reply to  markakis21

I don’t think so.
In 2023, 136 players played at shortstop for an average of 0.6 WAR.
In 2023, 27 players with at least 300 PA played at shortstop for an average of 2.4 WAR and median of 2.1 WAR.
In 2013, 115 players played at shortstop for an average of 0.6 WAR.
In 2013, 28 players with at least 300 PA played at shortstop for an average of 2.1 WAR and median of 2.3 WAR.
In 2003, 114 players played at shortstop for an average of 0.6 WAR.
In 2003, 26 players with at least 300 PA played at shortstop for an average of 2.5 WAR and median of 2 WAR.

I think we’re just more cognizant of what makes a player good at shortstop, and how important having a good shortstop is.
In 2023, there were 15 players who produced 2.0 WAR or more at shortstop, and only 10 who produced 3.0 WAR or more at shortstop.

shampain
1 month ago
Reply to  hughduffy

In 2023, 20 teams got 1.9 fWAR or better from SS. Of the 10 that didn’t, 3 of them were BOS, LAD, and ATL which had somewhat unexpected results from the position, as did CHW and CLE. You could even maybe put DET on that list with Baez, and PIT with O’Neil Cruz.

I.e., there could be 25 or 26 out of 30 teams expecting 2 fWAR or better production from their SS this coming season, and probably 15 hoping for 3ish fWAR or better. That seems like a lot, but some of that is the positional adjustment and does make sense conceptually.

hughduffy
1 month ago
Reply to  shampain

I don’t think that the positional adjustment has anything to do with it. Your comment made me think about how hitting for shortstops has changed and look at league average as shortstop. I did this by looking at the fangraphs leaderboards, league stats, as shortstop, and looking at the yearly averages from 2002-2023.

I think a lot of how our expectations for shortstops changed due to the juiced ball from 2016-present. Since the league dialed it back a little the past two years, league WAR at shortstop has lowered a little, but it is still higher than it ever was.

The positional adjustment as shortstop averaged 221.8 from 2002-2023 (excluding 2020), with a min of 218.5, max of 223.6, and a median of 222.0. The positional adjustment has largely remained the same.

Overall defense? The same. Excluding 2020, league defense as shortstop averaged 222.5, min 217.8, max 228.7, median 222.1.

Overall offense is where you see the change. The average, excluding 2020, was -178.6, min -290.1, max 58.8, median -222.9. The outlier years are 2016-2023.
2016: -165.8
2017: -157.9
2018: -29.7
2019: 58.8
2020: 30.2
2021: 49.5
2022: -25.9
2023: -108.1

And while I used overall offense, the cause is batting runs, not baserunning runs. Batting runs at shortstop from every year from 2016-2023 is higher than from 2015 and before. When the ball was juiciest is when offense at shortstop was the highest. It had a commensurate effect on league WAR as shortstop.

2016: 73.9
2017: 74.6
2018: 88.2
2019: 96.4
2020: 36.6
2021: 95.5
2022: 89.3
2023: 79.1

League WAR at shortstop from 2016-2023 is higher than all previous years except 2011, which ties 2016. Is it all the juiced ball? Probably not. Some of these shortstops would probably rake anyway. But a rising tide lifts all boats like juiced balls lift league averages, and that’s one reason why 2019 was such an outlier year for shortstops.

One other thing I noticed, which would require more work to show statistically, is that fewer teams are below replacement level at shortstop. 2013 was the last season 6 teams were below replacement level at shortstop. In 2018, no teams were below replacement level. In 2021, three teams were below replacement level at shortstop, and that was the most since 2013. I think it is true that teams in recent years have tried harder to make sure that shortstop isn’t a position of weakness.

Cool Lester Smoothmember
1 month ago
Reply to  hughduffy

One thing worth noting is that WAR doesn’t rate defense against a historical average – Xander Bogaerts being a +0 SS in 2023 just means he was average in 2023.

It doesn’t mean the same defensive performance would have been average in 2016, when he was a -10 SS.

If teams are collectively sacrificing SS range for more offense, then it would skew the Positional Adjustments in those years.

hughduffy
1 month ago

WAR doesn’t rate defense against a historical average, but neither OAA nor UZR are positionally averaged to 0 each year.

If teams were collectively sacrificing SS range for more offense, that should show up in the league data on Fielding Runs at the shortstop position.

The positional adjustment in WAR is static, +7.5 for shortstops. If a shortstop plays 1458 innings in a year at shortstop, their positional adjustment will be 7.5 Positional Runs. For example, Dansby Swanson had 7.4 Positional Runs in 2022 because he spent 1433 innings at shortstop.

Sadly, no WAR adjusts the positional adjustment over time.