Archive for Featured

What’s the Matter With Jack Flaherty?

Brad Penner-Imagn Images

It wasn’t supposed to go down like this. After a sensational contract year — striking out 30% of hitters, posting the lowest walk rate of his career, bedazzling his jewelry cabinet with a World Series ring — Jack Flaherty looked like he was set to make a boatload of money. Days after his 29th birthday, we here at FanGraphs ranked Flaherty eighth among our Top 50 Free Agents, one spot behind his former high school teammate, Max Fried.

Early in December, Fried blew away expectations, inking an eight year, $218 million deal with Yankees. And he wasn’t the only one. Starters from Blake Snell to Luis Severino landed surprisingly lucrative contracts; when Ben Clemens checked in last week on his free agency projections, he noted that he’d under-projected the deals for starting pitchers by about $17 million on average. His takeaway: “Pitchers are getting paid this winter.”

Not all of them, it turns out. As the calendar creeps uncomfortably close to the start of spring training, the youngest available starting pitcher in free agency finds himself without an employer. Every couple weeks, a sparsely sourced rumor about Flaherty bubbles up on MLB Trade Rumors — there’s “mutual interest” with the Orioles, the Tigers have “some interest” in a reunion — but for a large part of the offseason, it’s been silence on the Flaherty beat.

The most substantial of these rumors flowed from the estimable pen of Ken Rosenthal over the weekend. Rosenthal and Will Sammon reported in The Athletic that Flaherty was “open to considering” a “short-term deal” with a “high average annual value.” The hot market for starters and the comparatively cool market for Flaherty suggest that, unlike the rest of the nominal “front-end” starting pitchers at the top of the market, something about him scares teams. All of this leads me to ask: What’s the matter with Jack Flaherty?

One obvious answer is the track record. On some level, teams are going to be somewhat hesitant to commit serious resources to anyone whose last healthy and effective season before 2024 came prior to the pandemic. Rosenthal and Sammon wrote in their report that “teams perhaps want to see Flaherty put together two consecutive seasons of elite performance.” And there are the shoulder issues in 2021 and 2022 that limited him to just 114 1/3 innings over that two-year span.

But I don’t think the track record tells the full story. I think the weak Flaherty market comes down to concerns about his 2024 season itself. Specifically, I think teams are worried about his fastball.

They get there in different ways, but the three pitchers who received $200 million (or thereabouts) contracts this winter all have plus fastballs. Snell throws the prototypical ace four-seamer, averaging 96 mph with 19 inches of induced vertical break. Corbin Burnes’ cutter is one of the signature pitches in baseball, capable of missing bats and neutralizing contact quality against hitters on both sides of the plate. Fried is a bit of a different case — his fastball averaged just 93.9 mph last season — but the shape is totally bizarre relative to his arm angle, resembling Burnes’ cutter from the left side. Fried also throws five other pitches, minimizing the importance of his four-seamer.

Free Agent Fastballs
Pitcher Arm Angle Fastball Velocity (mph) Induced Vertical Break (in.) Horizontal Break (in.)
Blake Snell 59° Four-Seamer 95.9 18.7 5.8 (Arm Side)
Corbin Burnes 44° Cutter 95.3 12.5 2.4 (Glove Side)
Max Fried 48° Four-Seamer 93.9 11.0 0.1 (Glove Side)
Jack Flaherty 28° Four-Seamer 93.3 15.4 4.2 (Arm Side)
SOURCE: Baseball Savant

Flaherty’s fastball was the slowest of these four primary offerings, averaging 93.3 mph. In September, that dropped all the way to 92.6 mph. At below-average velocities, even a half-tick of heat loss can be brutal. And while the shape of the fastball is unusual — Flaherty throws from a low slot and gets just four inches of horizontal movement, meaning the pitch unexpectedly cuts in a funky fashion — it doesn’t have the sink that allows Fried’s and Burnes’ fastballs to burrow beneath barrels. Also unlike Fried, Flaherty in effect throws just three pitches: his four-seam fastball and the two breaking balls. (He also flashes a changeup and sinker, but last season he used each of those pitches less than 3% of the time.)

Given the mediocrity of his fastball, Flaherty must aim for fine locations. His success can vary. (I want to caveat the following with the fact that the Dodgers have a strong organizational preference for where their pitchers locate their fastballs, which may or may not be the way Flaherty will pitch with a new team.)

I’ll start with his matchups against left-handed hitters, because these were the majority of hitters that Flaherty faced in 2024. After his trade to the Dodgers in late July, the target for his fastball was almost exclusively set up in one location: Low and away.

A handful of times per start, Flaherty tried to climb the ladder, aiming for swinging strikes at the top of the zone. But in the three starts I watched in full, he almost always targeted his fastballs low and away when facing lefties.

Now, as the plot below of his fastball location to lefties shows, his execution wasn’t perfect. Aiming a baseball is really hard. But I’d venture to say that it was pretty good — he hardly yanked any of his fastballs to the glove side, and most of his misses drifted harmlessly off the plate. In any case, the plot tells a clear story: Flaherty was looking to paint with his fastball rather than challenge hitters over the plate.

This sort of nibbling quality with the fastball is perhaps not what teams want to see from their high-paid free agent starter. Snell, Burnes, and even Fried to some extent can throw fastballs with a large margin for error. Flaherty’s margins are thinner.

This is especially true against right-handed hitters, where his glove-side command is not as good. Against righties, Flaherty also frequently targeted low and away. But as the plot below of fastballs to righties shows, Flaherty doesn’t have the same level of command to the outer edge of this side of the plate. Note the lack of dots in that low-away corner compared to the yanked misses off the plate:

To lefties, Flaherty has the luxury of his misses generally drifting off the plate for balls. When he misses his target to righties, however, the miss tends to drift middle-middle. And when you’re missing middle-middle with 93-mph four-seamers, it’s generally not going to turn out well for you. (This might explain part of Flaherty’s reverse splits last season.)

When executed well, the low-and-away target serves an important function — it sets up his two nasty breaking balls, a harder gyro slider at 85 mph and a loopier knuckle-curve at 78 mph. As this pitch plot shows, these two pitches blend together in a deceptive manner, forcing hitters to guess which one is coming:

Flaherty is at his best when he’s mixing in the low fastballs with the two breakers right below the zone. Check out this two-pitch sequence to Ryan O’Hearn. He nails his 0-0 target to get ahead:

On 0-1 — the perfectly executed fastball fresh in O’Hearn’s head — Flaherty buries a curveball right below the previous location, getting O’Hearn to swing way over the pitch:

After a couple of breaking balls in the dirt, Flaherty punches O’Hearn out on a high fastball. With hitters laser-focused on the bottom of the strike zone, that occasional late-count high heater leads to a ton of whiffs. It’s a pretty combo when it works.

But if Flaherty falls behind, there just isn’t a great option to induce weak contact. When the early-count fastball execution is less than perfect, he tends to back himself into a corner. And when he’s forced to come over to the plate with the heater, he can be vulnerable to the long ball. Just ask O’Hearn:

If Flaherty’s fastball velocity remains in that 92-93 range, it will likely be a tradeoff between giving up a few too many walks due to nibbling (as he did early in his career) or risking extra-base damage by coming over the plate.

So, yes, there are reasons to be concerned about Flaherty. But overly fixating on his fastball risks ignoring his upside.

That two-breaking-ball attack works against both righties and lefties; when he gets ahead in the count, there’s almost nobody better. That strikeout rate is no illusion. So the question becomes: How can Flaherty reliably get ahead of hitters?

One option is pitching backwards. Flaherty’s fastball usage in 0-0 counts is roughly 50%. (On the plot below, red represents the four-seamer, gold represents the slider, and blue represents the curveball.) Given the frequency of his slider usage in 3-1 and 3-2 counts (50% and 44.8%, respectively) it follows that he has the confidence to throw it for a strike when he needs it. Mixing in more breaking balls in early counts could take some pressure off the four-seamer.

Credit: Baseball Savant

Flaherty could also use his sinker more often. If his problem at present is mostly with right-handed hitters, the sinker could give him a weak-contact option and a pitch that he feels comfortable throwing on the inner-half of the plate. Notably, the sinker grades out fine by stuff models — PitchingBot, for example, gives it a 56 on the 20-80 scale.

It’s also not impossible that some of his velocity could return. Maybe he no longer can regularly dial up 95-96 mph as he did in his early 20s, but it’s also possible that his late-season swoon can be chalked up to his posting his highest innings total in five years. In the range of velocity that he sat in the later months of the season, every half-tick is crucial, but if he can consistently live at 93-94 mph with the ability to touch 96, that softens many of the concerns.

Concluding this article definitively is challenging. On the one hand, the skittishness of the clubs is perfectly understandable. But plenty of contending teams need starting pitching, and an industry-wide fear of Flaherty’s weaknesses could cost clubs their chance to add someone who just performed like one of the best hurlers in the game.


2025 International Prospect Rankings and Scouting Reports

David Richard-USA TODAY Sports

Wednesday is the first day of the new international signing period, so it’s time for me to share expanded and updated evaluations of the players from the class. An overview of the rules that govern signing international amateurs can be found in MLB’s glossary here, while more thorough and detailed documentation can be found starting on page 316 of the CBA and page 38 of the Official Professional Baseball Rules Book. Players have until December 15 to sign before this signing period closes.

Scouting reports, tool grades, and projected signing teams for about 50 players from the 2025 class can now be viewed over on The Board. Because the International Players tab has an apples and oranges mix of older pros from Asian leagues and soon-to-be first-year players, there is no explicit ranking for this amateur class on The Board. That said, I’ve stacked the class with a ranking in the table below, and as usual, that ranking will live on the International Players dropdown of The Board after most of these guys have finished signing in the coming weeks.

Below I’ll run down how I compiled this list, talk about the class as a whole, and then discuss how Roki Sasaki’s presence is impacting the proceedings. Read the rest of this entry »


2025 ZiPS Projections: Minnesota Twins

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 Minnesota Twins.

Batters

The Twins entered last September as a second-place team with a 92% chance to make the playoffs, according to ZiPS. But then, after going 9-18 that month, they finished fourth in the AL Central and fell short of the postseason. When you look at it that way, their 2024 campaign was certainly a disappointment. However, for as bad things ended, the Twins still posted a winning record (82-80) for the second consecutive year, and none of their problems down the stretch last year suggest there’s anything fundamentally broken with the organization. I mean, sure, Twins fans surely would want them to spend more aggressively, but that’s a gripe they share with the fans of the other AL Central teams.

As it turned out, Carlos Correa shockingly didn’t suddenly forget how to play baseball in 2023; he had terrific 2024 season that hopefully wiped some memories clean. One potential concern is his plantar fascitis – which he’s had in both heels at times over the last 18 months – but with a normal offseason of rest, he should begin this season on fairly strong footing, and ZiPS projects him to have a fairly typical Correa campaign.

Byron Buxton had a similarly solid comeback season. He posted a 142 wRC+, and after the Twins used him exclusively at DH in 2023 in an unsuccessful attempt to keep him healthy, he returned to center field and played above-average defense. I’d be shocked if Buxton made the 567 plate appearances that Depth Charts is projecting for him right now – he’s never done that in the majors – but when he’s playing, he remains a tantalizing talent. Given his history, I would assume the Twins are expecting to have him for about 90-100 games.

The rest of the offense is a great deal less exciting. Royce Lewis still has some upside, but he has a long injury history of his own, and his offense was fairly ordinary last year after his stunning 2023 output. Although he’s probably nearing his ceiling, right fielder Matt Wallner projects to be solidly above average over the next few years, and the catching tandem of Ryan Jeffers and Christian Vázquez is a good one. Elsewhere, though, this lineup feels more patchwork; it’s not really a giant mess, but you kind of wish it had a bit more thump.

There are some lesser projections of interest here. ZiPS isn’t high on Brooks Lee, but it does think that Edouard Julien deserves a chance to avenge his weak 2024, and there’s a real case for promoting Luke Keaschall quickly if he continues to hit in the high minors. It would be nice to see the team get one more bat in free agency, either as an upgrade over Trevor Larnach or to beef up its projected production at DH.

ZiPS expects that it’ll take a few years for Walker Jenkins to really develop his power, but it likes the aforementioned Keaschall and center field prospect Emmanuel Rodriguez.

Pitchers

Pitching-wise, the Twins had an odd season. They had a massive difference between their ERA (4.26) and FIP (3.84), finishing 21st in the former but a much more respectable seventh in the latter stat. And they did that with a rather average defense, so you can’t blame the glove work for that. The good thing is that by and large, the current pitchers on the roster don’t have a lengthy history of falling short of their FIP, which suggests that some of the weaker-than-expected performances were more blips than true concerns.

One thing that hurt the rotation wasn’t so much the primary members but some really terrible performances from the Plan B gang. Chris Paddack and David Festa drastically underperformed their peripheral numbers, and fill-ins like Louie Varland and Zebby Matthews were downright dreadful. ZiPS expects a lot more from all four pitchers, especially Matthews, and overall, it projects the rotation to be somewhere between sixth and 10th in baseball in WAR. The 2.63 HR/9 that Matthews allowed last year may look especially bad, but as I warn people, don’t go nuts over crazy short-term home run stats. A shocking number of people yelled at me in 2019 about a positive Corbin Burnes projection because of the 17 homers he allowed over 49 innings in 2019. ZiPS has little to complain about at the top of the rotation, with Pablo López, Joe Ryan, and Bailey Ober, though López is the only one of the trio that ZiPS projects to have a high long-term ceiling. If ZiPS is right, the Twins are about set here, with a strong starting five and good depth behind them.

The Twins had the second-best bullpen in the American League last year by WAR (5.9), and the good news for Minnesota fans is that the bullpen should remain terrific in 2025. In fact, though it’s certainly not an official projection yet, ZiPS believes at this moment that the Twins have the best bullpen in baseball. Jhoan Duran ought to have a better season in 2025, and now that the Twins have announced that Griffin Jax won’t be moved back to the rotation in 2025, the two of them will form a deadly one-two late-inning punch. Brock Stewart is also projected to have a better season – though his sore shoulder will need to cooperate – and aside from Jorge Alcala and Michael Tonkin, ZiPS projects every significant Minnesota reliever to have an ERA under 4.00. The Twins don’t really need to make any additions here, either. If they are going to make more moves, they should target offensive upgrades.

