2025 ZiPS Projections: Philadelphia Phillies

Baseball

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 Philadelphia Phillies.

Batters

The quick exit in the postseason at the hands of the New York Mets was a disappointing finale for the 2024 Phillies, but the season as a whole still has to be considered a successful one. Cristopher Sánchez convincingly evaporated any questions about whether his late-2023 performance was a fluke, Bryce Harper stayed healthy and proved to be a more-than-competent defender at first, and the bullpen stayed strong despite a few veteran losses from the year before. But that’s not to say there wasn’t some good fortune involved. I don’t mean that to diminish the Phillies; most great teams have more things go their way than not. The preseason NL East favorite, the Atlanta Braves, saw some of their best players lose most or all of the season with serious injuries, and along those lines, the Phillies didn’t have their depth tested to the same degree.

Unless the Phillies are willing to make a splash and go after Juan Soto or something and make Nick Castellanos a well-paid role player, the lineup you see now is the lineup it’ll be. There’s good and bad in that. Philadelphia had a top 10 offense last year, so this is a valuable crew that is returning. But there is some real risk here, too. Five of the lineup spots and a large proportion of the Phillies’ team WAR in 2024 involved players on the wrong side of 30. Of course, 32 isn’t 38, but these are the years where downside risk accelerates, and we may have already seen some signs of aging from J.T. Realmuto. This is an even greater problem because the Phillies don’t have much depth to cover for any sudden injuries or declines at the major league level, and they can’t turn to the next generation of Phillies hitters because they don’t have much in the pipeline, either. ZiPS does have some fondness for Justin Crawford, but it’s bearish on Aidan Miller in the short term, and the computer just doesn’t see a lot of Plan Bs for this team. If hit by a similar spate of injuries as the Braves, the Phillies are rather unlikely to win 89 games and sneak into the playoffs, as Atlanta did.

Still, as long as the players stay healthy, this is a potent offense. With Harper at first base, Kyle Schwarber doesn’t have to play the field, which boosts his value considerably. The only lingering question involves the team’s other player who is better suited as a DH, Castellanos. Despite his 23 home runs and 105 wRC+, he was barely above replacement level this season because his defense was dreadful. Are the Phillies really satisfied with Castellanos as their starting right fielder? He probably should only be a part-time player at this point, but I’m not sure this organization wants to rock the boat too much; after all, this is a veteran, successful team. At the very least, Castellanos on the bench would mean fewer opportunities for his homers to cause tragedy.

Pitchers

There’s a great deal of similarity between the rotation and the lineup, in that the top four starters are extremely potent, but the question of “what if” is a thorny one. ZiPS projects the Phillies to have baseball’s best rotation in 2025 – though take pre-Thanksgiving 2025 team projections with a grain of salt – but it looks incredibly ugly once you get past that quartet. The best hope is for Andrew Painter to destroy batters in spring training and force his way into the fifth spot, and there are a lot of reasons to think that’s a possibility given just how good he was as a prospect. However, it’s not something you want to bet the house on, given that he’s made five starts in the high minors and he’s basically had two lost seasons due to elbow problems. There were a lot of reasons to like Ricky Tiedemann too, but ask the Blue Jays how guaranteed they feel about his potential now.

After Painter, you have the equivalent of Ben Stein calling “Bueller” in a monotone to no reply. Taijuan Walker was a disaster, with few mitigating factors to think he’s a good option. Mick Abel had a disaster of a year and can no longer even be written into the rotation in pencil, and the quality drops off quickly from there. Most organizations have a couple of low-upside guys who can probably be passable fourth/fifth starters for a few years, the pitching trope the A’s have excelled at finding over the last decade or so, but ZiPS just isn’t seeing any of those types here. Given Philadelphia’s front-end talent and the dwindling time remaining to have them, middling swingy arms like Ross Stripling or Matthew Boyd are probably more valuable to the Phillies than to nearly any other team in baseball.

The bottom of the bullpen looks very thin, similar to Atlanta, but a large part of that is because it’s so early in the offseason. It’s unlikely that the Phillies would stand pat with this group of relievers. But in any case, as it stands now, Philadelphia has four bullpen arms that ZiPS really likes — Orion Kerkering, Matt Strahm, José Alvarado, Tanner Banks — and a bunch of other arms that ZiPS sees as near replacement level. We’ll see what the team does over the next three months.

