HomeSportsBaseball2025 ZiPS Projections: Texas Rangers

2025 ZiPS Projections: Texas Rangers

For the 21st 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

If you were looking to assign blame for the Rangers going from being World Series champions to having a 78-84 season, you’d have a bounty of targets. From a Pythagorean standpoint, the collapse from one year to the next was even worse; the 2024 Rangers bled 12 wins compared to 2023, but in terms of run differential, they dropped an impressive 21 wins. Given the widespread nature of their disappointing season, the latter number is probably closer to the “true” decline.

The offense’s contribution dropped in half, from 34.1 WAR in 2023 to 16.9 WAR in 2024. And unlike the 2014 squad, the last Texas team to so dramatically underachieve, the 2024 Rangers can’t really put the lion’s share of the blame on injuries, at least on the run-scoring side of the equation. Evan Carter missed most of the season with a back injury, but he also only played in 23 regular season games in 2023. Corey Seager typically misses a couple dozen games a year, and while Josh Jung’s fractured wrist was a stroke of bad luck, Josh Smith was a very good replacement. A lot of the lost performance came from healthy, established players, and even worse, a good number of those players are veterans on the back end of their respective career trajectories.

In a bit of good news, ZiPS sees Father Time’s hit to the 2024 underachievers as more of a sharp jab to the nose than a brutal uppercut that knocks them to the mat. Marcus Semien, Adolis García, and Jonah Heim are all projected to play better ball in 2025, though none are projected to quite get back to their 2023 level. This isn’t unexpected either, especially from the first two. Semien will turn 35 before the end of the season, and thanks to a rather late start in the majors, García will already be 32 when the season starts. Wyatt Langford and a (hopefully) healthier Jung also ought to make gains, as will Carter.

In the end, the Rangers don’t really have to do all that much to their lineup. They project well everywhere, and that includes role players like Smith, Sam Huff, and Justin Foscue. Some minor moves to improve the team’s depth would be helpful, but they aren’t strictly necessary.

Pitchers

If you think the graphic looks bleak, ZiPS is actually quite a bit more pessimistic, thanks to its disagreements with our Depth Chart’s projected playing time. ZiPS thinks most of the rotation will be less healthy than the Depth Charts do, especially Jacob deGrom; the computer knocks more than a 100 innings off of the straight-up projection that doesn’t use the FanGraphs Depth Chart. It isn’t ideal when the pitcher with the best projected WAR among the hurlers under contract is the guy forecast for 51 2/3 innings. I don’t think the Rangers should be content shopping the second-tier pitching section of the free agent market; if they don’t sign at least one of the top five or so starters, it’s a missed opportunity. Tyler Mahle, Jon Gray, and Cody Bradford projects as mid-rotation starters if healthy.

ZiPS projects Kumar Rocker as ready, with the second-best projected ERA among Rangers starters, and thinks Jack Leiter can at least contribute to the rotation. But the computer doesn’t see much in the way of lesser in-system reinforcements, though I should note that this rundown doesn’t include Alejandro Rosario, who hasn’t yet reached Double-A.

As for the bullpen…

Shoot, do I have to talk about the bullpen? I was hoping that if I kinda just trailed off, your eyes would get distracted by the graphic and the tables and you’d forget that I didn’t actually complete my thought. The bullpen ranked 25th in WAR this season and four of the relievers hitting free agency — Kirby Yates, David Robertson, José Leclerc, and Andrew Chafin — combined to be worth more than 4.00 of the unit’s 2.0 WAR (the rest of the ‘pen was comfortably below replacement). Like your car’s value five minutes after you drive it off the dealership’s parking lot, the bullpen is underwater. ZiPS only projects three of the top 13 pitchers on the depth chart to be meaningfully better than replacement level, and precisely none of them project to be an average reliever in 2025. Combine a dreadful bullpen with a lineup that appears to be quite solid, and it’s a formula for a lot of late-inning tragedies to be penned.

If there’s a silver lining, it’s that this is a November team rundown, not one of the early-January stragglers. Texas still has a lot of time to replace the departing arms, and while I’m not typically one to advise teams to spend ludicrous amounts of cash on relievers, the Rangers should totally consider spending ludicrous amounts of cash on relievers. This is not a situation like the Mariners or the Phillies; the Rangers don’t need to fill out the bottom of the bullpen, but the top and middle of it.