This is a solidly built team that is deep enough to have a pretty high floor. That said, the Twins have enough weaknesses that ZiPS puts them in the 85-88 win range right now. The AL Central projects to be one of the closer divisions in baseball, and the Twins likely will still be playing meaningful games in September.

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
Carlos Correa R 30 SS 495 434 65 118 24 1 18 64 53 95 0 0
Byron Buxton R 31 CF 377 340 58 84 22 2 19 55 27 106 6 1
Matt Wallner L 27 RF 561 486 67 117 29 3 23 81 56 194 5 1
Edouard Julien L 26 2B 539 457 67 107 21 1 14 57 76 174 10 1
Ryan Jeffers R 28 C 410 361 48 85 18 1 17 55 34 96 2 0
DaShawn Keirsey Jr. L 28 CF 495 451 53 113 19 6 9 54 34 133 22 5
Royce Lewis R 26 3B 384 349 52 86 18 1 16 58 30 93 5 2
Emmanuel Rodriguez L 22 CF 338 280 54 59 14 4 10 40 54 122 7 3
Payton Eeles L 25 2B 475 408 73 102 20 6 4 56 42 86 23 7
Jose Miranda R 27 3B 483 446 50 119 26 2 12 59 27 77 2 1
Mickey Gasper B 29 1B 360 309 45 79 18 1 7 44 40 59 3 1
Luke Keaschall R 22 DH 451 390 65 99 21 1 11 60 44 99 12 4
Anthony Prato R 27 3B 450 383 54 87 22 5 4 45 53 114 8 3
Jair Camargo R 25 C 358 330 37 75 14 1 12 45 21 128 2 1
Willi Castro B 28 SS 546 487 76 119 24 4 12 56 39 128 16 6
Brooks Lee B 24 SS 428 395 44 97 23 1 9 50 29 72 4 1
Diego Castillo R 27 3B 482 426 56 103 24 1 7 49 49 87 7 4
Ricardo Olivar R 23 C 431 384 53 92 21 3 9 50 40 113 4 1
Yunior Severino B 25 1B 524 470 53 109 21 2 16 65 46 171 2 1
Trevor Larnach L 28 DH 424 371 55 89 19 1 14 55 45 115 3 1
Tanner Morris L 27 3B 355 310 36 73 13 1 3 31 40 80 2 1
Wynton Bernard R 34 RF 389 362 48 92 18 3 6 41 22 82 19 3
Christian Vázquez R 34 C 326 302 30 70 13 0 5 30 18 67 2 1
Michael Helman R 29 SS 391 356 50 81 18 2 10 46 29 98 11 2
Austin Martin R 26 CF 395 337 50 81 17 2 3 37 42 70 13 4
Manuel Margot R 30 LF 362 332 41 88 18 2 6 38 24 59 7 2
Alex Kirilloff L 27 LF 304 272 36 69 14 2 10 40 24 75 1 0
Carson McCusker R 27 RF 471 433 53 101 22 3 16 64 31 173 3 4
Danny De Andrade R 21 SS 353 318 39 66 15 1 7 40 22 89 8 2
Mike Ford L 32 DH 321 284 32 63 11 1 12 41 32 78 1 0
Walker Jenkins L 20 DH 357 320 41 78 16 4 6 37 33 60 8 2
Will Holland R 27 SS 323 285 40 60 13 3 6 34 28 102 14 4
Andrew Cossetti R 25 C 375 329 35 61 18 3 8 40 35 129 2 1
Noah Cardenas R 25 C 349 302 30 56 14 0 4 32 38 94 3 3
Jeferson Morales R 26 LF 395 355 41 82 20 2 8 47 28 88 4 2
Kaelen Culpepper R 22 SS 118 108 15 22 3 1 2 13 8 21 2 1
Rylan Bannon R 29 SS 469 401 51 76 16 1 12 49 60 135 6 3
Rubel Cespedes L 24 3B 455 424 42 96 20 2 9 47 27 122 2 1
Tanner Schobel R 24 3B 515 465 55 96 16 4 9 47 43 140 8 4
Allan Cerda R 25 CF 346 303 36 54 13 2 11 41 35 133 2 3
Kala’i Rosario R 22 RF 417 374 44 81 21 2 12 49 38 151 2 0
Dalton Shuffield R 26 CF 264 241 30 52 9 2 5 26 20 90 7 2
Nate Baez R 24 C 291 263 29 55 12 1 8 34 22 106 0 0
Rayne Doncon R 21 SS 449 413 47 84 21 2 10 45 30 124 3 2
Nick Lucky L 25 SS 226 199 23 34 5 2 5 25 19 101 7 1
Patrick Winkel L 25 C 313 289 23 62 14 0 5 30 22 102 0 0
Alerick Soularie R 25 LF 270 238 35 46 8 2 5 26 23 85 11 4
Gabriel Gonzalez R 21 RF 433 399 42 93 19 2 8 52 21 83 4 2
Tyler Dearden L 26 RF 293 265 28 61 13 1 5 29 22 90 0 0
Jake Rucker R 25 2B 505 463 47 105 21 3 7 51 30 116 4 5
Rixon Wingrove L 25 1B 358 326 30 67 14 1 11 43 25 119 1 1
Alex Isola R 26 LF 390 351 36 76 14 0 9 40 34 94 2 1
Willie Joe Garry Jr. L 25 CF 234 211 23 40 8 3 3 21 16 90 8 2
Kyle Hess L 26 CF 236 219 21 44 10 3 3 25 12 66 5 3
Ben Ross R 24 SS 466 426 46 84 19 1 11 47 33 160 10 4
Poncho Ruiz R 23 C 387 348 31 68 18 0 4 34 32 92 1 1
Jorel Ortega R 24 SS 472 426 50 86 20 3 9 48 38 144 8 5
Agustin Ruiz L 25 RF 373 335 39 65 15 2 9 43 26 116 1 2
Dillon Tatum R 25 C 184 162 15 24 6 0 3 16 17 87 0 1
Kyler Fedko R 25 RF 343 303 33 62 13 1 4 31 34 85 4 3
Aaron Sabato R 26 1B 395 349 36 61 15 0 10 41 39 150 3 1
Jose Salas B 22 CF 395 361 37 71 15 2 3 34 19 136 10 5
Misael Urbina R 23 LF 397 355 38 66 18 2 4 32 36 127 6 3

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA 3YOPS+ RC
Carlos Correa 495 .272 .354 .456 126 .184 .311 2 3.7 .349 119 70
Byron Buxton 377 .247 .316 .492 123 .244 .303 4 2.7 .344 119 54
Matt Wallner 561 .241 .339 .455 121 .214 .350 1 2.6 .344 120 76
Edouard Julien 539 .234 .347 .377 104 .142 .346 -3 2.2 .323 105 62
Ryan Jeffers 410 .235 .316 .432 108 .197 .274 -1 2.2 .325 105 50
DaShawn Keirsey Jr. 495 .251 .309 .379 93 .129 .337 6 2.0 .301 92 59
Royce Lewis 384 .247 .307 .441 108 .195 .292 3 1.8 .322 110 49
Emmanuel Rodriguez 338 .211 .343 .397 108 .186 .332 1 1.7 .327 116 41
Payton Eeles 475 .250 .345 .358 99 .108 .308 -3 1.6 .314 99 58
Jose Miranda 483 .267 .317 .415 104 .148 .300 -4 1.4 .317 102 60
Mickey Gasper 360 .256 .356 .389 110 .133 .297 3 1.3 .331 109 44
Luke Keaschall 451 .254 .348 .398 110 .144 .315 0 1.3 .330 112 58
Anthony Prato 450 .227 .333 .342 91 .115 .313 0 1.3 .304 90 46
Jair Camargo 358 .227 .282 .385 86 .157 .331 3 1.2 .289 88 37
Willi Castro 546 .244 .318 .384 97 .140 .308 -10 1.1 .309 95 65
Brooks Lee 428 .245 .297 .377 88 .132 .280 0 1.1 .292 92 45
Diego Castillo 482 .242 .322 .352 90 .110 .289 0 1.0 .300 91 51
Ricardo Olivar 431 .240 .320 .381 97 .141 .317 -8 1.0 .309 101 48
Yunior Severino 524 .232 .305 .388 94 .155 .329 6 0.9 .303 97 56
Trevor Larnach 424 .240 .325 .410 106 .170 .310 0 0.9 .321 105 50
Tanner Morris 355 .236 .327 .313 82 .077 .309 3 0.9 .291 85 33
Wynton Bernard 389 .254 .301 .370 88 .116 .314 5 0.8 .294 83 45
Christian Vázquez 326 .232 .275 .325 68 .093 .283 7 0.8 .264 66 28
Michael Helman 391 .228 .292 .374 86 .146 .286 -3 0.8 .291 86 42
Austin Martin 395 .240 .343 .329 91 .089 .295 -5 0.7 .305 93 42
Manuel Margot 362 .265 .318 .386 98 .121 .308 1 0.7 .308 93 43
Alex Kirilloff 304 .253 .322 .429 110 .176 .315 -2 0.6 .325 106 38
Carson McCusker 471 .233 .291 .409 94 .176 .349 1 0.5 .303 96 54
Danny De Andrade 353 .208 .278 .327 70 .120 .266 1 0.4 .269 77 31
Mike Ford 321 .222 .308 .394 96 .173 .263 0 0.3 .308 91 35
Walker Jenkins 357 .244 .317 .375 94 .131 .284 0 0.3 .304 96 41
Will Holland 323 .211 .298 .341 80 .130 .306 -5 0.3 .285 80 33
Andrew Cossetti 375 .186 .280 .332 72 .146 .276 -2 0.3 .273 79 31
Noah Cardenas 349 .186 .292 .272 61 .086 .255 2 0.2 .261 64 26
Jeferson Morales 395 .231 .304 .366 88 .135 .286 -1 0.0 .295 90 41
Kaelen Culpepper 118 .204 .271 .306 62 .102 .235 0 0.0 .258 76 10
Rylan Bannon 469 .189 .301 .324 76 .135 .252 -7 0.0 .282 77 42
Rubel Cespedes 455 .226 .275 .347 74 .120 .297 0 0.0 .272 78 41
Tanner Schobel 515 .207 .276 .316 67 .110 .275 3 0.0 .264 69 44
Allan Cerda 346 .178 .277 .343 74 .165 .270 -2 -0.1 .277 78 30
Kala’i Rosario 417 .216 .293 .379 88 .163 .327 -3 -0.1 .295 94 42
Dalton Shuffield 264 .215 .277 .331 71 .116 .321 -2 -0.1 .269 72 24
Nate Baez 291 .209 .282 .354 78 .145 .316 -8 -0.2 .281 83 26
Rayne Doncon 449 .204 .263 .337 68 .133 .266 -3 -0.3 .263 76 38
Nick Lucky 226 .171 .264 .292 57 .121 .312 -3 -0.4 .252 63 17
Patrick Winkel 313 .215 .272 .315 65 .101 .314 -5 -0.5 .261 70 25
Alerick Soularie 270 .194 .273 .307 64 .114 .278 1 -0.5 .260 67 24
Gabriel Gonzalez 433 .233 .286 .350 78 .118 .276 -1 -0.5 .280 85 42
Tyler Dearden 293 .231 .297 .344 80 .113 .330 -3 -0.6 .283 81 27
Jake Rucker 505 .227 .282 .331 72 .104 .289 -4 -0.6 .270 75 46
Rixon Wingrove 358 .206 .274 .356 76 .150 .286 0 -0.6 .277 77 32
Alex Isola 390 .217 .290 .334 75 .117 .271 -2 -0.7 .277 77 35
Willie Joe Garry Jr. 234 .190 .256 .299 56 .109 .314 -3 -0.7 .245 66 18
Kyle Hess 236 .201 .254 .315 59 .114 .273 -3 -0.7 .249 63 20
Ben Ross 466 .197 .258 .324 63 .127 .287 -6 -0.8 .257 67 39
Poncho Ruiz 387 .195 .269 .282 56 .086 .254 -5 -0.9 .249 61 27
Jorel Ortega 472 .202 .276 .327 69 .125 .282 -11 -0.9 .268 75 42
Agustin Ruiz 373 .194 .268 .331 68 .137 .267 -1 -1.0 .265 73 31
Dillon Tatum 184 .148 .245 .241 38 .093 .291 -5 -1.1 .225 42 10
Kyler Fedko 343 .204 .289 .294 65 .089 .271 -3 -1.1 .264 70 28
Aaron Sabato 395 .175 .266 .304 60 .129 .270 1 -1.2 .256 63 29
Jose Salas 395 .197 .246 .274 47 .078 .306 0 -1.3 .233 54 29
Misael Urbina 397 .186 .265 .282 55 .096 .277 1 -1.4 .247 59 29

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Carlos Correa Troy Tulowitzki Xander Bogaerts Jose Vidro
Byron Buxton Alfonso Soriano Glenallen Hill Scott Hairston
Matt Wallner Mike Young John Jaha Ty Gainey
Edouard Julien Jack Hannahan Marlan Coughtry Colin Walsh
Ryan Jeffers Jake Early Chris Hoiles Rich Gedman
DaShawn Keirsey Jr. Jeff Stone Robert Stotsky Cecil Espy
Royce Lewis Gene Freese Scott Brosius Travis Jackson
Emmanuel Rodriguez Billy Grabarkewitz Derek Fisher Scott Reid
Payton Eeles Callix Crabbe Brian Roberts Ryan Freel
Jose Miranda Jack Kubiszyn Victor Rodríguez Rich Dauer
Mickey Gasper Dave Bergman Dion James Jon Zuber
Luke Keaschall Gerald Perry Brian Giles Tito Francona
Anthony Prato Lance Blankenship Don Eaddy Robert Hewes
Jair Camargo Dick Brown Mike Colbern Max Stassi
Willi Castro Cliff Pennington Freddie Patek Felipe Lopez
Brooks Lee Ed Crosby Domingo Leyba Thomas Stedman
Diego Castillo Christian Lopes Larry Fobbs Dan Monzon
Ricardo Olivar Aldo Pecorilli Duane Gustavson Joe Durso
Yunior Severino Ron Allen John Herrnstein Brock Peterson
Trevor Larnach Travis Snider Dan Duran Chris Parmelee
Tanner Morris Rich Paz Kevin Riggs Todd Crosby
Wynton Bernard Pete Fox Rajai Davis Calvin Murray
Christian Vázquez Birdie Tebbetts John Flaherty Dax Norris
Michael Helman Chris Basak Tom Brookens Benji Gil
Austin Martin Robert Perry J.T. Bruett Cal Stevenson
Manuel Margot Bobby Moore Timo Perez Miguel Cairo
Alex Kirilloff Len Gabrielson Al Yates Travis Buck
Carson McCusker Dick Greco Carlos Peguero Rolando Roomes
Danny De Andrade Fausto Solano Jonathan Mota Nick Ahmed
Mike Ford Carmelo Martinez Jim Fregosi Razor Shines
Walker Jenkins Jorge Cortes August Suhr Don Lyons
Will Holland Jimmy Sexton Ray-Patrick Didder Connor Kopach
Andrew Cossetti Michael Reynolds Herbert Orensky Raymond Patterson
Noah Cardenas Dave Huppert Jamie Pogue Charles Julian
Jeferson Morales Tyler Henley Joe Caruso Mitch Haniger
Kaelen Culpepper Rodrigo Ayarza Aaron Olivas Jonny Tucker
Rylan Bannon Eddie Joost Lyn Lary George Foussianes
Rubel Cespedes Scott Hodges Tye Waller Ron Slocum
Tanner Schobel David Nichols Pepper Thomas Derrik Gibson
Allan Cerda Don Young Brandon Boggs Dan Cataline
Kala’i Rosario Jay Porter Richard Guerra John Donati
Dalton Shuffield Anthony Vega Ruben Rodriguez Dorian Speed
Nate Baez Larry Howard David Lyon Tom Heierle
Rayne Doncon Jorge Velandia Raul Tablado Dennis Reeve
Nick Lucky Kevin Faircloth R.D. Long Jamie Doughty
Patrick Winkel Al Corbeil Dan Conway Cameron Rupp
Alerick Soularie Roy Marsh Dennis Malave Jayson Bass
Gabriel Gonzalez Ed Larregui Terry Hankins Clifton Wilder
Tyler Dearden Brad Downing Kyle Day Rudy Jaramillo
Jake Rucker Hagan Andersen Phil Gosselin Brian Friday
Rixon Wingrove Steven Caseres Brandon Decker John Toale
Alex Isola Jack McGowan Sheldon Brodsky Brian Hartsock
Willie Joe Garry Jr. Dorian Speed Anthony Vega Todd Hobson
Kyle Hess Jay Simpson Josh Womack Elanis Westbrooks
Ben Ross Donaldo Mendez Pat Valaika Jeter Downs
Poncho Ruiz John Posey Sal Butera Joe Goddard
Jorel Ortega Edwin Maysonet Ryan Klosterman Ryan Lane
Agustin Ruiz Ben Johnson Zach Cone Aaron Iatarola
Dillon Tatum Louis Coccia Johnny Grimes Matt Allen
Kyler Fedko Brian Saltzgaber Mel Barrow Nick Podkul
Aaron Sabato Stanley Patykula Douglas Slettvet Rock Shoulders
Jose Salas Marten Gasparini Lee May Shomari Beverly
Misael Urbina Doug Carpenter Odis McCowan James Broughton

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
Carlos Correa .297 .383 .516 147 4.9 .245 .327 .412 106 2.5
Byron Buxton .274 .338 .558 145 3.8 .219 .285 .420 96 1.5
Matt Wallner .268 .364 .513 144 4.2 .210 .314 .399 101 1.3
Edouard Julien .261 .374 .421 122 3.3 .208 .320 .334 85 0.9
Ryan Jeffers .264 .345 .490 129 3.2 .211 .293 .374 89 1.3
DaShawn Keirsey Jr. .278 .330 .422 110 3.1 .225 .279 .332 75 0.9
Royce Lewis .270 .333 .495 127 2.8 .226 .285 .393 90 1.0
Emmanuel Rodriguez .242 .376 .462 130 2.6 .179 .312 .334 86 0.8
Payton Eeles .276 .371 .410 118 2.7 .221 .320 .315 80 0.5
Jose Miranda .296 .348 .465 124 2.6 .240 .292 .374 85 0.3
Mickey Gasper .282 .379 .435 128 2.1 .229 .328 .345 92 0.5
Luke Keaschall .284 .375 .454 133 2.4 .230 .322 .355 92 0.4
Anthony Prato .251 .359 .390 110 2.3 .201 .306 .296 72 0.3
Jair Camargo .254 .310 .436 106 2.1 .196 .254 .334 66 0.3
Willi Castro .268 .340 .431 115 2.3 .216 .291 .338 79 -0.1
Brooks Lee .273 .326 .425 108 2.1 .219 .270 .332 69 0.1
Diego Castillo .267 .349 .392 108 2.0 .215 .294 .303 71 -0.1
Ricardo Olivar .268 .347 .433 118 2.1 .212 .292 .332 78 -0.1
Yunior Severino .258 .329 .436 113 2.2 .203 .280 .342 74 -0.4
Trevor Larnach .263 .347 .467 125 1.9 .213 .304 .363 89 -0.1
Tanner Morris .261 .355 .351 99 1.5 .205 .298 .270 63 0.0
Wynton Bernard .283 .332 .420 109 1.9 .222 .271 .326 67 -0.1
Christian Vázquez .260 .304 .366 89 1.6 .202 .251 .281 52 0.2
Michael Helman .251 .323 .433 109 1.9 .199 .267 .329 68 -0.1
Austin Martin .265 .370 .369 108 1.5 .213 .319 .290 73 -0.2
Manuel Margot .297 .347 .427 117 1.5 .240 .290 .343 79 -0.2
Alex Kirilloff .285 .352 .485 131 1.4 .228 .294 .384 91 -0.1
Carson McCusker .262 .319 .461 116 1.7 .201 .261 .351 70 -0.8
Danny De Andrade .237 .310 .388 92 1.4 .180 .255 .276 50 -0.4
Mike Ford .246 .334 .444 117 1.1 .192 .280 .338 74 -0.6
Walker Jenkins .273 .343 .427 116 1.2 .216 .288 .333 77 -0.5
Will Holland .238 .325 .394 101 1.1 .181 .271 .296 59 -0.5
Andrew Cossetti .211 .309 .392 95 1.3 .154 .251 .287 53 -0.6
Noah Cardenas .214 .325 .322 84 1.1 .154 .264 .230 43 -0.6
Jeferson Morales .258 .332 .416 108 1.0 .210 .278 .323 71 -0.8
Kaelen Culpepper .236 .303 .365 85 0.3 .176 .243 .254 40 -0.3
Rylan Bannon .216 .325 .376 95 1.1 .160 .273 .281 56 -1.2
Rubel Cespedes .256 .305 .390 93 1.0 .203 .247 .306 57 -1.0
Tanner Schobel .232 .302 .360 85 1.1 .181 .252 .276 50 -1.1
Allan Cerda .205 .303 .391 91 0.7 .151 .252 .283 52 -0.9
Kala’i Rosario .244 .320 .425 109 0.9 .189 .263 .327 66 -1.2
Dalton Shuffield .242 .306 .384 90 0.5 .185 .249 .291 52 -0.8
Nate Baez .239 .311 .405 98 0.5 .179 .250 .300 55 -1.1
Rayne Doncon .233 .294 .393 91 1.0 .177 .236 .288 50 -1.3
Nick Lucky .203 .299 .359 83 0.3 .143 .237 .234 36 -0.9
Patrick Winkel .244 .303 .359 85 0.3 .183 .242 .270 45 -1.3
Alerick Soularie .222 .303 .357 83 0.2 .168 .242 .271 47 -1.1
Gabriel Gonzalez .263 .315 .405 99 0.7 .208 .258 .301 56 -1.7
Tyler Dearden .255 .325 .386 96 0.0 .200 .268 .301 60 -1.3
Jake Rucker .255 .312 .369 89 0.6 .205 .260 .289 55 -1.6
Rixon Wingrove .231 .300 .396 95 0.3 .182 .249 .306 58 -1.4
Alex Isola .244 .317 .383 96 0.3 .192 .260 .287 57 -1.6
Willie Joe Garry Jr. .221 .287 .351 78 -0.1 .161 .225 .249 35 -1.3
Kyle Hess .228 .282 .364 79 -0.2 .175 .228 .270 40 -1.3
Ben Ross .222 .283 .371 82 0.3 .171 .233 .278 45 -1.9
Poncho Ruiz .226 .296 .326 72 -0.1 .171 .242 .245 39 -1.7
Jorel Ortega .225 .299 .373 88 0.2 .176 .249 .284 52 -1.9
Agustin Ruiz .219 .293 .376 86 -0.2 .168 .242 .285 49 -1.9
Dillon Tatum .180 .279 .295 61 -0.6 .118 .215 .190 17 -1.6
Kyler Fedko .228 .317 .332 83 -0.3 .179 .262 .255 48 -1.9
Aaron Sabato .207 .294 .355 81 -0.1 .150 .236 .258 41 -2.1
Jose Salas .225 .272 .314 65 -0.4 .170 .220 .237 30 -2.1
Misael Urbina .212 .292 .317 72 -0.5 .162 .238 .240 37 -2.2

