Archive for Teams

Landmines and Landing Spots for Ha-Seong Kim

Orlando Ramirez-USA TODAY Sports

On August 18 in Colorado, Ha-Seong Kim led off first base, then dived back to beat a pickoff attempt. He tore the labrum in his right shoulder, and that was the last time we saw him play in 2024. After a failed rehab attempt, Kim underwent surgery in October, and he won’t be ready to play again until sometime between April and June. Just as uncertain: Where exactly Kim will be suiting up when he returns. There’s no doubt about his skill. Over the past four years, Kim has spent time at second, short, and third, and neither DRS nor FRV has ever rated him as below average at any of those spots. He needed a year to adjust on offense after arriving from the KBO in 2021, but over the past three seasons, he’s run a 106 wRC+. That ranks 13th among shortstops, and over the same period, his 10.5 WAR ranks 11th.

Kim entered free agency after both he and the Padres declined their ends of a mutual option, and he came in at ninth on our Top 50 Free Agents. According to the projections, he’ll command a four- or five-year deal with an AAV in the neighborhood of $19 million. However, the shoulder injury could cost him as much as half of the 2025 season, and it makes for a tough needle to thread. He’s got to sign with a team that needs a solid infielder, but not badly enough to need one right away. Moreover, a shoulder injury is especially scary for Kim, whose arm strength is an important part of his overall value and who already possesses below-average power at the plate. For that reason, it wouldn’t be surprising to see Kim get a pillow contract: Ben Clemens proposed two years with an opt-out. Back in November, Mark Feinsand reported that Kim had generated “lots of interest,” and wrote about the possibility that he’d be among the first free agents off the board. However, it’s now late January, and if you cruise through our Depth Charts, you’ll notice that there just don’t seem to be many good landing spots for Kim. Let us begin our litanies. Read the rest of this entry »


2025 ZiPS Projections: Pittsburgh Pirates

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 Pittsburgh Pirates.

Batters

The Pirates got off to a hot start in 2024, winning 10 of their first 14 games, but getting swept in consecutive series against the Mets and Red Sox quickly vaporized their small early cushion in the NL Central. Pittsburgh didn’t collapse, though, and played respectable baseball for the next three months; at the trade deadline, the Pirates stood just 2 1/2 games out of the final wild card spot in the NL, with the debut of Paul Skenes serving as a harbinger of hope that better days might be ahead. Pittsburgh made some low-key pickups at the deadline, but none of them made much of an impact, and its pitching collapsed in August, sealing the team’s 2024 fate.

Looking down the lineup, it’s not truly a mess anywhere – with the possible exception of DH, which makes me sad since it’s Andrew McCutchen – but it’s hard to get past the feeling of being underwhelmed. Moving Oneil Cruz to center field isn’t the worst idea around, but you’d like to see the organization’s grand plan involve something more ambitious than Isiah Kiner-Falefa playing shortstop every day. I know it’s a pipe dream given their ownership, but the Pirates would be a whole lot more interesting right now if after moving Cruz to the outfield, they’d splurged on, say, Willy Adames in free agency. Alas.

However, there are some things to like, if not love, with this lineup entering 2025. Nick Gonzales has improved enough that he’s a perfectly fine second baseman, albeit not one likely to make any All-Star appearances. ZiPS is optimistic about Spencer Horwitz’s bat at first base, and it was a nice little move to get him for Luis L. Ortiz and hope he’ll see some positive regression from his .243 BABIP. I think we’ve reached the point at which we recognize that Ke’Bryan Hayes does not have the offensive upside that he showed in a very brief debut, but he’s still got a terrific glove; ZiPS projects a far more typical season for him. I’m still not sold on Joey Bart, but I also think Endy Rodríguez has a pretty decent ceiling so long as he’s fully recovered from his UCL injury, so catcher isn’t really a problem position for Pittsburgh.

I hope that Bryan Reynolds has had enough consecutive 2-3 WAR seasons that people stop sending me angry DMs about ZiPS projecting him to have 2-3 WAR seasons! It’s nice that the Pirates actually paid to keep him around, but Reynolds is also just a solid player, not a star. Right field feels more like a collection of role players assembled rather than a real upside position, but ZiPS does believe Jack Suwinski can get back to his 2022-2023 level of offense after an absolutely brutal 2024.

The Pirates’ lineup is… OK… ish. I think what lends to the pallor is that it just doesn’t feel like there’s much of a ceiling here. A reclamation project or a gamble or two, rather than filling out the roster with known quantities, would have been a lot more interesting at some of these positions. McCutchen isn’t going to suddenly be 25 again. The big exception might be Henry Davis, but he was brutal enough in his very brief time in the majors that he’s likely going to have to continue raking at Triple-A before he gets another shot in the majors, and possibly answer the question of what position he should play (if any).

Pitchers

Paul Skenes and Mitch Keller are a double reminder that the Pirates — even though they’ve finished with a winning record just once (barely) over the last nine seasons — do at least some things far better than in the bleakest days of the Cam Bonifay/David Littlefield era. Skenes was the right guy to take in the draft, and Pittsburgh did a good job with him, promoting him quickly with confidence while ramping up his pitch count slowly and surely. Back in the bad old days, there’s no chance that Keller would have gotten a five-year contract extension. Skenes and Keller are a solid one-two punch, and ZiPS has a lot of confidence that Jared Jones can build upon his rookie year success.

The back of the rotation is adequate. Bailey Falter is extremely hittable, but at least he’s developing into a decent fourth-starter/innings-eater type. Johan Oviedo, Bubba Chandler, and Braxton Ashcraft all get projections in the same general realm as Falter, and ZiPS also includes Thomas Harrington in that same tier. Overall, this is a solid staff because of its first three pitchers, but none of these other guys are breakout candidates, so the ceiling of Pittsburgh’s rotation is limited. Because of Skenes, Keller, and Jones, the Pirates probably have the makings of a top-10 rotation in baseball, and even though this group probably won’t climb into the top five, this amounts to a team highlight.

The bullpen looks a lot like the rotation, except it doesn’t have a reliever of Skenes’ caliber. It’s a bit Olive Garden-esque, which I don’t actually mean as an insult. There’s nothing exciting about the bullpen, but at least most of the relievers are decent, if somewhat interchangeable. ZiPS projects seven Pirates relievers to finish with an ERA+ between 100 and David Bednar’s 116, with nobody projecting above that mark. That’s not the end of the world; if you’ve seen an episode of Kitchen Nightmares, you should be aware that the quality of new restaurants can fluctuate widely, whereas middle-of-the-road chains are known commodities. This bullpen will hold leads as well as Olive Garden’s endless breadsticks will get you a week’s worth of carbs on the cheap, but neither will be the highlight of your Instagram. He didn’t get a great projection, but Kyle Nicolas in a relief-only role might be the most interesting of Pittsburgh’s non-established relievers, with enough nastiness to his stuff that he could blossom if his command improves.

ZiPS sees the Pirates as a .500 team, but in the very early team projections I’ve run, they just have less upside than the rest of the division. If ZiPS is accurate, it’s certainly a concern for the lowest-spending team in the division to have the lowest ceiling as well. Considering this, if the Pirates aren’t going to spend more — which they surely will not — they should instead roll the dice a little bit more to get some low-cost, high-upside players. As of now, though, that isn’t what they’re doing, and that’s a shame because they do have some young and exciting stars who could make for a talented core if ownership were willing to surround them with some capable complementary pieces. Even so, the bright spots of this overall lackluster roster should offer fans enough of a reason to watch the Pirates this year.

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