It’s likely that going into 2025, the Phillies will again project as an underdog to the Braves, but by a diminished number of games. That said, there’s a real argument to make that the Phillies have a bit more stability and certainty than the Mets do at this point, and they should have a leg up on New York. Philadelphia is in a good position to claim the division for the second straight season if Atlanta disappoints again.

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 – Advanced

Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA 3YOPS+ RC
Trea Turner 594 .287 .335 .462 120 .174 .330 0 4.1 .343 114 90
Bryce Harper 564 .284 .380 .518 148 .234 .334 1 3.8 .380 139 98
Kyle Schwarber 647 .224 .346 .470 126 .246 .268 0 2.8 .352 117 90
Alec Bohm 607 .284 .336 .439 115 .155 .317 -2 2.7 .335 111 83
Bryson Stott 565 .258 .321 .380 95 .122 .301 8 2.6 .307 95 68
J.T. Realmuto 442 .257 .321 .435 109 .177 .318 1 2.5 .326 102 58
Brandon Marsh 476 .250 .329 .409 105 .159 .354 7 1.9 .322 105 61
Justin Crawford 495 .270 .308 .374 90 .104 .340 1 1.3 .298 92 61
Buddy Kennedy 488 .242 .328 .373 96 .131 .298 -1 1.3 .310 96 54
Edmundo Sosa 292 .248 .306 .402 96 .154 .310 1 1.2 .309 94 35
Johan Rojas 482 .243 .285 .346 76 .103 .298 7 1.2 .277 77 52
Weston Wilson 441 .221 .296 .404 94 .183 .280 -5 1.0 .304 91 51
Austin Hays 448 .255 .309 .433 105 .178 .317 0 1.0 .319 100 56
Cal Stevenson 393 .226 .328 .344 89 .118 .284 -1 0.9 .300 90 42
Rafael Marchán 250 .233 .309 .341 82 .108 .269 3 0.9 .290 81 24
Ruben Cardenas 417 .241 .300 .420 99 .178 .290 3 0.8 .311 100 51
Kody Clemens 412 .229 .282 .421 93 .192 .270 -2 0.8 .302 91 46
Otto Kemp 503 .219 .302 .345 81 .126 .290 2 0.7 .287 84 51
Trent Farquhar 342 .215 .321 .284 72 .068 .285 2 0.5 .280 74 31
Ryan McKenna 272 .220 .294 .361 82 .141 .295 1 0.5 .289 84 28
Aidan Miller 460 .219 .293 .344 78 .125 .284 -3 0.4 .283 83 46
Jose A. Rodriguez 417 .240 .276 .372 79 .132 .278 0 0.4 .281 82 46
Matt Kroon 350 .244 .302 .383 90 .139 .321 0 0.3 .299 89 40
Jordan Luplow 290 .203 .290 .363 81 .160 .237 3 0.2 .289 80 29
Esteban Quiroz 280 .193 .293 .296 66 .103 .252 3 0.2 .269 60 22
Símon Muzziotti 365 .234 .283 .335 73 .101 .288 8 0.2 .271 74 35
Nick Castellanos 594 .258 .308 .428 103 .169 .311 -10 0.2 .317 99 74
Jordan Dissin 319 .202 .286 .290 62 .088 .288 1 0.1 .262 69 24
Cody Roberts 229 .218 .282 .315 67 .097 .325 -1 0.0 .266 67 19
Darick Hall 470 .220 .285 .381 85 .161 .265 4 0.0 .290 83 47
Garrett Stubbs 163 .209 .296 .292 66 .083 .281 -2 0.0 .268 66 13
David Dahl 346 .238 .289 .391 88 .153 .300 0 -0.1 .294 87 37
Kendall Simmons 288 .199 .268 .337 68 .138 .278 0 -0.2 .268 70 25
Bryan Rincon 309 .182 .273 .282 56 .100 .246 1 -0.2 .252 61 24
Cade Fergus 270 .184 .274 .309 63 .125 .336 0 -0.2 .264 70 23
Gabriel Rincones Jr. 413 .209 .283 .343 74 .134 .287 2 -0.3 .278 78 41
Troy Schreffler 266 .206 .264 .338 67 .132 .290 2 -0.3 .265 70 25
Caleb Ricketts 305 .207 .279 .283 58 .076 .266 -2 -0.3 .255 61 22
Rodolfo Castro 417 .213 .278 .369 79 .155 .273 -5 -0.4 .282 82 42
Arturo De Freitas 201 .168 .229 .227 29 .059 .261 5 -0.4 .206 33 10
Keaton Anthony 447 .241 .309 .337 81 .097 .288 1 -0.4 .287 83 43
Luis Caicuto 260 .197 .273 .261 51 .064 .248 -1 -0.4 .245 52 17
Zach Arnold 372 .215 .270 .306 61 .091 .300 1 -0.5 .256 65 30
Erick Brito 432 .213 .272 .277 55 .064 .260 2 -0.5 .248 58 34
Robert Moore 478 .207 .273 .300 61 .093 .260 0 -0.5 .256 65 41
Ryan Leitch 124 .204 .242 .331 58 .127 .319 0 -0.5 .251 66 10
Pierce Bennett 344 .214 .299 .293 67 .079 .259 2 -0.5 .268 72 29
Andrick Nava 241 .207 .278 .281 58 .074 .261 -4 -0.6 .253 63 17
José Godoy 183 .220 .274 .303 62 .083 .273 0 -0.6 .258 63 14
Jared Thomas 169 .174 .257 .214 34 .040 .233 -1 -0.6 .221 34 9
Jim Haley 386 .212 .270 .344 71 .133 .287 -7 -0.7 .270 67 36
Trevor Schwecke 367 .212 .275 .314 65 .102 .301 -4 -0.7 .262 67 31
Emaarion Boyd 421 .215 .280 .278 57 .064 .276 0 -0.8 .253 60 38
Marcus Lee Sang 468 .218 .274 .327 68 .109 .312 -4 -0.8 .266 73 43
Hendry Mendez 368 .227 .296 .311 71 .084 .271 0 -0.8 .271 71 31
Bryson Ware 408 .192 .252 .309 56 .117 .265 -1 -0.9 .249 61 32
Leandro Pineda 405 .214 .274 .330 68 .116 .279 -1 -1.0 .266 73 34
Bryce Ball 395 .189 .268 .294 58 .105 .284 2 -1.3 .253 60 28
Chad Castillo 225 .189 .249 .300 53 .111 .273 -3 -1.3 .245 58 16
Felix Reyes 336 .215 .247 .325 59 .110 .252 1 -1.3 .249 60 26
Carlos De La Cruz 479 .213 .271 .331 68 .118 .326 -3 -1.3 .267 72 41
Baron Radcliff 293 .173 .249 .279 48 .106 .345 0 -1.5 .239 54 19
Carson Taylor 424 .226 .309 .327 79 .101 .296 -11 -1.6 .285 81 38
Jordan Viars 377 .186 .256 .318 60 .133 .281 -4 -1.6 .254 70 29
Ethan Wilson 438 .201 .245 .309 54 .108 .259 -3 -2.2 .244 56 35

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
Trea Turner .311 .363 .508 139 5.5 .264 .313 .420 102 2.9
Bryce Harper .307 .402 .573 169 5.1 .258 .353 .469 129 2.3
Kyle Schwarber .246 .373 .532 146 4.3 .200 .320 .403 104 1.2
Alec Bohm .311 .363 .488 133 4.1 .257 .307 .392 96 1.3
Bryson Stott .283 .348 .421 114 4.0 .229 .290 .338 77 1.3
J.T. Realmuto .285 .347 .485 130 3.6 .232 .293 .381 88 1.4
Brandon Marsh .276 .355 .462 126 3.1 .221 .301 .357 85 0.8
Justin Crawford .298 .336 .413 109 2.4 .240 .279 .332 71 0.1
Buddy Kennedy .264 .352 .416 112 2.3 .216 .303 .328 77 0.2
Edmundo Sosa .278 .334 .452 116 1.9 .222 .281 .344 77 0.5
Johan Rojas .269 .311 .394 94 2.3 .216 .259 .308 58 0.1
Weston Wilson .242 .319 .457 112 2.0 .197 .271 .355 73 -0.1
Austin Hays .284 .338 .484 125 2.1 .228 .283 .383 83 -0.2
Cal Stevenson .251 .354 .386 106 1.7 .200 .301 .301 69 0.0
Rafael Marchán .266 .342 .392 101 1.5 .203 .279 .298 62 0.3
Ruben Cardenas .268 .328 .476 121 1.9 .217 .273 .369 79 -0.2
Kody Clemens .252 .305 .480 113 1.9 .207 .256 .367 75 -0.1
Otto Kemp .244 .328 .397 101 1.8 .196 .280 .305 64 -0.4
Trent Farquhar .239 .348 .321 89 1.2 .190 .297 .249 58 -0.1
Ryan McKenna .247 .320 .414 104 1.1 .193 .261 .305 59 -0.3
Aidan Miller .246 .319 .387 96 1.4 .196 .268 .300 60 -0.6
Jose A. Rodriguez .268 .301 .422 98 1.3 .214 .251 .332 61 -0.5
Matt Kroon .272 .332 .436 112 1.3 .215 .273 .328 67 -0.7
Jordan Luplow .226 .317 .417 103 1.0 .174 .262 .307 61 -0.5
Esteban Quiroz .216 .320 .337 83 0.8 .167 .266 .254 47 -0.4
Símon Muzziotti .258 .308 .381 90 1.0 .210 .258 .302 57 -0.6
Nick Castellanos .283 .330 .468 120 1.4 .232 .279 .381 84 -1.3
Jordan Dissin .232 .316 .341 82 0.9 .176 .256 .249 44 -0.7
Cody Roberts .244 .314 .354 84 0.6 .186 .254 .269 47 -0.5
Darick Hall .244 .311 .438 107 1.3 .194 .257 .331 67 -1.1
Garrett Stubbs .239 .327 .338 84 0.4 .182 .266 .253 48 -0.4
David Dahl .262 .315 .440 107 0.7 .208 .261 .338 68 -1.0
Kendall Simmons .228 .292 .396 89 0.6 .173 .241 .289 50 -0.8
Bryan Rincon .213 .303 .334 76 0.7 .156 .245 .234 36 -0.9
Cade Fergus .212 .304 .365 84 0.5 .154 .249 .261 42 -0.9
Gabriel Rincones Jr. .237 .310 .392 95 0.6 .185 .259 .302 57 -1.2
Troy Schreffler .234 .294 .391 88 0.4 .179 .236 .295 49 -0.9
Caleb Ricketts .238 .314 .332 80 0.5 .177 .252 .242 41 -1.0
Rodolfo Castro .241 .304 .424 99 0.6 .189 .254 .319 59 -1.3
Arturo De Freitas .196 .258 .264 46 0.1 .142 .204 .186 12 -0.8
Keaton Anthony .264 .337 .376 99 0.6 .214 .285 .302 65 -1.2
Luis Caicuto .225 .302 .304 71 0.2 .165 .247 .227 33 -1.0
Zach Arnold .242 .297 .358 81 0.4 .189 .242 .265 44 -1.3
Erick Brito .240 .297 .309 70 0.4 .188 .244 .237 36 -1.4
Robert Moore .233 .295 .337 76 0.5 .183 .248 .262 44 -1.5
Ryan Leitch .233 .272 .390 79 -0.2 .176 .214 .280 38 -0.8
Pierce Bennett .245 .332 .343 88 0.3 .187 .273 .256 50 -1.2
Andrick Nava .242 .312 .334 81 0.1 .172 .247 .241 39 -1.1
José Godoy .250 .308 .350 82 -0.2 .191 .246 .265 44 -1.0
Jared Thomas .203 .287 .249 51 -0.3 .148 .229 .186 19 -1.0
Jim Haley .240 .298 .399 92 0.3 .188 .247 .300 54 -1.5
Trevor Schwecke .239 .305 .366 86 0.2 .187 .248 .275 46 -1.6
Emaarion Boyd .243 .309 .315 75 0.2 .190 .259 .247 43 -1.5
Marcus Lee Sang .241 .298 .371 86 0.2 .193 .252 .287 51 -1.7
Hendry Mendez .258 .330 .360 92 0.2 .202 .269 .274 55 -1.5
Bryson Ware .215 .276 .360 75 0.0 .166 .227 .268 41 -1.8
Leandro Pineda .242 .301 .374 85 -0.2 .186 .247 .286 50 -2.0
Bryce Ball .215 .295 .333 74 -0.4 .163 .239 .249 38 -2.2
Chad Castillo .217 .277 .350 75 -0.7 .164 .223 .256 37 -1.8
Felix Reyes .243 .273 .367 76 -0.6 .189 .221 .282 39 -2.1
Carlos De La Cruz .243 .298 .377 86 -0.2 .188 .246 .288 49 -2.3
Baron Radcliff .203 .281 .334 70 -0.6 .145 .223 .230 29 -2.1
Carson Taylor .255 .336 .377 97 -0.7 .200 .280 .286 62 -2.5
Jordan Viars .211 .280 .371 79 -0.8 .156 .228 .271 39 -2.6
Ethan Wilson .226 .272 .355 72 -1.1 .178 .223 .270 39 -3.0