Batters – Platoon Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Carlos Correa .276 .366 .455 .270 .348 .457
Byron Buxton .255 .325 .520 .244 .312 .479
Matt Wallner .228 .326 .420 .247 .345 .472
Edouard Julien .229 .335 .357 .237 .352 .385
Ryan Jeffers .248 .336 .453 .230 .307 .422
DaShawn Keirsey Jr. .240 .304 .349 .256 .311 .393
Royce Lewis .248 .317 .434 .246 .302 .445
Emmanuel Rodriguez .207 .330 .390 .212 .349 .399
Payton Eeles .236 .333 .333 .256 .350 .368
Jose Miranda .274 .324 .439 .263 .313 .401
Mickey Gasper .255 .345 .378 .256 .360 .393
Luke Keaschall .261 .355 .420 .251 .345 .387
Anthony Prato .239 .342 .370 .220 .329 .327
Jair Camargo .231 .282 .397 .225 .282 .378
Willi Castro .245 .309 .395 .244 .321 .379
Brooks Lee .250 .290 .388 .244 .299 .373
Diego Castillo .252 .335 .387 .236 .314 .331
Ricardo Olivar .250 .338 .400 .235 .312 .371
Yunior Severino .236 .303 .404 .230 .306 .379
Trevor Larnach .226 .298 .366 .245 .334 .424
Tanner Morris .225 .310 .294 .240 .335 .322
Wynton Bernard .264 .311 .400 .248 .294 .351
Christian Vázquez .230 .277 .345 .233 .274 .316
Michael Helman .226 .292 .387 .229 .291 .363
Austin Martin .244 .358 .339 .238 .335 .324
Manuel Margot .282 .339 .418 .257 .307 .369
Alex Kirilloff .247 .317 .411 .256 .324 .437
Carson McCusker .239 .299 .418 .231 .287 .405
Danny De Andrade .210 .276 .343 .207 .278 .319
Mike Ford .213 .300 .363 .225 .312 .407
Walker Jenkins .235 .305 .341 .247 .321 .387
Will Holland .219 .308 .343 .206 .291 .339
Andrew Cossetti .190 .287 .330 .183 .277 .332
Noah Cardenas .190 .308 .270 .183 .284 .272
Jeferson Morales .232 .307 .376 .230 .302 .361
Kaelen Culpepper .222 .282 .333 .194 .266 .292
Rylan Bannon .193 .311 .333 .187 .295 .319
Rubel Cespedes .218 .263 .306 .230 .280 .363
Tanner Schobel .215 .296 .333 .203 .267 .309
Allan Cerda .187 .291 .374 .172 .268 .322
Kala’i Rosario .221 .304 .393 .214 .287 .373
Dalton Shuffield .218 .282 .359 .215 .275 .319
Nate Baez .207 .281 .356 .210 .282 .352
Rayne Doncon .213 .275 .368 .199 .257 .321
Nick Lucky .155 .246 .259 .177 .270 .305
Patrick Winkel .198 .253 .272 .221 .279 .332
Alerick Soularie .203 .289 .342 .189 .266 .289
Gabriel Gonzalez .241 .291 .372 .229 .284 .340
Tyler Dearden .217 .283 .301 .236 .303 .363
Jake Rucker .231 .292 .333 .225 .277 .329
Rixon Wingrove .191 .258 .292 .211 .280 .380
Alex Isola .228 .309 .366 .211 .279 .316
Willie Joe Garry Jr. .182 .239 .288 .193 .263 .303
Kyle Hess .190 .250 .317 .205 .256 .314
Ben Ross .200 .268 .320 .196 .253 .326
Poncho Ruiz .200 .280 .286 .193 .264 .280
Jorel Ortega .206 .279 .341 .200 .274 .320
Agustin Ruiz .190 .265 .314 .196 .270 .339
Dillon Tatum .145 .254 .236 .150 .240 .243
Kyler Fedko .205 .297 .304 .204 .284 .288
Aaron Sabato .176 .278 .320 .174 .259 .295
Jose Salas .200 .250 .283 .195 .244 .270
Misael Urbina .189 .273 .307 .184 .261 .268

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Pablo López R 29 12 9 3.78 30 30 174.0 159 73 22 43 182
Bailey Ober R 29 9 9 3.91 28 28 156.3 139 68 24 37 160
Joe Ryan R 29 9 7 3.77 24 24 136.0 117 57 18 31 145
Jhoan Duran R 27 9 3 2.36 59 0 61.0 47 16 3 18 76
Zebby Matthews R 25 7 6 4.05 25 24 122.3 124 55 18 25 115
Griffin Jax R 30 7 4 3.21 60 3 73.0 59 26 8 20 87
David Festa R 25 6 6 4.08 25 24 108.0 99 49 13 41 114
Louie Varland R 27 8 8 4.32 29 22 127.0 126 61 17 38 119
Simeon Woods Richardson R 24 5 6 4.36 28 27 128.0 124 62 16 50 111
Andrew Morris R 23 7 7 4.34 24 22 116.0 121 56 15 32 84
Randy Dobnak R 30 7 8 4.50 28 21 116.0 122 58 14 46 91
Travis Adams R 25 6 7 4.54 24 21 107.0 112 54 14 35 81
Cole Sands R 27 5 4 3.62 47 4 69.7 61 28 8 22 77
Chris Paddack R 29 4 3 4.32 15 15 75.0 78 36 10 20 70
C.J. Culpepper R 23 4 5 4.46 23 22 78.7 78 39 9 28 64
Darren McCaughan R 29 4 6 4.69 25 21 119.0 127 62 17 33 90
Pierson Ohl R 25 5 7 4.64 21 16 97.0 109 50 15 19 62
Cole Irvin L 31 6 8 4.74 27 19 117.7 130 62 19 29 83
Marco Raya R 22 3 4 4.70 28 28 97.7 97 51 13 41 83
Brent Headrick L 27 4 4 4.38 21 12 72.0 70 35 11 26 72
Cory Lewis R 24 5 6 4.64 21 19 85.3 86 44 13 36 75
Huascar Ynoa R 27 4 5 4.50 18 14 64.0 61 32 8 26 61
Eiberson Castellano R 24 4 5 4.75 21 17 83.3 83 44 12 33 78
Christian MacLeod L 25 3 5 4.74 20 19 81.7 82 43 11 38 71
Brock Stewart R 33 1 0 3.00 27 0 27.0 21 9 2 11 35
Ronny Henriquez R 25 3 3 4.32 40 6 75.0 75 36 9 27 63
Kody Funderburk L 28 3 3 4.13 36 4 61.0 56 28 6 26 62
Scott Blewett R 29 4 5 4.54 36 8 77.3 81 39 10 29 60
Anthony DeSclafani R 35 4 5 4.77 15 14 77.3 84 41 13 23 60
Chase Chaney R 25 6 9 4.99 24 20 113.7 130 63 16 38 64
Josh Winder R 28 3 3 4.23 29 4 61.7 61 29 8 20 54
Justin Topa R 34 3 2 3.80 48 0 42.7 41 18 3 14 36
Aaron Rozek L 29 5 7 4.96 22 13 94.3 105 52 15 30 64
Mike Paredes R 24 3 3 4.50 29 5 62.0 68 31 9 18 44
Jorge Alcala R 29 3 4 4.05 56 0 60.0 51 27 8 23 62
Cody Laweryson R 27 2 3 4.41 27 4 49.0 50 24 6 19 41
Michael Tonkin R 35 4 3 4.25 46 0 65.7 60 31 8 24 65
Adam Plutko R 33 3 5 5.06 16 12 64.0 71 36 12 21 48
Kyle Jones R 25 3 5 5.05 16 15 66.0 72 37 11 24 46
Joe Gunkel R 33 2 3 4.82 9 7 28.0 35 15 4 7 15
Jaylen Nowlin L 24 4 7 5.21 22 15 86.3 89 50 13 41 71
Trent Baker R 26 4 7 5.23 21 16 82.7 91 48 14 33 58
John Stankiewicz R 26 3 4 4.63 35 2 56.3 61 29 8 18 41
Alex Speas R 27 3 3 4.42 38 0 38.7 32 19 3 27 42
Zack Weiss R 33 2 2 4.67 27 1 34.7 33 18 5 16 34
Trevor Richards R 32 2 2 4.66 50 2 58.0 51 30 9 29 64
Jarret Whorff R 26 3 5 4.99 29 5 61.3 63 34 9 28 50
Ryan Jensen R 27 4 4 4.94 36 6 54.7 52 30 7 36 54
Jay Jackson R 37 2 2 4.60 27 0 31.3 31 16 6 10 32
Rafael Marcano L 25 2 4 5.31 25 8 57.7 61 34 8 32 45
Caleb Baragar L 31 2 3 5.06 25 3 32.0 32 18 5 19 29
Hunter McMahon R 27 1 2 4.78 32 1 49.0 54 26 7 14 33
Daniel Duarte R 28 2 3 4.76 38 0 39.7 37 21 5 20 35
Ricardo Velez R 26 5 6 4.70 37 0 46.0 47 24 7 19 42
Nick Wittgren R 34 2 2 5.03 37 2 48.3 53 27 7 16 34
Miguel Rodriguez R 26 3 4 5.00 35 1 45.0 48 25 7 20 37
Kyle Bischoff R 25 3 3 4.78 40 0 52.7 51 28 8 23 50
Austin Brice R 33 1 2 5.40 27 1 30.0 29 18 4 18 27
A.J. Alexy R 27 3 4 5.77 20 10 53.0 52 34 7 44 45
Regi Grace R 25 2 4 5.18 33 1 48.7 50 28 7 23 39
Sheldon Reed R 27 1 3 5.40 25 0 31.7 33 19 5 18 27
Diego Castillo R 27 2 4 5.35 39 0 33.7 31 20 5 15 33
Michael Boyle L 31 2 3 5.50 30 1 36.0 39 22 6 20 26
Jared Solomon R 28 2 3 5.79 31 0 32.7 34 21 5 21 25

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ 3ERA+ FIP ERA- WAR
Pablo López 174.0 9.4 2.2 1.1 6.0% 25.4% .295 110 107 3.61 91 2.8
Bailey Ober 156.3 9.2 2.1 1.4 5.8% 25.2% .278 106 104 3.93 94 2.4
Joe Ryan 136.0 9.6 2.1 1.2 5.6% 26.4% .280 110 107 3.60 91 2.2
Jhoan Duran 61.0 11.2 2.7 0.4 7.2% 30.5% .299 176 169 2.41 57 1.9
Zebby Matthews 122.3 8.5 1.8 1.3 4.9% 22.5% .304 103 106 3.92 97 1.8
Griffin Jax 73.0 10.7 2.5 1.0 6.7% 29.3% .285 130 123 3.16 77 1.5
David Festa 108.0 9.5 3.4 1.1 8.9% 24.6% .298 102 102 3.88 98 1.4
Louie Varland 127.0 8.4 2.7 1.2 7.0% 22.0% .301 96 97 4.06 104 1.4
Simeon Woods Richardson 128.0 7.8 3.5 1.1 9.0% 20.0% .290 95 98 4.31 105 1.4
Andrew Morris 116.0 6.5 2.5 1.2 6.5% 16.9% .294 96 98 4.32 105 1.2
Randy Dobnak 116.0 7.1 3.6 1.1 9.0% 17.8% .303 92 91 4.52 108 1.0
Travis Adams 107.0 6.8 2.9 1.2 7.5% 17.4% .297 91 95 4.43 109 1.0
Cole Sands 69.7 9.9 2.8 1.0 7.6% 26.5% .293 115 115 3.62 87 0.9
Chris Paddack 75.0 8.4 2.4 1.2 6.2% 21.8% .312 96 96 3.88 104 0.8
C.J. Culpepper 78.7 7.3 3.2 1.0 8.3% 18.9% .294 93 98 4.37 107 0.8
Darren McCaughan 119.0 6.8 2.5 1.3 6.5% 17.6% .299 89 89 4.56 113 0.8
Pierson Ohl 97.0 5.8 1.8 1.4 4.6% 15.0% .298 90 94 4.59 112 0.7
Cole Irvin 117.7 6.3 2.2 1.5 5.7% 16.4% .298 88 87 4.78 114 0.7
Marco Raya 97.7 7.6 3.8 1.2 9.5% 19.3% .293 88 93 4.65 113 0.7
Brent Headrick 72.0 9.0 3.3 1.4 8.4% 23.3% .298 95 97 4.37 105 0.6
Cory Lewis 85.3 7.9 3.8 1.4 9.5% 19.8% .294 90 95 4.70 112 0.6
Huascar Ynoa 64.0 8.6 3.7 1.1 9.4% 21.9% .294 92 96 4.26 108 0.6
Eiberson Castellano 83.3 8.4 3.6 1.3 9.0% 21.3% .300 87 92 4.76 114 0.5
Christian MacLeod 81.7 7.8 4.2 1.2 10.4% 19.5% .297 88 92 4.73 114 0.5
Brock Stewart 27.0 11.7 3.7 0.7 9.8% 31.3% .302 138 130 2.88 72 0.5
Ronny Henriquez 75.0 7.6 3.2 1.1 8.4% 19.5% .297 96 100 4.30 104 0.5
Kody Funderburk 61.0 9.1 3.8 0.9 9.8% 23.5% .299 101 101 3.95 99 0.5
Scott Blewett 77.3 7.0 3.4 1.2 8.5% 17.5% .300 92 92 4.55 109 0.4
Anthony DeSclafani 77.3 7.0 2.7 1.5 6.8% 17.9% .300 87 80 4.78 115 0.4
Chase Chaney 113.7 5.1 3.0 1.3 7.5% 12.7% .298 83 87 5.07 120 0.4
Josh Winder 61.7 7.9 2.9 1.2 7.6% 20.5% .294 98 98 4.23 102 0.4
Justin Topa 42.7 7.6 3.0 0.6 7.7% 19.9% .299 109 103 3.67 91 0.3
Aaron Rozek 94.3 6.1 2.9 1.4 7.2% 15.5% .298 84 84 5.00 119 0.3
Mike Paredes 62.0 6.4 2.6 1.3 6.7% 16.3% .301 92 97 4.52 108 0.3
Jorge Alcala 60.0 9.3 3.5 1.2 9.1% 24.6% .274 103 103 4.09 98 0.3
Cody Laweryson 49.0 7.5 3.5 1.1 8.9% 19.2% .301 94 96 4.38 106 0.3
Michael Tonkin 65.7 8.9 3.3 1.1 8.6% 23.3% .289 98 90 4.15 102 0.2
Adam Plutko 64.0 6.8 3.0 1.7 7.5% 17.1% .298 82 78 5.19 122 0.2
Kyle Jones 66.0 6.3 3.3 1.5 8.2% 15.7% .293 82 86 5.04 121 0.2
Joe Gunkel 28.0 4.8 2.3 1.3 5.6% 12.1% .316 86 81 4.71 116 0.1
Jaylen Nowlin 86.3 7.4 4.3 1.4 10.4% 18.0% .295 80 85 5.23 125 0.1
Trent Baker 82.7 6.3 3.6 1.5 8.9% 15.6% .295 79 82 5.32 126 0.0
John Stankiewicz 56.3 6.6 2.9 1.3 7.3% 16.6% .299 90 93 4.58 112 0.0
Alex Speas 38.7 9.8 6.3 0.7 15.1% 23.5% .290 94 96 4.42 106 0.0
Zack Weiss 34.7 8.8 4.2 1.3 10.5% 22.2% .292 89 84 4.74 113 0.0
Trevor Richards 58.0 9.9 4.5 1.4 11.3% 24.9% .284 89 86 4.54 112 0.0
Jarret Whorff 61.3 7.3 4.1 1.3 10.2% 18.2% .295 83 87 5.07 120 0.0
Ryan Jensen 54.7 8.9 5.9 1.2 14.2% 21.3% .298 84 85 5.06 119 0.0
Jay Jackson 31.3 9.2 2.9 1.7 7.5% 24.1% .294 90 80 4.68 111 -0.1
Rafael Marcano 57.7 7.0 5.0 1.2 12.0% 16.9% .299 78 84 5.24 128 -0.1
Caleb Baragar 32.0 8.2 5.3 1.4 13.0% 19.9% .293 82 80 5.27 122 -0.1
Hunter McMahon 49.0 6.1 2.6 1.3 6.6% 15.5% .299 87 89 4.73 115 -0.1
Daniel Duarte 39.7 7.9 4.5 1.1 11.4% 19.9% .283 87 89 4.87 115 -0.2
Ricardo Velez 46.0 8.2 3.7 1.4 9.3% 20.6% .301 88 91 4.77 113 -0.2
Nick Wittgren 48.3 6.3 3.0 1.3 7.5% 16.0% .301 83 79 4.90 121 -0.2
Miguel Rodriguez 45.0 7.4 4.0 1.4 9.9% 18.2% .301 83 88 5.02 120 -0.2
Kyle Bischoff 52.7 8.5 3.9 1.4 9.7% 21.2% .293 87 90 4.91 115 -0.3
Austin Brice 30.0 8.1 5.4 1.2 13.1% 19.7% .291 77 73 5.51 130 -0.3
A.J. Alexy 53.0 7.6 7.5 1.2 17.2% 17.6% .290 72 75 5.91 139 -0.3
Regi Grace 48.7 7.2 4.3 1.3 10.6% 17.9% .295 80 85 5.23 125 -0.3
Sheldon Reed 31.7 7.7 5.1 1.4 12.2% 18.2% .298 77 80 5.42 130 -0.3
Diego Castillo 33.7 8.8 4.0 1.3 10.3% 22.6% .283 78 82 4.84 129 -0.4
Michael Boyle 36.0 6.5 5.0 1.5 12.0% 15.6% .295 76 74 5.65 132 -0.4
Jared Solomon 32.7 6.9 5.8 1.4 13.5% 16.1% .290 72 72 6.03 139 -0.5

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Pablo López Jack McDowell Don Drysdale Corey Kluber
Bailey Ober Masahiro Tanaka Matt Cain Mike Mussina
Joe Ryan Bret Saberhagen Ray Culp Mike Mussina
Jhoan Duran Lee Smith Rob Dibble Rollie Fingers
Zebby Matthews Jose Urquidy Rick Ramos Brad Ziegler
Griffin Jax Bob Locker Guillermo Mota Rollie Fingers
David Festa Kevin Millwood Dock Ellis Mark Kiefer
Louie Varland Luis Castillo Russ Butler Zach Eflin
Simeon Woods Richardson Chris Zachary Aaron Blair Jim Hughes
Andrew Morris Henderson Alvarez Pablo Lopez German Marquez
Randy Dobnak Tyler Herron Mike Lemish Charlie Morton
Travis Adams Luis Cessa Henderson Alvarez Matt Wisler
Cole Sands Scott Sullivan Junichi Tazawa Rich Bordi
Chris Paddack Chuck Porter Chris Sheehan Frank Castillo
C.J. Culpepper Ken Carlyle Keefe Cato Gene Lary
Darren McCaughan John Butcher Kyle Kendrick Cole De Vries
Pierson Ohl Casey Lawrence Matt Neil Aaron Civale
Cole Irvin Adam Pettyjohn Scott McGregor Scott Diamond
Marco Raya Mark Fidrych George Bechtold Michael Herson
Brent Headrick Everett Teaford Mike Yearout Tony Watson
Cory Lewis Cholly Naranjo Daniel Welch Jose Rosario
Huascar Ynoa Frank Brosseau Todd Ozias Dave Hasbach
Eiberson Castellano Jharel Cotton Robert Urban Sean Snedeker
Christian MacLeod Sean Nolin Gary Christenson Chet Nichols
Brock Stewart Jumbo Brown Jesse Crain J.J. Putz
Ronny Henriquez Brandon League Chad Bettis Scott Anderson
Kody Funderburk Robbie Ross Frank Gonzales Ron Meridith
Scott Blewett Bo Schultz Anthony Telford Ty Marotz
Anthony DeSclafani Matt Kinney Brandon McCarthy Larry Jansen
Chase Chaney Chad Jenkins Jen-Ho Tseng Shao-Ching Chiang
Josh Winder Frank Herrmann Blake Hawksworth Juan Carlos Oviedo
Justin Topa LaTroy Hawkins Matt Lindstrom Brandon Kintzler
Aaron Rozek Logan Darnell Rick Honeycutt Allan Anderson
Mike Paredes Robbie Guzik Jerry Spradlin Gordon Chretien
Jorge Alcala Pedro Baez Ryan Tepera Chris Perez
Cody Laweryson Chris Mobley Jonathan Aro Carl Willis
Michael Tonkin Al Worthington Dick Tidrow Salomon Torres
Adam Plutko Jim Bagby Joe Genewich Dick Bosman
Kyle Jones Ed Caballero Luis Valdez Doug Peters
Joe Gunkel Pat Tilmon Pete Donohue Rolando Valdez
Jaylen Nowlin Don Arlich Camilo Vazquez Marlon Arias
Trent Baker Parker Bridwell Paul Clemens Mark Smith
John Stankiewicz Brandon Bowe Jason Kummerfeldt Gerald Ako
Alex Speas Bruce Taylor Brad Lesley Horacio Pina
Zack Weiss Johnny Murphy Gregg Olson Dick Drago
Trevor Richards Scott Proctor Bob Long Ray Narleski
Jarret Whorff Blake Wood Victor Alcantara Doug Sessions
Ryan Jensen Gene Pentz John Hudek Chris Carpenter
Jay Jackson Orlando Pena Roy Face Rick Aguilera
Rafael Marcano Philip Barzilla Brandon Matheny Rich Kelley
Caleb Baragar Matt Perisho Fred Scherman Tommy Hottovy
Hunter McMahon William Clauss Pat Lehman Elio Serrano
Daniel Duarte Jesus Colome Ronald Belisario Ken Ryan
Ricardo Velez Mark Ettles Matt Stites Mike Natale
Nick Wittgren Bryan Corey Brandon Puffer Travis Minix
Miguel Rodriguez Elvys Quezada Rich Bombard David Peterson
Kyle Bischoff Logan Cozart Troy Neiman Cam Hill
Austin Brice Gary Waslewski Freddy Schmidt Hal White
A.J. Alexy Wes Scott Cecil Butler Rafael Dolis
Regi Grace Mike Dupree Andrew Wilson Willie Shanks
Sheldon Reed Les Munns David Wong Jeremy Schmidt
Diego Castillo George Murray Dave Beard Jeff Austin
Michael Boyle Rudy Arias Phil Dumatrait Matt Perisho
Jared Solomon Mike Phelps Mark Silva Tad Slowik

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
Pablo López .253 .306 .406 .222 .272 .377 3.8 1.5 3.25 4.55
Bailey Ober .237 .291 .403 .229 .273 .414 3.4 1.3 3.42 4.67
Joe Ryan .226 .284 .379 .228 .272 .388 3.1 1.2 3.24 4.54
Jhoan Duran .204 .283 .315 .212 .271 .280 2.5 1.0 1.68 3.32
Zebby Matthews .258 .307 .439 .256 .287 .420 2.7 0.8 3.41 4.85
Griffin Jax .218 .288 .336 .213 .263 .361 2.2 0.6 2.52 4.26
David Festa .242 .320 .389 .234 .302 .390 2.3 0.5 3.49 4.80
Louie Varland .258 .316 .408 .248 .305 .426 2.3 0.5 3.76 4.95
Simeon Woods Richardson .240 .313 .376 .256 .323 .433 2.2 0.3 3.82 5.07
Andrew Morris .275 .321 .451 .251 .304 .396 1.8 0.4 3.87 4.96
Randy Dobnak .269 .349 .447 .260 .325 .401 1.6 0.2 4.05 5.05
Travis Adams .262 .326 .400 .265 .319 .448 1.6 0.3 4.05 5.06
Cole Sands .240 .314 .400 .220 .284 .348 1.5 0.1 2.87 4.64
Chris Paddack .257 .306 .426 .267 .311 .433 1.4 0.2 3.63 5.01
C.J. Culpepper .248 .328 .382 .258 .327 .430 1.3 0.1 3.92 5.27
Darren McCaughan .258 .320 .424 .276 .326 .459 1.5 0.1 4.13 5.21
Pierson Ohl .273 .317 .466 .282 .311 .454 1.3 0.0 4.09 5.31
Cole Irvin .262 .311 .385 .278 .327 .491 1.3 0.0 4.20 5.33
Marco Raya .276 .359 .459 .233 .308 .381 1.3 0.0 4.18 5.21
Brent Headrick .247 .309 .400 .250 .321 .434 1.2 -0.1 3.68 5.32
Cory Lewis .259 .332 .459 .253 .323 .416 1.2 0.1 4.11 5.19
Huascar Ynoa .241 .326 .397 .248 .318 .398 1.0 0.1 3.96 5.12
Eiberson Castellano .292 .372 .500 .224 .316 .372 1.2 -0.1 4.10 5.50
Christian MacLeod .237 .321 .376 .263 .347 .443 1.1 -0.1 4.21 5.38
Brock Stewart .217 .308 .326 .204 .279 .296 0.9 0.2 2.12 4.42
Ronny Henriquez .250 .327 .404 .259 .322 .418 1.0 0.0 3.80 4.99
Kody Funderburk .238 .326 .325 .239 .324 .394 1.1 0.0 3.41 4.87
Scott Blewett .273 .341 .447 .255 .322 .414 0.9 -0.1 4.05 5.21
Anthony DeSclafani .288 .349 .519 .253 .297 .409 0.9 -0.2 4.16 5.58
Chase Chaney .299 .367 .437 .268 .324 .472 1.0 -0.2 4.56 5.47
Josh Winder .222 .298 .398 .276 .329 .418 0.8 -0.1 3.62 4.95
Justin Topa .250 .326 .400 .244 .313 .326 0.7 -0.1 3.12 4.83
Aaron Rozek .248 .306 .372 .287 .346 .500 0.8 -0.4 4.45 5.64
Mike Paredes .286 .341 .500 .263 .301 .401 0.8 -0.2 3.85 5.26
Jorge Alcala .235 .325 .402 .216 .277 .368 0.9 -0.4 3.28 5.00
Cody Laweryson .253 .324 .429 .265 .333 .402 0.7 -0.1 3.76 5.12
Michael Tonkin .252 .325 .467 .226 .309 .329 0.8 -0.5 3.31 5.76
Adam Plutko .300 .356 .508 .254 .311 .457 0.6 -0.3 4.42 5.78
Kyle Jones .273 .329 .489 .270 .331 .444 0.6 -0.2 4.55 5.59
Joe Gunkel .298 .344 .491 .300 .328 .467 0.3 -0.1 4.39 5.49
Jaylen Nowlin .266 .357 .404 .258 .349 .455 0.7 -0.5 4.70 5.85
Trent Baker .253 .321 .411 .289 .360 .513 0.5 -0.5 4.74 5.88
John Stankiewicz .273 .336 .436 .267 .312 .440 0.5 -0.4 3.98 5.24
Alex Speas .215 .370 .338 .225 .344 .350 0.4 -0.4 3.70 5.46
Zack Weiss .254 .347 .429 .236 .325 .417 0.3 -0.4 3.84 5.79
Trevor Richards .220 .319 .400 .240 .321 .413 0.5 -0.7 3.86 5.97
Jarret Whorff .259 .359 .438 .262 .336 .431 0.4 -0.5 4.47 5.64
Ryan Jensen .247 .373 .443 .243 .353 .374 0.4 -0.6 4.34 5.78
Jay Jackson .250 .311 .500 .254 .311 .433 0.3 -0.4 3.45 6.02
Rafael Marcano .242 .333 .339 .274 .369 .470 0.3 -0.6 4.70 6.11
Caleb Baragar .256 .347 .419 .253 .357 .458 0.2 -0.5 4.28 6.27
Hunter McMahon .281 .330 .483 .269 .328 .417 0.2 -0.5 4.21 5.43
Daniel Duarte .240 .345 .400 .244 .341 .410 0.1 -0.5 4.16 5.61
Ricardo Velez .273 .360 .489 .245 .314 .394 0.2 -0.5 3.98 5.38
Nick Wittgren .284 .354 .466 .264 .325 .434 0.1 -0.5 4.41 5.85
Miguel Rodriguez .277 .362 .506 .258 .330 .402 0.1 -0.6 4.41 5.75
Kyle Bischoff .272 .376 .457 .230 .307 .398 0.2 -0.7 4.13 5.47
Austin Brice .255 .387 .431 .242 .363 .409 0.0 -0.5 4.59 6.39
A.J. Alexy .253 .415 .407 .250 .367 .422 0.1 -0.9 5.08 6.79
Regi Grace .247 .337 .388 .271 .368 .467 0.0 -0.6 4.63 5.79
Sheldon Reed .279 .380 .443 .246 .342 .462 -0.1 -0.7 4.77 6.33
Diego Castillo .234 .338 .406 .242 .329 .424 0.0 -0.8 4.58 6.48
Michael Boyle .250 .345 .354 .281 .369 .521 -0.1 -0.8 4.72 6.65
Jared Solomon .258 .387 .452 .265 .378 .441 -0.3 -0.8 5.16 6.69

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.