Texas projects as an 80-85 win team right now, but the nice thing about the roster is that there’s a great deal of clarity about where the team’s weaknesses are. The Rangers are one of the more upgradeable .500ish teams this winter, though you’re probably going to have to wait a few months to see if they agree.

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 31 SS 552 487 75 137 26 1 28 84 56 94 1 1
Marcus Semien R 34 2B 670 602 97 150 30 3 23 83 62 104 9 2
Wyatt Langford R 23 LF 593 530 85 143 30 5 23 87 55 118 19 4
Josh Smith L 27 3B 525 456 64 112 24 2 12 57 47 107 9 3
Leody Taveras B 26 CF 543 492 66 125 24 4 13 60 43 115 20 5
Nathaniel Lowe L 29 1B 607 536 68 146 21 2 19 78 65 132 3 1
Adolis García R 32 RF 598 542 77 129 26 2 28 89 45 169 12 4
Jonah Heim B 30 C 452 417 46 96 17 2 14 58 31 84 1 0
Evan Carter L 22 LF 432 376 60 90 17 4 11 52 48 111 10 3
Sam Huff R 27 C 427 393 43 88 19 0 15 54 30 148 0 0
Justin Foscue R 26 2B 427 374 53 85 22 1 12 55 42 83 4 3
Josh Jung R 27 3B 358 333 42 84 16 1 13 49 19 98 3 1
Ezequiel Duran R 26 3B 451 422 51 104 22 3 12 52 23 112 7 4
Max Acosta R 22 SS 467 433 53 105 21 2 8 50 25 89 15 7
Carson Kelly R 30 C 311 276 33 61 11 0 9 37 28 61 1 0
Blaine Crim R 28 1B 555 498 67 122 24 2 17 72 44 115 3 1
Alejandro Osuna L 22 CF 450 404 62 98 20 3 12 57 30 125 10 4
Sandro Fabian R 27 RF 469 436 50 103 23 2 15 62 25 85 3 2
Jax Biggers L 28 2B 420 367 40 82 15 3 4 36 40 98 7 4
Dustin Harris L 25 CF 540 483 66 114 20 3 12 62 45 132 21 5
Kellen Strahm R 28 CF 453 402 56 92 14 3 5 40 44 119 12 1
Jonathan Ornelas R 25 SS 485 443 54 100 15 2 5 45 33 128 7 3
Elier Hernandez R 30 CF 429 396 52 95 20 3 10 52 26 110 5 3
Trevor Hauver L 26 LF 442 384 45 81 20 2 10 47 50 150 1 1
Jose Barrero R 27 SS 375 342 39 68 14 2 11 48 21 135 11 2
Alex De Goti R 30 2B 368 327 37 67 14 2 3 30 33 96 5 3
Cameron Cauley R 22 SS 438 408 56 86 17 4 11 48 27 153 15 3
Cooper Johnson R 27 C 278 245 27 45 13 0 7 32 28 99 0 0
Frainyer Chavez B 26 3B 403 364 37 78 12 2 3 32 31 105 9 4
Anthony Gutierrez R 20 CF 321 300 35 67 11 3 2 27 15 85 20 5
Geisel Cepeda R 27 LF 295 270 28 61 9 0 3 26 18 43 5 2
Malcolm Moore L 21 C 109 99 12 20 5 0 3 14 6 35 1 1
Abimelec Ortiz L 23 1B 472 431 54 94 17 3 17 62 34 138 1 3
Dylan Dreiling L 22 CF 111 97 10 18 4 0 2 8 13 25 2 2
Travis Jankowski L 34 DH 249 220 29 50 8 1 1 17 25 49 12 1
Luis Mieses L 25 1B 452 431 39 98 24 2 10 52 14 107 1 1
Tucker Mitchell R 24 C 264 239 28 47 7 1 6 29 18 75 2 0
Matt Duffy R 34 2B 259 236 25 54 8 0 3 20 19 59 2 1
Matt Whatley R 29 C 223 199 22 37 6 0 4 20 17 64 3 2
Ian Moller R 22 C 362 321 28 55 12 1 3 25 38 115 7 0
Arturo Disla R 24 1B 489 451 44 100 19 0 16 65 28 121 2 2
Jesus Moreno R 24 C 85 76 6 12 2 0 1 7 6 36 0 0
Scott Kapers R 28 C 211 188 21 35 7 1 5 24 12 66 0 0
Devin Hurdle R 25 2B 95 87 9 17 3 1 0 7 5 32 0 1
Josh Hatcher L 26 RF 438 412 47 98 16 3 9 47 20 145 10 4
Marco Soto R 21 3B 135 124 9 22 3 0 0 9 7 42 1 1
Gleider Figuereo L 21 3B 496 459 54 90 16 2 15 58 30 163 2 1
Konner Piotto L 27 C 215 192 19 39 6 1 1 19 15 60 3 1
Benjamin Blackwell R 26 2B 211 195 19 36 5 1 1 13 13 68 8 3
Keyber Rodriguez R 24 SS 444 412 50 90 17 2 6 42 22 109 7 3
Daniel Mateo R 23 CF 379 360 37 75 9 4 6 37 13 114 14 7
Cody Freeman R 24 3B 485 448 50 95 20 2 10 52 27 106 7 1
Jayce Easley R 25 2B 285 241 31 42 6 1 1 18 31 85 12 3
Quincy Scott R 22 LF 372 334 25 71 10 1 1 31 27 106 5 3
Sebastian Walcott R 19 SS 497 458 50 97 24 6 9 53 34 156 13 6
Yosy Galan R 24 LF 365 335 39 60 12 4 11 42 22 159 12 4
Yeison Morrobel L 21 RF 457 423 36 85 16 0 7 42 27 122 4 3
Aaron Zavala L 25 LF 486 424 45 83 16 1 5 43 49 170 7 4
Danyer Cueva L 21 2B 314 299 32 57 11 2 2 25 10 117 6 2
Marcus Smith L 24 CF 385 342 31 58 9 2 5 32 34 180 13 6

Batters – Advanced

Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA 3YOPS+ RC
Corey Seager 552 .281 .359 .511 142 .230 .298 1 5.0 .368 132 90
Marcus Semien 670 .249 .321 .423 108 .174 .267 9 4.1 .323 102 84
Wyatt Langford 593 .270 .342 .476 128 .206 .309 5 3.8 .351 130 92
Josh Smith 525 .246 .337 .386 104 .140 .297 4 2.7 .320 104 62
Leody Taveras 543 .254 .313 .398 100 .144 .307 5 2.5 .310 100 68
Nathaniel Lowe 607 .272 .354 .425 120 .153 .330 0 2.4 .342 117 82
Adolis García 598 .238 .301 .448 108 .210 .293 4 2.1 .321 101 77
Jonah Heim 452 .230 .285 .381 87 .151 .257 6 1.9 .291 84 46
Evan Carter 432 .239 .333 .393 105 .154 .311 3 1.5 .320 109 53
Sam Huff 427 .224 .283 .387 87 .163 .317 2 1.5 .291 87 43
Justin Foscue 427 .227 .319 .388 99 .160 .262 -1 1.4 .312 99 48
Josh Jung 358 .252 .299 .423 101 .171 .319 1 1.3 .312 101 43
Ezequiel Duran 451 .247 .291 .398 93 .152 .309 3 1.3 .298 91 52
Max Acosta 467 .243 .288 .356 81 .113 .289 3 1.2 .282 84 50
Carson Kelly 311 .221 .299 .359 85 .138 .252 3 1.2 .291 84 30
Blaine Crim 555 .245 .314 .404 101 .159 .287 1 1.0 .313 99 64
Alejandro Osuna 450 .243 .305 .396 97 .154 .322 -4 1.0 .305 101 52
Sandro Fabian 469 .236 .286 .401 92 .165 .262 5 0.8 .298 93 51
Jax Biggers 420 .223 .300 .313 74 .090 .294 4 0.6 .275 75 38
Dustin Harris 540 .236 .308 .364 90 .128 .301 -7 0.6 .295 92 61
Kellen Strahm 453 .229 .308 .316 77 .087 .313 0 0.6 .280 75 42
Jonathan Ornelas 485 .226 .288 .302 68 .077 .306 4 0.6 .264 71 41
Elier Hernandez 429 .240 .294 .381 89 .141 .308 -4 0.5 .295 90 47
Trevor Hauver 442 .211 .306 .351 86 .141 .317 3 0.3 .292 88 42
Jose Barrero 375 .199 .262 .348 71 .149 .291 0 0.3 .268 75 34
Alex De Goti 368 .205 .285 .288 63 .083 .281 5 0.3 .260 62 29
Cameron Cauley 438 .211 .260 .353 71 .142 .307 -2 0.2 .266 79 42
Cooper Johnson 278 .184 .275 .323 69 .139 .274 -1 0.1 .268 71 22
Frainyer Chavez 403 .215 .280 .283 60 .069 .294 6 0.1 .253 61 32
Anthony Gutierrez 321 .223 .271 .300 62 .077 .305 2 -0.1 .254 64 31
Geisel Cepeda 295 .226 .284 .292 64 .067 .258 6 -0.1 .259 67 24
Malcolm Moore 109 .202 .266 .344 71 .141 .279 -2 -0.1 .268 79 10
Abimelec Ortiz 472 .218 .278 .390 86 .172 .279 1 -0.1 .290 93 48
Dylan Dreiling 111 .186 .279 .289 62 .103 .229 -1 -0.2 .258 70 9
Travis Jankowski 249 .227 .314 .287 72 .059 .288 0 -0.2 .274 68 23
Luis Mieses 452 .228 .254 .362 72 .135 .281 8 -0.3 .266 73 40
Tucker Mitchell 264 .197 .269 .309 63 .113 .259 -4 -0.3 .259 66 20
Matt Duffy 259 .229 .293 .301 69 .072 .293 -3 -0.3 .268 62 22
Matt Whatley 223 .186 .259 .276 52 .090 .251 0 -0.3 .242 50 16
Ian Moller 362 .171 .262 .243 45 .072 .256 2 -0.4 .234 51 22
Arturo Disla 489 .222 .280 .370 82 .149 .267 0 -0.4 .285 87 48
Jesus Moreno 85 .157 .235 .223 31 .066 .280 -1 -0.4 .213 42 4
Scott Kapers 211 .186 .258 .314 61 .128 .256 -4 -0.5 .254 60 15
Devin Hurdle 95 .196 .255 .253 45 .058 .309 -1 -0.5 .230 45 6
Josh Hatcher 438 .238 .277 .357 78 .119 .345 0 -0.5 .274 80 44
Marco Soto 135 .178 .237 .202 26 .024 .270 2 -0.5 .204 32 6
Gleider Figuereo 496 .196 .252 .338 65 .142 .267 -1 -0.6 .259 74 40
Konner Piotto 215 .204 .276 .261 54 .057 .291 -5 -0.7 .243 57 15
Benjamin Blackwell 211 .184 .242 .236 36 .051 .277 1 -0.8 .217 38 14
Keyber Rodriguez 444 .219 .263 .313 63 .095 .283 -6 -0.8 .254 66 37
Daniel Mateo 379 .208 .240 .306 53 .097 .288 1 -0.8 .239 58 32
Cody Freeman 485 .212 .264 .332 68 .120 .256 -6 -0.9 .261 72 41
Jayce Easley 285 .174 .277 .220 44 .046 .265 -2 -0.9 .234 45 18
Quincy Scott 372 .213 .285 .258 56 .045 .309 3 -1.0 .249 59 27
Sebastian Walcott 497 .212 .270 .349 74 .138 .300 -13 -1.0 .270 81 48
Yosy Galan 365 .179 .242 .338 62 .158 .298 -2 -1.3 .253 66 31
Yeison Morrobel 457 .201 .256 .289 54 .088 .266 2 -1.7 .242 60 34
Aaron Zavala 486 .196 .289 .274 61 .078 .314 -4 -1.7 .258 63 36
Danyer Cueva 314 .191 .220 .261 36 .070 .306 -3 -1.7 .211 44 19
Marcus Smith 385 .169 .253 .251 44 .082 .337 -6 -1.9 .231 51 27