Batters – Platoon Splits

Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Trea Turner .291 .341 .477 .286 .333 .456
Bryce Harper .275 .363 .490 .288 .388 .532
Kyle Schwarber .214 .333 .403 .228 .351 .497
Alec Bohm .300 .353 .488 .277 .329 .418
Bryson Stott .248 .313 .362 .261 .323 .386
J.T. Realmuto .252 .319 .439 .259 .322 .433
Brandon Marsh .234 .306 .369 .256 .336 .424
Justin Crawford .261 .296 .345 .273 .311 .384
Buddy Kennedy .252 .342 .384 .236 .319 .367
Edmundo Sosa .255 .311 .447 .244 .303 .378
Johan Rojas .242 .288 .353 .243 .284 .342
Weston Wilson .229 .312 .412 .217 .285 .400
Austin Hays .263 .317 .459 .252 .305 .421
Cal Stevenson .218 .310 .307 .230 .336 .361
Rafael Marchán .232 .304 .354 .234 .310 .333
Ruben Cardenas .246 .308 .430 .238 .295 .414
Kody Clemens .223 .275 .380 .232 .285 .440
Otto Kemp .226 .312 .371 .216 .298 .334
Trent Farquhar .203 .315 .241 .221 .324 .300
Ryan McKenna .228 .308 .370 .215 .285 .356
Aidan Miller .224 .307 .368 .217 .288 .334
Jose A. Rodriguez .247 .287 .377 .237 .269 .369
Matt Kroon .250 .309 .410 .241 .300 .370
Jordan Luplow .208 .298 .396 .200 .284 .340
Esteban Quiroz .189 .282 .270 .195 .297 .308
Símon Muzziotti .221 .265 .305 .240 .291 .347
Nick Castellanos .273 .323 .469 .254 .303 .414
Jordan Dissin .214 .298 .310 .196 .281 .281
Cody Roberts .222 .288 .319 .216 .279 .313
Darick Hall .209 .270 .353 .226 .292 .396
Garrett Stubbs .214 .298 .310 .206 .293 .284
David Dahl .219 .262 .333 .246 .300 .415
Kendall Simmons .207 .281 .379 .195 .262 .316
Bryan Rincon .179 .270 .269 .182 .274 .286
Cade Fergus .194 .284 .306 .180 .270 .311
Gabriel Rincones Jr. .191 .262 .319 .215 .290 .351
Troy Schreffler .216 .280 .365 .201 .257 .325
Caleb Ricketts .200 .273 .271 .209 .281 .286
Rodolfo Castro .225 .285 .397 .206 .274 .351
Arturo De Freitas .167 .236 .242 .168 .225 .218
Keaton Anthony .248 .317 .336 .237 .305 .338
Luis Caicuto .205 .284 .288 .193 .268 .248
Zach Arnold .220 .275 .340 .213 .268 .292
Erick Brito .212 .273 .288 .213 .271 .272
Robert Moore .209 .276 .313 .206 .272 .295
Ryan Leitch .205 .262 .308 .203 .232 .342
Pierce Bennett .221 .312 .305 .211 .294 .287
Andrick Nava .203 .268 .281 .209 .282 .281
José Godoy .207 .258 .293 .227 .283 .309
Jared Thomas .159 .245 .182 .181 .263 .229
Jim Haley .216 .276 .360 .209 .266 .335
Trevor Schwecke .209 .279 .327 .213 .273 .307
Emaarion Boyd .221 .282 .301 .212 .279 .269
Marcus Lee Sang .204 .254 .310 .223 .280 .333
Hendry Mendez .221 .288 .305 .230 .299 .314
Bryson Ware .200 .262 .339 .188 .248 .296
Leandro Pineda .194 .252 .286 .221 .282 .347
Bryce Ball .181 .255 .276 .194 .276 .304
Chad Castillo .175 .242 .263 .193 .252 .313
Felix Reyes .214 .250 .316 .215 .246 .329
Carlos De La Cruz .218 .276 .346 .211 .269 .325
Baron Radcliff .167 .235 .269 .176 .255 .283
Carson Taylor .217 .288 .302 .230 .317 .337
Jordan Viars .170 .245 .273 .191 .261 .335
Ethan Wilson .196 .242 .304 .203 .247 .311