2025 ZiPS Projections: Chicago White Sox

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 Chicago White Sox.

Batters

What can you say about Chicago’s 2024 season? The White Sox lost 121 games, which is just five fewer games than the Dodgers have lost in the last two years. If there’s good news about 2025, the team is likely to win more games — and probably quite a few more — if merely by happenstance. For a major league team to lose 120-plus games, something magical has to happen, with so much more going very, very wrong than the fates suggested was in order. I’m fairly confident the White Sox will win more games this year than last, and ZiPS projects a 20-win improvement, which would be quite impressive for most teams.

But is that a good thing? Looking at the lineup as it currently stands, I’m not quite so sure. One of the amazing things about the 2024 White Sox is that they didn’t enter the season looking to dramatically rebuild. As far as I can tell, this was a franchise that thought it was a going to be at least mildly competitive in a weak division. But when you look at the current depth chart, it doesn’t really resemble what you’d expect to see from an organization drastically changing directions. The Sox have added some competent role players, but they’re older types who are best cast as capable contributors on a good team, not starters on a team trying to build on ruin. Josh Rojas, Mike Tauchman, and Austin Slater can bolster a contender, but if any of them get the playing time they’re currently allotted on our Depth Charts, it suggests a team without any ideas. A third year of Andrew Benintendi starting doesn’t do much to disspell that impression, and if Andrew Vaughn actually has any upside remaining, it doesn’t like seem the White Sox have any idea of how to find it. Read the rest of this entry »


Sunday Notes: Ever Introspective, Charlie Morton Isn’t Quite Ready To Go Home

Charlie Morton met with the Baltimore media over Zoom a few days ago, and as would be expected, the 41-year-old right-hander was equal parts thoughtful and engaging. That’s who Morton is. Much for that reason, I made it a point to join in on the session.

His response to a question from Matt Weyrich was classic Morton. The Baltimore Sun scribe asked the introspective veteran of 14 big-league seasons if he sees himself as a role model and/or mentor for a comparably inexperienced staff.

“I’d love to say that I have the answers,” replied Morton, whom the Orioles inked to a one-year deal worth $15 million. “I don’t. I think that, as an individual, you fit in in different ways with different groups of guys. I’m not going to be the same guy that I was with the Rays, in the clubhouse. I’m not going to be the same guy I was with the Astros or the Braves. Each person in those rooms, they’re just a piece of that larger puzzle. While I am the same person, there are different factors that direct you towards behaving a certain way… the value to a person, in the clubhouse, is the human being that they are.”

As much as baseball is in his blood, Morton is a family man. In August 2023, shortly before his 40th birthday, I asked him how much longer he could continue to defy Father Time and excel against baseball’s best hitters. He told me that he doesn’t think about it that way. Rather, he viewed it as “When am I going to go home?” Blessed with a wife and kids, Morton has pondered walking away from the game he loves for several years running. As the 2024 campaign was winding down, he once again thought there was “a really good chance [this] was going to be my last year.”

That’s he’s continued to perform well enough to not have the decision made for him is a big part of his story. Going from “Ground Chuck” to a pitcher who misses bats helped allow that to happen. Echoing what he told me back in 2017, his first season with the Astros, Morton related to the Baltimore beat writers that his career-altering transformation took place upon his arrival in Houston.

“They had a little board room and a projection screen with charts and graphs, and they were suggesting to me to throw pitches in locations where I would get no swings, or a swing-and-miss,” explained Morton, who has enjoyed markedly more success since revamping his pitching style. “For seven years with Pittsburgh, I was trying to get the ball on the ground with three pitches or less, and now they’re telling me, ‘Don’t let them hit it’… you’re not relying on the fate of where the ball is going, you are relying on your stuff.”

Which brings us back to where he’s going now, which is Baltimore and at least one more season on a big-league mound. Morton admitted to having been on the fence as to whether he even wanted to hear if there were any offers this winter, but when the Orioles called, the situation sounded right. Not only would he be getting a chance to pitch for a legitimate World Series contender, it would “work logistically with myself and my family.”

When Morton does finally decide to “go home,” saying goodbye to the game will come with a heavy heart. Given the way he approaches life, it will also come with a healthy dose of reflection.

“I don’t know about the desire to play baseball going away,” said Morton, who had a 4.19 ERA and a 4.46 FIP over 165-and a -third innings with the Atlanta Braves in 2024. “I don’t think that will ever happen. I think it’s just a recognition that it’s time.”
———

RANDOM HITTER-PITCHER MATCHUPS

Ben Zobrist went 10 for 25 against Andy Pettitte.

Manny Ramirez went 14 for 24 against CC Sabathia.

Adam Jones went 16 for 41 against Mark Buehrle.

Jimmy Rollins went 4 for 11 against Francisco Rodriguez.

Ian Kinsler went 6 for 18 against Fernando Rodney.

———

Several people have asked me why I put a checkmark next to Andy Pettitte’s name, and not next to Mark Buehrle’s, on my Hall of Fame ballot. Here is a brief explanation:

Pettitte had 68.2 fWAR, four seasons with a fWAR of five or higher, a 3.74 FIP, and 256 wins, Buehrle had 52.3 fWAR, one season with a fWAR of five or higher, a 4.11 FIP, and 214 wins. Pettitte also has the more robust postseason resume. (The degree to which postseason should be valued — ditto win totals — is obviously subjective. Nonetheless, each is part of a player’s résumé.) With all due respect to Buehrle — an accomplished pitcher who made five All-Star teams and was awarded four Gold Gloves — I feel that Pettitte is the more deserving of the two, As for whether I should have voted for both, the 10-player limit is an obstacle. My voting for Buehrle in the future remains a possibility.

———

Who was better, Félix Hernández or Jon Lester? The latter becomes Hall-eligible in two years — King Felix debuted this year and got my vote — so I asked that question in a Twitter poll. The results weren’t close. Lester received a paltry 16.7% of the votes cast, while Hernández got a whopping 83.3%. Given their respective numbers — put up in nearly the same number of innings — as well as their awards and honors, I expected a closer race.

Hernández went 169-136 with a 117 ERA+, a 3.52 FIP, and 54.0 fWAR. Lester, who pitched for better teams, went 200-117 with a 117 ERA+, a 3.78 FIP, and 46.2 fWAR.

Hernández was a six-time All-Star, won a Cy Young Award, a pair of ERA titles, and threw a perfect game. Lester was a five-time All-Star who won three World Series rings (two with the Red Sox, one with the Cubs). His Fall Classic résumé includes a 4-1 record and a 1.77 ERA, while his overall postseason ERA was 2.51 over 154 innings. He also has an LCS MVP to his credit.

Will Lester get my vote when he becomes Hall-eligible? That’s yet to be determined. He has a valid argument, regardless of whether his career is deemed as impressive as Félix’s.

———

I also ran a poll asking which of Derek Jeter or Ichiro Suzuki was better. I won’t bother to cite any of their numbers — what the first-ballot Hall of Famers did over of the course of their careers is well known — but I will pass along the results.

Ichiro garnered 79.1% of the votes cast. Jeter received just 20.9%. Make of that what you will.

———

One more on the Hall of Fame:

I’m of the opinion that Firpo Marberry deserves a plaque in Cooperstown. The first MLB pitcher prominently utilized as a “closer,” Marberry led the American League in saves six times, and in appearances another six times. Moreover, he did so while also serving as a starter. Playing primarily for the Washington Senators — the right-hander also took the mound for the Detroit Tigers, and very briefly the New York Giants — Marberry logged a 148-88 won-lost record, 101 saves (B-Ref has him with 99), and a 116 ERA+ across the 1923-1936 seasons . His best year was 1929, when he went 19-12 with 11 saves while starting 23 games and coming out of the bullpen 26 times. His top saves totals were 22, 16, and 15, those in seasons where no other hurler reached double digits.

Given his body of work and pioneer status, Frederick “Firpo” Marberry would be a worthy Hall of Famer.

———

A quiz:

Cal Ripken Jr. drew 1,129 walks, the most in Baltimore Orioles history. Which Oriole has drawn the second most walks? (A hint: He is the franchise’s all-time leader in reaching base via HBP.)

The answer can be found below.

———

NEWS NOTES

Bob Veale, a left-hander who won 120 games while pitching primarily for the Pittsburgh Pirates in a career that spanned the 1962-1974 seasons, died on January 7 at age 89. A flame-throwing Birmingham, Alabama native who made a pair of NL All-Star teams, Veale led the senior circuit with 250 strikeouts in 1964.

Felix Mantilla, a native of Isabela, Puerto Rico who spent the first six of his 11 big-league seasons with the Milwaukee Braves, died on Friday at age 90. An infielder/outfielder, Mantilla had his best year in 1964 when hit 30 home runs with the Boston Red Sox. Two years earlier, he was in the starting lineup when the New York Mets played their first game in franchise history.

Brian Matusz, a left-hander who pitched in 280 games for the Baltimore Orioles, and in one game for Chicago Cubs, from 2009-2016, died earlier this month at age 37. No cause of death has been reported.

———

The answer to the quiz is Brady Anderson, who walked 927 times as an Oriole. His franchise-most HBP total was 148.

———

A random obscure former player snapshot:

Ray Culp was a shrewd trade acquisition for the Red Sox in November 1967. Less than two months after losing the World Series to the St. Louis Cardinals, Boston received the 26-year-old right-hander from the Chicago Cubs in exchange for Bill Schlesinger and a PTBNL (Al Montreuil), a nondescript duo whose combined careers comprised all of six games and one hit in a dozen at-bats. Culp’s career was far more distinguished. At his best in his first four Boston seasons — this before arm woes entered the equation — the Elgin, Texas native went 64-44 with a 3.34 ERA over 937 innings. All told, Culp won 122 games pitching for the Cubs, Red Sox, and initially the Philadelphia Phillies, from 1963-1973.

———

FOREIGN AFFAIRS