Batters – Standard
Player B Age PO PA AB R H 2B 3B HR RBI BB SO SB CS
Oneil Cruz L 26 CF 587 529 80 134 28 4 24 80 52 168 20 3
Spencer Horwitz L 27 1B 588 508 70 139 35 1 12 63 68 102 3 2
Nick Gonzales R 26 2B 523 474 66 125 32 5 11 66 35 117 4 4
Bryan Reynolds B 30 LF 644 574 74 153 28 4 21 84 57 139 8 2
Ke’Bryan Hayes R 28 3B 459 422 51 106 20 2 8 43 31 89 11 3
Jared Triolo R 27 3B 457 407 50 100 19 2 7 46 43 114 10 2
Endy Rodríguez B 25 C 467 426 60 104 26 3 10 53 34 96 2 1
Jack Suwinski L 26 CF 508 441 61 102 21 3 22 67 57 151 12 2
Bryce Johnson B 29 CF 379 331 49 83 15 3 4 36 35 91 16 3
Henry Davis R 25 C 409 356 48 83 18 1 13 53 37 109 6 3
Ji Hwan Bae L 25 CF 434 390 64 102 18 4 6 44 38 99 19 6
Yasmani Grandal B 36 C 320 277 29 64 10 0 9 30 38 67 1 0
Nick Yorke R 23 2B 553 504 66 124 24 1 10 54 42 127 12 5
Michael A. Taylor R 34 CF 355 321 40 71 10 1 9 32 26 113 10 2
Liover Peguero R 24 SS 557 515 61 123 26 3 11 61 32 137 13 4
Joey Bart R 28 C 317 284 39 69 12 0 10 38 25 88 0 0
Trey Cabbage L 28 RF 412 372 55 88 21 2 15 52 34 148 15 4
Isiah Kiner-Falefa R 30 2B 477 442 51 116 18 2 5 42 23 72 12 3
Billy Cook R 26 1B 504 457 55 106 20 4 14 59 35 140 16 4
Tsung-Che Cheng L 23 SS 529 465 63 105 22 3 8 50 44 130 12 6
Joshua Palacios L 29 RF 354 320 44 84 17 2 9 43 26 74 7 3
Enmanuel Valdez L 26 2B 469 422 52 98 22 1 15 52 40 110 4 2
Jack Brannigan R 24 SS 349 312 45 68 13 2 9 41 28 107 7 2
Tristan Gray L 29 3B 476 437 50 94 21 2 15 53 31 145 1 1
Shawn Ross R 25 C 353 310 38 54 10 1 12 38 35 144 4 1
Connor Joe R 32 1B 408 355 48 82 20 2 9 36 45 92 2 2
Matt Gorski R 27 CF 425 393 52 88 20 3 15 55 25 131 11 5
Jason Delay R 30 C 224 204 22 48 12 0 2 20 14 47 1 1
Alika Williams R 26 SS 374 339 43 82 16 2 4 31 25 78 3 2
Nick Solak R 30 LF 381 338 44 84 15 1 6 40 32 72 6 2
Termarr Johnson L 21 2B 550 476 66 100 17 1 10 54 61 140 10 3
Jake Lamb L 34 1B 370 327 39 77 17 1 7 36 34 91 0 1
Omar Alfonzo L 21 C 434 392 39 83 15 1 8 42 39 128 1 1
Andrés Alvarez R 28 2B 357 320 37 71 15 2 7 37 28 103 6 2
Andrew McCutchen R 38 DH 442 382 51 86 17 0 13 44 53 109 4 2
Jase Bowen R 24 CF 492 453 54 102 17 3 10 53 23 139 13 4
Billy McKinney L 30 LF 292 257 31 59 11 1 7 32 29 79 1 1
Joe Perez R 25 1B 397 366 38 90 18 1 9 39 27 123 2 1
Nick Cimillo R 25 1B 427 380 49 85 17 1 13 48 43 106 2 0
Rowdy Tellez L 30 1B 451 406 40 98 18 0 16 56 39 94 1 0
Darick Hall L 29 1B 470 427 42 96 20 0 15 50 36 115 1 1
Tres Gonzalez L 24 LF 427 380 42 91 14 1 2 34 31 94 8 6
Abrahan Gutierrez R 25 C 297 273 25 63 14 1 3 27 19 63 1 1
Eli Wilson R 26 C 179 162 16 33 6 1 3 18 12 49 2 1
Duce Gourson L 22 2B 100 85 10 15 4 0 0 9 10 25 2 1
Seth Beer L 28 1B 433 385 41 89 19 1 9 52 28 103 1 0
Carter Bins R 26 C 297 266 31 50 13 1 7 32 24 117 2 1
Geovanny Planchart R 23 C 250 222 21 43 8 1 2 18 25 68 0 1
Matt Fraizer L 27 RF 431 398 47 90 17 3 6 42 27 117 10 3
Kervin Pichardo R 23 2B 428 392 44 86 14 1 9 43 24 135 4 2
Malcom Nuñez R 24 3B 495 452 49 104 18 0 10 49 33 111 2 2
Jose Rojas L 32 DH 364 327 40 67 17 1 13 42 33 84 3 1
DJ Stewart L 31 RF 339 295 33 62 11 1 9 34 35 91 4 1
Wyatt Hendrie R 26 C 246 223 24 44 8 1 2 21 15 80 5 0
Sammy Siani L 24 CF 451 409 50 91 16 3 6 42 34 123 9 5
Sergio Campana R 23 CF 252 220 27 41 8 1 2 20 25 108 13 4
Mitch Jebb L 23 2B 515 465 62 103 13 7 3 39 39 109 21 6
P.J. Hilson R 24 CF 358 334 51 72 14 2 8 38 15 104 8 2
Jackson Glenn R 27 2B 322 297 30 61 14 1 4 28 18 94 2 1
Aaron McKeithan R 25 C 248 220 17 50 6 1 2 23 17 46 0 0
Grant Koch R 28 C 164 151 16 28 5 0 3 14 10 54 0 0
Mike Jarvis R 27 3B 295 272 31 52 8 2 4 26 16 82 10 2
Mason Martin L 26 DH 403 362 39 70 17 2 15 52 32 169 3 2
Javier Rivas R 22 SS 422 391 33 78 14 2 7 43 13 160 4 3
Aaron Shackelford L 28 1B 371 339 34 66 15 2 11 43 24 129 4 1
Brenden Dixon R 24 3B 285 255 26 50 9 1 7 29 25 100 3 1
Hudson Head L 24 LF 413 373 45 73 14 3 7 40 29 147 4 3
Dustin Peterson R 30 DH 334 304 33 64 13 0 8 32 24 94 3 1
Maikol Escotto R 23 3B 286 270 29 53 10 1 5 25 11 99 5 3
Lonnie White Jr. R 22 CF 371 334 39 60 13 2 8 39 26 136 8 4
Luke Brown L 26 LF 244 219 27 39 7 1 3 21 18 82 5 1
Josiah Sightler L 25 1B 318 291 29 61 7 1 8 32 21 140 1 0
Kalae Harrison L 23 3B 255 229 22 38 7 0 1 15 19 78 5 2

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA 3YOPS+ RC
Oneil Cruz 587 .253 .322 .458 114 .204 .327 -2 2.9 .333 116 83
Spencer Horwitz 588 .273 .366 .417 118 .144 .322 4 2.6 .344 116 79
Nick Gonzales 523 .264 .324 .422 106 .158 .329 5 2.6 .323 107 67
Bryan Reynolds 644 .266 .340 .439 115 .172 .319 0 2.4 .337 111 88
Ke’Bryan Hayes 459 .251 .305 .365 86 .114 .301 9 1.8 .294 86 50
Jared Triolo 457 .246 .322 .354 88 .108 .325 6 1.7 .300 90 49
Endy Rodríguez 467 .244 .304 .390 91 .146 .294 0 1.7 .303 90 51
Jack Suwinski 508 .231 .323 .443 111 .211 .299 -9 1.7 .330 112 66
Bryce Johnson 379 .250 .333 .350 91 .100 .334 2 1.4 .306 89 43
Henry Davis 409 .233 .326 .399 101 .166 .299 -7 1.3 .318 101 49
Ji Hwan Bae 434 .262 .328 .374 95 .113 .337 -1 1.3 .309 96 54
Yasmani Grandal 320 .231 .326 .365 93 .134 .274 0 1.3 .308 88 33
Nick Yorke 553 .246 .307 .357 84 .111 .310 3 1.3 .293 88 60
Michael A. Taylor 355 .221 .281 .343 73 .121 .311 9 1.1 .275 68 34
Liover Peguero 557 .239 .285 .365 79 .126 .305 1 1.1 .284 81 58
Joey Bart 317 .243 .319 .391 96 .148 .317 -3 1.1 .313 95 36
Trey Cabbage 412 .236 .304 .424 100 .188 .349 1 1.0 .315 102 53
Isiah Kiner-Falefa 477 .262 .308 .346 82 .084 .304 3 1.0 .288 80 51
Billy Cook 504 .232 .296 .385 88 .153 .303 9 1.0 .297 89 57
Tsung-Che Cheng 529 .226 .295 .337 76 .112 .296 2 1.0 .281 81 51
Joshua Palacios 354 .262 .326 .412 104 .150 .316 1 0.9 .322 97 46
Enmanuel Valdez 469 .232 .299 .396 91 .164 .280 -3 0.9 .302 93 51
Jack Brannigan 349 .218 .293 .359 80 .141 .301 0 0.8 .288 85 35
Tristan Gray 476 .215 .273 .375 78 .160 .285 5 0.8 .283 78 46
Shawn Ross 353 .174 .267 .329 65 .155 .273 6 0.8 .265 68 28
Connor Joe 408 .231 .326 .374 95 .144 .287 3 0.8 .311 91 45
Matt Gorski 425 .224 .271 .404 85 .180 .295 0 0.6 .290 86 47
Jason Delay 224 .235 .293 .324 72 .088 .297 4 0.6 .275 72 20
Alika Williams 374 .242 .298 .336 76 .094 .303 1 0.6 .281 76 35
Nick Solak 381 .248 .328 .352 90 .104 .300 2 0.5 .304 89 41
Termarr Johnson 550 .210 .307 .313 74 .103 .276 1 0.5 .281 79 49
Jake Lamb 370 .235 .316 .358 87 .122 .305 5 0.5 .298 83 37
Omar Alfonzo 434 .212 .286 .317 68 .105 .293 2 0.5 .269 76 36
Andrés Alvarez 357 .222 .291 .347 77 .125 .305 2 0.5 .282 76 34
Andrew McCutchen 442 .225 .324 .372 93 .147 .281 0 0.4 .308 86 48
Jase Bowen 492 .225 .274 .342 70 .117 .303 3 0.3 .271 74 47
Billy McKinney 292 .229 .315 .361 88 .132 .303 2 0.3 .298 86 30
Joe Perez 397 .246 .300 .374 86 .128 .346 3 0.2 .295 88 42
Nick Cimillo 427 .224 .307 .376 89 .153 .276 0 0.2 .302 92 44
Rowdy Tellez 451 .241 .308 .404 96 .163 .277 -3 0.1 .308 95 51
Darick Hall 470 .225 .289 .377 84 .152 .272 4 0.1 .290 84 47
Tres Gonzalez 427 .240 .306 .298 70 .058 .314 9 0.1 .272 70 39
Abrahan Gutierrez 297 .231 .290 .323 70 .092 .290 -2 0.1 .272 70 26
Eli Wilson 179 .204 .270 .309 61 .105 .273 0 0.0 .258 67 14
Duce Gourson 100 .176 .300 .224 49 .047 .250 2 0.0 .252 57 7
Seth Beer 433 .231 .309 .356 85 .125 .293 1 0.0 .295 84 43
Carter Bins 297 .188 .270 .324 65 .136 .304 -2 -0.1 .265 67 24
Geovanny Planchart 250 .194 .280 .266 54 .072 .270 1 -0.1 .250 54 17
Matt Fraizer 431 .226 .281 .329 69 .103 .305 6 -0.1 .269 71 40
Kervin Pichardo 428 .219 .276 .329 68 .110 .311 0 -0.2 .269 71 38
Malcom Nuñez 495 .230 .287 .336 73 .106 .284 -3 -0.2 .275 76 45
Jose Rojas 364 .205 .280 .383 82 .178 .235 0 -0.3 .288 77 36
DJ Stewart 339 .210 .307 .346 82 .136 .272 -4 -0.3 .293 80 32
Wyatt Hendrie 246 .197 .259 .269 48 .072 .298 0 -0.4 .239 52 17
Sammy Siani 451 .223 .286 .321 69 .098 .304 -3 -0.4 .270 73 41
Sergio Campana 252 .186 .280 .259 52 .073 .354 0 -0.4 .249 60 20
Mitch Jebb 515 .222 .284 .299 63 .077 .284 -2 -0.5 .261 66 46
P.J. Hilson 358 .215 .261 .341 66 .126 .288 -3 -0.6 .262 69 32
Jackson Glenn 322 .205 .254 .299 53 .094 .286 1 -0.6 .245 55 24
Aaron McKeithan 248 .227 .302 .291 67 .064 .279 -8 -0.6 .270 72 20
Grant Koch 164 .185 .244 .278 45 .093 .265 -2 -0.6 .234 46 10
Mike Jarvis 295 .191 .248 .280 47 .088 .259 2 -0.6 .236 52 22
Mason Martin 403 .193 .268 .376 77 .182 .309 0 -0.6 .280 81 38
Javier Rivas 422 .199 .243 .299 50 .100 .316 2 -0.7 .240 55 30
Aaron Shackelford 371 .195 .259 .348 67 .153 .277 3 -0.7 .265 66 32
Brenden Dixon 285 .196 .274 .322 65 .125 .290 -5 -0.7 .266 68 23
Hudson Head 413 .196 .265 .305 59 .110 .301 6 -0.7 .254 62 33
Dustin Peterson 334 .210 .272 .332 67 .122 .277 0 -0.8 .267 64 28
Maikol Escotto 286 .196 .232 .296 46 .100 .289 2 -0.8 .232 49 21
Lonnie White Jr. 371 .180 .259 .302 56 .123 .274 -2 -0.8 .252 62 29
Luke Brown 244 .178 .248 .260 42 .082 .268 3 -0.9 .231 47 16
Josiah Sightler 318 .210 .270 .323 65 .114 .372 -1 -1.0 .262 70 26
Kalae Harrison 255 .166 .235 .209 25 .044 .246 1 -1.3 .206 29 13

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Oneil Cruz Curtis Granderson Ray Lankford Reggie Sanders
Spencer Horwitz Doug Mientkiewicz Steve Braun Mark Grace
Nick Gonzales Chuck Goggin Hiram Bocachica Adam Riggs
Bryan Reynolds Bill White Curt Walker Alex Gordon
Ke’Bryan Hayes Joe Hall Brian Dallimore Ozzie Virgil
Jared Triolo Tony Phillips Mike Bucci Joe Gates
Endy Rodríguez Rick Sweet Ed Ott Neil Wilson
Jack Suwinski Michael Saunders Jon Nunnally Gary Redus
Bryce Johnson Jeff Carter Earl McNeely Eric Young Jr.
Henry Davis Joe Ferguson Jimmie Coker Russ Stephans
Ji Hwan Bae Mallex Smith Dalton Pompey Travis Jankowski
Yasmani Grandal Miguel Montero Aaron Robinson Chris Cannizzaro
Nick Yorke Nate Oliver Bobby Fenwick Bruce Andrew
Michael A. Taylor Larry Smith B.J. Upton Sean Smith
Liover Peguero Domingo Carrasquel Amaury Garcia Alex Gonzalez
Joey Bart Rob Natal John Felske Butch Henline
Trey Cabbage Corey Brown Al Martin Brad Snyder
Isiah Kiner-Falefa Aaron Miles Pablo Ozuna Jerry Terrell
Billy Cook Daniel Ortmeier Kenny Kelly Harry Agganis
Tsung-Che Cheng Hoy Park Mark Belanger Ryan Lane
Joshua Palacios Greg Briley Larry Stahl Mark Payton
Enmanuel Valdez Rico Petrocelli Jay Canizaro Jim Gantner
Jack Brannigan Chuck Goggin Andrew Navigato Doug Hansen
Tristan Gray Dave Coleman Tom Dodd Joe Mitchell
Shawn Ross Bob Johnson Mark Pirruccello Tim Spehr
Connor Joe Dave Sax Jeff Bailey Rico Washington
Matt Gorski Melky Mesa Chris Jones Alejandro Sanchez
Jason Delay John Sevcik Jake Jenkins Bryan Holaday
Alika Williams Mike Gallego Mark Wagner Kent Anderson
Nick Solak Asdrubal Baro Dave Post Felix Maldonado
Termarr Johnson Calvin Portley Toby Harrah Ken Jackson
Jake Lamb Mark Sweeney Allen Craig Wil Cordero
Omar Alfonzo Donnie Scott Thomas Videtich Bill Fahey
Andrés Alvarez Ryan Pineda Marc Rhea Brent Sachs
Andrew McCutchen Bill White Dexter Fowler Gary Matthews
Jase Bowen Stan Thomas Barry Wesson Basilio Cabrera
Billy McKinney Bill Stewart Joe Bracchitta Gabe Gross
Joe Perez Rafael Batista Jason Grove Aaron Rifkin
Nick Cimillo Boomer Harrison Cal Emery Jim Tracy
Rowdy Tellez Ryan Garko Larry Sheets Jose Tolentino
Darick Hall Damon Minor Stan Holmes Andy Barkett
Tres Gonzalez Braxton Lee Rosell Herrera Mike Massaro
Abrahan Gutierrez Ronnie Freeman Steve Liddle Austin Wynns
Eli Wilson Nerio Rodriguez Clint Chauncey Jack Mull
Duce Gourson Juan Carlos Gamboa Jason Ramos Keith Smith
Seth Beer Pedro Swann Frank Jacobs Josh Pressley
Carter Bins John Orton David Lyon Tom Cook
Geovanny Planchart Bryan Graves Danny Guerrero Jorge Saez
Matt Fraizer Scott Pratt Kory DeHaan Tommy Murphy
Kervin Pichardo Tim Johnson Joe Tanner Steve Scarsone
Malcom Nuñez Edward Herstek Wayne McDonald George Hodge
Jose Rojas Jason Lane Walt Matthews Kevin Maas
DJ Stewart Ray Giannelli Scott Ullger Pat Dodson
Wyatt Hendrie Mark Reed Tim Gradoville Bob Kappesser
Sammy Siani Mike Basse Larry Stahl Zach Collier
Sergio Campana Isaac Elder Keith Eaddy Garrett Jenkins
Mitch Jebb Chone Figgins Bernie Castro Eric Young Jr.
P.J. Hilson T.J. Steele Steve Brown Cecil Rodriques
Jackson Glenn Andy Leer Chris Brown Frank Kremblas
Aaron McKeithan Jorge Maduro Hector Valle Andy Dziadkowiec
Grant Koch Clemente Alvarez Travis Tartamella Frank Kolarek
Mike Jarvis Tony Torres Dillon Hazlett Sam Rosario
Mason Martin Kyle Russell Clint Weaver Art Charles
Javier Rivas Rayner Bautista Jackie Hernandez Erick Almonte
Aaron Shackelford Jim Clifford Brian Gordon Tyler Horan
Brenden Dixon Jeff Doerr Mitch House Ken O’Brien
Hudson Head Ryan Topham Vince Faison Jamie Saylor
Dustin Peterson Joe Mather Rob Sasser Brian Simmons
Maikol Escotto Matt Ferrara Felipe Duran Bobby Hill
Lonnie White Jr. Cecil Rodriques Billy Brown Juan Dilone
Luke Brown Scott Woodward Jayson Bass Bryce Kartler
Josiah Sightler Alberto Castillo Richard Matern Casey DeGroote
Kalae Harrison Michael Rooney Nate Tenbrink Ben Thomas

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
Oneil Cruz .282 .347 .519 134 4.5 .225 .292 .408 91 1.4
Spencer Horwitz .299 .391 .465 135 3.9 .244 .338 .376 99 1.3
Nick Gonzales .291 .352 .473 128 3.9 .240 .298 .371 86 1.4
Bryan Reynolds .293 .365 .488 134 3.8 .240 .314 .394 99 1.0
Ke’Bryan Hayes .273 .329 .411 104 2.8 .222 .279 .322 67 0.7
Jared Triolo .274 .349 .402 106 2.7 .218 .291 .314 67 0.6
Endy Rodríguez .271 .329 .442 112 2.8 .216 .278 .347 75 0.7
Jack Suwinski .256 .350 .505 131 2.9 .205 .295 .392 91 0.5
Bryce Johnson .280 .360 .392 109 2.3 .222 .304 .302 71 0.5
Henry Davis .261 .354 .454 119 2.3 .205 .298 .337 76 0.2
Ji Hwan Bae .289 .354 .419 113 2.2 .231 .298 .327 77 0.2
Yasmani Grandal .259 .352 .410 110 2.0 .199 .295 .314 72 0.5
Nick Yorke .270 .333 .407 102 2.5 .218 .281 .321 67 0.0
Michael A. Taylor .253 .314 .401 97 2.1 .188 .249 .284 50 0.1
Liover Peguero .264 .310 .410 98 2.3 .213 .262 .322 61 -0.2
Joey Bart .270 .347 .442 117 1.9 .208 .289 .336 73 0.2
Trey Cabbage .269 .333 .485 124 2.3 .205 .273 .367 77 -0.1
Isiah Kiner-Falefa .294 .335 .385 99 2.1 .236 .279 .304 61 -0.2
Billy Cook .264 .324 .443 110 2.5 .207 .269 .340 69 -0.2
Tsung-Che Cheng .255 .321 .383 95 2.3 .202 .272 .300 60 -0.1
Joshua Palacios .299 .358 .463 126 1.9 .234 .299 .358 84 0.1
Enmanuel Valdez .258 .323 .441 109 1.9 .209 .275 .347 73 -0.2
Jack Brannigan .249 .324 .415 103 1.7 .193 .271 .302 59 -0.1
Tristan Gray .240 .296 .430 97 1.9 .190 .248 .332 61 -0.2
Shawn Ross .204 .298 .388 88 1.8 .147 .235 .275 44 -0.1
Connor Joe .258 .352 .425 115 1.7 .206 .301 .330 75 -0.3
Matt Gorski .250 .297 .452 103 1.7 .199 .245 .353 64 -0.4
Jason Delay .272 .330 .369 95 1.3 .207 .264 .278 51 0.1
Alika Williams .272 .327 .381 96 1.5 .212 .269 .294 57 -0.3
Nick Solak .279 .360 .400 111 1.5 .223 .303 .314 72 -0.3
Termarr Johnson .240 .333 .363 92 1.8 .185 .284 .274 57 -0.6
Jake Lamb .267 .345 .405 107 1.3 .207 .288 .310 66 -0.4
Omar Alfonzo .248 .317 .373 92 1.7 .181 .249 .270 46 -0.7
Andrés Alvarez .253 .321 .402 98 1.4 .192 .263 .297 55 -0.4
Andrew McCutchen .256 .356 .424 114 1.5 .201 .294 .326 75 -0.7
Jase Bowen .250 .300 .391 88 1.4 .199 .252 .302 53 -0.8
Billy McKinney .257 .346 .414 109 1.0 .201 .288 .316 68 -0.5
Joe Perez .272 .325 .428 105 1.1 .217 .269 .333 68 -0.7
Nick Cimillo .253 .336 .426 110 1.3 .196 .280 .324 70 -0.8
Rowdy Tellez .268 .336 .456 114 1.2 .211 .282 .349 76 -1.0
Darick Hall .251 .314 .429 106 1.4 .197 .260 .326 66 -1.0
Tres Gonzalez .268 .333 .332 85 0.9 .213 .280 .265 53 -0.8
Abrahan Gutierrez .259 .320 .366 91 0.9 .200 .262 .283 53 -0.6
Eli Wilson .235 .303 .363 84 0.5 .172 .241 .257 40 -0.5
Duce Gourson .210 .332 .274 72 0.3 .150 .275 .186 32 -0.2
Seth Beer .262 .338 .409 106 1.1 .201 .281 .314 67 -1.0
Carter Bins .218 .299 .379 85 0.6 .156 .238 .271 43 -0.9
Geovanny Planchart .230 .318 .312 76 0.6 .162 .252 .221 35 -0.7
Matt Fraizer .253 .308 .373 88 0.8 .202 .257 .294 52 -1.1
Kervin Pichardo .248 .303 .378 89 1.0 .191 .248 .282 49 -1.1
Malcom Nuñez .257 .312 .378 90 0.8 .205 .260 .299 57 -1.2
Jose Rojas .232 .309 .449 105 0.8 .175 .250 .328 58 -1.4
DJ Stewart .235 .334 .397 102 0.5 .181 .276 .293 59 -1.2
Wyatt Hendrie .229 .293 .318 70 0.3 .164 .229 .228 26 -1.0
Sammy Siani .250 .312 .365 87 0.6 .194 .260 .286 53 -1.3
Sergio Campana .221 .320 .310 74 0.3 .157 .251 .218 34 -1.1
Mitch Jebb .252 .312 .338 81 0.8 .200 .259 .261 47 -1.5
P.J. Hilson .244 .288 .393 87 0.3 .190 .238 .304 50 -1.3
Jackson Glenn .237 .283 .345 72 0.2 .177 .226 .252 35 -1.4
Aaron McKeithan .258 .333 .333 86 0.0 .193 .273 .252 49 -1.1
Grant Koch .218 .283 .331 67 -0.1 .156 .214 .238 26 -1.0
Mike Jarvis .219 .276 .329 65 0.0 .166 .224 .237 29 -1.3
Mason Martin .222 .297 .433 97 0.4 .166 .240 .318 55 -1.6
Javier Rivas .226 .270 .352 71 0.4 .173 .218 .257 33 -1.5
Aaron Shackelford .225 .283 .406 87 0.2 .171 .230 .299 47 -1.6
Brenden Dixon .225 .303 .373 85 0.0 .169 .248 .278 49 -1.3
Hudson Head .227 .297 .342 75 0.2 .173 .242 .258 40 -1.6
Dustin Peterson .239 .305 .385 88 0.1 .182 .245 .291 49 -1.5
Maikol Escotto .222 .257 .338 62 -0.3 .167 .204 .248 25 -1.6
Lonnie White Jr. .206 .284 .350 75 0.0 .153 .234 .255 39 -1.6
Luke Brown .210 .283 .307 64 -0.2 .154 .221 .224 25 -1.4
Josiah Sightler .247 .304 .372 87 -0.1 .178 .237 .268 43 -1.8
Kalae Harrison .197 .266 .242 42 -0.8 .142 .207 .176 9 -1.9

