Presenting Further Research on When Free Agents Ink Their Deals

Ron Chenoy-Imagn Images

Earlier this week, I published my findings about the relationship between when free agents sign and the size of their contracts. As a quick refresher, in recent years, the last 20% or so of free agents to sign have been settling for contracts meaningfully lower than pre-offseason expectations. But that finding raises more questions, some of which I hope to answer today.

First, there’s an obvious question: Did the free agents who got those late, discounted deals perform worse than expected during the following season? In other words, did their low-dollar-value deals foreshadow lower-than-projected production? To examine this, I took the upcoming season’s projections for the players ranked on my Top 50 Free Agents list in each of the past three years, 150 players in all, to come up with a projected WAR for each segment of players. I then compared it to how they actually did in the ensuing year. There is indeed a drop-off for those who signed late:

Free Agent Timing and Subsequent Performance
Signing Group Projected WAR Actual WAR WAR Gap
First 10 2.1 1.6 -0.4
Second 10 2.7 2.5 -0.2
Third 10 1.7 1.6 -0.1
Fourth 10 1.7 1.3 -0.3
Last 10 1.8 0.9 -0.9
Data from 2021-22, 2022-23, and 2023-24 offseasons, top 50 projected contracts only

First things first: Every group underperformed its projections. That comes down to playing time. Our projections use Depth Charts playing time, which approximates the most likely distribution of playing time across a given roster without accounting for the likelihood of injuries. Just as an example, non-catcher batters were projected for an average of more than 600 plate appearances in this dataset, and they came in closer to the mid-500s in practice. So don’t pay too much attention to the absolute numbers; the relative differences are what to look at here.

The last 10 free agents to sign saw huge shortfalls in production relative to expectations. One reason: They played less. The average hitter in this group of 150 free agents batted 70 times less than projected. Hitters signed among the last 10 free agents in their class batted 100 times less than projected. Likewise, the average pitcher in the group came up 25 innings shy of projections, but pitchers among the last 10 players signed came up 40 innings short.
Read the rest of this entry »


Philadelphia Phillies Top 30 Prospects

Eric Longenhagen

Below is an analysis of the prospects in the farm system of the Philadelphia Phillies. Scouting reports were compiled with information provided by industry sources as well as my own observations. This is the fifth year we’re delineating between two anticipated relief roles, the abbreviations for which you’ll see in the “position” column below: MIRP for multi-inning relief pitchers, and SIRP for single-inning relief pitchers. The ETAs listed generally correspond to the year a player has to be added to the 40-man roster to avoid being made eligible for the Rule 5 draft. Manual adjustments are made where they seem appropriate, but we use that as a rule of thumb.

A quick overview of what FV (Future Value) means can be found here. A much deeper overview can be found here.

All of the ranked prospects below also appear on The Board, a resource the site offers featuring sortable scouting information for every organization. It has more details (and updated TrackMan data from various sources) than this article and integrates every team’s list so readers can compare prospects across farm systems. It can be found here. Read the rest of this entry »


A Candidate-By-Candidate Look At the 2025 Hall of Fame Election Results

Howard Smith and Joe Nicholson-Imagn Images

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

The 2025 Hall of Fame election is in the books, with another trio — first-year candidates Ichiro Suzuki and CC Sabathia joined by 10th-year candidate Billy Wagner — getting voted in by the Baseball Writers Association of America. While Suzuki’s possible unanimity and Carlos Beltrán’s strong showing on publicly tracked ballots created some amount of suspense leading up to the announcement, nobody scraped the bar; all three candidates who made the cut cleared at least 80% of the vote. The last time everybody elected made it by such a comfortable margin was in 2016, when Ken Griffey Jr. (99.3%) and Mike Piazza (83%) gained entry, with the class of ’18 just missing out because Trevor Hoffman (79.9%) lagged. Suzuki, Sabathia, and Wagner will be inducted in Cooperstown along with Classic Baseball honorees Dave Parker and the late Dick Allen on July 27, 2025.