NPB’s Seibu Lions signed a pair of players who saw action in MLB this year. Right-hander Trey Wingenter made a smattering of appearances with the Boston Red Sox and Chicago Cubs, while Tyler Nevin played in 87 games for the Oakland Athletics.

Hiroto Takahashi is working to add a two-seamer to his repertoire (per Yahoo Japan). The Chunichi Dragons right-hander went 12-4 with a 1.38 ERA, and just 107 hits allowed in 143-and-two-thirds innings, this past season. Takahashi turned 22 in August.

Alex Wells is 5-1 with a 1.56 ERA over 52 innings for the Australian Baseball League’s Sydney Blue Sox. The 27-year-old southpaw made 13 appearances with the Baltimore Orioles across the 2021-2022 seasons.

Brennon McNair is slashing .254/.361/.574 with a circuit-best 11 home runs in 145 plate appearances for the ABL’s Brisbane Bandits. The 21-year-old infielder/outfielder in the Kansas City Royals organization had a .660 OPS last year with the High-A Columbia Fireflies.

———

What has been the best game of your life? I asked that question to a number of players this past season, originally for a standalone piece that ran in early June, and subsequently for inclusion in a handful of Sunday Notes columns. Pittsburgh Pirates reliever Colin Holderman was among those to share his memories.

“I was at Heartland Community College, it was one of our first games of the year, and we were playing Walters State,” Holderman told me at PNC Park in late September. “I went eight innings, and I think I struck out 12. I also went 3-for-4 with two homers, one of them a go-ahead homer in the eighth. They were the No. 1 team in the country for junior college, and we were No. 2, so it was a pretty big matchup. That put us on top of the leaderboard. It’s something I think about often, so that would probably have to be my best overall game.”

The right-hander considers an immaculate inning he threw against the Tampa Bay Rays on May 4, 2023 his “biggest big-league moment.” It was his first immaculate inning at any level, and he turned the trick throwing “one sinker, the rest were cutters and sweepers.”

———

LINKS YOU’LL LIKE

At CBS Sports, Mike Snyder addressed a number of false Hall of Fame narratives, including the misguided belief that the Hall is getting watered down.

Baseball America gave us minor league park factors for 2024 (subscription required).

Baseball America surveyed evaluators on the current state of scouting (unlike most BA articles, this is not behind a paywall).

The Kansas City Royals had Brent Rooker on their roster late in the 2022 season, only to lose him to the Oakland Athletics via the waiver wire. Max Rieper wrote about the ill-fated decision to cut Rooker loose, at Royals Review.

———

RANDOM FACTS AND STATS

Justin Verlander is 24-24 with a 4.42 ERA in his career against the Cleveland Indians/Guardians. The 24 losses are his most against any team. The most losses Verlander has against any other club is 14, against the Chicago White Sox.

Clayton Kershaw is 11-0 with a 2.03 ERA in 17 career starts against the New York Mets. He is 4-7 with a 2.73 ERA in 17 career starts against the Philadelphia Phillies.

In 1968, Baltimore Orioles left-hander Dave McNally went 22-10 with a 1.95 ERA over 273 innings. He had a 5.3% walk rate and a .202 BABIP-against.

Melvin Mora had a three-year stretch (2003-2005) with the Orioles where his average season included a .312/.391/.513 slash line, 23 home runs, a 142 wRC+, and 5.1 WAR.

Juan Marichal and Brooks Robinson were elected to the Hall of Fame on today’s date in 1983. Robinson was on the ballot for the first time. Marichal was on the ballot for the third time.

On today’s date in 1982, the Minnesota Twins selected Kirby Puckett third overall in the January phase of the MLB draft out of Triton College. The first two picks were Kash Beauchamp, by the Toronto Blue Jays, and Troy Afenir, by the Chicago Cubs.

Players born on today’s date include Nigel Wilson, an outfielder who had three hits in 35 at-bats while playing for the Florida Marlins, Cincinnati Reds, and Cleveland Indians across parts of the 1993-1996 seasons. The Oshawa, Ontario native had far more success in Japan, logging 37, 33, and 37 home runs in his three full seasons with NPB’s Nippon Ham Fighters.

Also born on today’s date was Togie Pittinger, a right-hander who went 115-113 pitching for the Boston Nationals and Philadelphia Phillies from 1900-1907. The Greencastle, Pennsylvania native won 27 games in 1902, then lost an NL-worst 22 games the following year. His 1903 season also saw him surrender the most earned runs, hits, home runs, and walks. Pittinger did hit his only career home run that year, going yard against left-hander Luther Taylor, who won 116 games after signing with the New York Giants out of the Kansas School for the Deaf.


2025 ZiPS Projections: Toronto Blue Jays

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 Toronto Blue Jays.

Batters

The AL East team that entered 2024 with the highest projected floor turned out to have… the lowest actual floor in 2024. Curse you, probability! The rotation disappointed last year, and a wide swathe of the starting lineup either underperformed or got injured, and in some cases, both. Read the rest of this entry »


About Those Juan Soto Photos

Brad Penner-Imagn Images

On December 12, the day of Juan Soto’s introductory press conference with the Mets – imagine for a moment being one of the three people in New York City who still requires an introduction to the concept of Juan Soto – the temperature at nearby La Guardia Airport peaked at 43 degrees. Soto wore a turtleneck and chain under his blazer, presumably to ward off the cold, but possibly because he was inspired by the look his new teammate Mark Vientos rocked during the National League Championship Series.

During the press conference, Soto swapped out the blazer for a crisp, new Mets jersey, but he left the turtleneck in place. The temperature was down to 37 by the time he ventured out to the elevated seats behind home plate for a photo op. “We got about fifteen minutes with Soto and his family,” said photographer Brad Penner in an email, “and it was COLD.” The photo op wasn’t just quick. It was weird, and the images it left us with are bizarre and beautiful. “I’ve done many press conferences,” wrote Penner, “but few that were like this one.”

Brad Penner-Imagn Images

As he so often does, Soto seemed to jump right out of the photos. “I chose a seat as close to where Soto would be,” Penner said, “so I could line him up with the scoreboard, rather than the field and seats.” That was smart, as the Mets displayed a “Welcome to the//New York Mets//Juan Soto” graphic on both scoreboards, each featuring three images of him. That left many of the photos with seven Sotos in them, quite possibly a world record. With the focus of the lens necessarily all the way in the foreground, the scoreboard isn’t crisp. You can just make out the tiny “Welcome to the” portion of the graphic, but only if you zoom in and enhance like a CIA agent tracking Jason Bourne through a train station. (Also, there’s no comma between “Mets” and “Juan Soto,” so it reads like the entire team has been renamed the New York Mets Juan Soto. Take that, Cleveland Napoleons!)

Soto was standing in an area that was much darker than the field and the scoreboard in the background, and in the twilight, the black fabric of the turtleneck discolored his paper-thin jersey in an odd way. The white jersey shone brightly where it hung free, but where it lay flat against the turtleneck, it failed to contain the darkness within. The numbers on Soto’s jersey lit up like reflectors while the underside of his cap swallowed light like a black hole. In one picture, Soto smiles and spreads his arms wide, but his arms and his entire head are fully engulfed in impenetrable shadow.

Brad Penner-Imagn Images

In case you can’t tell, I adore these pictures. They’re not the action-packed hero shots that we’re used to seeing splashed across the sports section or the homepage of our favorite baseball analytics website. We’re accustomed to crisp, perfectly lit pictures of batters flattening fastballs into pancakes and pitchers grimacing mid-delivery with their UCLs stretched past the point of no return. But for the past month, with no new art to take their place, these photos of Soto looking, of all things, human, are everywhere. There he is on the television, in the newspaper, on the internet: in the dark, wearing a baseball jersey over a chain and a turtleneck that probably cost more money than I have ever seen in my life, alternating between posing confidently and standing awkwardly.

That’s part of the deal for professional baseball players. From the moment they arrive at spring training until the moment their season ends, they’re fair game for photographers. The Imagn photo service has 4,455 pictures of Soto, 1,113 of them from the 2024 season alone. But when the season ends, the players disappear. In the winter, they get to live their quasi-private lives away from the cameras, and baseball editors get to scroll through Imagn’s 56 pages of 2024 Juan Soto pictures in an attempt to avoid reusing that one shot they used back in December.

But now we’ve got art of Soto in a Mets uniform. Sure, the art isn’t what we’re used to, but it beats using an old photo of him in a Yankees uniform. Here’s what you see what you search Imagn for Juan Soto (which you can do here).

For any editor whose news organization didn’t send a photographer to Soto’s presser, this is what you have to choose from. It’s one closeup after another: Juan Soto with his arms outstretched like Moses parting the Red Sea, Juan Soto nervously smiling and adjusting the cuff of his turtleneck, Juan Soto with his hands raised like he’s conducting an orchestra, Juan Soto with the same goofy, sideways smile that Steve Carell wore in the poster for The 40-Year-Old Virgin.

I was a teenager when digital cameras began to fully replace film cameras, and I remember that era just well enough to appreciate what the transition cost us. Today, you can take and instantly delete an infinite number of pictures until you get one that shows exactly what you want it to show. Before that option was available, you couldn’t see your photos until you remembered to take the roll to the developer months later. When you finally got them back, you’d discover that you had your finger over the lens for a couple of them, that you had your eyes closed for a couple more, that the lighting was off for a couple more, and that one was, for no discernible reason, completely gray. If you were a total amateur like me, you’d consider yourself lucky to end up with two or three photographs that actually came out well. In other words, photography used to accurately represent real life. Real life is 90% crazy eyes and pre-sneeze faces, and you don’t get to dial up the saturation. I don’t mean to sound like a crank. I love having a decent camera in my pocket at all times; I’m just saying that it has distorted our world a bit.

For that reason, I love the fact that these pictures are everywhere you look. Penner took all of them, and he’s a fantastic photographer. He took the widely circulated picture of Francisco Lindor celebrating on the field after the Mets dispatched the Phillies in the NLDS, and he even had a comp in mind for the madness of Soto’s press conference: Kemba Walker’s 2021 introductory presser for the Knicks, which took place at the top of the Empire State Building. But still, these are not the perfect pictures we’re used to seeing. They show the rare photo opportunity that ends up looking every bit as contrived as it actually is.

Brad Penner-Imagn Images

For the next month, do your best to enjoy these pictures. The moment Soto arrives in Port St. Lucie, you’ll stop seeing them. They’ll be replaced by low-angle shots of a godlike Soto in a crisp uniform, an immaculate Florida sky behind him. He’ll be launching batting practice home runs and laughing with his teammates. It will be perfect. There will be no turtleneck.


The Rise of the Slider Might Be Over

Jeff Curry-Imagn Images

In 2008, the first year of PitchF/X pitch tracking, 13.9% of all pitches across the major leagues were sliders. Ah, those were the days – flat, crushable fastballs as far as the eye could see. More or less every year since then, sliders have proliferated. Don’t believe me? Take a look at the graph:

Are you surprised? Of course not. You’ve seen Blake Snell pitch – and Lance McCullers Jr., Sean Manaea, five of your team’s best relievers, and pretty much anyone in the past half decade. Pitchers are flocking to sliders whenever they can get away with throwing one. It used to be a two-strike offering, then an ahead-in-the-count offering, and now many pitchers would rather throw sliders than fastballs when they desperately need to find the zone. Look at that inexorable march higher.

Only, maybe it’s not so inexorable anymore. Between 2015 and 2023, the average increase in slider rate was 0.9 percentage points year-over-year. The lowest increase was half a percentage point; each of the last three years saw increases of a percentage point or more. But from 2023 to 2024, slider rate stagnated. In 2023, 22.2% of all pitches were sliders. In 2024, that number only climbed to 22.3%, the lowest increase since the upward trend started a decade ago.

That’s hardly evidence of the demise of the slider. For one thing, the number is still going up. For another thing, it’s one year. Finally, 2024 marked the highest rate of sliders thrown in major league history. If I showed you the above graph and told you “look, sliders aren’t cool anymore,” you’d be understandably unmoved.

Not to worry, though. It might be January 9, but I won’t try to pass that off as genuine baseball analysis even in the depths of winter. I’ve got a tiny bit more than that. Raw slider rate is a misleading way of considering how pitcher behavior is changing. There are two ways to increase the league-wide slider rate. First, pitchers could adjust their arsenals to use more sliders and fewer other pitches. Second, the population could change – new, slider-dominant pitchers could replace other hurlers who throw the pitch less frequently.

For example, Adam Wainwright retired after the 2023 season. He threw 1,785 pitches that year, and only five were sliders. Plenty of the innings Wainwright filled for the Cardinals went to Andre Pallante, who graduated from the bullpen to the rotation and made 20 starts in 2024. Pallante actually threw fewer sliders proportionally in 2024 than he did in 2023 – but his pitch count ballooned from 1,139 to 1,978. Similarly, Michael McGreevy made his big league debut in 2024 and threw 311 pitches, 19% of which were sliders.

The numbers can lie to you. Pallante, the only one of our three pitchers to appear in both years, lowered his slider rate. But in 2023, Pallante and Wainwright combined for a 7% slider rate. In 2024, Pallante and McGreevy combined for a 17.1% slider rate. That sounds like a huge change in behavior – but it’s actually just a change in population composition.

The story we all think about isn’t Wainwright retiring and handing his innings to McGreevy and Pallante. It’s Brayan Bello going from 17.5% sliders to 28% sliders while pitching a similar innings load – something that also happened in 2024, just so we’re clear.

To measure how existing pitchers are changing their slider usage, we shouldn’t look at the overall rate. We should instead look at the change in each pitcher’s rate. That’s a truer reflection of the question I’m asking, or at least I think it is. And that answer differs from the chart I showed you up at the top of this article.

There were 315 pitchers who threw at least 50 innings in 2023 and 2024, and threw at least one slider in each of those two years. Of those 315 pitchers, 142 increased their slider usage, 24 kept their usage the same, and 149 decreased the rate at which they threw sliders. The story was similar from 2022 to 2023. There were 216 pitchers who fit the criteria in those years; 90 increased their slider usage, 19 kept theirs the same, and 107 decreased the rate at which they used the pitch. From 2021 to 2022, the effect went the other way; 122 pitchers threw sliders more frequently in 2022 than they did in 2021, 22 kept their usage the same, and 74 decreased their usage.

Put that way, the change is quite striking. The slider craze kicked off in earnest in 2017. From 2016-2017, 114 pitchers increased their slider usage and 89 decreased theirs. That rough split persisted in 2017-2018 and 2018-2019. Everything around the 2020 season is a little weird thanks to the abbreviated schedule, but the basic gist – more pitchers increasing slider usage than decreasing slider usage – was true in every pair of years from 2014-2015 through 2021-2022.

That sounds more like a trend than the overall rate of sliders thrown. Graphically, it looks like this:

Let’s put that in plain English. From 2015, the start of the spike in slider usage, through 2022, there were far more pitchers increasing their slider frequency than decreasing it. On average across those years, 1.3 pitchers threw more sliders for every one pitcher who threw fewer. In the past two years, that trend has reversed; more pitchers are reducing their reliance on sliders than increasing it. The population is going to continue to change – they don’t make a lot of Adam Wainwrights these days – but on a per-pitcher basis, the relentless increase in slider usage has halted.

I tried a few other ways of looking at this phenomenon. I held pitcher workloads constant from year one and applied year two slider rates to each pitcher (pitchers who only threw in year one obviously keep their rate unchanged). The same trend held – the last two years have seen a sharp divergence from the boom times of 2015-2022. I looked at the percentage of starters who started using a slider more than some other pitch in their arsenal and compared it to the ones who de-emphasized it; same deal. I also should note that I’ve grouped sweepers and slurves among the sliders for this article, so this reversal is not about pitchers ditching traditional sliders to get in on the sweeper craze.

No matter how you slice it, we’ve seemingly entered a new phase of pitch design. For a while, most pitchers took a hard look at what they were throwing and decided they needed more sliders. Now, though, it appears that we’ve reached an equilibrium point. Some pitchers still want more. Some think they’re throwing enough, or even a hair too many. Now splitters are on the rise, and hybrid cutters are starting to eat into sliders’ market share.

It’s far too early to say that sliders are on the decline. Factually speaking, they’re not. But to me, at least, it’s clear that the last two years are different than the years before them when it comes to the most ubiquitous out pitch in baseball. Sure, everyone has a slider now – but in the same way that four-seam fastballs were inevitable right until sinkers made a comeback, the slider is no longer expanding its dominance among secondary pitches. An exciting conclusion? I’m not sure. But it’s certainly backed by the evidence.


Checking In on Free Agent Contract Predictions

Brad Penner-Imagn Images

As of the time I’m writing this article, roughly half of our Top 50 free agents have signed new contracts this offseason. That sounds like a great time to take a look at how the market has developed, both for individual players and overall positional archetypes. For example, starting pitchers have been all the rage so far, or so it seems. But does that match up with the data?

I sliced the data up into three groups to get a handle on this: starters, relievers, and position players. I then calculated how far off both I and the crowdsourced predictions were when it came to average annual value and total dollars handed out. You can see here that I came out very slightly ahead of the pack of readers by these metrics, at least so far:

Predicted vs. Actual FA Contracts, 2024-25
Category Ben AAV Crowd AAV Ben Total $ Crowd Total $
SP -$2.8M -$3.0M -$16.9M -$16.8M
RP -$0.2M -$1.7M -$6.4M -$9.4M
Hitter -$1.1M -$1.6M -$17.5M -$17.9M
Overall -$1.9M -$2.4M -$16.3M -$16.7M

To be fair, none of us have done particularly well. The last two years I’ve run this experiment, I missed by around $1 million in average annual value, and the crowd missed by between $1 and $2 million. Likewise, I’ve missed by roughly $10 million in average annual value per contract, with the crowd around $18 million. This year, the contracts have been longer than I expected, and richer than you readers expected, though you did a much better job on a relative basis when it came to predicting total dollar outlay. We were all low on every category, though, across the board.
Read the rest of this entry »


2025 ZiPS Projections: New York Mets

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 New York Mets.

Batters

It’s funny how a few months can change the vibes surrounding a team. After a disappointing 75-87 season in 2023, the Mets had a relatively light winter going into 2024. While the team didn’t squeeze every penny until it screamed like, say, the Marlins, Sean Manaea’s two-year, $28 million contract was the big ticket signing, with the rest of the free agents brought in came on one-year deals to fill specific short-term roster holes. The rather bland winter transitioned into an equally bland season. Or, shall I say, an equally bland start of the season. Because a funny thing happened on the way to the draft lottery: After dwelling below .500 as late as July 6, the Mets played nearly .600 ball in the second half, made it into the playoffs, and fell only two wins short of reaching the World Series.

By contrast, this winter has been a loud one, mainly due to the addition of Juan Soto, who signed the largest contract in professional sports. Soto’s addition gives the Mets one of the most feared offensive forces of this generation, and though the Mets didn’t struggle with run scoring in 2024, his addition likely wipes out the potential impact of any regression toward the mean from players like Mark Vientos or Francisco Lindor. With Soto on the team now, the Mets project as average or better at every single lineup spot. This sets up an odd kind of philosophical debate in which the Mets may be one of the teams that needs Pete Alonso’s 2025 services the least while wanting them the most! So is the life of a good first baseman heading to over-30 land and showing some early signs of fading.