Batters – Top Near-Age Offensive Comps

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 .304 .384 .573 164 6.5 .254 .334 .461 123 3.7
Marcus Semien .271 .346 .473 127 5.5 .223 .292 .376 88 2.4
Wyatt Langford .296 .370 .535 151 5.5 .241 .316 .415 105 2.1
Josh Smith .273 .363 .437 124 3.9 .223 .312 .339 86 1.5
Leody Taveras .280 .341 .447 121 3.9 .230 .289 .354 83 1.5
Nathaniel Lowe .298 .382 .470 139 3.8 .246 .327 .383 102 1.1
Adolis García .262 .322 .507 129 3.6 .209 .273 .383 83 0.3
Jonah Heim .262 .315 .444 110 3.2 .205 .261 .329 68 0.8
Evan Carter .265 .359 .450 125 2.5 .213 .307 .340 83 0.3
Sam Huff .253 .310 .444 110 2.7 .192 .254 .337 68 0.4
Justin Foscue .253 .345 .443 118 2.3 .205 .297 .341 81 0.4
Josh Jung .280 .328 .481 123 2.3 .228 .274 .372 82 0.4
Ezequiel Duran .273 .316 .448 112 2.3 .224 .267 .356 75 0.3
Max Acosta .266 .312 .397 98 2.2 .219 .267 .314 65 0.2
Carson Kelly .251 .331 .412 108 2.0 .193 .272 .301 63 0.3
Blaine Crim .271 .339 .456 121 2.3 .220 .290 .360 84 -0.2
Alejandro Osuna .268 .333 .444 116 2.1 .217 .276 .352 79 0.0
Sandro Fabian .263 .311 .455 113 2.1 .212 .259 .350 72 -0.3
Jax Biggers .248 .330 .352 93 1.6 .195 .272 .271 56 -0.3
Dustin Harris .260 .331 .407 109 1.8 .215 .282 .320 74 -0.5
Kellen Strahm .256 .333 .354 93 1.5 .202 .281 .273 56 -0.5
Jonathan Ornelas .253 .315 .346 85 1.6 .199 .262 .268 51 -0.5
Elier Hernandez .270 .322 .425 107 1.4 .214 .266 .323 67 -0.7
Trevor Hauver .238 .332 .393 103 1.3 .184 .274 .305 66 -0.7
Jose Barrero .223 .288 .407 93 1.4 .169 .233 .297 50 -0.6
Alex De Goti .232 .316 .325 81 1.2 .182 .258 .246 45 -0.5
Cameron Cauley .236 .289 .405 89 1.2 .186 .237 .305 51 -0.9
Cooper Johnson .211 .304 .377 89 0.8 .154 .241 .269 44 -0.7
Frainyer Chavez .240 .306 .326 79 1.0 .187 .254 .251 45 -0.7
Anthony Gutierrez .253 .298 .334 80 0.7 .195 .243 .263 45 -0.8
Geisel Cepeda .251 .309 .332 82 0.7 .203 .260 .260 49 -0.6
Malcolm Moore .234 .297 .404 94 0.2 .174 .238 .291 49 -0.4
Abimelec Ortiz .241 .303 .438 105 1.0 .190 .249 .343 66 -1.4
Dylan Dreiling .218 .307 .345 81 0.1 .160 .253 .248 44 -0.5
Travis Jankowski .262 .345 .325 92 0.4 .199 .284 .249 55 -0.8
Luis Mieses .259 .284 .411 95 1.1 .207 .233 .319 57 -1.2
Tucker Mitchell .226 .301 .374 86 0.4 .167 .243 .262 44 -0.9
Matt Duffy .260 .322 .331 87 0.2 .203 .269 .267 54 -0.8
Matt Whatley .212 .290 .331 75 0.3 .157 .226 .242 34 -0.9
Ian Moller .206 .292 .289 65 0.6 .146 .233 .203 27 -1.2
Arturo Disla .245 .307 .421 101 0.7 .196 .256 .327 65 -1.5
Jesus Moreno .191 .268 .274 54 -0.2 .130 .208 .176 13 -0.6
Scott Kapers .218 .290 .363 84 0.1 .158 .230 .262 41 -1.0
Devin Hurdle .228 .284 .293 63 -0.2 .168 .226 .216 27 -0.7
Josh Hatcher .265 .303 .405 96 0.5 .212 .248 .317 61 -1.5
Marco Soto .211 .269 .239 45 -0.2 .145 .213 .167 11 -0.8
Gleider Figuereo .222 .281 .389 86 0.6 .168 .225 .289 45 -1.8
Konner Piotto .238 .310 .305 75 -0.2 .173 .248 .220 33 -1.3
Benjamin Blackwell .209 .268 .265 52 -0.4 .155 .213 .202 19 -1.2
Keyber Rodriguez .242 .288 .348 80 0.2 .195 .238 .273 46 -1.7
Daniel Mateo .241 .268 .352 73 0.1 .186 .215 .266 37 -1.7
Cody Freeman .235 .286 .377 85 0.2 .186 .239 .287 49 -2.0
Jayce Easley .199 .303 .250 60 -0.3 .147 .251 .187 28 -1.5
Quincy Scott .239 .311 .293 72 -0.2 .185 .261 .222 39 -1.7
Sebastian Walcott .241 .300 .400 93 0.2 .188 .244 .301 53 -2.3
Yosy Galan .207 .266 .394 84 -0.3 .151 .217 .291 43 -2.1
Yeison Morrobel .227 .279 .323 69 -0.7 .174 .229 .247 37 -2.7
Aaron Zavala .226 .316 .314 78 -0.7 .171 .263 .235 43 -2.7
Danyer Cueva .216 .246 .306 55 -1.0 .162 .193 .216 16 -2.5
Marcus Smith .198 .284 .300 64 -0.9 .140 .226 .213 25 -2.8

Batters – Platoon Splits

Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Corey Seager .266 .333 .468 .288 .370 .532
Marcus Semien .256 .332 .442 .247 .317 .416
Wyatt Langford .275 .356 .516 .268 .337 .459
Josh Smith .244 .335 .400 .246 .337 .380
Leody Taveras .255 .314 .395 .254 .313 .400
Nathaniel Lowe .269 .343 .417 .274 .359 .429
Adolis García .238 .306 .463 .238 .299 .442
Jonah Heim .241 .288 .388 .226 .284 .379
Evan Carter .226 .318 .357 .245 .340 .410
Sam Huff .229 .294 .407 .221 .277 .375
Justin Foscue .236 .325 .407 .222 .315 .376
Josh Jung .264 .314 .455 .247 .292 .408
Ezequiel Duran .252 .299 .432 .243 .285 .378
Max Acosta .241 .287 .353 .243 .288 .357
Carson Kelly .233 .316 .384 .216 .291 .347
Blaine Crim .253 .325 .425 .240 .306 .391
Alejandro Osuna .231 .295 .368 .247 .309 .408
Sandro Fabian .248 .299 .429 .229 .278 .385
Jax Biggers .207 .282 .288 .230 .309 .324
Dustin Harris .239 .311 .365 .235 .307 .364
Kellen Strahm .239 .325 .333 .223 .298 .307
Jonathan Ornelas .227 .295 .307 .225 .283 .300
Elier Hernandez .250 .304 .399 .234 .287 .371
Trevor Hauver .195 .291 .325 .218 .313 .364
Jose Barrero .206 .268 .357 .194 .257 .343
Alex De Goti .213 .296 .298 .199 .277 .280
Cameron Cauley .216 .267 .368 .208 .257 .346
Cooper Johnson .183 .287 .354 .184 .268 .307
Frainyer Chavez .222 .283 .294 .210 .279 .277
Anthony Gutierrez .234 .280 .330 .218 .267 .286
Geisel Cepeda .235 .295 .309 .222 .279 .286
Malcolm Moore .207 .281 .345 .200 .260 .343
Abimelec Ortiz .202 .258 .360 .224 .284 .401
Dylan Dreiling .179 .258 .214 .188 .288 .319
Travis Jankowski .208 .288 .245 .234 .321 .299
Luis Mieses .212 .237 .336 .235 .263 .375
Tucker Mitchell .189 .268 .297 .200 .269 .315
Matt Duffy .234 .306 .312 .226 .287 .296
Matt Whatley .189 .268 .297 .184 .254 .264
Ian Moller .172 .274 .242 .171 .257 .243
Arturo Disla .227 .287 .386 .219 .277 .364
Jesus Moreno .148 .207 .185 .163 .250 .245
Scott Kapers .190 .268 .333 .184 .254 .304
Devin Hurdle .207 .258 .241 .190 .254 .259
Josh Hatcher .232 .269 .339 .240 .280 .363
Marco Soto .171 .244 .195 .181 .233 .205
Gleider Figuereo .182 .237 .306 .201 .258 .349
Konner Piotto .185 .262 .222 .210 .281 .275
Benjamin Blackwell .180 .242 .213 .187 .241 .246
Keyber Rodriguez .223 .273 .324 .216 .258 .308
Daniel Mateo .218 .254 .328 .203 .233 .295
Cody Freeman .211 .273 .333 .213 .259 .332
Jayce Easley .190 .296 .214 .166 .267 .223
Quincy Scott .221 .293 .250 .209 .281 .261
Sebastian Walcott .215 .277 .370 .211 .266 .341
Yosy Galan .185 .254 .352 .176 .236 .330
Yeison Morrobel .194 .246 .274 .204 .260 .294
Aaron Zavala .185 .272 .238 .201 .296 .289
Danyer Cueva .190 .216 .250 .191 .221 .265
Marcus Smith .165 .243 .233 .172 .257 .259