Batters – Platoon Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Oneil Cruz .243 .305 .422 .258 .330 .475
Spencer Horwitz .259 .344 .373 .281 .376 .439
Nick Gonzales .272 .331 .438 .260 .320 .413
Bryan Reynolds .272 .335 .439 .264 .342 .439
Ke’Bryan Hayes .267 .322 .405 .244 .297 .347
Jared Triolo .253 .335 .373 .241 .314 .342
Endy Rodríguez .252 .310 .403 .240 .300 .382
Jack Suwinski .225 .312 .413 .234 .328 .455
Bryce Johnson .252 .327 .359 .250 .338 .345
Henry Davis .241 .341 .422 .229 .319 .388
Ji Hwan Bae .250 .312 .350 .268 .337 .388
Yasmani Grandal .236 .341 .361 .229 .321 .366
Nick Yorke .242 .308 .345 .248 .307 .363
Michael A. Taylor .227 .290 .351 .219 .278 .339
Liover Peguero .249 .297 .381 .234 .279 .356
Joey Bart .245 .327 .408 .242 .314 .382
Trey Cabbage .218 .277 .387 .245 .317 .443
Isiah Kiner-Falefa .265 .315 .348 .261 .304 .345
Billy Cook .232 .304 .404 .232 .293 .376
Tsung-Che Cheng .219 .285 .328 .229 .299 .341
Joshua Palacios .253 .317 .379 .267 .331 .427
Enmanuel Valdez .220 .284 .348 .238 .307 .420
Jack Brannigan .215 .298 .376 .219 .292 .352
Tristan Gray .205 .260 .353 .221 .280 .388
Shawn Ross .169 .267 .337 .176 .267 .326
Connor Joe .240 .340 .411 .226 .318 .354
Matt Gorski .225 .279 .415 .223 .267 .398
Jason Delay .243 .309 .351 .231 .284 .308
Alika Williams .240 .301 .355 .243 .297 .326
Nick Solak .259 .341 .353 .243 .321 .351
Termarr Johnson .197 .285 .276 .215 .315 .327
Jake Lamb .213 .294 .293 .242 .323 .377
Omar Alfonzo .194 .269 .287 .218 .292 .327
Andrés Alvarez .227 .301 .373 .219 .286 .333
Andrew McCutchen .232 .336 .404 .223 .319 .360
Jase Bowen .238 .289 .374 .219 .267 .327
Billy McKinney .221 .303 .338 .233 .319 .370
Joe Perez .246 .308 .380 .246 .295 .371
Nick Cimillo .233 .326 .388 .220 .298 .371
Rowdy Tellez .237 .306 .371 .243 .309 .414
Darick Hall .216 .276 .345 .229 .296 .392
Tres Gonzalez .232 .298 .263 .242 .308 .309
Abrahan Gutierrez .240 .303 .330 .225 .282 .318
Eli Wilson .214 .290 .304 .198 .259 .311
Duce Gourson .160 .300 .200 .183 .300 .233
Seth Beer .220 .302 .317 .237 .313 .374
Carter Bins .189 .280 .337 .187 .263 .316
Geovanny Planchart .200 .294 .280 .190 .273 .259
Matt Fraizer .220 .280 .318 .229 .282 .335
Kervin Pichardo .226 .289 .339 .216 .270 .325
Malcom Nuñez .237 .296 .349 .226 .282 .329
Jose Rojas .204 .275 .361 .205 .283 .393
DJ Stewart .203 .298 .311 .213 .310 .357
Wyatt Hendrie .197 .260 .282 .197 .259 .263
Sammy Siani .218 .283 .300 .224 .287 .328
Sergio Campana .191 .287 .258 .183 .275 .260
Mitch Jebb .211 .266 .289 .226 .290 .303
P.J. Hilson .217 .263 .368 .215 .259 .329
Jackson Glenn .216 .270 .324 .200 .245 .287
Aaron McKeithan .231 .307 .295 .225 .300 .289
Grant Koch .185 .254 .278 .186 .238 .278
Mike Jarvis .194 .248 .280 .190 .247 .279
Mason Martin .191 .260 .360 .195 .273 .385
Javier Rivas .195 .244 .293 .201 .243 .302
Aaron Shackelford .193 .254 .328 .195 .261 .359
Brenden Dixon .193 .280 .301 .198 .272 .331
Hudson Head .190 .258 .289 .198 .270 .313
Dustin Peterson .220 .287 .366 .204 .263 .309
Maikol Escotto .205 .239 .307 .192 .229 .291
Lonnie White Jr. .192 .273 .343 .174 .253 .285
Luke Brown .164 .227 .246 .184 .257 .266
Josiah Sightler .200 .256 .307 .213 .275 .329
Kalae Harrison .161 .235 .194 .168 .235 .216

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Paul Skenes R 23 8 6 3.24 30 30 155.3 127 56 17 43 181
Mitch Keller R 29 10 10 4.02 29 29 168.0 163 75 20 49 152
Jared Jones R 23 7 8 3.89 25 25 129.7 116 56 16 39 131
Bailey Falter L 28 6 8 4.37 27 25 125.7 129 61 17 36 90
Thomas Harrington R 23 5 6 4.35 23 22 111.7 116 54 16 30 88
Johan Oviedo R 27 6 8 4.27 23 19 109.7 102 52 13 44 100
Braxton Ashcraft R 25 3 3 4.00 20 19 81.0 83 36 10 18 66
Bubba Chandler R 22 7 9 4.50 26 23 110.0 108 55 15 43 95
Carmen Mlodzinski R 26 5 6 3.91 47 7 71.3 67 31 7 28 62
Domingo Germán R 32 4 6 4.47 19 16 88.7 87 44 12 31 77
Caleb Ferguson L 28 3 3 3.29 60 2 54.7 49 20 3 21 58
Sean Sullivan R 24 4 7 4.71 22 19 99.3 106 52 13 35 67
David Bednar R 30 5 4 3.60 60 0 60.0 52 24 6 21 64
Cam Alldred L 28 4 5 4.52 22 14 75.7 76 38 9 30 61
Mike Burrows R 25 3 4 4.54 21 19 73.3 71 37 10 28 60
Marco Gonzales L 33 4 6 4.75 16 16 83.3 92 44 13 26 53
Anthony Solometo L 22 5 7 4.87 28 26 94.3 101 51 12 40 63
Joey Wentz L 27 4 4 4.48 34 10 84.3 82 42 11 37 84
Dennis Santana R 29 3 2 3.79 55 1 61.7 54 26 5 24 60
Jalen Beeks L 31 4 5 4.14 54 2 71.7 73 33 7 29 60
Beau Sulser R 31 4 7 4.66 21 11 75.3 85 39 11 23 51
Po-Yu Chen R 23 5 8 5.02 26 24 118.3 131 66 17 43 76
Colin Holderman R 29 4 3 3.93 57 1 55.0 48 24 5 23 55
Nick Dombkowski L 26 5 6 4.62 30 10 76.0 81 39 10 27 52
Wily Peralta R 36 3 4 4.73 21 13 64.7 69 34 9 30 48
Kade McClure R 29 3 3 4.55 23 8 59.3 64 30 7 22 42
Kyle Nicolas R 26 3 3 4.48 43 8 76.3 72 38 9 39 74
Luis Cessa R 33 3 6 4.79 24 16 77.0 86 41 10 29 46
Dominic Perachi L 24 4 6 5.08 23 17 95.7 102 54 13 42 69
Hunter Stratton R 28 2 3 4.06 45 1 51.0 47 23 5 20 49
Aaron Shortridge R 28 4 7 4.95 19 15 80.0 89 44 12 30 51
Carson Fulmer R 31 2 4 4.58 34 7 72.7 71 37 8 36 60
Chase Shugart R 28 3 5 4.61 37 6 70.3 74 36 9 26 53
Daulton Jefferies R 29 2 4 4.83 14 8 54.0 59 29 7 15 39
Emmanuel Chapman R 26 2 4 4.72 34 7 68.7 71 36 9 30 53
Dauri Moreta R 29 3 3 4.15 43 1 47.7 42 22 7 19 50
Chris Gau R 28 3 4 4.57 27 4 45.3 47 23 6 18 35
Jaden Woods L 23 3 4 4.40 39 1 57.3 56 28 6 24 50
Isaac Mattson R 29 3 4 4.68 33 3 57.7 53 30 7 33 56
Peter Strzelecki R 30 2 2 4.41 47 0 51.0 49 25 6 21 47
Brady Feigl L 34 3 5 4.91 25 6 55.0 60 30 9 23 47
Drake Fellows R 27 3 5 5.20 22 11 64.0 69 37 9 33 44
Justin Bruihl L 28 2 3 4.44 44 1 48.7 47 24 5 19 38
Justin Meis R 25 2 4 5.06 31 6 69.3 73 39 10 34 53
Yerry Rodríguez R 27 2 3 4.86 35 4 50.0 50 27 6 26 47
Tyler Samaniego L 26 1 2 4.37 29 0 35.0 34 17 4 16 29
Ryder Ryan R 30 2 3 4.42 43 0 53.0 54 26 6 21 42
Burch Smith R 35 2 2 4.50 40 0 44.0 48 22 6 13 35
Yohan Ramírez R 30 2 4 4.47 47 0 58.3 52 29 5 26 55
Ryan Borucki L 31 1 1 4.50 27 0 24.0 22 12 3 12 25
Valentin Linarez R 25 2 5 5.11 30 5 56.3 58 32 8 30 45
Geronimo Franzua L 31 4 5 4.97 40 2 50.7 52 28 8 23 45
Fineas Del Bonta-Smith R 28 2 3 4.75 31 0 41.7 44 22 6 16 32
Elvis Alvarado R 26 2 4 4.91 38 0 44.0 44 24 6 22 39
Jaycob Deese R 25 2 4 4.99 33 2 52.3 61 29 8 17 30
J.C. Flowers R 27 2 3 5.13 35 3 59.7 64 34 7 34 41

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ 3ERA+ FIP ERA- WAR
Paul Skenes 155.3 10.5 2.5 1.0 6.8% 28.8% .286 129 130 3.18 77 3.6
Mitch Keller 168.0 8.1 2.6 1.1 6.9% 21.5% .296 104 102 4.01 96 2.5
Jared Jones 129.7 9.1 2.7 1.1 7.2% 24.3% .287 108 111 3.80 93 2.2
Bailey Falter 125.7 6.4 2.6 1.2 6.8% 16.9% .288 96 96 4.44 104 1.4
Thomas Harrington 111.7 7.1 2.4 1.3 6.3% 18.5% .295 96 100 4.41 104 1.3
Johan Oviedo 109.7 8.2 3.6 1.1 9.3% 21.1% .287 98 99 4.32 102 1.3
Braxton Ashcraft 81.0 7.3 2.0 1.1 5.3% 19.4% .299 105 107 3.89 95 1.3
Bubba Chandler 110.0 7.8 3.5 1.2 9.1% 20.0% .291 93 98 4.59 107 1.1
Carmen Mlodzinski 71.3 7.8 3.5 0.9 9.1% 20.2% .290 107 109 4.02 93 0.9
Domingo Germán 88.7 7.8 3.1 1.2 8.2% 20.3% .291 94 90 4.39 107 0.9
Caleb Ferguson 54.7 9.5 3.5 0.5 9.1% 25.0% .311 127 125 3.20 79 0.8
Sean Sullivan 99.3 6.1 3.2 1.2 8.1% 15.4% .294 89 94 4.74 112 0.8
David Bednar 60.0 9.6 3.2 0.9 8.4% 25.5% .291 116 114 3.49 86 0.8
Cam Alldred 75.7 7.3 3.6 1.1 9.1% 18.5% .295 93 95 4.46 108 0.8
Mike Burrows 73.3 7.4 3.4 1.2 8.8% 18.9% .282 92 97 4.58 108 0.7
Marco Gonzales 83.3 5.7 2.8 1.4 7.2% 14.7% .294 88 85 4.94 113 0.7
Anthony Solometo 94.3 6.0 3.8 1.1 9.5% 15.0% .295 86 92 4.99 116 0.6
Joey Wentz 84.3 9.0 3.9 1.2 10.0% 22.8% .303 93 97 4.27 107 0.6
Dennis Santana 61.7 8.8 3.5 0.7 9.2% 22.9% .288 110 108 3.60 91 0.6
Jalen Beeks 71.7 7.5 3.6 0.9 9.2% 19.0% .306 101 99 4.15 99 0.6
Beau Sulser 75.3 6.1 2.7 1.3 6.9% 15.4% .305 90 88 4.76 111 0.6
Po-Yu Chen 118.3 5.8 3.3 1.3 8.2% 14.5% .297 83 89 5.11 120 0.6
Colin Holderman 55.0 9.0 3.8 0.8 9.8% 23.4% .289 107 107 3.83 94 0.6
Nick Dombkowski 76.0 6.2 3.2 1.2 8.1% 15.6% .295 91 94 4.67 110 0.5
Wily Peralta 64.7 6.7 4.2 1.3 10.3% 16.5% .299 89 81 4.99 113 0.5
Kade McClure 59.3 6.4 3.3 1.1 8.5% 16.2% .303 92 93 4.56 109 0.5
Kyle Nicolas 76.3 8.7 4.6 1.1 11.4% 21.7% .296 94 96 4.54 107 0.5
Luis Cessa 77.0 5.4 3.4 1.2 8.5% 13.4% .298 87 84 4.84 114 0.5
Dominic Perachi 95.7 6.5 4.0 1.2 9.8% 16.1% .297 82 87 5.07 121 0.4
Hunter Stratton 51.0 8.6 3.5 0.9 9.1% 22.3% .296 103 104 3.94 97 0.4
Aaron Shortridge 80.0 5.7 3.4 1.4 8.4% 14.3% .296 85 85 5.09 118 0.4
Carson Fulmer 72.7 7.4 4.5 1.0 11.0% 18.4% .292 91 90 4.61 109 0.4
Chase Shugart 70.3 6.8 3.3 1.2 8.4% 17.1% .298 91 92 4.61 110 0.4
Daulton Jefferies 54.0 6.5 2.5 1.2 6.4% 16.7% .304 87 88 4.42 115 0.3
Emmanuel Chapman 68.7 6.9 3.9 1.2 9.8% 17.3% .295 89 92 4.74 113 0.3
Dauri Moreta 47.7 9.4 3.6 1.3 9.4% 24.6% .280 101 101 4.31 99 0.3
Chris Gau 45.3 6.9 3.6 1.2 9.0% 17.5% .295 92 92 4.61 109 0.2
Jaden Woods 57.3 7.8 3.8 0.9 9.6% 20.1% .298 95 100 4.31 105 0.2
Isaac Mattson 57.7 8.7 5.2 1.1 12.8% 21.7% .289 89 90 4.74 112 0.2
Peter Strzelecki 51.0 8.3 3.7 1.1 9.5% 21.4% .297 95 95 4.34 105 0.1
Brady Feigl 55.0 7.7 3.8 1.5 9.3% 19.0% .309 85 80 5.01 117 0.1
Drake Fellows 64.0 6.2 4.6 1.3 11.3% 15.0% .296 81 82 5.32 124 0.1
Justin Bruihl 48.7 7.0 3.5 0.9 9.0% 18.1% .288 94 94 4.49 106 0.1
Justin Meis 69.3 6.9 4.4 1.3 10.9% 16.9% .296 83 87 5.13 121 0.1
Yerry Rodríguez 50.0 8.5 4.7 1.1 11.6% 21.0% .308 86 89 4.60 116 0.1
Tyler Samaniego 35.0 7.5 4.1 1.0 10.4% 18.8% .291 96 98 4.55 104 0.1
Ryder Ryan 53.0 7.1 3.6 1.0 9.1% 18.1% .298 95 94 4.48 105 0.1
Burch Smith 44.0 7.2 2.7 1.2 6.8% 18.2% .309 93 86 4.38 107 0.0
Yohan Ramírez 58.3 8.5 4.0 0.8 10.2% 21.5% .288 94 92 4.36 107 0.0
Ryan Borucki 24.0 9.4 4.5 1.1 11.2% 23.4% .297 93 89 4.59 107 0.0
Valentin Linarez 56.3 7.2 4.8 1.3 11.7% 17.5% .294 82 87 5.29 122 0.0
Geronimo Franzua 50.7 8.0 4.1 1.4 10.1% 19.8% .299 84 84 4.99 119 -0.1
Fineas Del Bonta-Smith 41.7 6.9 3.5 1.3 8.6% 17.3% .297 88 89 4.81 113 -0.1
Elvis Alvarado 44.0 8.0 4.5 1.2 11.1% 19.7% .297 85 90 4.95 117 -0.1
Jaycob Deese 52.3 5.2 2.9 1.4 7.3% 12.8% .301 84 87 5.11 119 -0.1
J.C. Flowers 59.7 6.2 5.1 1.1 12.2% 14.7% .300 82 84 5.24 122 -0.1

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Paul Skenes Dizzy Dean Roger Clemens Don Drysdale
Mitch Keller Homer Bailey Jack McDowell Edwin Jackson
Jared Jones Art Mahaffey Jim Nash Mat Latos
Bailey Falter Sean Manaea Scott Karl Wei-Yin Chen
Thomas Harrington Jeff Oyster Steve Mapel Henderson Alvarez
Johan Oviedo Michael Wacha Eric Show Buddy Lively
Braxton Ashcraft Rick Ramos Dave McKae Jim Waring
Bubba Chandler Matt Manning Reynaldo López Dick Schoonover
Carmen Mlodzinski Scott Sullivan Brandon League Bryan Morris
Domingo Germán Paul Foytack Vicente Padilla Herm Wehmeier
Caleb Ferguson Darold Knowles Craig Breslow Travis Miller
Sean Sullivan Darrell Lindsey John Gelnar Jason Davis
David Bednar Bill Campbell Pedro Baez Jason Isringhausen
Cam Alldred Duane Below Matt Blank Steve Wojciechowski
Mike Burrows Juan Pena Scott Centala Mike Brown
Marco Gonzales Bill Lee Pete Filson Mike Flanagan
Anthony Solometo C.J. Wilson John Thibdeau Frank Lopez
Joey Wentz Wayne Edwards Rafael Roque Bob Owchinko
Dennis Santana Guillermo Mota Jacob Barnes Tom Wilhelmsen
Jalen Beeks Paul Gibson Pablo Torrealba Al Yaylian
Beau Sulser Brian Smith David Hale Derek Blacksher
Po-Yu Chen Jackson Kowar Brian Bass Alec Asher
Colin Holderman Manny Delcarmen Jesse Crain Todd Jones
Nick Dombkowski Kevin Kobel Mike Farmer Jeremy Papelbon
Wily Peralta Marty McLeary Jose Mercedes Dick Starr
Kade McClure Harry Oliver Kelvin Jimenez Steven Register
Kyle Nicolas Michael Stutes Terric McFarlin Tom Dozier
Luis Cessa Marion Fricano Weston Weber Ed Figueroa
Dominic Perachi Neal Musser Nick Additon Scotty Pace
Hunter Stratton Mike Adams Matt Pierpont Aurelio Monteagudo
Aaron Shortridge Jordan Cooper Dick Nold William Baltz
Carson Fulmer Evan Meek Jim Duffalo Sammy Stewart
Chase Shugart Blake Hawksworth Anthony Bass Billy Muffett
Daulton Jefferies Brett Gray Fritz Dorish Ray Phelps
Emmanuel Chapman Ryan Pressly Tom Kramer Julio DePaula
Dauri Moreta Chris Perez Neftalí Feliz Dave Tobik
Chris Gau Aaron Hartsock Andrew Johnston Reid Mahon
Jaden Woods Oscar Alvarez Del Mathews Dennis DeBarr
Isaac Mattson Todd Wellemeyer Pat Mahomes Roman Mendez
Peter Strzelecki Lerrin LaGrow Steve Montgomery Edwin Moreno
Brady Feigl Bob Smith Brian Looney Dan Schatzeder
Drake Fellows Gerrit Simpson Mike Penney William Juarez
Justin Bruihl Jim Shellenback Ted Davidson Caleb Thielbar
Justin Meis Fidel Compres Pat Light Kevin Fynan
Yerry Rodríguez Dan Ricabal Mark Lowe Maximo Nunez
Tyler Samaniego Rich Pickett Timothy Graven Steve Cates
Ryder Ryan Rob Scahill Brooks Brown Roman Colon
Burch Smith Chad Qualls Frank Sullivan Dennis Lamp
Yohan Ramírez Tom Wilhelmsen George Frazier Bob Long
Ryan Borucki Drew Hall Lou Sleater Billy Brewer
Valentin Linarez Rafael Dolis John Lujan Adrian Hollinger
Geronimo Franzua Tom Underwood Ron Mahay Dean Stone
Fineas Del Bonta-Smith Joe Cotton Jeff McCurry Rob Stanifer
Elvis Alvarado Johnny Barbato Doug Neuenschwander Colby Ward
Jaycob Deese Zach Peterson Mike Mahoski Felipe Suarez
J.C. Flowers Julio DePaula Orlando Verdugo Reed Garrett

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
Paul Skenes .218 .285 .360 .218 .263 .347 4.8 2.4 2.59 3.93
Mitch Keller .259 .324 .414 .239 .298 .387 3.3 1.5 3.60 4.61
Jared Jones .227 .298 .362 .240 .293 .404 3.2 1.1 3.21 4.58
Bailey Falter .262 .300 .411 .259 .316 .434 2.0 0.7 3.93 4.91
Thomas Harrington .265 .323 .427 .259 .304 .435 2.1 0.6 3.77 5.06
Johan Oviedo .244 .336 .380 .239 .309 .404 2.0 0.6 3.82 4.89
Braxton Ashcraft .244 .292 .385 .274 .309 .451 1.9 0.7 3.36 4.65
Bubba Chandler .262 .345 .467 .241 .310 .368 1.8 0.4 4.04 5.04
Carmen Mlodzinski .244 .315 .382 .241 .319 .366 1.4 0.3 3.39 4.67
Domingo Germán .251 .323 .434 .250 .311 .401 1.4 0.3 3.96 5.08
Caleb Ferguson .229 .321 .300 .237 .314 .345 1.3 0.3 2.62 4.04
Sean Sullivan .257 .329 .398 .278 .336 .463 1.4 0.2 4.20 5.26
David Bednar .219 .297 .352 .236 .296 .366 1.4 0.1 2.85 4.56
Cam Alldred .217 .305 .337 .273 .342 .449 1.1 0.2 4.08 5.27
Mike Burrows .246 .320 .440 .250 .320 .382 1.2 0.2 4.03 5.15
Marco Gonzales .284 .337 .432 .272 .325 .469 1.1 0.2 4.28 5.37
Anthony Solometo .257 .331 .425 .273 .353 .432 1.2 0.1 4.42 5.36
Joey Wentz .252 .319 .411 .248 .331 .414 1.2 -0.2 3.78 5.52
Dennis Santana .227 .315 .351 .232 .301 .348 1.0 0.1 3.19 4.56
Jalen Beeks .235 .313 .400 .268 .342 .399 1.1 -0.1 3.48 5.01
Beau Sulser .288 .348 .473 .270 .318 .440 1.0 0.0 4.17 5.35
Po-Yu Chen .290 .361 .477 .262 .331 .430 1.1 -0.1 4.61 5.48
Colin Holderman .240 .339 .385 .221 .294 .336 1.0 0.0 3.28 4.87
Nick Dombkowski .253 .324 .414 .275 .330 .446 1.0 0.0 4.11 5.25
Wily Peralta .278 .357 .476 .258 .336 .394 0.9 0.0 4.17 5.52
Kade McClure .279 .352 .423 .262 .324 .421 0.9 0.1 4.01 5.24
Kyle Nicolas .241 .356 .387 .245 .328 .396 1.0 -0.2 3.91 5.30
Luis Cessa .276 .338 .434 .277 .337 .452 0.8 0.0 4.35 5.35
Dominic Perachi .243 .331 .387 .277 .357 .454 0.9 -0.1 4.63 5.59
Hunter Stratton .264 .360 .414 .220 .289 .339 0.8 -0.1 3.43 5.06
Aaron Shortridge .273 .347 .422 .278 .333 .485 0.8 -0.1 4.46 5.53
Carson Fulmer .264 .356 .426 .239 .328 .381 0.8 -0.1 3.99 5.33
Chase Shugart .263 .336 .421 .265 .331 .435 0.8 -0.1 4.17 5.34
Daulton Jefferies .274 .333 .453 .270 .317 .414 0.6 0.0 4.35 5.61
Emmanuel Chapman .243 .333 .404 .279 .340 .441 0.7 -0.2 4.26 5.38
Dauri Moreta .238 .319 .452 .224 .300 .357 0.7 -0.2 3.45 5.26
Chris Gau .281 .347 .461 .242 .314 .396 0.5 -0.1 4.07 5.27
Jaden Woods .236 .325 .319 .257 .337 .421 0.6 -0.3 3.87 5.18
Isaac Mattson .233 .339 .340 .244 .350 .437 0.7 -0.3 3.93 5.51
Peter Strzelecki .284 .360 .466 .218 .304 .345 0.5 -0.3 3.76 5.30
Brady Feigl .259 .322 .420 .279 .358 .479 0.6 -0.3 4.10 5.72
Drake Fellows .293 .385 .463 .248 .331 .414 0.5 -0.4 4.73 5.92
Justin Bruihl .222 .305 .319 .265 .351 .436 0.5 -0.3 3.80 5.20
Justin Meis .258 .356 .445 .270 .343 .439 0.5 -0.4 4.56 5.73
Yerry Rodríguez .270 .369 .438 .243 .333 .383 0.4 -0.4 4.26 5.68
Tyler Samaniego .227 .320 .318 .261 .343 .446 0.3 -0.2 3.86 5.04
Ryder Ryan .295 .376 .455 .231 .304 .372 0.5 -0.3 3.75 5.04
Burch Smith .291 .341 .494 .255 .315 .398 0.3 -0.3 3.73 5.39
Yohan Ramírez .253 .368 .400 .219 .322 .328 0.5 -0.5 3.84 5.23
Ryan Borucki .200 .314 .333 .258 .356 .403 0.2 -0.3 3.82 5.55
Valentin Linarez .273 .376 .465 .250 .343 .403 0.3 -0.4 4.59 5.70
Geronimo Franzua .250 .329 .375 .265 .348 .478 0.4 -0.6 4.16 5.97
Fineas Del Bonta-Smith .276 .353 .461 .256 .320 .422 0.2 -0.5 4.18 5.52
Elvis Alvarado .231 .348 .359 .274 .352 .474 0.2 -0.5 4.28 5.65
Jaycob Deese .310 .369 .520 .263 .315 .421 0.2 -0.4 4.41 5.51
J.C. Flowers .268 .366 .402 .270 .367 .437 0.2 -0.6 4.67 5.88

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. It is important to remember that ZiPS is agnostic about playing time, and has no information about, for example, how quickly a team will call up a prospect or what veteran has fallen into disfavor.

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