ZiPS is a big fan of Jose Siri starting in center field for the Mets, and with Brandon Nimmo joining Soto at the corners, the outfield shouldn’t be a worry for the Mets. Vientos likely takes over at first in an Alonso-less world, with Brett Baty getting what is likely his last chance with the Mets. While I wouldn’t want to count on Baty working out, one has to take chances on players like him; remember when everyone was piling on the Mets before 2024 for having faith in Vientos? Over at second, Jeff McNeil’s on the downslope of his career and recovering from a broken wrist, but ZiPS thinks he’ll rebound enough to keep the position about league average. McNeil’s approach at the plate, which results in a lot of contact against pitches he really shouldn’t be swinging at, will continue to be maddening at times, of course; entering his mid-30s, he’s not likely to reinvent himself as a hitter.

Bottom line: By pairing Soto with Lindor, the Mets have a really good offense, one that may be just a skosh behind the elite ones.

Pitchers

ZiPS like the Mets’ offense quite a lot, but its cyber-feelings about the rotation are more mild satisfaction than enthrallment. Of the breakout soft-tossers from 2024, ZiPS much prefers former Met Seth Lugo to current Met Manaea. And yes, I’m old enough to still feel in my heart that it’s weird that guys throwing 92-93 mph are the soft-tossers. ZiPS does have confidence in Kodai Senga and the Clay Holmes Starting Experiment, and it sees David Peterson as a solid league-average starter. Where the computer doesn’t have much confidence is in Frankie Montas, but if he’s their fifth-best starter, they’re not doing too badly.

ZiPS believes the Mets have pretty solid starting pitching depth behind the front five, too, but oddly enough, not in the first two pitchers likely heading that queue: Paul Blackburn and Griffin Canning. The projections would much rather see Brandon Sproat get an aggressive call-up if an early need presents itself, and lesser prospect Jonah Tong also has a solid projection. Prospects like Blade Tidwell, Dom Hamel, and Nolan McLean also come out on par with or even better than the veteran backups.

As for the bullpen, ZiPS kind of sees a really polarizing unit, not all that different from what Steamer projects. Edwin Díaz, José Buttó, Reed Garrett, and Dedniel Núñez all project solidly, but then there’s a big step down to the next tier. Basically all of the WAR accrued in the ZiPS projections are from these top four relievers; of the remaining guys, ZiPS is especially skeptical about Danny Young, Génesis Cabrera, Blackburn or Canning in relief, and Chris Devenski. Getting a couple bullpen arms would benefit the Mets greatly, even though signing middle relievers wouldn’t be as sexy as landing Roki Sasaki. (Then again, maybe for the Mets it isn’t an either/or choice.)

The Mets look a lot like an 87-91 win team or so, with the possibility of adding a handful more wins with other moves this winter. I suspect the Braves and Phillies will have slightly better projections by the start of the season – unless New York pulls off another huge deal – but the Mets are right in the thick of it, and a division title is certainly a possibility.

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
Juan Soto L 26 RF 672 528 108 146 26 2 33 100 137 109 7 4
Francisco Lindor B 31 SS 656 580 97 151 30 3 27 93 60 124 21 4
Brandon Nimmo L 32 LF 622 537 83 135 25 4 19 71 70 138 9 1
Pete Alonso R 30 1B 649 562 83 137 26 1 33 101 68 149 4 0
Mark Vientos R 25 3B 560 508 66 127 24 2 26 86 43 169 0 0
Francisco Alvarez R 23 C 437 388 52 90 16 1 20 64 41 111 1 1
Jeff McNeil L 33 2B 505 456 57 119 25 1 9 50 33 64 5 0
Jose Siri R 29 CF 418 382 56 82 17 2 17 57 27 153 14 5
Brett Baty L 25 3B 480 430 57 103 16 0 17 61 43 124 2 1
Harrison Bader R 31 CF 394 363 49 86 16 1 10 44 22 84 16 5
Jared Young L 29 3B 446 389 56 91 19 3 14 62 44 114 5 2
Ronny Mauricio B 24 2B 585 552 64 129 23 3 18 73 27 143 15 7
Luisangel Acuña R 23 SS 593 553 79 135 21 4 8 55 34 125 29 11
Donovan Walton L 31 2B 358 323 41 79 17 2 5 38 25 53 3 2
Wyatt Young L 25 SS 494 439 52 102 15 2 4 42 45 118 9 4
Tyrone Taylor R 31 RF 344 316 46 73 18 2 10 41 19 80 8 1
Jakson Reetz R 29 C 315 277 33 57 15 0 10 44 26 89 1 1
Jesse Winker L 31 LF 466 393 54 94 18 1 12 51 62 94 7 2
J.D. Martinez R 37 DH 465 413 51 98 24 1 16 59 44 135 0 0
Luis De Los Santos R 27 3B 344 312 36 67 15 1 8 38 25 95 3 2
Starling Marte R 36 RF 375 340 48 90 15 2 7 41 24 80 17 3
Jose Iglesias R 35 2B 401 377 44 98 20 1 5 39 17 66 3 2
Rafael Ortega L 34 CF 353 306 39 68 13 1 7 32 41 78 12 6
Eddy Alvarez L 35 RF 363 311 47 70 16 2 8 41 31 101 9 4
José Azocar R 29 CF 366 341 44 83 14 3 5 35 16 81 20 6
Jose Peroza R 25 3B 399 358 40 76 17 1 8 43 31 137 2 0
Chris Williams R 28 C 366 319 39 61 13 1 12 43 39 136 2 0
Joey Meneses R 33 1B 539 493 50 123 23 1 15 74 36 120 1 0
Luis Torrens R 29 C 275 251 27 58 12 0 8 33 19 72 1 1
Luke Ritter R 28 1B 506 443 53 87 16 1 16 62 50 188 3 2
Jesus Baez R 20 SS 305 283 31 59 11 1 8 33 18 67 4 1
Drew Gilbert L 24 CF 382 341 39 73 13 1 10 42 32 89 4 2
Nick Morabito R 22 CF 510 460 60 105 14 4 3 46 40 118 27 10
Jett Williams R 21 SS 393 336 45 67 15 4 5 39 46 109 12 4
Taylor Kohlwey L 30 RF 475 421 46 97 19 2 6 44 45 109 6 3
Yolmer Sánchez B 33 LF 395 341 40 65 13 2 6 33 46 107 5 1
Ji Man Choi L 34 1B 284 241 26 49 11 0 9 33 38 91 0 0
JT Schwartz L 25 1B 430 386 40 90 18 2 6 46 35 86 4 1
Christopher Suero R 21 C 455 397 50 77 13 2 8 47 44 122 9 6
Edward Olivares R 29 RF 353 319 45 77 13 1 10 44 25 68 8 5
Matt Rudick L 26 RF 440 384 47 80 19 1 6 45 45 104 7 4
Austin Allen L 31 C 266 247 26 52 9 0 9 35 14 82 1 0
Kevin Parada R 23 C 454 411 38 83 17 2 12 51 33 165 0 1
Hayden Senger R 28 C 271 244 24 49 12 1 3 27 17 92 1 1
Brandon McIlwain R 27 LF 390 350 35 75 15 2 6 42 28 118 8 4
Ryan Clifford L 21 1B 560 481 58 96 21 0 18 67 65 191 2 1
Nick Lorusso R 24 1B 358 317 34 66 12 2 9 41 35 86 4 2
Mike Brosseau R 31 1B 348 310 36 67 9 0 9 40 27 94 1 1
DJ Stewart L 31 RF 339 294 33 59 10 1 10 37 36 98 4 1
Karell Paz L 25 LF 183 164 18 33 6 2 3 19 11 57 5 3
Boston Baro L 20 3B 432 395 44 85 17 3 3 36 32 101 4 1
Nolan McLean R 23 DH 143 131 14 21 5 0 7 20 11 86 0 0
D’Andre Smith R 24 2B 203 190 18 40 9 1 2 20 8 56 4 1
Jacob Reimer R 21 3B 315 274 30 55 9 0 3 29 30 74 1 2
Jackie Bradley Jr. L 35 CF 244 225 21 39 10 1 3 18 14 70 3 1
Joe Suozzi R 27 LF 302 270 32 54 7 2 4 30 22 112 4 1
Matt O’Neill R 27 C 214 189 20 29 5 1 3 15 23 91 0 0
Ronald Hernandez B 21 C 429 384 37 77 13 2 5 39 38 137 4 1
Eddie Rosario L 33 LF 397 367 41 80 17 2 12 47 24 88 8 3
Rowdey Jordan R 26 2B 462 416 45 82 17 2 7 43 37 135 13 5
Kellum Clark L 24 1B 247 214 21 38 4 2 2 17 28 100 1 1
William Lugo R 23 SS 419 373 39 69 15 1 9 42 38 127 2 1
Christian Pregent R 24 C 182 162 15 26 3 0 2 12 16 76 0 0
Jose Hernandez R 23 C 169 150 13 21 5 1 2 14 13 73 3 2
Estarling Mercado L 22 1B 284 253 25 38 9 2 8 32 23 122 1 1

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA 3YOPS+ RC
Juan Soto 672 .276 .426 .521 167 .244 .293 -4 6.2 .406 167 120
Francisco Lindor 656 .260 .337 .462 124 .202 .289 8 5.7 .344 118 96
Brandon Nimmo 622 .251 .348 .419 116 .167 .305 8 3.5 .337 111 81
Pete Alonso 649 .244 .337 .470 126 .226 .274 1 3.0 .345 121 90
Mark Vientos 560 .250 .313 .458 115 .209 .322 -1 2.8 .331 116 73
Francisco Alvarez 437 .232 .311 .433 108 .201 .272 -1 2.4 .323 112 53
Jeff McNeil 505 .261 .324 .379 99 .118 .287 1 1.9 .309 97 57
Jose Siri 418 .215 .274 .403 89 .189 .307 10 1.9 .293 88 47
Brett Baty 480 .239 .315 .395 100 .156 .297 1 1.8 .312 103 54
Harrison Bader 394 .237 .287 .369 85 .132 .283 8 1.5 .286 83 44
Jared Young 446 .234 .324 .406 106 .172 .295 -5 1.5 .321 101 53
Ronny Mauricio 585 .234 .274 .384 84 .150 .284 4 1.3 .284 88 64
Luisangel Acuña 593 .244 .289 .340 78 .096 .303 2 1.2 .277 81 65
Donovan Walton 358 .245 .309 .356 89 .112 .279 3 1.2 .292 88 37
Wyatt Young 494 .232 .309 .303 75 .071 .309 4 1.2 .277 75 45
Tyrone Taylor 344 .231 .288 .396 92 .165 .279 7 1.1 .296 90 38
Jakson Reetz 315 .205 .296 .368 87 .162 .263 0 1.0 .293 84 31
Jesse Winker 466 .239 .353 .382 109 .142 .286 -6 1.0 .328 106 55
J.D. Martinez 465 .237 .314 .417 105 .179 .313 0 0.9 .317 97 54
Luis De Los Santos 344 .215 .282 .347 77 .132 .283 6 0.8 .278 77 32
Starling Marte 375 .265 .327 .383 101 .118 .328 -2 0.8 .312 97 47
Jose Iglesias 401 .260 .299 .358 86 .098 .304 1 0.8 .288 84 42
Rafael Ortega 353 .222 .313 .340 85 .118 .276 1 0.8 .292 80 38
Eddy Alvarez 363 .225 .315 .366 93 .141 .306 3 0.8 .302 87 39
José Azocar 366 .243 .283 .346 78 .103 .306 4 0.8 .276 78 40
Jose Peroza 399 .212 .286 .333 75 .120 .320 5 0.7 .274 77 34
Chris Williams 366 .191 .285 .351 79 .160 .287 -2 0.7 .282 80 32
Joey Meneses 539 .249 .302 .391 95 .142 .301 2 0.6 .301 88 59
Luis Torrens 275 .231 .287 .375 86 .144 .293 -2 0.6 .289 85 28
Luke Ritter 506 .196 .291 .345 80 .149 .297 9 0.5 .284 80 46
Jesus Baez 305 .209 .262 .340 69 .131 .246 3 0.4 .264 76 27
Drew Gilbert 382 .214 .293 .346 81 .132 .260 -1 0.4 .283 84 36
Nick Morabito 510 .228 .302 .296 71 .067 .301 1 0.3 .270 75 51
Jett Williams 393 .199 .310 .312 78 .113 .279 -6 0.3 .284 83 37
Taylor Kohlwey 475 .230 .310 .328 81 .097 .297 3 0.2 .285 81 45
Yolmer Sánchez 395 .191 .294 .294 68 .103 .259 8 0.2 .268 64 31
Ji Man Choi 284 .203 .313 .360 91 .157 .283 0 0.1 .299 86 27
JT Schwartz 430 .233 .307 .337 83 .104 .286 3 0.1 .287 88 41
Christopher Suero 455 .194 .290 .298 68 .103 .259 -3 0.1 .268 73 39
Edward Olivares 353 .241 .306 .382 94 .141 .278 -3 0.0 .302 94 41
Matt Rudick 440 .208 .305 .310 75 .101 .270 3 0.0 .279 77 39
Austin Allen 266 .210 .260 .356 72 .146 .275 -3 0.0 .269 71 23
Kevin Parada 454 .202 .273 .341 73 .139 .304 -6 -0.1 .271 79 39
Hayden Senger 271 .201 .271 .295 61 .094 .308 -1 -0.1 .255 60 20
Brandon McIlwain 390 .214 .290 .320 73 .106 .306 4 -0.1 .274 73 36
Ryan Clifford 560 .199 .305 .355 87 .156 .286 -2 -0.2 .294 93 53
Nick Lorusso 358 .208 .291 .344 79 .136 .257 1 -0.2 .282 84 33
Mike Brosseau 348 .216 .296 .332 78 .116 .280 1 -0.3 .282 76 31
DJ Stewart 339 .201 .301 .343 83 .143 .263 -4 -0.3 .289 79 31
Karell Paz 183 .202 .271 .318 67 .116 .289 1 -0.3 .262 68 16
Boston Baro 432 .215 .275 .296 63 .081 .282 1 -0.4 .256 69 34
Nolan McLean 143 .161 .231 .360 64 .199 .373 0 -0.4 .257 76 11
D’Andre Smith 203 .210 .256 .300 57 .089 .287 -2 -0.5 .246 62 16
Jacob Reimer 315 .201 .298 .266 62 .066 .264 -3 -0.5 .262 67 23
Jackie Bradley Jr. 244 .173 .230 .266 41 .093 .236 4 -0.5 .222 39 15
Joe Suozzi 302 .200 .281 .285 62 .085 .324 1 -0.6 .258 61 23
Matt O’Neill 214 .154 .248 .239 39 .085 .275 -1 -0.6 .226 41 11
Ronald Hernandez 429 .201 .280 .284 61 .083 .298 -6 -0.6 .255 66 32
Eddie Rosario 397 .218 .266 .373 79 .155 .254 -3 -0.6 .277 76 39
Rowdey Jordan 462 .197 .271 .298 62 .101 .274 -3 -0.8 .255 63 38
Kellum Clark 247 .178 .283 .244 52 .066 .323 1 -0.9 .245 55 15
William Lugo 419 .185 .267 .303 62 .118 .253 -8 -0.9 .256 70 31
Christian Pregent 182 .160 .242 .216 32 .055 .285 -5 -1.1 .213 33 9
Jose Hernandez 169 .140 .232 .227 31 .087 .255 -5 -1.2 .214 37 9
Estarling Mercado 284 .150 .243 .296 52 .146 .244 0 -1.2 .243 59 19

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Juan Soto Carl Yastrzemski Albert Pujols Mel Ott
Francisco Lindor Marcus Semien Hanley Ramirez Charlie Gehringer
Brandon Nimmo Melvin Mora Dexter Fowler Roy White
Pete Alonso Glenn Davis Roy Sievers Tino Martinez
Mark Vientos Kevin Mitchell Larry Parrish Vern Stephens
Francisco Alvarez Todd Zeile Earl Williams Gary Carter
Jeff McNeil Felix Millan Jim Gantner Johnny Ray
Jose Siri Bill Schlesinger Bobby Mitchell Billy Cowan
Brett Baty Luis Valbuena Colin Moran Roy Howell
Harrison Bader Gary Varsho Jim Busby Ethan Allen
Jared Young Johnny Werhas Joe Dillon Bobby Prescott
Ronny Mauricio Carlos Garcia Jordany Valdespin Shawon Dunston
Luisangel Acuña Gustavo Nunez Cleo James Abraham O. Nunez
Donovan Walton Jarrett Hoffpauir Casey Wise Donnie Hill
Wyatt Young J.T. Stotts Ted Kubiak Don Wallace
Tyrone Taylor George Schmees Jim Eisenreich Dewayne Wise
Jakson Reetz Vic Correll Larry Howard Michael McKenry
Jesse Winker Steve Braun Norm Siebern Cal Emery
J.D. Martinez Tony Perez Derrek Lee Joe Brovia
Luis De Los Santos Chris Hayes Ruben Gotay Jim Baumer
Starling Marte Skeeter Barnes Jim Piersall Carl Crawford
Jose Iglesias Emil Verban Alcides Escobar Freddy Sanchez
Rafael Ortega Len Johnston Nick Capra Sam Fuld
Eddy Alvarez Carlos Gómez Andres Torres Shawn Gilbert
José Azocar Pookie Bernstine Justin Christian Amaury Garcia
Jose Peroza Jeff Baker Ramon Santana Bryan Pounds
Chris Williams Jerry Goff Gary Rushing Jim Hutto
Joey Meneses Eric Hosmer Ronnie Belliard Andres Rodriguez
Luis Torrens Tom Pagnozzi Scott Makarewicz Terry McGriff
Luke Ritter Reggie Whittemore Gary Martz Mike Fuentes
Jesus Baez Arquimedes Gamboa Manny Olloque Kevin Stocker
Drew Gilbert Jordan Czarniecki Joe Solimine Paul Thoutsis
Nick Morabito Alejandro De Aza Mike Westbrook Buck McNabb
Jett Williams Zeke DeVoss Garrett Hampson Jay Woolf
Taylor Kohlwey Mitch Maier Marv Thompson Jerry Scala
Yolmer Sánchez Ron Roenicke Jim Gosger Brian Guinn
Ji Man Choi Tony Solaita Brian Daubach Steve Bilko
JT Schwartz Derek Nicholson Tim Hyers Bobby Darula
Christopher Suero John Wathan Jayson Werth Kurt Kingsolver
Edward Olivares Jordany Valdespin Juan Beniquez Heinie Mueller
Matt Rudick John Yeglinski Andrew Lefave John Gibbons
Austin Allen Jeff Newman Nelson Santovenia Edward Irons
Kevin Parada Alfredo Torres Craig Faulkner Chris Howard
Hayden Senger Tony Caldwell Dan Rohlfing John Nester
Brandon McIlwain Pat Dietrick Brad McElroy Mike O’Neill
Ryan Clifford Matt Olson Jon Singleton Dernell Stenson
Nick Lorusso Ty Martin Bobby Holley Billy Best
Mike Brosseau Mario Lisson Paul Torres George Vico
DJ Stewart Ray Giannelli Scott Ullger Pat Dodson
Karell Paz Cristian Paulino Sandy Santos Carlos Duran
Boston Baro Edwards Guzman Isaias Velasquez Randy Rogers
Nolan McLean Genaro Campusano Jared Walker Seth Loman
D’Andre Smith Kevin Ramos Welfrin Mateo Jhombeyker Morales
Jacob Reimer Will Craig Kevin Baez Mark Chetock
Jackie Bradley Jr. Steve Lyons Jacob Brumfield Thurman Tucker
Joe Suozzi Mark Doran Don Sheppard Matt Sauls
Matt O’Neill Robert Palmer Dave Huppert Buddy Pryor
Ronald Hernandez Mitch Meluskey Pat Corrales Donnie Scott
Eddie Rosario Eric Byrnes Nate Schierholtz Carl Reynolds
Rowdey Jordan Rick Richardi Drew Jackson Joe Camacho
Kellum Clark Joe Cronin Charles Lelas Nick Yarnall
William Lugo Jason Maxwell John Weghorn Tommy Dean
Christian Pregent Sean Gousha Patrick Johnson Jose Umbria
Jose Hernandez Jordan Newton David Partrick Todd Winston
Estarling Mercado Jarrod Patterson Art Charles Joseph Shields

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
Juan Soto .303 .461 .582 189 7.9 .255 .397 .468 148 4.7
Francisco Lindor .281 .361 .520 142 7.2 .234 .311 .416 103 4.2
Brandon Nimmo .275 .373 .468 135 4.9 .226 .321 .371 96 2.0
Pete Alonso .266 .364 .529 146 4.6 .218 .315 .423 107 1.6
Mark Vientos .276 .338 .520 136 4.2 .221 .281 .401 93 1.3
Francisco Alvarez .259 .338 .489 131 3.5 .208 .285 .381 89 1.3
Jeff McNeil .287 .350 .418 115 2.9 .235 .300 .339 81 0.9
Jose Siri .242 .300 .463 111 3.1 .189 .244 .350 67 0.8
Brett Baty .263 .340 .449 122 3.0 .213 .293 .353 83 0.8
Harrison Bader .268 .319 .423 106 2.6 .211 .262 .321 64 0.6
Jared Young .255 .349 .460 126 2.5 .207 .298 .355 87 0.4
Ronny Mauricio .257 .297 .437 104 2.7 .209 .248 .340 67 0.0
Luisangel Acuña .270 .315 .381 95 2.5 .222 .265 .308 63 0.0
Donovan Walton .277 .338 .399 108 2.1 .214 .281 .310 68 0.3
Wyatt Young .261 .335 .337 91 2.1 .204 .280 .269 59 0.1
Tyrone Taylor .257 .316 .448 112 2.0 .200 .257 .338 67 0.0
Jakson Reetz .233 .321 .416 106 1.7 .180 .269 .306 65 0.2
Jesse Winker .265 .379 .429 127 2.0 .213 .324 .329 88 -0.2
J.D. Martinez .262 .341 .473 125 2.0 .214 .292 .372 87 -0.1
Luis De Los Santos .244 .308 .403 100 1.7 .192 .254 .307 59 0.0
Starling Marte .292 .355 .429 120 1.8 .236 .301 .345 84 0.0
Jose Iglesias .287 .324 .391 102 1.6 .233 .271 .316 67 -0.2
Rafael Ortega .252 .343 .390 103 1.6 .193 .282 .288 64 -0.1
Eddy Alvarez .253 .338 .414 112 1.6 .197 .286 .316 74 -0.1
José Azocar .271 .307 .393 95 1.5 .218 .256 .306 60 -0.1
Jose Peroza .235 .307 .381 91 1.6 .188 .259 .297 59 -0.1
Chris Williams .221 .315 .405 101 1.6 .166 .254 .296 58 -0.3
Joey Meneses .275 .326 .430 111 1.7 .220 .275 .341 74 -0.8
Luis Torrens .256 .315 .425 108 1.3 .205 .262 .323 70 0.0
Luke Ritter .222 .315 .401 101 1.8 .167 .263 .296 60 -0.7
Jesus Baez .242 .291 .394 93 1.4 .182 .236 .287 48 -0.4
Drew Gilbert .240 .319 .397 100 1.3 .188 .268 .304 63 -0.4
Nick Morabito .250 .322 .329 85 1.2 .205 .277 .265 57 -0.6
Jett Williams .226 .336 .365 98 1.2 .175 .287 .270 61 -0.6
Taylor Kohlwey .256 .333 .365 98 1.2 .207 .287 .293 65 -0.7
Yolmer Sánchez .217 .324 .342 88 1.2 .164 .268 .253 51 -0.6
Ji Man Choi .226 .344 .416 112 0.8 .176 .283 .308 69 -0.6
JT Schwartz .259 .333 .379 101 1.1 .205 .281 .299 65 -0.8
Christopher Suero .227 .319 .356 91 1.3 .164 .257 .255 51 -1.0
Edward Olivares .271 .335 .431 114 0.9 .217 .283 .328 74 -0.8
Matt Rudick .232 .330 .351 94 0.9 .181 .278 .269 57 -1.0
Austin Allen .239 .288 .415 91 0.6 .185 .232 .300 50 -0.7
Kevin Parada .230 .299 .384 90 0.9 .178 .247 .297 55 -1.1
Hayden Senger .231 .307 .345 82 0.7 .171 .244 .251 42 -0.7
Brandon McIlwain .238 .316 .365 90 0.7 .189 .263 .288 57 -0.9
Ryan Clifford .225 .333 .398 104 1.0 .172 .281 .307 67 -1.6
Nick Lorusso .234 .317 .389 98 0.6 .184 .270 .297 62 -1.0
Mike Brosseau .242 .322 .386 98 0.6 .189 .271 .284 58 -1.1
DJ Stewart .225 .329 .395 104 0.6 .174 .273 .293 61 -1.1
Karell Paz .229 .296 .366 85 0.1 .176 .246 .277 49 -0.7
Boston Baro .238 .300 .332 78 0.4 .191 .251 .258 46 -1.3
Nolan McLean .198 .268 .442 98 0.2 .120 .193 .265 32 -1.0
D’Andre Smith .235 .282 .347 76 0.0 .188 .232 .262 41 -0.9
Jacob Reimer .229 .327 .307 80 0.1 .178 .275 .238 49 -1.1
Jackie Bradley Jr. .199 .257 .313 60 0.1 .146 .207 .227 23 -1.0
Joe Suozzi .228 .309 .327 80 0.1 .170 .258 .242 43 -1.3
Matt O’Neill .184 .275 .289 60 -0.1 .126 .214 .203 20 -1.1
Ronald Hernandez .231 .311 .331 82 0.5 .171 .249 .243 42 -1.7
Eddie Rosario .246 .293 .428 102 0.5 .189 .236 .318 57 -1.7
Rowdey Jordan .220 .296 .342 81 0.4 .175 .248 .260 47 -1.6
Kellum Clark .203 .311 .285 70 -0.3 .150 .252 .209 33 -1.4
William Lugo .210 .295 .352 82 0.2 .161 .243 .267 45 -1.7
Christian Pregent .188 .272 .254 49 -0.7 .132 .211 .181 15 -1.5
Jose Hernandez .171 .264 .274 53 -0.7 .113 .206 .183 12 -1.5
Estarling Mercado .175 .268 .354 72 -0.4 .127 .218 .257 36 -1.8

Batters – Platoon Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Juan Soto .262 .396 .476 .283 .439 .542
Francisco Lindor .270 .340 .483 .256 .336 .453
Brandon Nimmo .247 .333 .380 .253 .354 .435
Pete Alonso .241 .342 .475 .245 .336 .468
Mark Vientos .262 .324 .482 .243 .306 .445
Francisco Alvarez .236 .325 .439 .229 .302 .429
Jeff McNeil .252 .317 .351 .265 .326 .391
Jose Siri .222 .283 .429 .211 .269 .391
Brett Baty .234 .303 .376 .242 .321 .405
Harrison Bader .243 .293 .374 .234 .284 .367
Jared Young .224 .310 .376 .239 .331 .420
Ronny Mauricio .231 .265 .385 .235 .279 .384
Luisangel Acuña .246 .298 .344 .243 .285 .338
Donovan Walton .240 .304 .365 .247 .310 .352
Wyatt Young .216 .293 .288 .239 .316 .309
Tyrone Taylor .236 .293 .425 .229 .285 .381
Jakson Reetz .214 .307 .402 .200 .289 .345
Jesse Winker .215 .330 .323 .247 .360 .400
J.D. Martinez .250 .336 .446 .233 .306 .405
Luis De Los Santos .226 .292 .371 .207 .275 .330
Starling Marte .258 .327 .371 .267 .327 .386
Jose Iglesias .269 .310 .380 .257 .295 .349
Rafael Ortega .211 .288 .282 .226 .320 .357
Eddy Alvarez .215 .302 .344 .229 .321 .376
José Azocar .243 .283 .346 .244 .284 .346
Jose Peroza .227 .304 .348 .204 .275 .323
Chris Williams .195 .294 .364 .189 .278 .343
Joey Meneses .254 .309 .407 .247 .299 .383
Luis Torrens .239 .297 .424 .226 .282 .346
Luke Ritter .200 .297 .360 .195 .288 .338
Jesus Baez .218 .277 .368 .204 .256 .327
Drew Gilbert .204 .282 .301 .218 .297 .363
Nick Morabito .225 .306 .295 .230 .301 .296
Jett Williams .198 .311 .327 .200 .310 .306
Taylor Kohlwey .222 .302 .320 .235 .314 .332
Yolmer Sánchez .190 .289 .286 .191 .296 .297
Ji Man Choi .185 .286 .278 .209 .321 .385
JT Schwartz .217 .289 .304 .240 .315 .351
Christopher Suero .195 .299 .297 .194 .286 .297
Edward Olivares .248 .321 .393 .238 .297 .376
Matt Rudick .207 .296 .279 .209 .308 .322
Austin Allen .211 .259 .329 .211 .261 .368
Kevin Parada .208 .278 .367 .199 .271 .330
Hayden Senger .205 .283 .289 .199 .266 .298
Brandon McIlwain .216 .292 .328 .214 .288 .316
Ryan Clifford .186 .287 .305 .204 .311 .372
Nick Lorusso .208 .300 .365 .208 .286 .335
Mike Brosseau .221 .304 .344 .212 .290 .324
DJ Stewart .189 .286 .297 .205 .306 .359
Karell Paz .196 .275 .326 .203 .269 .314
Boston Baro .206 .265 .290 .219 .279 .299
Nolan McLean .163 .234 .419 .159 .229 .330
D’Andre Smith .220 .270 .322 .206 .250 .290
Jacob Reimer .205 .302 .277 .199 .297 .262
Jackie Bradley Jr. .175 .235 .270 .173 .229 .265
Joe Suozzi .208 .290 .323 .195 .277 .264
Matt O’Neill .156 .260 .234 .152 .241 .240
Ronald Hernandez .196 .266 .259 .202 .285 .294
Eddie Rosario .211 .248 .337 .221 .272 .386
Rowdey Jordan .203 .280 .313 .194 .267 .292
Kellum Clark .172 .284 .190 .179 .283 .263
William Lugo .190 .272 .306 .183 .265 .302
Christian Pregent .167 .246 .241 .157 .240 .204
Jose Hernandez .149 .245 .255 .136 .224 .214
Estarling Mercado .149 .241 .284 .151 .244 .302

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Clay Holmes R 32 10 7 3.66 23 16 110.7 114 45 8 34 96
Kodai Senga R 32 9 7 3.51 24 24 138.3 111 54 15 62 149
David Peterson L 29 7 7 4.09 27 24 127.7 121 58 13 52 120
Sean Manaea L 33 8 7 4.31 28 25 144.0 131 69 21 47 145
José Quintana L 36 8 8 4.27 27 26 137.0 136 65 16 57 109
Edwin Díaz R 31 6 3 2.95 56 0 55.0 37 18 5 19 81
Brandon Sproat R 24 5 6 4.27 24 23 103.3 98 49 13 40 90
Tylor Megill R 29 6 6 4.37 24 23 115.3 108 56 15 46 116
Christian Scott R 26 3 4 4.19 17 17 81.7 76 38 11 23 76
Jonah Tong R 22 5 5 4.44 25 23 101.3 96 50 13 48 98
Joander Suarez R 25 7 7 4.47 22 20 104.7 105 52 14 37 87
Frankie Montas R 32 7 9 4.65 26 26 131.7 126 68 19 54 125
José Buttó R 27 4 2 3.50 61 0 69.3 54 27 7 30 77
Blade Tidwell R 24 7 8 4.72 25 21 108.7 104 57 14 55 97
Paul Blackburn R 31 5 5 4.65 19 18 91.0 94 47 12 32 71
Max Kranick R 27 3 2 4.37 36 10 68.0 67 33 8 23 56
Dedniel Núñez R 29 3 2 3.51 38 0 48.7 41 19 5 18 56
Dominic Hamel R 26 6 7 4.79 24 23 112.7 110 60 15 53 95
Nolan McLean R 23 6 8 4.84 25 25 100.3 98 54 12 41 81
Reed Garrett R 32 6 5 3.71 47 0 51.0 43 21 5 25 62
Justin Hagenman R 28 4 5 4.56 30 10 81.0 79 41 12 26 69
Kevin Herget R 34 3 4 4.27 34 4 59.0 58 28 8 18 50
Joey Lucchesi L 32 5 7 4.88 23 17 99.7 104 54 14 45 70
Luis Ortiz R 29 2 2 4.13 32 2 48.0 47 22 5 14 39
Griffin Canning R 29 7 9 5.01 26 25 140.0 137 78 24 53 123
Jonathan Pintaro R 27 4 5 4.85 16 14 65.0 65 35 8 26 51
Ryne Stanek R 33 4 3 3.91 56 0 50.7 42 22 6 25 57
Sean Reid-Foley R 29 2 2 3.89 37 0 34.7 28 15 3 20 41
Oliver Ortega R 28 2 3 3.89 31 0 41.7 37 18 4 15 41
Adam Ottavino R 39 3 2 3.96 54 0 50.0 42 22 5 22 54
Brooks Raley L 37 1 2 3.93 44 0 36.7 32 16 4 16 38
Luis Moreno R 26 5 6 5.03 24 18 96.7 100 54 13 48 72
TJ Shook R 27 6 8 4.86 25 12 79.7 76 43 11 33 70
Huascar Brazobán R 35 3 2 4.17 41 0 54.0 46 25 5 27 56
Dakota Hawkins R 25 4 5 4.86 27 10 79.7 85 43 11 30 54
Jordan Geber R 25 5 6 5.01 22 11 73.7 80 41 11 23 46
Phil Maton R 32 3 2 4.24 62 0 57.3 50 27 7 22 58
Dylan Covey R 33 1 2 4.20 23 0 30.0 31 14 3 12 22
Alex Young L 31 2 2 4.15 49 0 47.7 46 22 6 18 44
Danny Young L 31 3 2 4.33 46 0 43.7 36 21 4 22 50
Troy Miller R 28 1 1 4.99 10 8 30.7 33 17 5 15 23
Drew Smith R 31 3 3 4.35 42 0 41.3 37 20 7 18 43
Cameron Foster R 26 3 4 5.10 24 11 67.0 71 38 10 30 50
Anthony Gose L 34 4 3 4.28 37 0 40.0 35 19 6 20 47
Shintaro Fujinami R 31 4 4 4.76 32 5 58.7 51 31 6 38 62
David Griffin R 28 3 5 5.18 18 12 64.3 69 37 10 28 43
Génesis Cabrera L 28 3 3 4.48 63 0 60.3 55 30 8 28 55
Trey McLoughlin R 26 1 2 4.61 33 0 41.0 40 21 6 16 38
Sean Harney R 26 1 2 5.13 27 7 47.3 48 27 7 18 34
Junior Santos R 23 3 4 5.02 29 6 66.3 69 37 8 29 43
Grant Hartwig R 27 3 4 4.56 42 1 51.3 47 26 5 24 45
Chris Devenski R 34 2 2 4.84 37 2 44.7 44 24 8 16 43
Yacksel Ríos R 32 2 2 4.65 28 0 31.0 28 16 4 18 29
Rico Garcia R 31 3 4 4.56 44 0 49.3 45 25 7 24 53
Jeffrey Colon R 25 1 2 5.09 22 4 53.0 57 30 7 22 34
Hunter Parsons R 28 2 4 4.99 26 1 39.7 36 22 5 22 38
Jake Diekman L 38 2 2 4.74 47 0 38.0 31 20 5 26 45
Ty Adcock R 28 2 3 4.86 29 0 33.3 34 18 6 11 29
Daniel Juarez L 24 2 3 4.87 34 1 40.7 39 22 5 21 35
Carlos Guzman R 27 3 5 5.20 30 6 64.0 65 37 9 32 50
Tyler Zuber R 30 2 3 4.99 38 0 39.7 37 22 6 21 39
Cam Robinson R 25 2 2 4.80 36 0 45.0 43 24 5 27 39
Josh Hejka R 28 2 2 4.76 32 0 51.0 53 27 6 17 35
Donovan Walton R 31 1 1 8.31 9 0 8.7 12 8 2 5 1
Joshua Cornielly R 24 3 4 4.93 33 0 49.3 47 27 7 21 43
Andre Scrubb R 30 1 1 5.79 20 0 23.3 23 15 4 17 20
Wilkin Ramos R 24 3 5 5.10 37 0 47.7 47 27 6 28 39
Michael Hobbs R 25 1 3 5.52 39 0 45.7 45 28 7 28 38

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ 3ERA+ FIP ERA- WAR
Clay Holmes 110.7 7.8 2.8 0.7 7.1% 20.0% .317 111 106 3.44 90 2.7
Kodai Senga 138.3 9.7 4.0 1.0 10.5% 25.2% .272 115 112 3.86 87 2.6
David Peterson 127.7 8.5 3.7 0.9 9.4% 21.7% .298 99 98 4.01 101 1.5
Sean Manaea 144.0 9.1 2.9 1.3 7.8% 24.0% .284 94 90 4.19 106 1.3
José Quintana 137.0 7.2 3.7 1.1 9.5% 18.2% .291 95 88 4.46 105 1.3
Edwin Díaz 55.0 13.3 3.1 0.8 8.6% 36.7% .283 138 131 2.67 73 1.3
Brandon Sproat 103.3 7.8 3.5 1.1 9.0% 20.2% .285 95 99 4.32 105 1.0
Tylor Megill 115.3 9.1 3.6 1.2 9.3% 23.4% .295 93 92 4.18 108 1.0
Christian Scott 81.7 8.4 2.5 1.2 6.8% 22.5% .285 97 99 4.06 103 0.9
Jonah Tong 101.3 8.7 4.3 1.2 10.7% 21.9% .294 91 96 4.36 110 0.8
Joander Suarez 104.7 7.5 3.2 1.2 8.1% 19.1% .294 91 94 4.46 110 0.8
Frankie Montas 131.7 8.5 3.7 1.3 9.5% 21.9% .291 87 84 4.50 115 0.8
José Buttó 69.3 10.0 3.9 0.9 10.3% 26.6% .270 116 116 3.74 86 0.7
Blade Tidwell 108.7 8.0 4.6 1.2 11.4% 20.1% .289 86 91 4.75 116 0.5
Paul Blackburn 91.0 7.0 3.2 1.2 8.1% 18.1% .296 87 85 4.49 115 0.5
Max Kranick 68.0 7.4 3.0 1.1 7.9% 19.2% .292 93 96 4.21 108 0.5
Dedniel Núñez 48.7 10.4 3.3 0.9 8.8% 27.3% .293 115 113 3.32 87 0.5
Dominic Hamel 112.7 7.6 4.2 1.2 10.6% 19.0% .288 85 87 4.77 118 0.5
Nolan McLean 100.3 7.3 3.7 1.1 9.4% 18.6% .288 84 88 4.73 120 0.4
Reed Garrett 51.0 10.9 4.4 0.9 11.3% 28.1% .302 109 104 3.55 91 0.4
Justin Hagenman 81.0 7.7 2.9 1.3 7.6% 20.1% .285 89 90 4.51 112 0.4
Kevin Herget 59.0 7.6 2.7 1.2 7.2% 20.0% .289 95 90 4.26 105 0.3
Joey Lucchesi 99.7 6.3 4.1 1.3 10.1% 15.8% .289 83 81 5.01 120 0.3
Luis Ortiz 48.0 7.3 2.6 0.9 6.9% 19.3% .294 98 99 3.97 102 0.3
Griffin Canning 140.0 7.9 3.4 1.5 8.7% 20.3% .283 81 82 4.89 124 0.3
Jonathan Pintaro 65.0 7.1 3.6 1.1 9.2% 18.0% .291 84 86 4.73 120 0.3
Ryne Stanek 50.7 10.1 4.4 1.1 11.4% 26.0% .281 104 97 4.07 96 0.2
Sean Reid-Foley 34.7 10.6 5.2 0.8 13.2% 27.2% .291 104 105 3.67 96 0.2
Oliver Ortega 41.7 8.9 3.2 0.9 8.5% 23.2% .289 104 105 3.68 96 0.2
Adam Ottavino 50.0 9.7 4.0 0.9 10.2% 25.1% .285 102 96 4.00 98 0.2
Brooks Raley 36.7 9.3 3.9 1.0 10.2% 24.2% .286 103 92 4.08 97 0.2
Luis Moreno 96.7 6.7 4.5 1.2 11.0% 16.4% .292 81 84 5.11 124 0.2
TJ Shook 79.7 7.9 3.7 1.2 9.5% 20.2% .285 83 85 4.76 120 0.1
Huascar Brazobán 54.0 9.3 4.5 0.8 11.4% 23.7% .287 97 90 3.97 103 0.1
Dakota Hawkins 79.7 6.1 3.4 1.2 8.5% 15.3% .292 83 87 4.82 120 0.1
Jordan Geber 73.7 5.6 2.8 1.3 7.1% 14.3% .290 81 85 4.97 124 0.1
Phil Maton 57.3 9.1 3.5 1.1 9.1% 24.1% .281 96 92 4.26 105 0.1
Dylan Covey 30.0 6.6 3.6 0.9 9.2% 16.8% .298 97 91 4.31 104 0.0
Alex Young 47.7 8.3 3.4 1.1 8.7% 21.4% .294 98 95 4.23 102 0.0
Danny Young 43.7 10.3 4.5 0.8 11.6% 26.3% .291 94 91 4.14 107 0.0
Troy Miller 30.7 6.8 4.4 1.5 10.7% 16.4% .295 81 81 5.27 123 0.0
Drew Smith 41.3 9.4 3.9 1.5 10.1% 24.2% .278 93 91 4.75 107 0.0
Cameron Foster 67.0 6.7 4.0 1.3 10.0% 16.7% .295 79 84 5.06 126 0.0
Anthony Gose 40.0 10.6 4.5 1.4 11.3% 26.6% .290 95 87 4.35 105 0.0
Shintaro Fujinami 58.7 9.5 5.8 0.9 14.2% 23.1% .290 85 82 4.54 117 0.0
David Griffin 64.3 6.0 3.9 1.4 9.8% 15.0% .289 78 79 5.35 128 -0.1
Génesis Cabrera 60.3 8.2 4.2 1.2 10.6% 20.9% .278 91 92 4.62 110 -0.1
Trey McLoughlin 41.0 8.3 3.5 1.3 8.9% 21.2% .293 88 93 4.40 114 -0.1
Sean Harney 47.3 6.5 3.4 1.3 8.7% 16.5% .283 79 83 5.12 127 -0.1
Junior Santos 66.3 5.8 3.9 1.1 9.8% 14.6% .288 81 86 4.99 124 -0.1
Grant Hartwig 51.3 7.9 4.2 0.9 10.8% 20.2% .286 89 89 4.44 112 -0.1
Chris Devenski 44.7 8.7 3.2 1.6 8.3% 22.3% .290 84 78 4.72 119 -0.2
Yacksel Ríos 31.0 8.4 5.2 1.2 12.6% 20.3% .279 87 81 4.92 115 -0.2
Rico Garcia 49.3 9.7 4.4 1.3 11.1% 24.4% .292 89 85 4.39 113 -0.2
Jeffrey Colon 53.0 5.8 3.7 1.2 9.3% 14.3% .292 80 83 5.14 126 -0.2
Hunter Parsons 39.7 8.6 5.0 1.1 12.4% 21.3% .284 81 84 4.87 123 -0.2
Jake Diekman 38.0 10.7 6.2 1.2 15.0% 26.0% .280 86 77 4.81 117 -0.2
Ty Adcock 33.3 7.8 3.0 1.6 7.7% 20.3% .289 83 85 4.86 120 -0.2
Daniel Juarez 40.7 7.7 4.6 1.1 11.6% 19.3% .288 83 88 4.83 120 -0.2
Carlos Guzman 64.0 7.0 4.5 1.3 11.1% 17.3% .290 78 80 5.18 128 -0.3
Tyler Zuber 39.7 8.8 4.8 1.4 12.0% 22.3% .287 81 80 4.84 123 -0.3
Cam Robinson 45.0 7.8 5.4 1.0 13.0% 18.8% .290 84 87 4.89 118 -0.3
Josh Hejka 51.0 6.2 3.0 1.1 7.7% 15.8% .292 85 86 4.75 118 -0.3
Donovan Walton 8.7 1.0 5.2 2.1 11.6% 2.3% .294 49 49 7.68 205 -0.4
Joshua Cornielly 49.3 7.8 3.8 1.3 9.7% 19.8% .284 82 86 4.92 122 -0.4
Andre Scrubb 23.3 7.7 6.6 1.5 15.5% 18.2% .284 70 70 6.01 143 -0.4
Wilkin Ramos 47.7 7.4 5.3 1.1 13.0% 18.1% .291 80 84 5.26 126 -0.4
Michael Hobbs 45.7 7.5 5.5 1.4 13.2% 17.9% .284 73 78 5.61 136 -0.6

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Clay Holmes Zach Wheeler Billy O’Dell Brad Penny
Kodai Senga Bullet Joe Bush David Cone Rick Sutcliffe
David Peterson Andy Pettitte Shane Rawley Paul Gibson
Sean Manaea Scott Kazmir J.A. Happ CC Sabathia
José Quintana Kenny Rogers Tom Glavine Jimmy Key
Edwin Díaz Jeff Reardon Darren Holmes Tom Henke
Brandon Sproat Nathan Eovaldi Fernando Romero Bryse Wilson
Tylor Megill Russ Butler Larry Carter Alex Ronay
Christian Scott Pablo Lopez Gary Wheelock Craig Swan
Jonah Tong Curt Lyons Grant Roberts Jordan Walden
Joander Suarez Scott Rivette Jeremy Hefner Glenn Isringhaus
Frankie Montas Edinson Volquez Bobby Witt Kyle Gibson
José Buttó Billy Koch Ramon Ramirez Hector Carrasco
Blade Tidwell Garrett Richards Travis Chick Kyle Drabek
Paul Blackburn Jerry Lane Matt Rusch Dwayne Pollok
Max Kranick Blake Hawksworth Anthony Bass Frank Herrmann
Dedniel Núñez Santos Hernandez Jonathan Albaladejo Brad Clontz
Dominic Hamel Chuck Locke Taylor Cole Chris Ellis
Nolan McLean Sal Romano Clay Carroll Adam Bass
Reed Garrett Oliver Drake Doug Bair Matt Miller
Justin Hagenman Albert Suarez Bart Johnson Carlos Reyes
Kevin Herget John DeSilva Juan Eichelberger Galen Cisco
Joey Lucchesi Randy Keisler Aaron Laffey Chris Michalak
Luis Ortiz Chris Reitsma Brian Schlitter Derek Law
Griffin Canning Ervin Santana Luke Hochevar Pete Hernandez
Jonathan Pintaro Erick Fedde Carlos Frias Phil Irwin
Ryne Stanek Jose Veras Curt Leskanic Fernando Rodney
Sean Reid-Foley Jim Duffalo Victor Cruz Tim Stoddard
Oliver Ortega Edubray Ramos Bret Prinz Josh Martin
Adam Ottavino Salomon Torres Dick Tidrow Al Worthington
Brooks Raley Brian Fuentes Kent Mercker Rheal Cormier
Luis Moreno Mike Buddie Tim Crabbe Jarett Miller
TJ Shook Kent Greenfield Mike Brunet Kevin Beirne
Huascar Brazobán Diego Segui Brad Brach Jose Alvarez
Dakota Hawkins Jack Fisher Eddie Bonine Dustin Renfrow
Jordan Geber Raymar Diaz Kevin Mlodik Scott Barber
Phil Maton Chad Durbin Pat Neshek Noe Ramirez
Dylan Covey Johnny Murphy Danny Kolb Cecil Upshaw
Alex Young Craig Skok John O’Donoghue Bryan Eversgerd
Danny Young Mike Matthews Hector Mercado Charlie Manning
Troy Miller Santo Alcala Aaron France Kyle Evans
Drew Smith John Costello Lou North Bill Risley
Cameron Foster Alex Santos Dave Gil Tip Fairchild
Anthony Gose Mike Dunn Jeff Tabaka Ray Searage
Shintaro Fujinami Andy Shibilo Mike Barlow John Pacella
David Griffin Jerry Magness Travis Kane Jose Cano
Génesis Cabrera Dave Geisel Mike Mohler Josh Osich
Trey McLoughlin Paul Thorp Scott McCrary Neil Jamison
Sean Harney Ken Kendrena Matty Ott Brian Parker
Junior Santos Hank Williams Marcelino Dominguez George Rewerts
Grant Hartwig Eric Mustad Blaine Boyer Michael Blazek
Chris Devenski Xavier Rescigno George Caster Stan Bahnsen
Yacksel Ríos Dave Sisler Felix Rodriguez Dalier Hinojosa
Rico Garcia Don Larsen Tony Menendez Matt Karchner
Jeffrey Colon Kody Kerski Pat Currin Jake Dunning
Hunter Parsons Bill Moran Barry Manuel Francisco Rodriguez
Jake Diekman John Hiller Jesse Orosco Tippy Martinez
Ty Adcock Derek Fahs Amad Stephens Tanner Scheppers
Daniel Juarez Julio Alonso Rick Williams Greg Simpson
Carlos Guzman Paul Clemens Brandon Mathes Matt Peterson
Tyler Zuber Charlie Sullivan Hank Behrman Chad Harville
Cam Robinson Jim Newlin Jim Vosk Brendan Sullivan
Josh Hejka David Peterson Eric Yardley Clayton Hamilton
Donovan Walton Charlie Fuchs Dick Balderson Bobby Hogue
Joshua Cornielly Neil Jamison Ralph Roberts Julio Strauss
Andre Scrubb Bobby Reis Jack Berly Jim Ray
Wilkin Ramos Greg Infante Tommy Taylor Alec Zumwalt
Michael Hobbs Kris Keller Mike Hermanson Carlos Bohorquez

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
Clay Holmes .288 .354 .419 .239 .291 .344 3.6 1.5 3.21 4.31
Kodai Senga .215 .312 .340 .215 .291 .363 3.5 1.7 2.98 4.04
David Peterson .231 .294 .331 .249 .333 .397 2.5 0.5 3.50 4.75
Sean Manaea .211 .271 .336 .245 .312 .431 2.4 0.1 3.72 5.11
José Quintana .240 .303 .380 .257 .336 .414 2.2 0.5 3.63 4.93
Edwin Díaz .167 .272 .289 .202 .267 .321 2.1 0.2 1.97 4.76
Brandon Sproat .258 .333 .434 .232 .298 .369 1.8 0.3 3.72 4.81
Tylor Megill .252 .340 .419 .232 .296 .384 1.7 0.1 3.85 5.12
Christian Scott .237 .290 .410 .245 .309 .403 1.5 0.3 3.55 4.82
Jonah Tong .231 .316 .397 .258 .336 .412 1.5 0.1 3.95 5.02
Joander Suarez .274 .346 .462 .236 .297 .372 1.5 0.1 4.00 5.05
Frankie Montas .259 .347 .466 .234 .296 .375 1.6 -0.3 4.13 5.40
José Buttó .211 .316 .351 .208 .286 .333 1.5 -0.1 2.83 4.39
Blade Tidwell .256 .359 .409 .237 .321 .402 1.1 -0.1 4.31 5.18
Paul Blackburn .256 .325 .411 .267 .323 .439 1.1 -0.1 4.08 5.30
Max Kranick .260 .331 .402 .245 .303 .403 1.0 -0.1 3.80 5.07
Dedniel Núñez .250 .323 .369 .200 .264 .350 1.0 -0.2 2.67 4.84
Dominic Hamel .252 .342 .405 .248 .330 .422 1.2 -0.3 4.30 5.34
Nolan McLean .254 .349 .403 .246 .327 .403 1.0 -0.3 4.39 5.43
Reed Garrett .216 .317 .386 .229 .311 .333 1.1 -0.3 2.79 4.87
Justin Hagenman .250 .325 .450 .250 .304 .409 1.0 -0.4 3.97 5.43
Kevin Herget .248 .306 .386 .254 .310 .438 0.8 -0.2 3.56 5.13
Joey Lucchesi .238 .322 .337 .272 .345 .466 0.9 -0.4 4.36 5.53
Luis Ortiz .261 .330 .443 .242 .296 .343 0.7 -0.1 3.41 4.97
Griffin Canning .245 .327 .442 .255 .314 .447 1.2 -0.7 4.45 5.64
Jonathan Pintaro .266 .354 .406 .244 .322 .409 0.7 -0.2 4.33 5.47
Ryne Stanek .217 .316 .386 .222 .315 .352 0.8 -0.5 2.99 5.19
Sean Reid-Foley .206 .324 .333 .224 .312 .358 0.6 -0.2 3.04 4.80
Oliver Ortega .216 .293 .324 .247 .316 .400 0.6 -0.2 3.22 4.79
Adam Ottavino .260 .372 .425 .198 .288 .310 0.8 -0.5 3.04 5.34
Brooks Raley .196 .275 .304 .245 .339 .404 0.6 -0.5 2.99 5.71
Luis Moreno .266 .361 .435 .257 .340 .422 0.7 -0.5 4.60 5.60
TJ Shook .247 .331 .416 .245 .333 .419 0.7 -0.5 4.28 5.49
Huascar Brazobán .215 .324 .355 .234 .323 .351 0.8 -0.5 3.21 5.43
Dakota Hawkins .259 .326 .418 .275 .337 .463 0.7 -0.4 4.33 5.43
Jordan Geber .273 .344 .476 .270 .317 .434 0.5 -0.4 4.53 5.59
Phil Maton .228 .313 .366 .231 .321 .393 0.7 -0.6 3.45 5.33
Dylan Covey .263 .344 .421 .258 .319 .387 0.3 -0.2 3.53 5.03
Alex Young .238 .314 .365 .252 .321 .423 0.5 -0.4 3.38 5.01
Danny Young .183 .310 .267 .240 .355 .394 0.5 -0.6 3.43 5.67
Troy Miller .267 .353 .467 .270 .338 .460 0.2 -0.2 4.58 5.57
Drew Smith .232 .329 .406 .236 .310 .438 0.5 -0.5 3.52 5.41
Cameron Foster .255 .340 .438 .277 .345 .462 0.4 -0.4 4.58 5.67
Anthony Gose .204 .278 .306 .240 .339 .452 0.4 -0.5 3.31 5.47
Shintaro Fujinami .229 .356 .367 .228 .341 .368 0.5 -0.7 3.97 5.68
David Griffin .269 .343 .454 .268 .350 .442 0.3 -0.5 4.68 5.76
Génesis Cabrera .231 .315 .346 .240 .330 .422 0.5 -0.6 3.77 5.21
Trey McLoughlin .240 .313 .427 .259 .319 .424 0.3 -0.4 3.88 5.32
Sean Harney .241 .330 .414 .273 .342 .455 0.3 -0.4 4.52 5.74
Junior Santos .271 .360 .449 .255 .331 .386 0.3 -0.6 4.48 5.61
Grant Hartwig .236 .349 .371 .241 .325 .380 0.3 -0.5 4.03 5.28
Chris Devenski .233 .298 .453 .270 .333 .449 0.2 -0.6 4.07 5.79
Yacksel Ríos .245 .365 .453 .227 .325 .364 0.1 -0.5 3.83 5.58
Rico Garcia .213 .320 .382 .257 .327 .426 0.3 -0.7 3.78 5.45
Jeffrey Colon .265 .350 .431 .273 .347 .436 0.1 -0.5 4.59 5.54
Hunter Parsons .254 .383 .403 .224 .316 .388 0.1 -0.6 4.35 5.99
Jake Diekman .226 .349 .321 .211 .345 .411 0.3 -0.9 3.56 6.68
Ty Adcock .266 .329 .484 .250 .307 .441 0.1 -0.5 4.10 5.73
Daniel Juarez .232 .328 .411 .255 .353 .402 0.1 -0.5 4.24 5.58
Carlos Guzman .265 .360 .470 .252 .342 .393 0.2 -0.8 4.65 5.94
Tyler Zuber .260 .365 .452 .225 .308 .400 0.1 -0.7 4.24 5.97
Cam Robinson .238 .358 .363 .253 .351 .421 0.0 -0.7 4.34 5.52
Josh Hejka .273 .363 .432 .254 .317 .404 0.0 -0.6 4.17 5.29
Donovan Walton .353 .450 .588 .300 .364 .550 -0.3 -0.4 7.11 8.74
Joshua Cornielly .260 .360 .458 .232 .315 .379 0.0 -0.8 4.36 5.57
Andre Scrubb .244 .367 .463 .260 .377 .420 -0.2 -0.7 5.08 6.85
Wilkin Ramos .263 .385 .475 .245 .347 .368 -0.1 -0.8 4.55 5.81
Michael Hobbs .235 .356 .435 .266 .369 .426 -0.3 -1.0 4.97 6.23

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.