Pitchers – Advanced

Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ 3ERA+ FIP ERA- WAR
Nathan Eovaldi 143.7 8.3 2.4 1.3 6.4% 22.4% .282 97 91 4.03 103 1.5
Max Scherzer 107.0 9.5 2.3 1.3 6.2% 26.0% .274 103 98 3.91 97 1.4
Jacob deGrom 51.7 12.0 1.9 1.2 5.4% 34.0% .278 130 114 2.97 77 1.1
Tyler Mahle 98.0 8.4 2.9 1.2 7.8% 22.2% .277 96 95 4.12 104 1.0
Kumar Rocker 61.3 9.4 2.5 1.2 6.7% 25.2% .288 107 110 3.67 94 0.9
Cody Bradford 93.7 8.0 1.9 1.2 5.2% 21.6% .285 96 98 3.95 104 0.9
Jon Gray 105.0 8.2 2.7 1.1 7.2% 21.7% .289 91 86 3.99 109 0.7
Kirby Yates 51.7 11.1 4.5 0.9 12.0% 29.6% .261 117 103 3.70 86 0.6
Dane Dunning 118.7 8.0 3.2 1.2 8.2% 20.6% .292 88 87 4.40 114 0.6
David Robertson 58.3 11.0 3.9 0.9 10.1% 28.6% .291 110 102 3.52 91 0.5
Andrew Heaney 130.7 8.8 2.8 1.5 7.4% 23.1% .292 86 81 4.58 117 0.5
Collin Wiles 92.3 6.1 2.0 1.4 5.4% 16.1% .291 87 85 4.60 115 0.4
Josh Sborz 43.7 9.9 3.5 0.8 9.0% 25.4% .298 110 108 3.34 91 0.3
Ryan Lobus 81.7 8.5 2.8 1.4 7.2% 22.3% .286 88 92 4.54 114 0.3
Roansy Contreras 84.0 8.4 3.3 1.3 8.6% 21.7% .279 88 93 4.39 113 0.2
Josh Stephan 77.7 7.1 2.5 1.4 6.7% 18.5% .288 84 90 4.66 119 0.2
Mitch Bratt 99.3 7.1 2.9 1.4 7.5% 18.4% .285 82 88 4.76 122 0.2
José Leclerc 59.0 11.0 4.6 1.1 11.9% 28.6% .279 99 96 3.96 101 0.1
Robert Dugger 104.3 6.8 3.8 1.2 9.6% 17.2% .296 81 82 4.76 123 0.1
Kohl Drake 84.3 8.1 3.2 1.5 8.1% 20.5% .290 81 87 4.74 123 0.1
Andrew Chafin 50.0 10.1 4.5 1.1 11.4% 25.6% .289 98 90 4.06 102 0.1
Walter Pennington 69.0 8.2 3.9 1.0 10.0% 20.9% .291 92 96 4.29 109 0.0
Gerson Garabito 75.3 7.6 3.5 1.3 8.9% 19.6% .284 83 83 4.85 120 0.0
Ben Anderson 82.3 6.2 3.3 1.4 8.3% 15.7% .292 79 82 5.01 126 0.0
Dane Acker 78.0 7.6 4.0 1.4 10.2% 19.3% .286 80 83 5.02 125 0.0
Marc Church 44.3 9.1 3.7 1.2 9.4% 23.4% .292 91 97 4.26 110 0.0
Jacob Latz 57.3 8.8 4.7 1.3 11.8% 22.0% .291 86 86 4.71 116 0.0
Jack Leiter 93.3 9.2 4.1 1.4 10.5% 23.3% .284 80 84 4.84 125 0.0
Tim Brennan 49.7 4.9 3.1 1.1 7.8% 12.4% .285 80 81 5.05 125 -0.1
Peter Solomon 81.3 7.2 3.9 1.2 9.7% 18.0% .291 80 81 4.74 125 -0.1
Emiliano Teodo 74.7 8.6 5.1 1.3 12.4% 20.9% .282 79 84 5.08 127 -0.1
Daniel Robert 41.0 9.0 4.0 1.1 10.2% 23.2% .288 88 89 4.30 113 -0.1
Danny Duffy 27.0 8.0 6.0 1.3 14.3% 19.0% .295 76 68 5.33 131 -0.1
Carson Coleman 34.3 9.7 4.2 1.0 10.7% 24.7% .281 86 88 4.46 116 -0.2
Cole Winn 76.7 7.6 4.7 1.2 11.7% 19.0% .287 77 81 4.90 130 -0.2
Grant Wolfram 54.0 8.5 4.3 1.2 10.8% 21.2% .291 84 86 4.53 119 -0.2
Winston Santos 98.0 6.9 2.8 1.6 7.3% 17.7% .281 76 82 5.19 131 -0.2
Adrian Sampson 110.3 5.8 3.0 1.5 7.7% 14.7% .289 77 74 5.26 130 -0.3
Shane Greene 19.7 7.8 5.5 1.4 13.2% 18.7% .293 68 62 5.72 146 -0.3
José Ureña 87.0 6.1 3.6 1.3 9.1% 15.4% .286 79 76 5.07 127 -0.3
Matt Festa 50.7 8.7 3.6 1.2 9.3% 22.7% .283 88 84 4.40 113 -0.3
Robby Ahlstrom 60.0 8.1 4.2 1.4 10.5% 20.3% .287 80 84 4.93 125 -0.3
Owen White 89.3 6.4 3.6 1.3 9.2% 16.3% .289 76 80 5.05 131 -0.3
Steven Jennings 60.3 7.0 2.8 1.3 7.4% 18.2% .287 83 87 4.60 121 -0.3
Jimmy Robbins 62.3 7.2 5.3 1.3 13.0% 17.5% .286 74 76 5.52 135 -0.4
Skylar Hales 50.0 7.9 3.4 1.4 8.9% 20.6% .287 84 91 4.76 119 -0.4
Kyle Barraclough 48.0 7.9 5.3 1.5 12.8% 19.2% .283 75 68 5.59 133 -0.4
Luis Curvelo 55.7 7.9 3.2 1.5 8.3% 20.3% .283 84 88 4.81 119 -0.4
Aidan Anderson 58.3 7.4 3.4 1.4 8.7% 18.9% .285 80 82 4.93 125 -0.4
Blake Taylor 37.7 6.2 4.8 1.2 11.5% 14.9% .294 77 78 5.20 129 -0.5
Grant Anderson 55.3 8.9 3.6 1.5 9.2% 23.0% .291 83 85 4.71 120 -0.5
Larson Kindreich 42.3 8.7 6.6 1.5 15.4% 20.4% .284 71 74 5.87 141 -0.5
Triston Polley 38.3 6.8 5.2 1.2 12.6% 16.6% .291 72 75 5.32 138 -0.5
Jackson Kelley 53.0 8.7 4.1 1.4 10.4% 22.1% .288 80 85 4.86 125 -0.6
Scott Engler 29.7 7.9 6.1 1.5 14.3% 18.6% .291 71 72 5.84 142 -0.6
Ivan Oviedo 40.0 7.7 4.5 1.6 11.0% 18.8% .284 70 77 5.63 144 -0.6
Chase Anderson 63.7 6.8 4.1 1.7 10.2% 16.8% .289 70 65 5.63 142 -0.6
Ryan Garcia 94.7 7.2 4.4 1.6 10.8% 17.9% .285 71 74 5.52 140 -0.6
Reid Birlingmair 52.3 7.2 4.8 1.4 11.7% 17.6% .293 72 73 5.45 139 -0.7
Bryan Chi 54.0 6.2 3.8 1.7 9.5% 15.4% .288 70 74 5.72 143 -0.7
Florencio Serrano 45.3 5.6 4.4 1.6 10.6% 13.5% .288 68 71 5.89 146 -0.7
Damian Mendoza 52.7 6.7 3.6 1.5 8.8% 16.3% .294 72 77 5.40 138 -0.8
Andy Rodriguez 51.3 6.3 4.2 1.6 10.3% 15.4% .288 70 73 5.57 142 -0.8
Seth Clark 47.7 7.6 5.3 1.3 12.8% 18.3% .283 72 76 5.55 139 -0.8
Ricky DeVito 44.7 8.3 6.9 1.2 15.9% 19.2% .280 67 70 5.91 148 -0.9
Nick Krauth 91.0 4.8 3.6 1.5 8.8% 12.0% .289 69 72 5.76 146 -0.9

Pitchers – Top Near-Age Comps

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
Nathan Eovaldi .248 .306 .429 .233 .281 .389 2.4 0.5 3.64 4.89
Max Scherzer .246 .309 .431 .205 .250 .364 2.2 0.5 3.25 4.89
Jacob deGrom .207 .263 .391 .202 .238 .333 1.7 0.7 2.15 4.27
Tyler Mahle .229 .308 .391 .240 .288 .403 1.7 0.2 3.63 4.95
Kumar Rocker .232 .293 .357 .236 .280 .423 1.5 0.4 3.12 4.54
Cody Bradford .274 .316 .434 .233 .276 .405 1.5 0.0 3.66 5.07
Jon Gray .246 .317 .415 .240 .287 .380 1.4 0.0 3.94 5.16
Kirby Yates .193 .316 .361 .190 .289 .286 1.3 -0.2 2.47 5.01
Dane Dunning .258 .333 .425 .244 .307 .405 1.3 -0.2 4.14 5.23
David Robertson .200 .288 .295 .230 .318 .398 1.4 -0.5 2.63 5.11
Andrew Heaney .252 .314 .386 .248 .315 .460 1.5 -0.6 4.11 5.67
Collin Wiles .274 .316 .469 .263 .310 .428 0.9 -0.2 4.20 5.32
Josh Sborz .240 .313 .400 .220 .287 .330 0.8 -0.2 2.83 4.86
Ryan Lobus .258 .331 .450 .235 .297 .416 0.9 -0.3 4.01 5.40
Roansy Contreras .243 .317 .431 .235 .303 .397 0.8 -0.4 4.05 5.35
Josh Stephan .256 .324 .429 .260 .310 .451 0.9 -0.4 4.19 5.59
Mitch Bratt .248 .310 .385 .262 .319 .469 1.0 -0.6 4.29 5.75
José Leclerc .229 .345 .396 .195 .286 .325 1.0 -0.6 3.11 5.19
Robert Dugger .271 .356 .432 .257 .318 .428 0.8 -0.6 4.51 5.57
Kohl Drake .260 .328 .413 .251 .317 .458 0.7 -0.7 4.46 5.81
Andrew Chafin .218 .315 .333 .232 .320 .411 0.7 -0.8 3.16 5.86
Walter Pennington .226 .311 .333 .253 .332 .420 0.7 -0.5 3.73 5.16
Gerson Garabito .245 .342 .410 .253 .322 .442 0.6 -0.6 4.33 5.63
Ben Anderson .269 .340 .462 .270 .325 .449 0.5 -0.5 4.65 5.72
Dane Acker .256 .331 .434 .250 .342 .438 0.5 -0.7 4.55 5.73
Marc Church .240 .321 .413 .240 .315 .396 0.3 -0.5 3.79 5.17
Jacob Latz .240 .326 .373 .245 .341 .429 0.5 -0.8 4.04 5.75
Jack Leiter .247 .344 .452 .232 .317 .402 0.7 -0.8 4.54 5.80
Tim Brennan .256 .327 .422 .278 .352 .426 0.2 -0.4 4.64 5.57
Peter Solomon .247 .327 .397 .264 .337 .448 0.5 -0.7 4.51 5.75
Emiliano Teodo .246 .356 .421 .235 .335 .401 0.5 -0.7 4.60 5.86
Daniel Robert .247 .329 .384 .226 .320 .405 0.3 -0.5 3.78 5.50
Danny Duffy .217 .308 .391 .265 .374 .458 0.2 -0.6 4.20 7.19
Carson Coleman .217 .347 .400 .229 .321 .357 0.1 -0.6 4.10 5.71
Cole Winn .237 .340 .374 .257 .346 .443 0.3 -0.8 4.78 6.01
Grant Wolfram .197 .280 .288 .266 .354 .455 0.3 -0.7 4.15 5.60
Winston Santos .281 .351 .497 .241 .311 .421 0.4 -0.9 4.78 5.93
Adrian Sampson .252 .330 .417 .288 .344 .504 0.4 -1.0 4.80 5.96
Shane Greene .278 .409 .417 .238 .340 .429 -0.1 -0.4 5.07 7.26
José Ureña .284 .358 .479 .244 .311 .409 0.3 -0.8 4.65 5.78
Matt Festa .259 .355 .432 .221 .288 .381 0.2 -0.7 3.87 5.42
Robby Ahlstrom .257 .346 .386 .244 .332 .439 0.2 -0.9 4.38 5.96
Owen White .275 .357 .463 .253 .323 .418 0.3 -0.9 4.84 5.95
Steven Jennings .257 .325 .390 .258 .308 .470 0.2 -0.8 4.24 5.67
Jimmy Robbins .243 .352 .378 .259 .368 .447 0.1 -0.9 4.95 6.22
Skylar Hales .244 .330 .489 .257 .313 .390 0.0 -0.9 4.28 5.69
Kyle Barraclough .276 .382 .460 .228 .336 .426 0.0 -0.9 4.67 6.57
Luis Curvelo .242 .318 .442 .254 .324 .426 0.1 -0.9 4.21 5.55
Aidan Anderson .271 .355 .448 .241 .311 .421 0.1 -0.9 4.39 5.83
Blake Taylor .231 .322 .327 .286 .372 .490 -0.2 -0.8 4.68 6.17
Grant Anderson .272 .352 .511 .228 .304 .374 0.0 -1.1 4.20 5.95
Larson Kindreich .255 .397 .426 .239 .366 .436 -0.1 -1.0 5.03 6.78
Triston Polley .255 .352 .362 .260 .366 .452 -0.2 -0.9 5.01 6.42
Jackson Kelley .267 .362 .433 .226 .313 .409 -0.1 -1.0 4.45 5.79
Scott Engler .259 .394 .463 .254 .351 .444 -0.3 -0.9 5.16 6.68
Ivan Oviedo .254 .342 .463 .256 .364 .444 -0.2 -1.0 5.12 6.75
Chase Anderson .241 .331 .414 .290 .361 .522 -0.1 -1.2 4.91 6.78
Ryan Garcia .259 .366 .481 .259 .329 .443 0.0 -1.3 5.17 6.32
Reid Birlingmair .260 .364 .450 .262 .355 .430 -0.2 -1.2 5.02 6.61
Bryan Chi .263 .349 .432 .279 .350 .508 -0.3 -1.1 5.22 6.49
Florencio Serrano .289 .368 .518 .263 .351 .434 -0.4 -1.1 5.38 6.66
Damian Mendoza .258 .340 .430 .280 .353 .492 -0.4 -1.2 5.10 6.42
Andy Rodriguez .287 .376 .517 .254 .326 .424 -0.4 -1.3 5.24 6.63
Seth Clark .259 .385 .519 .244 .355 .389 -0.4 -1.2 4.94 6.43
Ricky DeVito .221 .381 .377 .253 .390 .432 -0.5 -1.4 5.37 7.02
Nick Krauth .278 .358 .456 .281 .357 .486 -0.3 -1.4 5.42 6.42

Players are listed with their most recent teams wherever possible. This includes players who are unsigned or have retired, players who will miss 2025 due to injury, and players who were released in 2024. So yes, if you see Joe Schmoe, who quit baseball back in August to form a Norwegian Ukulele Dixieland Jazz band that only covers songs by The Smiths, he’s still listed here intentionally. ZiPS is assuming a league with an ERA of 4.11.

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. ZiPS is not designed as a playing time predictor, but as a predictor of what a player would likely do at the major league level. It works well enough on playing time for established major leaguers, but it doesn’t know the specific contours of a team’s situation to the effect that it can make judgments on who a team will be playing. When the team standings are run, I do have a model for playing time that uses my input, but here, ZiPS has zero input from Dan other than occasionally changing a position.

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

Content Source: blogs.fangraphs.com

Related News

Latest News