What Do You Get the Team That Has Everything? Relievers

Jayne Kamin-Oncea-Imagn Images

Look, I get it. You’re up in arms about the Roki Sasaki deal. The rich got richer and we’re all tired of the Dodgers signing every free agent (even you, Dodgers fans) — can they at least make it seem like it’s a level playing field? If that’s how you’ve been feeling this week, though, I’ve got some bad news for you, because I think the two moves the Dodgers have made since signing Sasaki might be bigger deals for 2025. Over the weekend, they signed the top reliever on the market, Tanner Scott. Now, they’re reportedly working on an agreement with Kirby Yates. As Yates’ signing is still pending a physical and has yet to be finalized, let’s cover Scott first, then ruminate on Yates at the end.

Scott’s deal, for four years and $72 million, befits an elite reliever, and that’s exactly what he is. He’s compiled a 2.04 ERA (2.53 FIP) across 150 innings over the last two years, using a lights-out slider and excellent fastball in roughly equal measure. We’re not talking about smoke and mirrors here; both of our pitch models think his fastball is one of the best handful in the game. His gaudy swinging strike rates provide supporting evidence. He sits 96-98 mph and touches 100. Sure, he walks his fair share of batters, but he’s a reliever – that’s just part of the bargain you accept sometimes.

If you’ll recall, the Dodgers leaned heavily on their bullpen in the 2024 postseason. Some of that was because of injuries to the starting rotation, but plenty of it was by choice. The Dodgers assembled a unit with four late-game options, and they used those options aggressively and opportunistically. Best opposing hitter up in the sixth inning? Send in a closer. Starter in a jam and the game on the line earlier than you expected? Send in a closer. Save situation? Fine, sure, we have a few left over anyway, send in a closer. Read the rest of this entry »


In Defense of the Hall of Very Good

Eric Hartline-USA TODAY Sports

Like most of you, I’ve spent all winter with one eye on the Hall of Fame ballot tracker run by Ryan Thibodaux, Anthony Calamis, and Adam Dore.

As an aside: I love the tracker, partly because it’s in the best traditions of citizen journalism/archivism, and has been made essential within its niche by the enthusiasm and thoroughness of the people who run it. It reminds me of The Himalayan Database, which is considered the definitive list of all the climbers who have summited the highest mountains in the world. The Database was founded and run not by a sponsor or NGO, but by a single journalist, Elizabeth Hawley, who tracked, verified, and published ascents from the 1960s until her death in 2018. In this age of corporatization, conglomeration, and misinformation, it’s invigorating to see a single trusted list of Things That Happened published online somewhere by people who care about the historical record.

Anyway, last week, I noticed a fresh shipment of ballots from voters representing the Philadelphia BBWAA chapter, which included a swell of support for Jimmy Rollins’ candidacy. By Sunday, as I was looking over Inquirer columnist Marcus Hayes’ ballot, I found myself experiencing an unexpected combination of emotions. Read the rest of this entry »


A.J. Minter Moves to the Mets, While José Leclerc Lands in California’s Capital

Jerome Miron and Vincent Carchietta -Imagn Images

It must have been fifth grade or so when I encountered the “compare and contrast” essay prompt for the first time. I remember thinking: What the hell? These two passages were written by different people. Why is it on me to tell you what is similar about them?

Over the years, I got better at these prompts. But it appears I’ve regressed. Two relievers signed eight-figure contracts last week. What’s similar? They both closed out games for World Series-winning teams in the 2020s, will likely handle the eighth inning for their new employers, and were born in the glorious and blessed year of 1993. What’s different? One throws right-handed, one throws left-handed. One signed with a contender; one perhaps got paid a premium so his team can try to avoid an MLBPA grievance.

But there are limits to the illuminating qualities of comparison. These days, individualized analysis is required to assess the effectiveness of a pitcher, so that’s how this post will proceed today. A.J. Minter and José Leclerc will earn life-changing quantities of money to chuck leather a few dozen times. Let’s find out why. Read the rest of this entry »


The Blue Jays Finally Get a Free Agent Slugger To Say Yes

Gregory Fisher-USA TODAY Sports

The Toronto Blue Jays have finally signed a free agent slugger, agreeing to a five-year, $92.5 million deal with outfielder Anthony Santander on Monday afternoon. A former Rule 5 pick out of Cleveland, Santander has spent his whole major league career with the Baltimore Orioles. He’s amassed 9.6 WAR, 155 home runs, and a 113 wRC+ in 2,830 plate appearances since his 2017 debut, but these numbers are also dragged down a bit by the fact it took him a few years to really get going as a hitter. Since the start of 2022, his age-27 season, he’s been worth 8.3 WAR and posted a much sunnier 124 wRC+. This past year was the best full season of his career thus far; he slashed .235/.308/.506 and set career highs with 44 homers, a 129 wRC+, and 3.3 WAR en route to earning his first All-Star selection and Silver Slugger award.

Santander’s deal includes a club option for 2030 and an opt-out after the 2027 season, according to multiple reports. The club option is a conditional one; if Santander chooses to opt out, Toronto can void his decision so long as it tacks on the sixth year, which would bring the total value of the contract to $110 million. The options here don’t change the calculus of the deal all that much. Considering Santander is already 30 and doesn’t offer much more than his power, he probably won’t risk the security of his contract unless his production with the Jays exceeds what he did with the Orioles — and even then, he might rather stay put. Similarly, the Jays probably won’t exercise their option for the sixth year unless he continues to be a viable middle-of-the-order slugger into this mid-30s. Read the rest of this entry »


JAWS and the 2025 Hall of Fame Ballot: Adam Jones

Tommy Gilligan-USA TODAY Sports

The following article is part of Jay Jaffe’s ongoing look at the candidates on the BBWAA 2025 Hall of Fame ballot. For a detailed introduction to this year’s ballot, and other candidates in the series, use the tool above; an introduction to JAWS can be found here. For a tentative schedule, see here. All WAR figures refer to the Baseball Reference version unless otherwise indicated.

2025 BBWAA Candidate: Adam Jones
Player Pos Career WAR Peak WAR JAWS H HR SB AVG/OBP/SLG OPS+
Adam Jones CF 32.6 25.7 29.2 1939 282 97 .277/.317/.454 106
SOURCE: Baseball-Reference

Adam Jones was Mr. Baltimore. Though he was born in San Diego and began his major league career in Seattle, Jones took to Baltimore upon being traded to the Orioles in 2008. On the field, he set an example for younger teammates during lean years, and his combination of power, speed, and graceful defense eventually helped the team end an epic streak of futility. He served as a starter on the Orioles’ first three playoff teams in this millennium, winning four Gold Gloves and making five All-Star teams. Off the field, Jones invested in the city, annually donating a significant chunk of his salary to the local Boys & Girls Club and other charitable endeavors. He emerged as a civic icon, a Black athlete who could relate to the hardships experienced by the city’s Black population, and one who wasn’t afraid to speak out regarding the injustices he saw both locally and nationally.

Jones’ national prominence reached its zenith in 2017 when he made a memorable, iconic catch to rob Manny Machado of a home run while playing center field during the World Baseball Classic — a key moment in helping Team USA win the tournament for the only time thus far. Read the rest of this entry »


Sunday Notes: Kristian Campbell Broke Out After Learning To Lift

Kristian Campbell shot up the rankings last year, and elevating was a big reason why. Known primarily for his athleticism and bat-to-ball skills when he was drafted 132nd overall by the Red Sox in 2023, the Georgia Tech product transformed his right-handed stroke to the tune of 20 home runs and a 180 wRC+ over 517 plate appearances across three levels. Flying under most radar as recently as a year ago, Campbell is now one of the game’s top prospects. Moreover, he has a legitimate chance to break camp as Boston’s starting second baseman.

I asked the 22-year-old infielder about his swing change when the Red Sox held their annual rookie development camp at Fenway Park earlier this week.

“It’s been all about bat path,” explained Campbell, who had a 90% contact rate but just four home runs in his lone collegiate season (he’d been a freshman redshirt in 2022) . “Instead of being flat, or straight down, I’m trying to hit the ball at a good angle. That’s what I lacked coming into pro baseball, hitting the ball in the air. I never really hit for power before last year.”

The proof is in the numbers, and not just ones that can be found on the back of a baseball card. In 2023, Campbell went deep once in 84 professional plate appearances while logging a 48% ground ball rate with a minus-2 attack angle. This past season, the aforementioned 20 home runs — eight each in High-A and Double-A, and four in Triple-A — were accompanied by a 39% ground ball rate and a plus-9 attack angle. His xwOBAcon jumped from .327 to .422.

According to Campbell, his conversion didn’t require a complete revamping of his mechanics. Read the rest of this entry »


The Los Angeles Dodgers Have Landed Roki Sasaki

Sam Navarro-USA TODAY Sports

Major League Baseball had its “Kevin Durant is a Warrior” moment on Friday, when 23-year-old Japanese phenom Roki Sasaki agreed to sign with the defending World Series champion Los Angeles Dodgers for $6.5 million. Sasaki himself announced his decision via his Instagram, while his bonus was reported on X by The Athletic’s Fabian Ardaya and Alden González of ESPN.

If he can stay healthy, Sasaki is a likely front-of-the-rotation arm who has the talent to win Cy Young Awards. When he’s been fully operational, his fastball has averaged nearly 99 mph, he has an elite splitter, and his slider became a useable weapon in 2022. He joins a loaded Dodgers roster that has five or six other players who either have won a Cy Young or MVP (Freddie Freeman, Shohei Ohtani, Mookie Betts, Blake Snell), or could conceivably do so in their best season (Tyler Glasnow and maybe Yoshinobu Yamamoto). One and a half of those players weren’t even on last year’s Dodgers title team. As I’m writing this, the Dodgers have not yet announced the signing. Though Sasaki’s contract is technically a minor league deal, and he isn’t yet on the 40-man roster, he is overwhelmingly likely to break camp with the Dodgers’ big league club and be part of their squad that opens the season against the Cubs in Japan on March 18-19. Read the rest of this entry »


Mets To Continue Walking in a Winker Wonderland

Brad Penner-Imagn Images

When the Mets signed Juan Soto in December, he was, technically speaking, filling the hole that Jesse Winker left behind. Of course, that’s a bit like buying the Batmobile to replace an expired bus pass. Winker’s greatest strength is drawing walks, and Soto’s career walk rate makes Winker’s career walk rate look like Jeff McNeil’s career walk rate. Still, the point stands. The Mets lost one lefty-batting corner outfielder to free agency and replaced him with another. Yet, on Thursday afternoon, they re-signed Winker anyway. His one-year, $7.5 million contract is fairly straightforward, but the ramifications for New York’s roster could be much more complex.

Poor baserunning, miserable defense, and frequent injuries have limited Winker throughout his career. All the same, his bat was a major asset for the Reds from 2017-21. In just over 1,500 plate appearances with Cincinnati, he slashed .288/.385/.504 with a 132 wRC+. While he thrived at Great American Ball Park, he made his mark outside of that hitter’s haven, too, producing an .845 OPS and 126 wRC+ on the road. He made the All-Star team in his final season with the Reds, batting .305 with 24 home runs in 110 games, good for a career-best 3.2 WAR.

The next two seasons, however, marked a period of steep decline for Winker. Playing for the Mariners and Brewers, he managed just 0.7 WAR in 2022 and -0.8 in 2023. His agent might point out that back, neck, and knee injuries hampered his performance in that time, as did some bad luck on balls in play; his xwOBA was nearly 30 points better than his wOBA, while his BABIP was more than 50 ticks below his average from the previous five years. Even so, it would have been more than fair to worry about his future as a major leaguer after his dismal 2023 campaign. Entering 2024, his ZiPS projection was a mere 0.4 WAR in 415 plate appearances, and he was forced to sign a minor league contract with the Nationals less than two weeks before spring training began.

Back to full health, Winker rebounded in Washington. While he wasn’t a power threat like he’d been in his Reds heyday, he knocked 18 doubles and 11 home runs, giving him a middle-of-the-pack .162 ISO. His BABIP was back up above .300, and his 14.0% walk rate ranked fifth among qualified batters (as of his final day with the Nats). All in all, he put up a 125 wRC+ and 1.2 WAR in 101 games.

This was enough to pique the Mets’ interest ahead of the trade deadline. However, after Washington sent him to New York, Winker wasn’t the productive hitter that the Mets thought they were getting when they acquired him. Well, at least not during the regular season, when Winker was little more than replacement level with his new team. All the more disappointing, he was set up to thrive with the Mets: He had the platoon advantage almost every time he came to the plate. While Washington used him as an everyday player, New York shielded him from southpaws; he faced just four left-handed pitchers over the final two months of the season. Nonetheless, his 97 wRC+ with the Mets was much closer to his career mark against lefties (88) than righties (129).

The problem was rooted in Winker’s approach at the plate. With the Nationals, he ran that aforementioned 14.0% walk rate and struck out just 22.2% of the time. After the trade, he lowered his strikeout rate to 17.1%, which might’ve been a good thing, except that his walk rate also dropped way down, to 7.8%. With the Mets, Winker swung more often and made more contact, especially on pitches in the strike zone. His Z-Swing% (per Statcast) jumped from 60.5% to 70.4%, while his Z-Contact% jumped from 85.5% to 91.2%. This wouldn’t have been a problem if he crushed many of those extra balls he put in play, but, naturally, he did not.

So, why did Winker suddenly change his approach at a time when things were going well? I’d posit the Mets noticed that he was holding back on too many hittable pitches over the first four months of the season and let him know that was the case after the trade. According to Robert Orr’s calculations from his Damage leaderboard, Winker was better than the average hitter at identifying hittable pitches every year from 2020-23. Yet, with the Nationals this past season, his Hittable Pitch Take rate put him in the bottom third of the league. After he started swinging at more strikes with the Mets, he rose back up to the 66th percentile. The problem, however, was that he sacrificed another critical skill in the process. Winker’s selectivity rate — Orr’s metric that shows how often a player avoids swinging at bad pitches — fell from the 73rd percentile as a National to the 35th percentile as a Met. All that is to say, Winker swung at more good pitches, but he also swung at more bad ones, and he didn’t do enough damage against good pitches to compensate for his lack of production against the bad ones. Ultimately, his hard-hit and barrel rates were lower with the Mets than they were with the Nationals, as were his wOBA and xwOBA on contact.

This raises another question: Why would the Mets want Winker back if their efforts to improve his approach went so poorly? Perhaps they think he just needs a little more time to reap the rewards. After all, 129 plate appearances is nothing. Aaron Judge was still hitting below the Mendoza Line with an OPS in the mid-.700s by his 129th plate appearances last season. Thankfully for our purposes, we have an easy way to increase the sample size of Winker’s 2024 season with the Mets: Include the playoffs, as Winker took an additional 32 plate appearances in October. He continued to swing at strikes at a similar rate, but he used those swings to record several big hits, including two triples and a home run. He also drew seven walks, compared to just four strikeouts. If you combine those numbers with Winker’s regular season stats as a Met, you get a 10.6% walk rate, a 16.1% strikeout rate, and a .341 wOBA. Even more promising is his .353 xwOBA, notably higher than his .335 xwOBA with the Nationals. All of a sudden, it makes a lot more sense why the Mets decided to keep this guy around.

It’s far too soon to say if Winker’s new approach will work in a larger sample size. Still, it’s not hard to see why the Mets think he’s worth a longer look. In a best-case scenario, he could be an even more productive hitter than he was overall in 2024. And if this new approach doesn’t befit him going forward, he doesn’t have to be anything more than the hitter he was in Washington to be valuable on a one-year, $7.5 million deal. After all, the Mets will continue to shield him from left-handed pitching, and his track record against righties is strong:

Jesse Winker vs. RHP
Season PA wRC+
2017 111 169
2018 263 136
2019 334 124
2020 142 144
2021 367 178
2022 407 100
2023 184 66
2024 404 124
Career 2,212 129

So, that’s Winker. But this signing is an iceberg – and ironically, it’s the rare kind of iceberg that isn’t so good for a polar bear. At first glance, this is just a 1.0- to 1.5-WAR player signing a short-term deal commensurate with his talents. Yet, there’s a lot more to it than what you see on the surface. When SNY’s Andy Martino first reported the Winker signing, he added that the Mets are now preparing for life after Pete Alonso. Indeed, while no one could argue that Winker is a direct replacement for the All-Star first baseman, there is a connection between this signing and the Mets’ possibly giving up on Alonso if you follow the trail of dominoes far enough.

With Soto, Brandon Nimmo, Jose Siri, and Tyrone Taylor to man the outfield, the Mets are likely to use Winker as their primary DH against right-handed pitching. However, he can still play the corner outfield if he needs to; he spent 95 games on the grass last season, including 27 with New York. So, in the event of an injury to one of the team’s other outfielders, Winker can fill in. That means the Mets are less likely to ask McNeil to play the outfield in 2025. Instead, he can ideally play second base almost every day. As long as McNeil is covering the keystone, the Mets won’t need any of their young infielders at second base, therefore allowing Brett Baty, Luisangel Acuña, and Ronny Mauricio to focus their efforts on third. If just one of them, or some combination of the three, can competently cover the hot corner, Mark Vientos will be able to play first base full-time. Long story short, Winker improves the outfield depth, which indirectly improves the infield depth, which should allow Vientos to formally replace Alonso at first.

Another aspect to the iceberg is how this all affects Starling Marte, whose Gold Glove years are long behind him. In 170 games in the outfield over the past two years, he has accumulated -13 DRS, -14 OAA, and a -12 FRV. Meanwhile, neither ZiPS nor Steamer sees him as much more than a league-average bat. As a righty hitter, he could theoretically platoon with Winker at DH. After all, he posted an impressive 141 wRC+ against left-handed pitching last year. Yet, even with the platoon advantage, Marte might not be a strong enough hitter to warrant the reps. While he has had positive platoon splits the last three years, he had reverse platoon splits every year from 2014-21. In other words, he’s hardly a guaranteed lefty masher. On the contrary, ZiPS projects him for a .698 OPS against lefties and a .713 OPS against righties in 2025. Even if the Mets were willing to give a roster spot to the short side of a DH platoon, Marte probably wouldn’t be that guy.

The final component of the iceberg is what the Mets do next. Steve Cohen’s pockets are already deep, but if the Mets aren’t going to give Alonso a multi-year contract, and if they can get someone to take on any of Marte’s remaining salary, they’ll only have more to spend. With a projected payroll still $49 million below last year’s final tally and a luxury tax payroll still $17 million below the top penalty threshold, the Mets remain major players to watch as the offseason rolls on.