Here’s a tidbit you might not have been aware of that ties this class together: all three honorees are natural-born right-handers who learned to do their most important job left-handed. Wagner famously broke his right arm twice at age seven and learned to throw lefty, Sabathia struggled in T-ball until switching hands, and Suzuki was taught to hit lefty by his father. Both pitchers took their cuts lefty as well, though Ichiro threw right-handed.

As usual, beyond the topline results, there’s plenty to ruminate on. So as promised, here’s my candidate-by-candidate breakdown of the entire slate of 28 candidates, 15 of whom will return to the ballot next year. Note that except where indicated, all references to percentages in Ryan Thibodaux’s indispensable Tracker are based upon data as of 9 a.m. ET on Thursday. Read the rest of this entry »


Dan Szymborski FanGraphs Chat – 1/23/25

12:01
drplantwrench: are the dodgers the team with the highest ZiPS projection ever?  who is if they arent/where do they place?

12:01
Avatar Dan Szymborski: Oh yeah, welcome yada yada

12:01
Avatar Dan Szymborski: It’s still preliminary, but while the Dodgers have the highest ZiPS projected wins ever, it’s not the 2025 Dodgers that are likely to grab that, but the 2021 Dodgers at 99 wins

12:02
Ahoy: As a Pirate fan who’s used to the disappointment of, well, everything, I admit the rosy projections of Horowitz and Gonzales made me happy! You surprised by those?

12:02
Avatar Dan Szymborski: Not REALLY, but only that it’s difficult to really surprise me after doing this for 20 years!

12:02
drplantwrench: what do you think of the angels signing max scherzer to a big one year contract? they could use the SP and could be trade bait if/when their season falls apart

Read the rest of this entry »


2025 ZiPS Projections: Houston Astros

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 Houston Astros.

Batters

The 2024 season started terribly for the Astros, with a 12-24 record in the early going and most of their projected rotation on the IL. The hole the team dug was deep enough that even with them playing solid ball after early May, the Astros didn’t get above .500 for good until the end of June. Still, nobody in the AL West managed to take advantage of Houston’s weak start. The Astros built a comfortable lead throughout August, and though the Mariners never fell hopelessly behind in the race, they never made Houston really sweat either. Read the rest of this entry »


Can You Extrapolate a Part-Time Player?

Darren Yamashita-USA TODAY Sports

The other day, I was poking around on the Minnesota Twins’ RosterResource page. Mostly because the Twins have been quiet this offseason, I wanted to make sure they were still there and that I hadn’t missed another round of contraction rumors.

It’s fine, guys, I checked and the Twins are not going out of business anytime soon.

The other thing I noticed is that Minnesota had only two hitters who qualified for the batting title last season, which is not a lot. The Rangers and Brewers (which I would not have guessed) had seven each. And with Carlos Santana bound for his fifth go-around with Cleveland (it’s only his third but I know you were about to look), Willi Castro stands alone in Minnesota. The Marlins and Rays are the only other teams that are set to return only a single qualified hitter from 2024. Read the rest of this entry »


Effectively Wild Episode 2274: All Hall


Landmines and Landing Spots for Ha-Seong Kim

Orlando Ramirez-USA TODAY Sports

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

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


2025 ZiPS Projections: Pittsburgh Pirates

For the 21st consecutive season, the ZiPS projection system is unleashing a full set of prognostications. For more information on the ZiPS projections, please consult this year’s introduction and MLB’s glossary entry. The team order is selected by lot, and the next team up is the Pittsburgh Pirates.

Batters

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

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

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

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

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

Pitchers

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Hitters are ranked by zWAR, which is to say, WAR values as calculated by me, Dan Szymborski, whose surname is spelled with a z. WAR values might differ slightly from those that appear in the full release of ZiPS. Finally, I will advise anyone against — and might karate chop anyone guilty of — merely adding up WAR totals on a depth chart to produce projected team WAR. It is important to remember that ZiPS is agnostic about playing time, and has no information about, for example, how quickly a team will call up a prospect or what veteran has fallen into disfavor.

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


Home/Road Splits as Absurdist Comedy

Orlando Ramirez-Imagn Images

“It’s better not to know so much about what things mean.”
– David Lynch in Rolling Stone, September 1990

A few friends and I have a recurring movie night where we take turns choosing the featured film for the evening. Because one friend has decided to make his picks in the “campy horror” genre, last week we wound up watching Peter Jackson’s Dead Alive (yes, THAT Peter Jackson). Rotten Tomatoes describes it as a “delightfully gonzo tale of a lovestruck teen and his zombified mother,” while Wikipedia goes with “zombie comedy splatter film.” It deals in absurdity and surrealism and its favorite tool of the trade is fake blood. The production reportedly went through about 80 gallons of the stuff.

Absurdist storytelling launders its messaging through exaggerated extremes and by defying or subverting logic in ways frequently so morbid or dark that they surpass tragedy and come all the way back around to comedy. Extremes that defy logic exist in baseball too. A particularly rich source being players’ home/road splits. I went searching the 2024 season for the most extreme differences in player performance (minimum 200 plate appearances) between their home parks and road venues across a variety of offensive metrics. In my own act of defying reason, I don’t really have an explanation for choosing hitters over pitchers. Maybe I’ll do pitchers in the future. Maybe I won’t. Who needs symmetry or balance in the universe? Anyway, I found the largest disparities, and ignored the boring, expected ones like Rockies hitters clubbing a bunch more homers at Coors Field, and instead, locked in on the truly bizarre.

Certain occurrences earn their bizarre status not because of their unexpected nature, but rather because they take an expected outcome to such an extreme as to feel over the top, or a bit “on the nose,” as an editor might put it. Dead Alive depicts Lionel, a young adult man, still living at home with his mother, an overbearing type who domineers his life. Lionel and his mother portray the standard “momma’s boy” archetype, but exaggerated to nth degree — the film culminates with the supercharged zombie version of Lionel’s mother inserting her son back into her womb, where she can finally regain complete control over his life.

Like an overbearing mother, certain ballparks have a strong influence on the type of hitter who thrives under their care. Some encourage power, or prefer a certain handedness, while others look down on hitting and choose instead to emphasize pitching and defense. Petco Park in San Diego does not favor offense in general, but it is among the least friendly ballparks for lefties who hit a bunch of singles. Enter Luis Arraez, the singles hitter of all singles hitters.

The infielder/DH was traded to the Padres from the Marlins last May 4. Like Lionel, who in the early scenes of Dead Alive meets a nice young woman named Paquita and takes her on a date to the zoo, Arraez continued to do his thing for the month of May, hitting 38 singles, compared to the 30 he hit during the first month of the season. But then Lionel’s mother interrupts the date, gets bit by a Sumatran Rat Monkey, and chaos ensues, just as the influence of Petco Park eventually exerts its will on Arraez. He ended the season with a .268 average at home and a .359 average on the road, due in part to his hitting about 20% fewer singles (71 vs. 90) and almost 50% fewer doubles (11 vs. 21) at home compared to on the road. This placed him at the extreme end of Petco Park’s offense dampening effects, so extreme as to feel like the stadium stuffed Arraez inside her womb until he learned his lesson about hitting all those singles.

Batting average is one thing, but there are other stats that you wouldn’t necessarily expect to have extreme home/road splits; similarly, you wouldn’t necessarily expect a scene at the beginning of a movie that depicts the main character mowing the lawn at the behest of his mother to foreshadow a momentum shift in the big fight scene at the end. Nevertheless, Brice Turang’s stolen base success rate was 15 points higher at home than on the road, which was the largest differential among base stealers with at least 30 attempts (omitting Jazz Chisholm Jr. who was around 20 percentage points better on the road, but also switched home stadiums in late July). The Brewers second baseman stole 28 bases at American Family Field and was caught just one time there, while in away parks he stole 22 bases and was caught five times. The discrepancy becomes all the more notable when considering Turang reached base less frequently at home, posting a .290 OBP in Milwaukee compared to a .341 OBP everywhere else.

There aren’t too many data points to suggest why Turang was better at swiping bags at home, but as a player with just over 1,000 big league plate appearances, it makes sense that some of his visual timing and positioning cues might be more locked in at AmFam than they are elsewhere in the league. Things like the first base cutout in the infield grass and the sightlines behind the pitcher as he’s taking his lead from first are likely more dialed in at the place where Turang has taken the majority of his reps in the majors. Using one of his strongest tools (94th percentile sprint speed) and the comforts of a familiar environment, Turang almost completely compensated for his otherwise negative contributions on offense, just as Lionel, in defending his home from a horde of zombie partygoers, turned to a trusted tool — his lawnmower and its sharp, speedy blade — to mow through the walking dead.

The largest split I could find with respect to wRC+, which is already adjusted for park factors, belongs to Luis García Jr., who after several up and down seasons with the Nationals, spent 2024 as Washington’s primary second baseman. The lefty logged a 156 wRC+ at home and a 63 wRC+ on the road, a 93-point spread. This is where it’s helpful to know exactly how the park adjustment is applied to wRC+ and why that might make a fairly neutral hitting environment like Nationals Park seem like an oasis for one hitter in particular. Or, in other words, why a young lady like Paquita might continue to see someone even after his zombie mother ate her dog.

(Here is where I must note that there is a character in Dead Alive named Scroat. Unfortunately, I couldn’t make a baseball analogy to Scroat because I do not remember which character was Scroat, and an IMDb search through the movie’s cast list does not have a headshot next to the actor who played Scroat. Really, I just wanted a chance to write Scroat in a FanGraphs post, so here we are. Scroat!)

Anyway, the park factor applied to wRC+ is a single value that captures the run environment in the stadium overall, as opposed to the more granular component level park factors that consider the stadium’s influence on the individual components of offense, such as singles, doubles, triples, home runs, etc. Component park factors that take into consideration the batter’s handedness are also available. Digging into the components of García’s home/road splits reveals that when in D.C., he struck out less and hit more singles and homers. Component park factors explain part of why García might benefit more from hitting in Washington than an average hitter: Nats Park does suppress strikeouts relative to its peers, and left-handed hitters get a boost with respect to singles. Fewer strikeouts means more balls in play at a ballpark where a ball in play off the bat of a lefty is more likely to lead to a hit. However, Washington remains neutral on home runs for those hitting from the left side. Looking at García’s splits with respect to batted ball characteristics reveal his home run-to-fly ball rate drops from 19.2% at home to 6.7% on the road. But it’s not just that the ball is carrying better because, additionally, his hard hit rate increases from 24.1% on the road to 38.4% at home. That García’s strikeout rate drops 10 percentage points in his home ballpark relative to everywhere else, in conjunction with his improved contact quality on fly balls, seems to suggest he sees the ball better at Nats Park than anywhere else. And for what it’s worth, a special aptitude for vision is what kept Lionel’s girlfriend from abandoning him, as she believed the tarot reading done by her seer/grandmother that foretold a fated, long-term romantic entanglement with Lionel.

Many don’t believe in fate and instead subscribe to the nihilistic view that the universe is composed of randomness, which at times manifests as utter, uninterpretable chaos. T-Mobile Park in Seattle is one of the worst ballparks for hitters, both overall and across all individual components, unless, by chance, you happen to be Luke Raley. The Mariners outfielder/first baseman defied the natural order of the universe (to the extent that there is one) and posted a .393 wOBA, 166 wRC+, and hit 15 home runs across 229 plate appearances at home, with a .295 wOBA, 91 wRC+, and seven homers over 226 PA on the road. Looking at component factors does absolutely nothing to explain Raley’s performance at T-Mobile Park, since as a lefty, all of Seattle’s horrible hitting juju applies even more so than it does for righties. His BABIP hovered around .300 both at home on the road, suggesting that if there’s luck in his performance, it was distributed evenly at home and on the road. In terms of his batted ball profile, Raley did have a higher hard hit rate at home, and he also pulled the ball more and put it in the air more, which collectively signals an overall higher quality of contact. Perhaps like the tarot-reading grandmother, Raley possesses some special sight that allows him to see the ball in a way that no one else has mustered at T-Mobile Park, or perhaps, as is the messaging of much absurdist art, we must simply submit to the random, chaotic winds of the universe, blowing some fly balls over the fence and leaving others to die on the warning track.

Whatever force is tasked with inflicting chaos upon the masses, it seems to enjoy unleashing Yordan Alvarez as often as possible. It’s true that Houston’s lefty DH/left fielder was not involved with the Astros’ banging scheme scandal, but he nevertheless is a frequent recipient of boos at away ballparks due to his uncanny ability to launch game-winning, soul-crushing moonshots in front of opposing fans. Though the booing is more of a vibes-based response, the data show that Alvarez does tap into his power more frequently on the road, hitting both doubles and home runs at a much higher rate, leading to a road wRC+ that is 62 points higher than his mark at home (a road advantage topped only by J.P. Crawford of the Mariners).

Again, wRC+ already accounts for the overall run environment, but not the components by which a particular player might be more heavily impacted. Houston’s ballpark, which is now called Daikin Park, grades out as neutral to hitters overall and with respect to left-handed home runs, but for doubles, a lefty hitter should have an easier go of it (though it’s worth noting Alvarez pulls the ball at a below average rate for lefties). But despite the neutral or better home park environment, in 2024, Alvarez hit 12 doubles and 13 homers across 315 plate appearances at home, while hitting 22 doubles and 22 homers across 320 plate appearances on the road. Alvarez also walked slightly more on the road, while holding his strikeout rate constant, suggesting a more patient approach that led to higher quality contact; this is reinforced by his higher home run-to-fly ball rate (20.4% vs. 11.7%) and hard hit rate (46.1% vs. 36.1%) away from Houston.

As with some of the other extreme splits, the increased patience and improved contact might mean that Alvarez doesn’t see the ball as well at Daikin Park as he does elsewhere. Or this instance of absurd home/road splits might be trying to send a different message. Absurdist art and its close relative, surrealism, frequently serve to defy logic, or at least quantifiable logic. At the end of Dead Alive, Lionel cuts his way out of his mother’s womb using a talisman that Paquita’s grandmother gave him for good luck. She probably thought its magical properties would prevent anything bad from happening to him, rather than its physical properties allowing him to puncture zombie flesh. Even magic follows no logical order.

Meanwhile, when asked to describe the experience of playing in a big league stadium in front of a packed crowd during the highest leverage moments of the game, players frequently use the word surreal. And in the surreal world, there wouldn’t necessarily be a logical explanation for why Alvarez becomes more powerful on the road, why he happens to be holding a talisman that can puncture the hearts of opposing fans. Maybe he feels less pressure away from the home fans. Maybe he takes a twisted pleasure in making a stadium full of fans fall silent. Maybe, like the zombies in the movie, he takes a poison intended for animals that has the unintended effect of supercharging his abilities. I’m mixing my talisman and poison metaphors now, but as previously established, there are no rules and nothing matters, so just roll with it and instead linger on the thought that if Alvarez ever leaves the Astros, he may morph into a supercharged monster permanently.

While we’re defying logic, I did stumble upon one member of the Colorado Rockies with a home/road split worth mentioning. In 228 plate appearances at Coors Field, Michael Toglia hit eight home runs; in 230 plate appearances away from Coors Field, he hit 17 home runs. So, in nearly the same number of opportunities, Toglia smacked more than twice as many home runs on the road as he did at Coors Field, a park notorious for juicing fly balls. My best guess is that the stadium’s reputation is doing psychic damage to a 26-year-old first baseman with just one full season under his belt. His hard hit rate is still higher at home, suggesting maybe he thinks that all he needs to do is swing out of his shoes and the thin air will do the rest. Meanwhile, his Med% is higher on the road and he hits the ball to the opposite field more often, suggesting a more controlled, purposeful swing away from the influence of Colorado. Maybe he’s overthinking the atmospheric conditions, or maybe he made a deal with an evil imp that granted him 60-grade raw power everywhere except the Mile High City.

Sometimes chaotic occurrences exist purely for comedic relief, offering no larger societal lesson or commentary on humanity. At one point in Dead Alive, Lionel visits his mother’s grave because he knows she’s a zombie and, therefore, not actually dead, so his master plan is to administer sedatives to her indefinitely in order to keep her safely in the ground. When he gets jumped at the cemetery by a band of local hooligans, he’s saved by a priest (literally, not spiritually), who seems to have exactly one skill, which is, as the priest puts it, to “kick ass for the Lord.” He does single-handedly wipe out the hooligans with what appears to be self-taught kung fu, but then promptly gets conscripted to the zombie ranks. The kung fu priest of baseball is Mike Yastrzemski, right fielder for the Giants, whose extreme singular skill is striking out way less at home than on the road. All of his other splits are as expected, but when batting at Oracle Park, he strikes out 19.7% of the time, compared to 32.6% everywhere else. It’s the most extreme strikeout difference in the bigs by a couple of percentage points.

In the movie’s next scene, Lionel has rounded up the current group of zombies, including the priest and a nurse, who was originally dispatched to look into his mother’s ailments before her transition to undead was complete. The priest and the nurse take a liking to one another and wind up birthing a baby zombie. This leads to a scene that was not in the original script and serves no purpose to the larger narrative; really, it’s just there for the jokes. Jackson decided to add it after they’d finished filming everything else, because they were still under budget, and since then, he has called it his favorite scene in the movie. For no comprehensible reason, Lionel takes the baby to the park, pushing it along in a stroller and mimicking the actions of the mothers he observes interacting with their babies. Perhaps Lionel thought that a change of scenery and treating the baby like a regular human baby would coax it into acting like a regular human baby, but it did not. Instead the viewer is treated to a series of hijinks, where the baby drags Lionel all over the park, and Lionel has to act like tackling a baby is perfectly normal behavior.

New Orioles outfielder Tyler O’Neill is the zombie baby hoping that a change of scenery does prompt a transformation. O’Neill experienced an even stranger flavor of Yastrzemski’s strikeout split. It’s not particularly unusual for hitters to strike out less in San Francisco (though not to the extreme reached by Yastrzemski), and the same holds true for Boston, where O’Neill played his home games last year. But O’Neill flipped the script; instead of striking out less at Fenway Park, he struck out significantly more frequently, posting a rate of 39.7% as opposed to 27.9% on the road. O’Neill hasn’t always struck out more at home than on the road. For example, during his final two years with the Cardinals, he was better in St. Louis than he was away from it, which is interesting considering that Fenway is a much more hitter-friendly park than Busch Stadium. It’s pretty funny to think that Fenway of all places could act as one hitter’s kryptonite, but the Orioles are hoping that was the case here. Perhaps getting O’Neill into a different park will do for him what Lionel couldn’t do for the zombie baby. If O’Neill’s overall line winds up resembling something closer to last year’s road performance, he’s much more likely to be a productive contributor in Baltimore. The spike in strikeouts caused his on-base percentage to crater to .301 in Boston, compared to .369 everywhere else.

For as much as we’d like for everything in baseball and life to follow some logical, rational, and quantifiable natural order, it doesn’t always work that way. There are too many lurking variables, agents of chaos, and forces we don’t yet understand. Sometimes it’s incredibly funny when something happens that we can’t explain. Sometimes it teaches us something completely separate from what we set out to divine. Sometimes we just have to accept that we don’t know what a weird thing is really about.