Pitchers – Advanced

Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ 3ERA+ FIP ERA- WAR
Zack Wheeler 175.7 9.4 2.4 0.9 6.6% 25.9% .279 129 121 3.26 78 3.9
Aaron Nola 183.3 8.8 2.0 1.1 5.3% 24.1% .290 110 105 3.58 91 3.0
Ranger Suárez 145.7 8.0 2.8 0.9 7.4% 21.3% .291 116 113 3.65 86 2.7
Cristopher Sánchez 160.3 7.6 2.4 1.0 6.2% 20.1% .292 109 108 3.83 92 2.5
Matt Strahm 64.0 10.5 2.1 1.1 5.9% 29.5% .271 130 122 3.35 77 1.3
Jeff Hoffman 60.0 11.1 3.0 0.9 8.2% 30.3% .271 141 130 3.16 71 1.2
Orion Kerkering 66.0 10.4 2.6 0.7 7.1% 28.4% .289 135 135 3.00 74 1.1
José Alvarado 56.7 10.3 4.0 0.6 10.4% 27.0% .294 126 125 3.18 79 0.9
Andrew Painter 86.0 9.5 3.9 1.5 9.9% 24.5% .288 90 94 4.61 112 0.6
Tanner Banks 66.3 8.8 2.7 0.9 7.2% 23.5% .299 111 105 3.59 90 0.6
Robinson Pina 105.0 7.0 3.4 1.3 8.6% 17.7% .295 86 90 4.82 116 0.6
Carlos Estévez 52.7 9.1 3.1 1.0 8.1% 24.0% .273 112 108 3.73 89 0.6
Max Castillo 88.3 6.4 3.0 1.2 7.6% 16.4% .291 88 91 4.60 114 0.6
Kyle Tyler 102.7 7.1 3.7 1.2 9.2% 17.8% .298 86 88 4.72 116 0.6
Tyler Phillips 126.7 6.5 3.1 1.4 7.9% 16.4% .297 85 86 4.83 118 0.5
Eiberson Castellano 83.7 8.3 3.4 1.3 8.7% 21.0% .294 87 92 4.74 115 0.5
Lachlan Wells 79.7 6.1 1.9 1.5 5.0% 15.9% .295 87 88 4.73 115 0.5
Kolby Allard 104.3 7.5 2.9 1.6 7.5% 19.2% .297 86 88 4.79 117 0.4
Matt Osterberg 89.0 5.4 2.4 1.3 6.2% 13.7% .298 85 88 4.80 117 0.4
Spencer Turnbull 51.3 8.4 3.5 1.1 9.1% 21.9% .287 96 91 4.29 104 0.4
Freddy Tarnok 62.7 8.2 4.2 1.3 10.4% 20.5% .287 89 93 4.76 112 0.4
Taijuan Walker 114.0 6.2 3.3 1.4 8.5% 16.0% .285 82 80 5.08 122 0.4
Jean Cabrera 95.3 6.3 3.0 1.3 7.7% 16.1% .293 83 88 4.94 121 0.3
Alan Rangel 85.0 7.2 3.2 1.4 8.1% 18.3% .293 83 86 4.77 120 0.3
Mick Abel 105.3 7.8 4.8 1.3 11.8% 19.2% .291 82 88 5.07 122 0.3
Nick Nelson 71.7 6.9 3.8 1.0 9.4% 17.2% .295 88 88 4.60 113 0.3
Luis Ortiz 48.0 7.1 2.4 0.9 6.4% 18.8% .297 102 102 3.95 98 0.3
Max Lazar 53.7 7.4 2.5 1.2 6.6% 19.3% .289 97 99 4.13 103 0.1
Jordi Martinez 50.3 7.0 3.6 1.3 9.0% 17.6% .294 87 91 4.69 114 0.1
José Ruiz 58.7 9.1 3.7 1.2 9.4% 23.2% .294 95 94 4.27 105 0.1
Christian McGowan 45.7 7.3 4.1 1.4 10.1% 17.9% .287 82 87 5.26 121 0.1
Tyler Gilbert 67.0 7.3 2.8 1.5 7.3% 18.9% .286 85 84 4.78 118 0.1
Ricardo Pinto 65.0 6.2 3.7 1.2 9.2% 15.4% .300 82 80 5.07 121 0.1
David Parkinson 77.7 6.0 3.4 1.4 8.4% 15.1% .294 79 79 5.16 126 0.1
Griff McGarry 50.0 9.7 6.7 1.1 15.8% 23.1% .290 84 87 4.98 119 0.1
Braeden Fausnaught 99.0 6.3 3.9 1.5 9.6% 15.5% .297 77 82 5.28 129 0.0
Michael Mercado 71.7 7.9 4.1 1.5 10.4% 19.8% .290 80 85 5.15 125 0.0
Seth Johnson 78.3 7.0 4.4 1.5 10.6% 17.0% .300 76 81 5.31 131 0.0
Mitch Neunborn 73.7 6.8 4.0 1.5 9.9% 16.9% .296 78 80 5.28 127 0.0
Cody Stashak 29.7 7.9 2.7 1.5 7.0% 20.2% .307 93 89 4.63 108 0.0
Noah Skirrow 89.0 5.6 3.9 1.4 9.7% 13.7% .293 77 80 5.47 129 0.0
Matt Russell 43.7 6.4 4.3 1.2 10.5% 15.5% .297 82 84 5.26 122 -0.1
Konnor Ash 50.0 7.7 5.0 1.4 12.1% 18.5% .295 81 85 5.22 124 -0.1
Kody Clemens 8.3 1.1 5.4 1.1 12.5% 2.5% .303 65 67 6.30 154 -0.1
John McMillon 41.7 10.4 5.6 1.3 13.8% 25.4% .288 89 93 4.69 113 -0.1
Devin Sweet 63.7 9.2 4.0 1.4 10.1% 23.5% .287 85 88 4.73 117 -0.1
Efrain Contreras 57.0 7.6 4.4 1.4 10.9% 18.8% .292 76 82 5.23 131 -0.1
T.J. Zeuch 56.0 5.0 3.4 1.3 8.3% 12.3% .302 77 77 5.21 130 -0.1
Erich Uelmen 45.0 7.2 4.2 1.2 10.4% 17.9% .289 81 82 5.18 123 -0.1
Tristan Garnett 38.3 8.2 4.5 1.2 11.0% 20.2% .300 86 90 4.61 117 -0.1
Nicholas Padilla 39.7 8.6 5.2 1.1 12.8% 21.2% .291 89 89 4.94 113 -0.1
Zach Haake 50.7 6.8 4.3 1.4 10.5% 16.7% .290 79 80 5.33 126 -0.1
Beau Burrows 59.7 7.1 4.7 1.4 11.5% 17.4% .293 78 79 5.32 129 -0.2
Taylor Lehman 33.3 7.8 5.4 1.1 13.0% 18.8% .289 82 84 4.98 122 -0.2
Jose Cuas 49.0 9.0 4.2 1.3 10.6% 22.5% .296 88 86 4.81 113 -0.2
Tyler McKay 46.0 6.7 4.3 1.0 10.7% 16.5% .291 86 87 4.87 116 -0.2
Moisés Chace 69.3 9.0 5.3 1.6 13.1% 22.1% .287 76 83 5.43 132 -0.2
Yunior Marte 49.3 5.5 3.3 1.6 8.1% 13.5% .292 72 80 5.55 138 -0.2
Andrew Bellatti 39.7 8.8 4.8 1.4 11.8% 21.9% .300 85 80 5.07 118 -0.2
Zac Houston 31.0 10.2 6.1 1.2 15.1% 25.2% .282 76 77 5.31 131 -0.3
Nelson L. Alvarez 44.7 8.5 5.0 1.2 12.1% 20.4% .288 84 87 4.99 119 -0.3
Wesley Moore 36.3 8.2 4.2 1.5 10.6% 20.5% .284 81 86 5.33 123 -0.3
Jonah Dipoto 40.7 7.5 5.3 1.3 12.8% 18.2% .286 76 78 5.64 131 -0.4
Daniel Harper 40.0 7.0 4.7 1.4 11.6% 17.1% .289 78 83 5.23 128 -0.4
Andrew Walling 46.7 8.1 5.0 1.4 12.1% 19.6% .291 81 85 5.19 123 -0.4
Tommy McCollum 41.3 8.3 5.4 1.3 13.2% 20.0% .291 81 83 5.26 124 -0.4
Carlos A. Francisco 48.7 7.2 5.2 1.3 12.6% 17.6% .290 79 82 5.42 127 -0.4
Andrew Baker 44.0 9.0 6.5 1.2 15.2% 20.9% .292 79 83 5.27 126 -0.4
Andrew Schultz 37.0 8.0 6.1 1.2 14.3% 18.9% .286 75 77 5.66 133 -0.5

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
Zack Wheeler .227 .296 .379 .213 .258 .321 5.0 2.7 2.69 3.95
Aaron Nola .235 .287 .393 .243 .280 .392 4.1 1.7 3.26 4.58
Ranger Suárez .207 .253 .307 .253 .315 .397 3.6 1.7 3.08 4.24
Cristopher Sánchez .231 .276 .341 .257 .309 .416 3.4 1.5 3.39 4.41
Matt Strahm .219 .275 .329 .206 .263 .376 2.0 0.5 2.38 4.50
Jeff Hoffman .200 .276 .314 .200 .273 .339 1.8 0.2 2.20 4.40
Orion Kerkering .211 .283 .298 .218 .286 .346 1.7 0.4 2.31 4.49
José Alvarado .200 .282 .271 .225 .311 .352 1.5 0.2 2.54 4.42
Andrew Painter .229 .304 .386 .247 .335 .461 1.3 -0.1 4.03 5.60
Tanner Banks .235 .298 .353 .246 .301 .392 1.2 -0.1 3.02 4.85
Robinson Pina .277 .357 .482 .249 .314 .389 1.3 -0.1 4.32 5.47
Carlos Estévez .226 .294 .376 .219 .284 .362 1.1 -0.2 2.92 5.05
Max Castillo .254 .317 .432 .271 .327 .431 1.1 0.0 4.34 5.39
Kyle Tyler .267 .338 .414 .259 .333 .444 1.1 -0.2 4.42 5.56
Tyler Phillips .259 .326 .442 .281 .336 .457 1.2 -0.3 4.52 5.56
Eiberson Castellano .292 .372 .500 .219 .308 .366 1.1 -0.1 4.20 5.54
Lachlan Wells .265 .303 .431 .279 .322 .479 0.9 0.0 4.35 5.43
Kolby Allard .270 .318 .459 .263 .323 .461 1.1 -0.5 4.35 5.72
Matt Osterberg .291 .342 .473 .275 .321 .450 0.9 -0.1 4.46 5.50
Spencer Turnbull .250 .342 .410 .227 .303 .371 0.7 0.0 3.77 5.26
Freddy Tarnok .254 .341 .449 .238 .322 .381 0.9 -0.1 4.11 5.39
Taijuan Walker .256 .331 .451 .270 .330 .451 1.0 -0.3 4.62 5.70
Jean Cabrera .259 .326 .440 .274 .342 .447 0.9 -0.2 4.60 5.66
Alan Rangel .264 .333 .415 .258 .320 .466 0.9 -0.2 4.46 5.66
Mick Abel .244 .352 .409 .260 .344 .438 0.9 -0.4 4.67 5.72
Nick Nelson .267 .351 .430 .250 .329 .392 0.7 -0.2 4.23 5.45
Luis Ortiz .270 .330 .449 .242 .296 .354 0.6 -0.1 3.50 4.94
Max Lazar .255 .306 .382 .250 .299 .444 0.6 -0.2 3.66 5.09
Jordi Martinez .259 .313 .397 .262 .335 .447 0.4 -0.3 4.31 5.51
José Ruiz .237 .318 .443 .246 .317 .377 0.6 -0.4 3.69 5.49
Christian McGowan .264 .366 .494 .247 .330 .387 0.3 -0.3 4.68 5.83
Tyler Gilbert .242 .300 .352 .266 .326 .491 0.6 -0.4 4.26 5.71
Ricardo Pinto .285 .364 .488 .261 .335 .413 0.5 -0.4 4.56 5.77
David Parkinson .268 .345 .423 .274 .339 .474 0.5 -0.5 4.81 6.02
Griff McGarry .239 .362 .420 .223 .362 .350 0.5 -0.5 4.29 5.96
Braeden Fausnaught .282 .357 .468 .270 .342 .460 0.5 -0.7 5.01 6.14
Michael Mercado .252 .338 .452 .259 .341 .449 0.5 -0.6 4.68 6.00
Seth Johnson .250 .341 .426 .289 .358 .500 0.5 -0.6 4.96 6.25
Mitch Neunborn .273 .360 .517 .265 .337 .404 0.5 -0.6 4.78 6.11
Cody Stashak .302 .362 .509 .242 .292 .424 0.3 -0.3 3.60 5.37
Noah Skirrow .291 .378 .491 .261 .327 .435 0.4 -0.6 5.01 6.01
Matt Russell .284 .391 .486 .257 .333 .406 0.2 -0.4 4.69 5.79
Konnor Ash .296 .386 .541 .222 .310 .354 0.3 -0.5 4.70 5.99
Kody Clemens .294 .400 .353 .333 .400 .556 -0.1 -0.1 6.48 7.23
John McMillon .224 .352 .421 .232 .326 .378 0.3 -0.6 4.01 5.78
Devin Sweet .229 .325 .404 .248 .329 .431 0.4 -0.7 4.30 5.92
Efrain Contreras .267 .370 .446 .250 .329 .435 0.3 -0.5 4.87 6.13
T.J. Zeuch .306 .372 .481 .267 .331 .442 0.2 -0.4 5.00 5.94
Erich Uelmen .286 .389 .442 .230 .328 .400 0.2 -0.5 4.52 6.01
Tristan Garnett .255 .352 .447 .252 .333 .408 0.1 -0.4 4.25 5.70
Nicholas Padilla .260 .365 .438 .225 .344 .375 0.2 -0.6 4.19 5.78
Zach Haake .268 .368 .474 .260 .328 .423 0.2 -0.6 4.77 6.09
Beau Burrows .262 .364 .456 .261 .346 .425 0.3 -0.8 4.83 6.37
Taylor Lehman .222 .340 .333 .259 .360 .447 0.2 -0.6 4.31 6.24
Jose Cuas .280 .392 .488 .220 .306 .367 0.2 -0.6 4.04 5.72
Tyler McKay .259 .375 .395 .253 .330 .414 0.1 -0.5 4.40 5.63
Moisés Chace .224 .340 .381 .267 .367 .496 0.4 -0.8 4.91 6.29
Yunior Marte .277 .337 .489 .283 .347 .481 0.1 -0.6 5.21 6.48
Andrew Bellatti .257 .373 .471 .247 .337 .400 0.1 -0.6 4.27 5.93
Zac Houston .236 .391 .400 .210 .351 .371 0.1 -0.7 4.62 6.89
Nelson L. Alvarez .241 .348 .418 .245 .351 .404 0.1 -0.7 4.36 5.96
Wesley Moore .233 .340 .442 .255 .351 .439 0.0 -0.6 4.46 6.01
Jonah Dipoto .257 .382 .500 .247 .356 .365 -0.1 -0.8 4.97 6.50
Daniel Harper .257 .360 .473 .262 .337 .417 -0.1 -0.7 4.93 6.36
Andrew Walling .237 .348 .390 .258 .354 .452 0.0 -0.8 4.51 6.04
Tommy McCollum .224 .344 .368 .271 .370 .471 -0.1 -0.8 4.57 5.97
Carlos A. Francisco .287 .394 .471 .231 .331 .394 -0.1 -0.8 4.85 6.08
Andrew Baker .268 .394 .463 .216 .340 .364 0.0 -0.8 4.59 6.13
Andrew Schultz .254 .398 .463 .237 .359 .368 -0.2 -0.9 4.97 6.73

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.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *