Archive for Featured

Sunday Notes: Young Pitching is the Miami Marlins’ Strength (at Least on Paper)

The Miami Marlins are coming off of a 100-loss season, and a lack of bats had a lot to do with that. The NL East club scored the fewest runs in the senior circuit. The arms weren’t all that much better — only the Colorado Rockies allowed more runs — but there is light at the end of the tunnel. Sandy Alcantara and Eury Pérez are on track to return from Tommy John surgery, while Jesús Luzardo and Max Meyer should be healthy following comparably minor injuries. Moreover, the organization’s top pitching prospects have high ceilings. Pitching — especially young pitching — is the organization’s greatest strength.

Miami’s President of Baseball Operations largely agreed with that opinion when I presented it to him at last month’s GM Meetings in San Antonio.

“I think so,” Peter Bendix told me. “I hope so. We have a lot of guys I’m really excited about. I think that next year a lot of these guys have things to prove, whether that’s health, bouncing back from a disappointing season, just establishing themselves, or building on what they did last year.”

A pair of pitchers who are likely a few years away from reaching the big leagues stand out. One of them is is a now-20-year-old southpaw whom the Marlins drafted 35th overall in 2023 out of Andover, Massachusetts’s Phillips Academy.

Thomas White is maybe the best left-handed pitching prospect in baseball,” said Bendix, whose opinion is by no means singular (Noah Schultz and one or two others are also in the conversation). “If you look at left-handed pitchers who were 19 years old, missed as many bats as he did, didn’t walk guys, limited hard contact, throw 95-plus, have a plus breaking ball, and have command, it’s a short list. Now it’s his job to go out there build on that, see what he can he can do with another full year underneath him.” Read the rest of this entry »


2025 ZiPS Projections: The Athletics

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 Athletics.

Batters

In the race for the worst franchise in baseball, the White Sox easily took the title in terms of sheer incompetence. But their out of touch owner who legitimately wanted to win can’t match up with the A’s John Fisher, who probably thought while watching Moneyball that Rachel Phelps was way too generous with her team spending. The A’s won 69-93 games, a respectable number as far as terrible teams go, but it left them in an awkward limbo: They’re not good enough to pretend to be playoff relevant, but not bad enough for young fans to someday tell tales to their grandchildren about the team’s notoriety.

In truth, there’s actually a lot to like about this set of projections, even if it’s distributed among things you don’t. Brent Rooker not only demonstrated that his 2023 breakout wasn’t a fluke, but he also had a second breakout this season that was even better than the first. Considering he ran a .362 BABIP, he’s likely going to give back at least some of the gains he made. How much he regresses is a source of disagreement between ZiPS and Steamer, but he’s conclusively proven that he’s not just some DH-type player who’s going to put up a 110 wRC+ and 1.7 WAR. Rooker is not young, so hopefully the A’s will trade him to a team with games that matter before he advances too far into his thirties.

Jacob Wilson gets a very solid projection, and ZiPS sees a bit of a bounceback campaign for Zack Gelof. I wouldn’t call ZiPS a full believer in Lawrence Butler or JJ Bleday, but it at least grants them adequacy, which is a step up for both from last year’s projections. ZiPS is decidedly negative on the mulligan stew in left field, and it isn’t buying Tyler Soderstrom as a first baseman, either. I have no idea if the Nick Kurtz projection is too high, too low, or just right given he has played almost no professional baseball. ZiPS does know his Wake Forest numbers, but college translations are more speculative than crypto currency with meme names.

One can argue the most disappointing parts of these projections aren’t the players on the parent club, but the minor leaguers. Past Wilson and maybe Kurtz, ZiPS just doesn’t see anyone in the system having major upside. I mean, Tommy White might suddenly become the offensive beast he was hoped to be, but the computer isn’t banking on it.

Pitchers

Eep. You know a team’s pitching projections aren’t going well when the player with the best projected ERA+ (Mason Miller) has a nearly 50-point edge over everyone else. One thing that used to keep the A’s from falling too far out of the pennant race was that, for a long time, this was a team that could churn out nondescript soft-tossing mid-rotation starters as if it owned a patent on the process. For the third consecutive season, however, the 2024 A’s didn’t have a single pitcher who started 20 games with an ERA+ of at least 100. This is hardly a filter for finding a Cy Young candidate! JP Sears had his moments in 2024, but at the end of the day, he’s simply a soft-tossing lefty without a strikeout pitch who can’t keep the ball down all that well, not any respectable team’s ace. Mitch Spence is interesting, but he isn’t missing bats in the majors yet. Our prospect team wrote that Joey Estes needed to develop a good secondary pitch, and that criticism rings true; he has a mediocre slider and changeup, meaning that his decent command hasn’t meant all that much.

I find J.T. Ginn and Osvaldo Bido more interesting. If Ginn keeps working with his sinker, he might have success in the majors for a while, and Bido at least makes it seem like there’s some adventure happening on the mound; his control is spotty, but he’s got a hard two-seamery sinker that I think could be a real weapon if he ever gets the hang of it. Most pitchers like Bido don’t work out in the long run, but I can squint my eyes and see a Bido breakout as a more tangible idea than what a Sears or Estes breakout would look like.

The bullpen is… not good. Miller projects for all of the bullpen’s WAR, which is fine if you think you’re going to use him for 500 innings. After Miller, there’s not a lot of correlation between spot in the pecking order and the ZiPS projection; Michel Otañez gets a decent projection in ZiPS, while Brady Basso probably doesn’t make the team, at least not in April.

The A’s have almost no guaranteed contracts, the only two right now being the recently agreed one-year pacts with Seth Brown and T.J. McFarland. Normally that would give a team some flexibility to fill some holes in free agency, but we all know that’s not going to happen. The Athletics will likely win somewhere between 65 and 72 games or so, and very little will be remembered about the season outside the weird stadium situation they’re in.

Speaking of that situation, projecting Sutter Health Field is a bit of a problem without data from past MLB games. It’s a pitchers’ park in the Pacific Coast League, but that’s not exactly telling given that the average park in the PCL would likely be a hitters’ park in the majors. I have a rough estimate of it as basically average, though I expect some outfielders might have a few adventures getting used to the caroms as the fences have some corners. The foul territory is much reduced, however, and that might mean something at the margins, considering you might be able to park a 747 in the Coliseum’s foul territory. Hopefully, by the time the A’s move again, I will have stopped calling the park “Sutter Home” after the winery.

Sutter Health Field graphic made by Szym. Depth charts constructed by way of those listed here. Size of player names is very roughly proportional to Depth Chart playing time.

Batters – Standard
Player B Age PO PA AB R H 2B 3B HR RBI BB SO SB CS
Brent Rooker R 30 DH 590 522 76 140 24 2 37 101 57 171 8 2
Lawrence Butler L 24 RF 545 496 73 124 25 3 20 71 44 137 17 2
Shea Langeliers R 27 C 517 469 61 109 20 2 27 78 39 141 3 2
Zack Gelof R 25 2B 549 498 66 116 24 2 19 66 43 174 22 3
Esteury Ruiz R 26 LF 445 394 57 100 21 2 10 51 29 100 40 11
Alejo Lopez B 29 3B 459 411 52 107 20 1 4 41 38 69 10 4
JJ Bleday L 27 CF 590 517 70 116 30 3 21 68 67 126 3 2
Jacob Wilson R 23 SS 320 294 45 84 21 2 5 35 17 29 1 1
Colby Thomas R 24 LF 576 533 63 125 34 4 20 80 28 168 10 3
Denzel Clarke R 25 CF 449 408 56 90 18 5 12 54 31 162 17 5
Darell Hernaiz R 23 SS 437 400 49 99 18 2 7 44 28 76 8 3
Max Muncy R 22 SS 401 361 44 85 20 1 9 48 25 128 5 2
Brett Harris R 27 3B 449 395 51 87 14 1 9 49 41 93 5 3
Abraham Toro B 28 3B 410 372 42 89 21 1 9 40 30 72 4 2
Cooper Bowman R 25 2B 485 430 59 92 19 2 10 47 38 129 24 4
CJ Alexander L 28 3B 413 385 49 89 21 3 14 49 23 112 4 2
Miguel Andujar R 30 LF 408 382 43 103 21 1 9 44 22 56 4 2
Armando Alvarez R 30 2B 348 316 41 77 18 1 10 39 28 74 3 1
Seth Brown L 32 LF 443 408 46 97 18 2 20 61 31 122 5 1
Carlos Perez R 34 C 404 364 43 75 16 1 14 48 31 84 0 0
Hoy Park L 29 RF 415 357 49 78 14 2 7 35 50 108 9 3
Cole Conn B 23 C 392 340 33 64 12 1 5 31 35 105 5 1
Max Schuemann R 28 SS 468 402 58 89 15 2 7 44 46 121 15 3
Daniel Susac R 24 C 394 370 33 85 15 2 8 43 16 116 4 1
Jordan Groshans R 25 3B 453 412 46 94 16 1 4 34 38 92 0 1
Will Simpson R 23 1B 530 478 56 110 25 2 14 56 47 167 3 2
Tyler Nevin R 28 1B 399 355 42 83 17 1 11 43 34 87 1 0
Nick Kurtz L 22 1B 443 411 54 104 20 0 10 39 30 99 2 2
Jordan Diaz R 24 DH 487 455 44 113 22 1 14 60 26 97 0 1
Tyler Soderstrom L 23 1B 456 414 44 92 17 2 19 60 34 124 0 1
Brennan Milone R 24 1B 521 470 55 107 22 1 12 57 42 131 4 3
Logan Davidson B 27 LF 417 382 44 84 18 2 9 45 30 138 4 2
Shane McGuire L 26 C 336 295 31 59 10 1 3 27 34 76 3 1
Joshua Kuroda-Grauer R 22 SS 132 119 14 27 3 0 0 11 8 12 3 2
Jeremy Eierman R 28 SS 278 256 24 47 9 0 9 33 14 110 2 1
Lazaro Armenteros R 26 LF 314 277 35 58 10 1 8 36 30 140 11 6
Henry Bolte R 21 RF 557 503 69 109 22 5 12 63 43 234 24 9
Kyle McCann L 27 C 336 302 33 59 11 0 10 37 29 130 1 0
Jeisson Rosario L 25 RF 386 340 35 71 12 2 5 29 40 116 6 5
Quincy Nieporte R 30 DH 350 315 33 70 13 1 9 39 26 81 2 0
Luke Mann L 25 3B 509 467 39 93 14 2 11 49 31 162 2 0
Colby Halter L 23 2B 266 238 24 49 11 1 2 21 24 100 6 5
Drew Lugbauer L 28 1B 399 363 39 68 15 0 16 43 32 181 0 0
Casey Yamauchi R 24 2B 327 299 32 68 9 1 0 25 14 36 11 4
Jonny Butler L 26 LF 459 417 43 83 16 4 6 40 35 134 9 2
Stephen Piscotty R 34 RF 177 162 14 33 6 0 4 15 12 52 0 0
Carlos Amaya R 23 C 176 163 13 29 7 0 2 13 8 51 1 1
Jared Dickey L 23 RF 468 426 45 97 15 5 8 48 29 100 5 3
Euribiel Angeles R 23 SS 473 454 36 105 16 3 4 40 13 75 10 3
Junior Perez R 23 CF 457 413 47 80 19 2 8 41 35 183 18 5
Nate Nankil R 22 RF 498 449 40 100 20 1 7 51 33 119 2 2
CJ Rodriguez R 24 C 285 255 16 42 5 1 0 13 27 66 0 0
Jack Winkler R 26 SS 489 447 47 86 19 1 6 43 31 126 13 4
Ryan Lasko R 23 CF 564 505 49 95 22 1 4 41 48 172 17 5
Sahid Valenzuela B 27 3B 275 256 22 50 8 1 1 17 13 67 2 1
Cameron Masterman R 26 DH 294 268 30 53 11 1 6 28 21 134 2 1
Caeden Trenkle L 24 LF 288 264 31 52 8 2 4 24 18 100 3 1
Brayan Buelvas R 23 CF 477 436 44 87 20 4 7 44 33 141 13 4
Dereck Salom R 24 3B 361 321 29 58 8 1 2 23 33 79 3 1
Jose Mujica R 24 C 217 205 17 38 6 0 2 17 8 56 0 1
T.J. Schofield-Sam L 24 2B 462 429 40 93 19 3 4 45 16 108 3 3
Danny Bautista Jr. R 24 1B 431 395 37 85 16 3 2 36 22 77 7 5
Jose Escorche R 23 2B 206 192 18 33 4 0 0 12 9 67 4 2

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA 3YOPS+ RC
Brent Rooker 590 .268 .346 .535 143 .266 .328 0 3.9 .373 136 99
Lawrence Butler 545 .250 .310 .433 107 .183 .306 5 2.2 .320 109 71
Shea Langeliers 517 .232 .296 .456 108 .224 .272 -7 2.1 .321 108 65
Zack Gelof 549 .233 .296 .404 95 .171 .318 2 2.1 .304 99 65
Esteury Ruiz 445 .254 .325 .393 101 .139 .317 5 1.8 .316 102 63
Alejo Lopez 459 .260 .332 .343 91 .083 .305 5 1.8 .302 89 50
JJ Bleday 590 .224 .316 .416 104 .191 .257 -6 1.7 .319 103 69
Jacob Wilson 320 .285 .333 .421 111 .136 .303 -2 1.5 .328 108 42
Colby Thomas 576 .235 .287 .426 97 .192 .305 6 1.5 .307 102 68
Denzel Clarke 449 .221 .287 .378 85 .157 .333 5 1.4 .291 89 50
Darell Hernaiz 437 .248 .300 .355 84 .108 .290 1 1.2 .288 87 45
Max Muncy 401 .235 .300 .371 88 .136 .339 0 1.2 .295 90 42
Brett Harris 449 .220 .307 .329 80 .109 .267 5 1.0 .286 82 42
Abraham Toro 410 .240 .303 .374 90 .135 .275 1 1.0 .297 90 44
Cooper Bowman 485 .214 .286 .337 75 .123 .282 3 0.9 .277 77 48
CJ Alexander 413 .231 .278 .411 91 .179 .290 -1 0.8 .297 93 46
Miguel Andujar 408 .270 .311 .401 99 .131 .297 1 0.7 .309 98 49
Armando Alvarez 348 .244 .305 .402 97 .158 .289 -5 0.6 .307 94 40
Seth Brown 443 .238 .294 .439 103 .201 .289 -3 0.6 .314 98 54
Carlos Perez 404 .206 .277 .371 81 .165 .230 -3 0.6 .283 77 38
Hoy Park 415 .218 .318 .328 83 .109 .293 4 0.5 .290 81 40
Cole Conn 392 .188 .275 .274 56 .085 .257 6 0.5 .251 61 27
Max Schuemann 468 .221 .317 .321 81 .100 .299 -8 0.4 .289 82 45
Daniel Susac 394 .230 .269 .346 72 .116 .313 -1 0.3 .269 76 36
Jordan Groshans 453 .228 .294 .301 68 .073 .285 4 0.2 .267 72 37
Will Simpson 530 .230 .298 .379 89 .149 .324 2 0.2 .296 93 55
Tyler Nevin 399 .234 .308 .380 93 .146 .280 -1 0.2 .303 94 42
Nick Kurtz 443 .253 .307 .375 91 .122 .311 0 0.1 .300 97 49
Jordan Diaz 487 .248 .294 .393 91 .145 .288 0 0.1 .299 96 53
Tyler Soderstrom 456 .222 .287 .410 94 .188 .269 -2 0.0 .301 100 49
Brennan Milone 521 .228 .296 .356 83 .128 .291 4 0.0 .287 86 51
Logan Davidson 417 .220 .281 .348 76 .128 .320 5 0.0 .276 79 39
Shane McGuire 336 .200 .290 .272 60 .071 .260 0 0.0 .258 62 24
Joshua Kuroda-Grauer 132 .227 .303 .252 59 .025 .252 0 -0.1 .258 63 11
Jeremy Eierman 278 .183 .238 .324 56 .140 .277 1 -0.2 .247 57 21
Lazaro Armenteros 314 .210 .300 .340 80 .130 .388 -2 -0.3 .287 83 33
Henry Bolte 557 .217 .289 .352 80 .135 .377 -1 -0.3 .283 90 60
Kyle McCann 336 .195 .274 .331 69 .136 .302 -7 -0.4 .268 72 28
Jeisson Rosario 386 .209 .294 .300 68 .091 .301 3 -0.4 .269 69 33
Quincy Nieporte 350 .222 .284 .355 79 .133 .271 0 -0.4 .280 75 32
Luke Mann 509 .199 .261 .308 60 .109 .279 2 -0.5 .254 65 38
Colby Halter 266 .206 .286 .285 62 .080 .345 -2 -0.5 .258 64 23
Drew Lugbauer 399 .187 .258 .361 72 .174 .314 2 -0.6 .270 74 34
Casey Yamauchi 327 .227 .284 .264 56 .037 .258 -2 -0.7 .250 56 26
Jonny Butler 459 .199 .268 .299 60 .101 .278 6 -0.7 .254 63 36
Stephen Piscotty 177 .203 .266 .314 63 .111 .273 -2 -0.7 .258 58 14
Carlos Amaya 176 .178 .218 .257 34 .080 .245 -1 -0.8 .211 40 10
Jared Dickey 468 .228 .293 .343 79 .115 .280 -4 -0.8 .282 82 45
Euribiel Angeles 473 .231 .254 .306 57 .075 .269 -2 -0.8 .245 62 39
Junior Perez 457 .194 .258 .307 59 .114 .324 -2 -0.8 .251 65 39
Nate Nankil 498 .223 .295 .319 73 .096 .288 -1 -0.8 .276 79 44
CJ Rodriguez 285 .165 .249 .192 27 .027 .222 3 -0.8 .209 29 12
Jack Winkler 489 .193 .256 .280 51 .087 .254 -1 -0.8 .240 54 36
Ryan Lasko 564 .188 .270 .260 50 .071 .277 3 -0.9 .243 53 41
Sahid Valenzuela 275 .196 .239 .246 37 .051 .261 3 -0.9 .218 39 16
Cameron Masterman 294 .198 .262 .313 61 .116 .367 0 -1.0 .256 64 23
Caeden Trenkle 288 .197 .254 .288 53 .091 .301 1 -1.0 .242 55 20
Brayan Buelvas 477 .200 .262 .312 61 .112 .278 -6 -1.1 .255 67 40
Dereck Salom 361 .181 .261 .230 40 .050 .233 2 -1.2 .227 44 20
Jose Mujica 217 .185 .221 .244 31 .058 .244 -3 -1.2 .207 38 12
T.J. Schofield-Sam 462 .217 .264 .303 59 .086 .280 -5 -1.3 .251 62 36
Danny Bautista Jr. 431 .215 .267 .286 56 .071 .262 0 -1.8 .247 59 34
Jose Escorche 206 .171 .216 .192 17 .021 .263 -5 -1.9 .188 21 9

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Brent Rooker Tony Perez Reggie Jackson Bill Nicholson
Lawrence Butler Ellis Burks George Metkovich Lloyd Moseby
Shea Langeliers Carlton Fisk Cliff Johnson Mike Zunino
Zack Gelof Jazz Chisholm Jr. Danny Espinosa Whitey Kurowski
Esteury Ruiz Rod Craig Tom McCraw Juan Beniquez
Alejo Lopez Ron Theobald Mitch Glasser Joe Anthonsen
JJ Bleday Max Kepler Enrique Hernández Dick Kokos
Jacob Wilson Bob Schroder Cecil Travis Freddy Sanchez
Colby Thomas Carlos González Jordan Patterson Bob Perry
Denzel Clarke Dick Smith Lane Thomas Reggie Thomas
Darell Hernaiz Tyler Pastornicky Victor Rodriguez Adam Frazier
Max Muncy Wilson Betemit Jake Lemmerman Frank Bolling
Brett Harris Ed Giovanola Robert Hewes Matt Antonelli
Abraham Toro Jason Hardtke Wattie Holm Daniel Descalso
Cooper Bowman Matt Rundels Scott Earl Jesus Medrano
CJ Alexander Steve Kiefer Craig Stimac Frank Coggins
Miguel Andujar Jesus Alou Walt Williams John Barnes
Armando Alvarez Mike Mordecai Adam Rosales Jim Pankovits
Seth Brown Ray Sadler Ben Broussard Carlos González
Carlos Perez Rod Barajas Les Peden Tim Laker
Hoy Park Grégor Blanco Brian Cisarik Joe Bracchitta
Cole Conn Stuart Turner Jamie Pogue Dave Massarelli
Max Schuemann Mike Fischlin Eddy Alvarez Zach Penprase
Daniel Susac Wilfredo Tejada Bob Montgomery Lee Robinson
Jordan Groshans Mark Germann Dave Cripe Luis Galindo
Will Simpson Mario Valdez Matt Curry John Roskos
Tyler Nevin Rich Poythress Kelly Snider Rob Segedin
Nick Kurtz Scott Robinson Kelly Paris Tony Bartirome
Jordan Diaz Randall Simon Kendrys Morales Ruben Gonzalez
Tyler Soderstrom Bill Nahorodny Jerry Tabb Andy Hartung
Brennan Milone Christian Marrero D.J. Boston Moose Stubing
Logan Davidson Joaquin Contreras John Mustion J.C. Dunn
Shane McGuire Charles Julian John Sullivan Bruce Look
Joshua Kuroda-Grauer Aderling Mejia Andrelton Simmons Melvin Jimenez
Jeremy Eierman William Wilson Tod Davis Bryan Britt
Lazaro Armenteros George Lombard Lloyd Fourroux Dante Brinkley
Henry Bolte Tim Battle Devon White Elijah Dukes
Kyle McCann Jimmy Kremers John Hoffman Arnie Chavera
Jeisson Rosario Andrew Huling Willie Argo James Egan
Quincy Nieporte Nelson Simmons John Ramos Eddie Pearson 피어슨
Luke Mann Leon McFadden Gary Davenport John Lyles
Colby Halter Kevin Connacher Fletcher Thompson Steve Garrabrants
Drew Lugbauer Rod McCall Jesse Hoorelbeke Wes Clements
Casey Yamauchi Gabby Delgado Paul Serna Pedro Ithier
Jonny Butler Cam Gibson Jon Hamilton Brian Blair
Stephen Piscotty Danny Lewis Tito Landrum Matthew LeCroy
Carlos Amaya Nestor Corredor Andrew Prater Richie Borrero
Jared Dickey Yahmed Yema Mike White Rick Down
Euribiel Angeles Hanser Alberto Julius Matos Luis Nunez
Junior Perez Todd Steverson James Rich Tommie Campbell
Nate Nankil Jim Bowie Rich Aude Jose Velazquez
CJ Rodriguez Richard Rockwell Bryan Graves Dave Holt
Jack Winkler Chris McConnell Bob Stephenson Matt Wessinger
Ryan Lasko Ben Ortman Jimmy Harris John Rose
Sahid Valenzuela Juan Velazquez Joey Wong Jake Eigsti
Cameron Masterman Anthony Miller Cole White Johnny Crawford
Caeden Trenkle Gary Nalls Curt Miaso Jeffrey Minick
Brayan Buelvas Elmer Lindsey Chip Ambres Victor Horacio
Dereck Salom Scott Raziano D.J. Crumlich Mark Haske
Jose Mujica Travis Chapman Juan Jaime Wally Rosa
T.J. Schofield-Sam Bryant Flete Epi Cardenas Phil Gosselin
Danny Bautista Jr. Dave Feuerstein Mike Dzurilla Jose Cardona
Jose Escorche Edgar Perez Welfrin Mateo Demetrius Sims

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
Brent Rooker .293 .372 .607 165 5.5 .241 .316 .482 121 2.3
Lawrence Butler .275 .340 .488 126 3.4 .223 .284 .386 88 0.8
Shea Langeliers .259 .319 .513 127 3.4 .208 .272 .392 85 0.7
Zack Gelof .261 .324 .456 118 3.7 .205 .267 .356 76 0.7
Esteury Ruiz .281 .350 .440 120 2.8 .232 .300 .351 84 0.6
Alejo Lopez .289 .359 .385 109 2.8 .234 .308 .310 75 0.9
JJ Bleday .247 .342 .469 124 3.1 .198 .291 .365 84 0.2
Jacob Wilson .313 .360 .472 131 2.3 .257 .303 .371 90 0.7
Colby Thomas .261 .313 .487 120 3.2 .207 .261 .380 79 0.2
Denzel Clarke .246 .314 .424 103 2.4 .191 .263 .330 65 0.3
Darell Hernaiz .273 .325 .401 103 2.2 .221 .277 .318 68 0.4
Max Muncy .264 .328 .427 108 2.2 .211 .278 .333 71 0.3
Brett Harris .243 .334 .373 97 1.9 .195 .283 .292 62 0.0
Abraham Toro .265 .330 .419 108 1.9 .213 .277 .326 70 0.0
Cooper Bowman .237 .311 .379 93 2.0 .188 .265 .299 59 -0.1
CJ Alexander .253 .299 .463 109 1.7 .206 .253 .363 72 -0.2
Miguel Andujar .299 .343 .448 118 1.8 .239 .283 .354 80 -0.3
Armando Alvarez .273 .333 .450 116 1.5 .213 .276 .352 77 -0.3
Seth Brown .261 .315 .496 124 1.8 .208 .265 .377 79 -0.6
Carlos Perez .228 .300 .429 100 1.5 .182 .254 .322 61 -0.3
Hoy Park .245 .347 .366 99 1.4 .193 .288 .289 63 -0.4
Cole Conn .221 .309 .325 78 1.5 .157 .244 .229 38 -0.4
Max Schuemann .250 .341 .365 98 1.5 .194 .289 .279 62 -0.6
Daniel Susac .257 .295 .393 93 1.4 .200 .241 .300 54 -0.6
Jordan Groshans .253 .318 .336 84 1.1 .200 .267 .263 52 -0.8
Will Simpson .253 .324 .432 109 1.4 .203 .268 .333 69 -1.1
Tyler Nevin .261 .337 .432 112 1.1 .205 .282 .333 74 -0.7
Nick Kurtz .287 .334 .421 111 1.2 .221 .275 .321 68 -1.1
Jordan Diaz .274 .318 .443 111 1.3 .224 .267 .346 73 -1.0
Tyler Soderstrom .249 .315 .467 116 1.3 .199 .264 .358 75 -1.0
Brennan Milone .255 .320 .399 101 1.2 .203 .273 .310 65 -1.1
Logan Davidson .250 .305 .396 97 1.0 .195 .254 .308 58 -0.9
Shane McGuire .228 .320 .318 79 0.8 .171 .263 .236 43 -0.7
Joshua Kuroda-Grauer .259 .335 .289 78 0.2 .197 .277 .218 43 -0.4
Jeremy Eierman .211 .266 .379 79 0.6 .156 .212 .272 38 -0.8
Lazaro Armenteros .240 .331 .398 102 0.6 .177 .267 .284 58 -1.1
Henry Bolte .248 .318 .410 102 1.1 .190 .257 .304 61 -1.6
Kyle McCann .226 .303 .385 92 0.6 .167 .240 .281 48 -1.3
Jeisson Rosario .240 .324 .342 87 0.5 .182 .268 .255 50 -1.2
Quincy Nieporte .249 .316 .403 99 0.4 .191 .257 .303 59 -1.3
Luke Mann .224 .288 .355 76 0.6 .173 .235 .268 42 -1.6
Colby Halter .237 .314 .338 81 0.1 .179 .257 .243 42 -1.2
Drew Lugbauer .219 .288 .432 99 0.6 .160 .232 .307 53 -1.6
Casey Yamauchi .255 .310 .302 72 0.0 .200 .259 .228 39 -1.3
Jonny Butler .226 .299 .343 78 0.4 .176 .245 .263 43 -1.6
Stephen Piscotty .235 .297 .367 85 -0.2 .173 .238 .270 45 -1.1
Carlos Amaya .207 .248 .307 55 -0.3 .149 .187 .217 15 -1.2
Jared Dickey .258 .319 .393 99 0.4 .203 .266 .297 62 -1.8
Euribiel Angeles .259 .280 .341 75 0.3 .207 .229 .264 39 -1.8
Junior Perez .220 .284 .346 75 0.3 .169 .232 .267 40 -1.8
Nate Nankil .246 .322 .359 92 0.4 .195 .272 .275 54 -2.0
CJ Rodriguez .195 .278 .225 46 -0.2 .136 .224 .160 12 -1.4
Jack Winkler .214 .280 .315 67 0.2 .167 .233 .240 34 -1.9
Ryan Lasko .212 .292 .295 67 0.3 .168 .248 .224 36 -1.9
Sahid Valenzuela .223 .268 .287 56 -0.3 .170 .215 .215 22 -1.5
Cameron Masterman .231 .293 .358 83 -0.2 .164 .229 .260 39 -1.7
Caeden Trenkle .223 .283 .334 71 -0.3 .171 .228 .248 34 -1.7
Brayan Buelvas .228 .294 .352 81 0.1 .174 .237 .271 44 -2.2
Dereck Salom .206 .286 .260 55 -0.5 .154 .232 .200 25 -1.9
Jose Mujica .216 .252 .290 51 -0.6 .159 .195 .201 13 -1.7
T.J. Schofield-Sam .245 .289 .340 76 -0.3 .192 .238 .262 42 -2.3
Danny Bautista Jr. .240 .295 .324 72 -0.9 .183 .238 .244 37 -2.8
Jose Escorche .203 .245 .227 32 -1.4 .145 .190 .163 -1 -2.3

Batters – Platoon Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Brent Rooker .275 .361 .566 .265 .338 .518
Lawrence Butler .242 .297 .410 .254 .316 .445
Shea Langeliers .237 .305 .473 .230 .291 .447
Zack Gelof .232 .302 .421 .234 .293 .395
Esteury Ruiz .264 .341 .434 .247 .314 .366
Alejo Lopez .268 .335 .338 .257 .330 .346
JJ Bleday .216 .297 .395 .228 .324 .425
Jacob Wilson .297 .343 .462 .281 .329 .404
Colby Thomas .230 .285 .418 .236 .287 .429
Denzel Clarke .230 .300 .393 .216 .281 .370
Darell Hernaiz .253 .313 .377 .244 .292 .343
Max Muncy .234 .299 .363 .236 .300 .376
Brett Harris .230 .321 .331 .215 .299 .328
Abraham Toro .250 .315 .366 .235 .298 .377
Cooper Bowman .217 .298 .357 .213 .280 .328
CJ Alexander .213 .257 .370 .240 .289 .430
Miguel Andujar .276 .318 .407 .266 .308 .398
Armando Alvarez .248 .313 .398 .240 .299 .404
Seth Brown .218 .277 .356 .243 .298 .461
Carlos Perez .211 .289 .391 .203 .271 .359
Hoy Park .216 .308 .319 .220 .323 .332
Cole Conn .189 .269 .283 .188 .278 .269
Max Schuemann .228 .327 .345 .218 .311 .307
Daniel Susac .241 .282 .379 .224 .263 .331
Jordan Groshans .233 .302 .315 .226 .289 .293
Will Simpson .234 .309 .386 .228 .293 .375
Tyler Nevin .239 .321 .399 .230 .300 .369
Nick Kurtz .242 .295 .333 .258 .312 .392
Jordan Diaz .254 .300 .412 .245 .290 .381
Tyler Soderstrom .223 .283 .403 .222 .289 .415
Brennan Milone .233 .307 .363 .225 .291 .352
Logan Davidson .213 .273 .340 .224 .285 .353
Shane McGuire .193 .277 .265 .203 .295 .274
Joshua Kuroda-Grauer .231 .302 .256 .225 .303 .250
Jeremy Eierman .183 .245 .323 .184 .234 .325
Lazaro Armenteros .213 .308 .340 .208 .295 .339
Henry Bolte .219 .292 .358 .216 .288 .349
Kyle McCann .180 .261 .300 .203 .280 .347
Jeisson Rosario .202 .279 .284 .212 .302 .307
Quincy Nieporte .228 .292 .374 .219 .280 .344
Luke Mann .191 .255 .301 .202 .264 .311
Colby Halter .191 .267 .235 .212 .293 .306
Drew Lugbauer .176 .243 .336 .193 .266 .374
Casey Yamauchi .235 .286 .265 .224 .283 .264
Jonny Butler .183 .258 .258 .205 .272 .316
Stephen Piscotty .204 .278 .306 .204 .260 .319
Carlos Amaya .185 .224 .278 .174 .216 .248
Jared Dickey .216 .281 .319 .232 .297 .352
Euribiel Angeles .234 .259 .299 .230 .253 .310
Junior Perez .199 .274 .318 .191 .249 .302
Nate Nankil .228 .302 .338 .220 .292 .309
CJ Rodriguez .170 .270 .193 .162 .238 .192
Jack Winkler .199 .265 .291 .190 .252 .275
Ryan Lasko .194 .282 .256 .186 .264 .261
Sahid Valenzuela .193 .239 .229 .197 .239 .254
Cameron Masterman .205 .272 .313 .195 .257 .314
Caeden Trenkle .192 .250 .288 .199 .255 .288
Brayan Buelvas .207 .275 .345 .196 .256 .296
Dereck Salom .186 .276 .245 .178 .254 .224
Jose Mujica .191 .222 .265 .182 .221 .234
T.J. Schofield-Sam .204 .260 .275 .223 .266 .317
Danny Bautista Jr. .227 .281 .305 .209 .259 .276
Jose Escorche .177 .215 .194 .169 .216 .192

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Mason Miller R 26 3 1 2.81 56 0 64.0 42 20 6 22 93
Mitch Spence R 27 7 8 4.39 29 23 135.3 138 66 18 41 108
JP Sears L 29 9 10 4.48 28 27 154.7 152 77 26 44 128
Brady Basso L 27 5 5 4.19 26 20 103.0 101 48 15 28 91
Mason Barnett R 24 7 8 4.49 24 23 118.3 113 59 16 46 105
Jack Perkins R 25 3 3 4.22 19 15 74.7 70 35 9 29 68
J.T. Ginn R 26 5 7 4.59 24 22 113.7 116 58 14 39 84
Osvaldo Bido R 29 6 6 4.39 25 17 96.3 88 47 11 41 89
Hogan Harris L 28 6 7 4.57 29 20 112.3 107 57 14 54 99
Ken Waldichuk L 27 4 5 4.52 22 17 93.7 87 47 12 40 90
Domingo Robles L 27 5 6 4.47 22 16 88.7 92 44 11 29 63
Jack Cushing R 28 5 6 4.53 30 12 93.3 99 47 14 26 69
Jason Alexander R 32 5 5 4.70 24 21 105.3 115 55 14 31 70
Joe Boyle R 25 6 6 4.60 25 22 90.0 74 46 10 62 103
Joey Estes R 23 8 11 4.89 29 27 147.3 147 80 26 37 109
Will Johnston L 24 4 5 4.55 25 14 89.0 85 45 13 37 83
Chen Zhong-Ao Zhuang R 24 4 4 4.52 22 15 77.7 82 39 12 18 55
Kyle Muller L 27 4 4 4.59 27 14 100.0 102 51 13 36 80
Gunnar Hoglund R 25 6 8 4.81 22 21 106.7 112 57 17 30 75
Brandon Bielak R 29 4 5 4.56 28 14 96.7 103 49 13 37 68
Janson Junk R 29 5 5 4.60 26 15 88.0 95 45 12 26 61
Blake Beers R 26 7 9 4.87 25 21 122.0 126 66 19 42 89
Luis Medina R 26 4 6 4.69 19 16 80.7 76 42 9 41 73
James Gonzalez L 24 4 6 4.92 24 17 100.7 106 55 15 39 74
Scott Alexander L 35 3 3 3.92 48 3 41.3 40 18 4 13 31
Adrián Martínez R 28 4 6 4.81 25 13 86.0 89 46 12 32 66
Alex Wood L 34 4 5 4.79 17 13 73.3 74 39 10 26 63
Matt Krook L 30 4 4 4.54 32 8 67.3 60 34 7 41 69
David Leal L 28 4 5 4.70 26 7 76.7 83 40 11 18 48
Ross Stripling R 35 4 6 4.97 21 15 83.3 93 46 12 22 57
Michel Otanez R 27 4 4 4.05 55 0 60.0 48 27 6 35 76
Jake Walkinshaw R 28 2 3 4.74 15 13 49.3 54 26 7 17 33
Anthony Maldonado R 27 5 4 4.14 43 1 58.7 55 27 7 22 55
Kade Morris R 23 6 10 5.07 26 23 124.3 134 70 19 44 77
Michael Kelly R 32 3 2 4.04 37 0 42.3 40 19 4 16 39
Trevor Gott R 32 2 2 4.08 41 0 39.7 37 18 4 14 37
Jake Garland R 24 5 8 5.09 24 16 97.3 110 55 14 33 51
Grant Holman R 25 2 3 4.33 49 2 54.0 51 26 7 22 51
Tyler Ferguson R 31 4 4 4.39 58 1 67.7 58 33 8 33 71
Aaron Brooks R 35 4 5 5.07 19 10 71.0 82 40 11 21 41
Justin Sterner R 28 3 3 4.34 33 1 47.7 45 23 7 19 46
Francisco Perez L 27 2 3 4.30 40 0 46.0 42 22 5 24 46
T.J. McFarland L 36 3 2 4.31 56 0 48.0 50 23 5 16 34
Chase Cohen R 28 3 3 4.46 31 1 38.3 36 19 4 21 34
Colin Peluse R 27 3 5 5.09 30 8 69.0 75 39 11 24 45
Lincoln Henzman R 29 3 4 4.56 34 1 47.3 51 24 6 18 32
Ryan Cusick R 25 3 5 5.35 25 13 65.7 67 39 10 37 52
Will Klein R 25 2 3 4.61 42 1 52.7 49 27 6 32 52
Zach Jackson R 30 5 6 4.58 39 0 37.3 33 19 4 26 40
Seth Elledge R 29 3 3 4.64 36 0 42.7 43 22 6 16 34
Danis Correa R 25 1 2 4.97 32 1 38.0 36 21 5 21 34
Austin Adams R 34 1 2 4.71 47 0 36.3 27 19 4 22 47
Austin Pruitt R 35 2 4 5.10 31 3 42.3 46 24 8 12 27
Jack Weisenburger R 27 1 1 5.26 22 1 25.7 24 15 3 18 25
Stevie Emanuels R 26 0 1 4.82 22 0 28.0 26 15 4 15 27
Colton Johnson L 26 3 3 4.70 40 0 53.7 53 28 7 24 46
Dany Jiménez R 31 3 4 4.85 40 0 42.7 37 23 6 24 43
Sean Newcomb L 32 1 2 5.33 21 1 27.0 26 16 4 17 25
Gerson Moreno R 29 2 2 4.93 41 1 45.7 41 25 6 28 46
Gerardo Reyes R 32 2 3 4.89 41 0 42.3 38 23 6 24 43
Corey Avant R 23 3 5 5.35 31 6 69.0 74 41 10 36 51
Shohei Tomioka R 29 2 4 5.24 32 1 46.3 48 27 6 24 35
Tanner Dodson R 28 3 4 5.20 39 1 53.7 56 31 6 32 38
Pedro Santos R 25 2 4 5.36 41 2 48.7 47 29 7 34 47
Wander Guante R 25 3 5 5.53 26 9 84.7 94 52 15 37 54
Tyler Baum R 27 2 5 5.48 38 0 46.0 45 28 7 30 41

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ 3ERA+ FIP ERA- WAR
Mason Miller 64.0 13.1 3.1 0.8 8.6% 36.2% .273 146 145 2.66 68 1.5
Mitch Spence 135.3 7.2 2.7 1.2 7.0% 18.6% .294 94 95 4.35 107 1.3
JP Sears 154.7 7.4 2.6 1.5 6.8% 19.7% .279 92 91 4.76 109 1.3
Brady Basso 103.0 8.0 2.4 1.3 6.4% 20.9% .290 98 99 4.21 102 1.2
Mason Barnett 118.3 8.0 3.5 1.2 9.0% 20.6% .286 92 95 4.53 109 1.0
Jack Perkins 74.7 8.2 3.5 1.1 9.0% 21.2% .288 97 100 4.29 103 0.9
J.T. Ginn 113.7 6.7 3.1 1.1 7.9% 17.1% .291 90 92 4.59 112 0.8
Osvaldo Bido 96.3 8.3 3.8 1.0 9.9% 21.4% .285 94 93 4.40 107 0.8
Hogan Harris 112.3 7.9 4.3 1.1 10.9% 20.0% .288 90 91 4.66 111 0.8
Ken Waldichuk 93.7 8.6 3.8 1.2 9.8% 22.1% .288 91 93 4.43 110 0.7
Domingo Robles 88.7 6.4 2.9 1.1 7.5% 16.4% .292 92 93 4.49 109 0.7
Jack Cushing 93.3 6.7 2.5 1.4 6.5% 17.2% .294 91 92 4.55 110 0.6
Jason Alexander 105.3 6.0 2.6 1.2 6.8% 15.4% .298 87 85 4.63 114 0.6
Joe Boyle 90.0 10.3 6.2 1.0 15.0% 25.0% .284 89 93 4.60 112 0.6
Joey Estes 147.3 6.7 2.3 1.6 6.0% 17.7% .273 84 90 4.99 119 0.6
Will Johnston 89.0 8.4 3.7 1.3 9.5% 21.4% .288 90 96 4.53 111 0.6
Chen Zhong-Ao Zhuang 77.7 6.4 2.1 1.4 5.5% 16.8% .289 91 96 4.58 110 0.6
Kyle Muller 100.0 7.2 3.2 1.2 8.2% 18.2% .295 90 92 4.44 112 0.6
Gunnar Hoglund 106.7 6.3 2.5 1.4 6.6% 16.4% .286 85 90 4.86 117 0.6
Brandon Bielak 96.7 6.3 3.4 1.2 8.7% 16.0% .296 90 91 4.85 111 0.6
Janson Junk 88.0 6.2 2.7 1.2 6.8% 16.1% .297 89 89 4.52 112 0.5
Blake Beers 122.0 6.6 3.1 1.4 7.9% 16.8% .285 84 87 5.07 118 0.5
Luis Medina 80.7 8.1 4.6 1.0 11.2% 20.0% .291 88 91 4.57 114 0.5
James Gonzalez 100.7 6.6 3.5 1.3 8.8% 16.6% .293 84 89 4.96 120 0.4
Scott Alexander 41.3 6.8 2.8 0.9 7.3% 17.5% .286 105 96 4.03 95 0.4
Adrián Martínez 86.0 6.9 3.3 1.3 8.4% 17.3% .294 85 87 4.75 117 0.4
Alex Wood 73.3 7.7 3.2 1.2 8.2% 19.9% .296 86 81 4.58 116 0.4
Matt Krook 67.3 9.2 5.5 0.9 13.5% 22.8% .293 90 89 4.44 111 0.3
David Leal 76.7 5.6 2.1 1.3 5.5% 14.7% .290 88 90 4.73 114 0.3
Ross Stripling 83.3 6.2 2.4 1.3 6.1% 15.9% .303 83 77 4.51 121 0.3
Michel Otanez 60.0 11.4 5.3 0.9 13.0% 28.1% .296 101 104 3.99 99 0.2
Jake Walkinshaw 49.3 6.0 3.1 1.3 7.8% 15.1% .297 87 87 4.78 115 0.2
Anthony Maldonado 58.7 8.4 3.4 1.1 8.7% 21.7% .291 99 101 4.13 101 0.2
Kade Morris 124.3 5.6 3.2 1.4 8.0% 14.0% .287 81 86 5.28 123 0.2
Michael Kelly 42.3 8.3 3.4 0.9 8.8% 21.4% .298 102 99 3.84 98 0.2
Trevor Gott 39.7 8.4 3.2 0.9 8.4% 22.2% .295 101 97 3.83 99 0.2
Jake Garland 97.3 4.7 3.1 1.3 7.6% 11.8% .292 81 86 5.20 124 0.1
Grant Holman 54.0 8.5 3.7 1.2 9.4% 21.8% .291 95 100 4.36 105 0.1
Tyler Ferguson 67.7 9.4 4.4 1.1 11.2% 24.1% .281 94 92 4.39 107 0.1
Aaron Brooks 71.0 5.2 2.7 1.4 6.8% 13.2% .300 81 76 5.05 123 0.1
Justin Sterner 47.7 8.7 3.6 1.3 9.1% 22.1% .288 95 96 4.54 106 0.1
Francisco Perez 46.0 9.0 4.7 1.0 11.7% 22.4% .294 95 98 4.22 105 0.1
T.J. McFarland 48.0 6.4 3.0 0.9 7.7% 16.3% .298 95 87 4.30 105 0.0
Chase Cohen 38.3 8.0 4.9 0.9 12.2% 19.8% .291 92 92 4.56 109 0.0
Colin Peluse 69.0 5.9 3.1 1.4 7.9% 14.9% .291 81 84 5.08 124 0.0
Lincoln Henzman 47.3 6.1 3.4 1.1 8.5% 15.2% .298 90 89 4.81 111 0.0
Ryan Cusick 65.7 7.1 5.1 1.4 12.2% 17.2% .289 77 82 5.45 130 -0.1
Will Klein 52.7 8.9 5.5 1.0 13.4% 21.8% .297 89 93 4.62 112 -0.1
Zach Jackson 37.3 9.6 6.3 1.0 14.7% 22.6% .293 90 88 4.60 111 -0.1
Seth Elledge 42.7 7.2 3.4 1.3 8.5% 18.1% .289 89 89 4.68 113 -0.1
Danis Correa 38.0 8.1 5.0 1.2 12.1% 19.5% .287 83 88 5.07 121 -0.1
Austin Adams 36.3 11.6 5.4 1.0 13.8% 29.4% .277 87 81 4.83 114 -0.2
Austin Pruitt 42.3 5.7 2.6 1.7 6.6% 14.8% .281 81 75 5.35 124 -0.2
Jack Weisenburger 25.7 8.8 6.3 1.1 14.9% 20.7% .296 78 83 4.97 128 -0.2
Stevie Emanuels 28.0 8.7 4.8 1.3 11.7% 21.1% .286 85 88 4.82 117 -0.2
Colton Johnson 53.7 7.7 4.0 1.2 10.0% 19.2% .293 88 92 4.67 114 -0.2
Dany Jiménez 42.7 9.1 5.1 1.3 12.7% 22.8% .274 85 84 4.82 118 -0.2
Sean Newcomb 27.0 8.3 5.7 1.3 13.6% 20.0% .289 77 75 5.36 130 -0.2
Gerson Moreno 45.7 9.1 5.5 1.2 13.4% 22.0% .285 83 84 5.04 120 -0.2
Gerardo Reyes 42.3 9.1 5.1 1.3 12.7% 22.8% .283 84 80 4.90 119 -0.3
Corey Avant 69.0 6.7 4.7 1.3 11.2% 15.8% .298 77 83 5.32 130 -0.3
Shohei Tomioka 46.3 6.8 4.7 1.2 11.3% 16.5% .296 78 80 5.16 128 -0.3
Tanner Dodson 53.7 6.4 5.4 1.0 12.8% 15.2% .296 79 81 5.28 126 -0.4
Pedro Santos 48.7 8.7 6.3 1.3 14.5% 20.1% .294 77 82 5.46 130 -0.4
Wander Guante 84.7 5.7 3.9 1.6 9.6% 14.0% .290 74 78 5.73 134 -0.5
Tyler Baum 46.0 8.0 5.9 1.4 13.8% 18.8% .288 75 77 5.72 133 -0.6

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Mason Miller Daniel Bard Ricky Bottalico Ugueth Urbina
Mitch Spence Ben Lively 라이블리 Anthony DeSclafani Kyle Lohse
JP Sears Dennis Rasmussen Tom Browning Wei-Yin Chen
Brady Basso Ryan Edell Paul Minner John Means
Mason Barnett Jeff Hoffman Jorge De Paula Brian Rogers
Jack Perkins Tom Bruno John Hudgins Dick Pole
J.T. Ginn Mike Wright Jason Davis Shaun Anderson 앤더슨
Osvaldo Bido Manny Salvo Lynn McGlothen Derek Botelho
Hogan Harris Roenis Elias Al Milnar Rich Robertson
Ken Waldichuk Dennis Cook Trevor Wilson Ken Reynolds
Domingo Robles Joe Bircher Mike Antonini Adam Pettyjohn
Jack Cushing Joel Payamps Tim McClaskey Felipe Lira
Jason Alexander Jason Johnson Alex Cobb Bryan Rekar
Joe Boyle Dave Morehead Lowell Palmer Frank LaCorte
Joey Estes Pedro Ramos Matt Wisler Henderson Alvarez
Will Johnston Phil Nastu Carlos Perez Jeffrey Springs
Chen Zhong-Ao Zhuang Keith Brown Adrian Martin Trevor Harden
Kyle Muller Rafael Novoa Will Brunson Wilson Guzman
Gunnar Hoglund Tommy Hunter Chris Baker Jaime Barria 바리아
Brandon Bielak Rudy Paynich Braden Shipley Tim Adleman 아델만
Janson Junk Felipe Lira Glen Stabelfeld Fred Talbot
Blake Beers Taylor Clarke Matt Wisler Daniel Mengden
Luis Medina Carlos Pimentel Mike Erb Robert Ellis
James Gonzalez Sam McConnell Bill Edgerton Mike Maroth
Scott Alexander Rich Rodriguez Rheal Cormier Tom Hilgendorf
Adrián Martínez Erick Fedde 페디 Brock Stewart Cy Sneed
Alex Wood Orlando Lara Ed Wells Howie Pollet
Matt Krook David Purcey Steve Randolph Dan Meyer
David Leal Ramon Garcia Doug Simons Mike Caldwell
Ross Stripling Charles Nagy Dick Ruthven Chien-Ming Wang
Michel Otanez Marty Decker Craig Pippin Brooks Lawrence
Jake Walkinshaw Dave Gil Doug Sessions Joe Edelen
Anthony Maldonado Phil Clark Todd Frohwirth Bubbie Buzachero
Kade Morris Henderson Alvarez Matt Wisler Tyler Mahle
Michael Kelly Luis Aponte Danny Kolb Bert Roberge
Trevor Gott John Flinn Luis Vazquez Bert Roberge
Jake Garland P.J. Campbell Junior Herndon Emerson Martinez
Grant Holman Edgar Martinez Tim Scott Jeff Bennett
Tyler Ferguson Ted Power Calvin Schiraldi Dar Smith
Aaron Brooks Bob Bruce Ray Benge Eric Show
Justin Sterner Carlos Muniz Paul Smyth Mark Hutton
Francisco Perez Carl Sadler Bob Myrick Danny Coulombe
T.J. McFarland Jim Kaat Lee Guetterman Stubby Overmire
Chase Cohen Jeff Terpko Juan Cerros Joe Kerrigan
Colin Peluse Dillon Tate Al Widmar Johan Belisario
Lincoln Henzman Chris George Jeff Gray Jason Karnuth
Ryan Cusick Mike Franco John Dillinger Mike Zolecki
Will Klein Michael Nix Jose Ortega Brennan Garr
Zach Jackson Dave Campbell Gene Harris Fred Lasher
Seth Elledge Joe Cotton Mike Roesler Jake McMurran
Danis Correa Rick Raether Tim Meckes Brian Cofer
Austin Adams Wade Davis Jose Veras Roger Nelson
Austin Pruitt Dale Mohorcic Jim Acker Dave Hillman
Jack Weisenburger Rick Raether David Wong Joe Bruno
Stevie Emanuels Daniel Gorden David Wong Perry Swanson
Colton Johnson Frank Brooks Yunior Novoa Jason Pearson
Dany Jiménez Alan Mills Vicente Romo Bob Humphreys
Sean Newcomb Greg McCarthy Bill Scherrer Mike Willis
Gerson Moreno Ryan Bukvich Doug Bochtler Kyle Martin
Gerardo Reyes Sammy Stewart Calvin Jones Dave Jolly
Corey Avant Tom Wasilewski Shawn Onley Wes Hutchison
Shohei Tomioka Matt Peterson Chris Malone Evan Englebrook
Tanner Dodson Clint Everts Jean Machi J.C. Ramirez
Pedro Santos Jesus Liranzo Jhondaniel Medina Adam Lau
Wander Guante Dustin Hurlbutt Jesus Tinoco Henry Gomez
Tyler Baum Barry Manuel Corey Copping Benito Malave

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
Mason Miller .180 .266 .315 .183 .256 .292 2.3 0.5 1.97 3.97
Mitch Spence .256 .316 .416 .261 .316 .430 2.2 0.4 3.85 4.97
JP Sears .235 .289 .355 .257 .318 .474 2.2 0.2 3.96 5.07
Brady Basso .231 .283 .393 .259 .310 .434 1.9 0.3 3.67 4.94
Mason Barnett .242 .315 .386 .249 .329 .427 1.8 0.2 3.95 5.08
Jack Perkins .246 .340 .406 .238 .301 .377 1.4 0.3 3.61 4.84
J.T. Ginn .279 .350 .478 .243 .313 .364 1.5 0.1 4.11 5.21
Osvaldo Bido .236 .335 .406 .239 .322 .371 1.4 0.0 3.90 5.16
Hogan Harris .261 .357 .423 .240 .329 .394 1.5 -0.1 4.04 5.27
Ken Waldichuk .219 .308 .305 .249 .332 .440 1.4 -0.1 3.94 5.32
Domingo Robles .250 .311 .370 .267 .328 .444 1.2 0.0 3.99 5.16
Jack Cushing .266 .319 .468 .266 .312 .422 1.2 0.0 3.98 5.20
Jason Alexander .278 .340 .474 .266 .317 .406 1.2 0.0 4.21 5.28
Joe Boyle .216 .354 .364 .222 .343 .364 1.4 -0.5 3.92 5.62
Joey Estes .243 .309 .426 .263 .311 .473 1.5 -0.4 4.34 5.49
Will Johnston .262 .316 .430 .238 .321 .414 1.3 -0.1 3.98 5.21
Chen Zhong-Ao Zhuang .265 .314 .429 .265 .305 .469 1.2 0.0 3.87 5.24
Kyle Muller .234 .308 .375 .270 .330 .442 1.1 -0.2 4.10 5.33
Gunnar Hoglund .279 .339 .488 .251 .302 .413 1.3 -0.1 4.26 5.46
Brandon Bielak .263 .335 .408 .272 .342 .456 1.1 0.0 4.09 5.07
Janson Junk .276 .328 .454 .265 .316 .423 1.0 0.0 4.10 5.21
Blake Beers .262 .339 .436 .260 .328 .453 1.4 -0.2 4.31 5.39
Luis Medina .248 .345 .412 .239 .337 .377 1.0 -0.1 4.20 5.35
James Gonzalez .254 .328 .377 .269 .339 .469 0.9 -0.3 4.49 5.51
Scott Alexander .220 .281 .322 .265 .327 .422 0.7 -0.1 3.19 4.98
Adrián Martínez .267 .349 .445 .258 .318 .423 1.0 -0.3 4.27 5.49
Alex Wood .250 .305 .342 .258 .339 .455 0.9 -0.2 4.14 5.56
Matt Krook .190 .309 .266 .253 .359 .416 0.9 -0.5 3.86 5.65
David Leal .264 .313 .396 .273 .323 .468 0.7 -0.3 4.19 5.42
Ross Stripling .261 .308 .420 .291 .332 .480 0.8 -0.4 4.38 5.88
Michel Otanez .200 .333 .358 .225 .336 .341 0.8 -0.5 3.36 5.03
Jake Walkinshaw .276 .333 .460 .270 .328 .432 0.5 -0.1 4.27 5.34
Anthony Maldonado .262 .344 .411 .225 .288 .375 0.7 -0.3 3.51 4.85
Kade Morris .291 .364 .496 .251 .321 .414 0.9 -0.5 4.64 5.56
Michael Kelly .243 .333 .365 .244 .303 .389 0.5 -0.2 3.37 5.04
Trevor Gott .254 .324 .418 .233 .302 .349 0.5 -0.2 3.39 5.00
Jake Garland .283 .348 .487 .275 .336 .425 0.6 -0.4 4.72 5.59
Grant Holman .247 .333 .381 .241 .312 .420 0.6 -0.3 3.72 5.00
Tyler Ferguson .252 .360 .487 .204 .301 .282 0.8 -0.5 3.58 5.06
Aaron Brooks .281 .338 .481 .286 .335 .461 0.5 -0.3 4.53 5.65
Justin Sterner .250 .327 .432 .237 .318 .402 0.5 -0.4 3.62 5.26
Francisco Perez .217 .309 .317 .248 .341 .419 0.5 -0.3 3.58 4.97
T.J. McFarland .237 .280 .395 .281 .357 .412 0.4 -0.5 3.61 5.26
Chase Cohen .250 .377 .391 .238 .316 .381 0.3 -0.4 3.87 5.21
Colin Peluse .262 .333 .429 .280 .331 .493 0.4 -0.5 4.54 5.71
Lincoln Henzman .279 .344 .442 .262 .336 .417 0.3 -0.4 3.98 5.18
Ryan Cusick .263 .366 .465 .255 .351 .414 0.4 -0.6 4.79 6.00
Will Klein .258 .381 .419 .227 .317 .364 0.4 -0.6 4.00 5.33
Zach Jackson .234 .372 .406 .228 .333 .354 0.3 -0.7 3.66 5.90
Seth Elledge .268 .342 .493 .247 .315 .381 0.2 -0.5 3.99 5.43
Danis Correa .235 .350 .441 .253 .355 .380 0.1 -0.5 4.38 5.88
Austin Adams .203 .365 .390 .200 .358 .320 0.2 -0.6 3.83 6.20
Austin Pruitt .253 .317 .453 .284 .330 .495 0.1 -0.5 4.50 6.02
Jack Weisenburger .261 .393 .370 .226 .333 .434 0.0 -0.5 4.61 6.43
Stevie Emanuels .250 .350 .442 .232 .323 .393 0.1 -0.5 4.10 5.61
Colton Johnson .238 .329 .365 .259 .337 .435 0.2 -0.5 4.04 5.27
Dany Jiménez .247 .360 .411 .213 .311 .393 0.3 -0.7 3.90 6.06
Sean Newcomb .233 .343 .433 .253 .367 .427 0.0 -0.5 4.60 6.77
Gerson Moreno .244 .385 .410 .227 .327 .381 0.2 -0.7 4.21 5.85
Gerardo Reyes .243 .356 .446 .227 .330 .375 0.1 -0.7 4.07 5.92
Corey Avant .263 .363 .438 .273 .354 .453 0.1 -0.9 4.87 6.10
Shohei Tomioka .253 .356 .425 .271 .360 .427 0.0 -0.8 4.54 6.14
Tanner Dodson .253 .353 .404 .272 .382 .421 0.0 -0.8 4.59 5.91
Pedro Santos .256 .390 .442 .240 .355 .404 0.0 -0.9 4.73 6.22
Wander Guante .294 .373 .485 .258 .337 .472 0.0 -1.2 5.06 6.27
Tyler Baum .232 .357 .366 .265 .387 .480 -0.2 -1.0 4.85 6.46

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

Hitters are ranked by zWAR, which is to say, WAR values as calculated by me, Dan Szymborski, whose surname is spelled with a z. WAR values might differ slightly from those that appear in the full release of ZiPS. Finally, I will advise anyone against — and might karate chop anyone guilty of — merely adding up WAR totals on a depth chart to produce projected team WAR.

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


Blake Snell Continues His NL West Tour With a Five-Year Dodgers Pact

Jayne Kamin-Oncea-USA TODAY Sports

If you’re a team in the market for a top starting pitcher this winter, cross one of the best off your holiday list. The Dodgers, a team desperately in need for dependable starting pitchers whose arms are fully connected at the shoulders and elbows, signed Blake Snell to a five-year contract worth $182 million. The deal also includes a $52 million signing bonus. Snell, one of last year’s big name free agents who signed a shorter-term deal after not getting the offer they wanted, started 20 games for the Giants in 2024, putting up a 3.12 ERA, a 2.43 FIP, and 3.1 WAR in a season that was marred by an adductor strain. Compared to last winter, when Snell’s fate went unanswered until he signed in late March, you might as well start calling him Blake Schnell. Wait, don’t do that, that’s a terrible joke even by my standards.

Left-hander Blake Snell and the Los Angeles Dodgers are in agreement on a five-year, $182 million contract, pending physical, sources tell me and @jorgecastillo. The World Series champions get the two-time Cy Young winner in the first nine-figure deal of the winter.

Jeff Passan (@jeffpasan.bsky.social) 2024-11-27T04:00:23.933Z

One of the biggest risks a team winning the World Series faces is complacency. It’s a perfectly natural thing to feel pleased with the moves that led to your team winning a championship, but a team that believes it can mostly stand pat and run it back is planting the seeds of its own demise. Even with all the talent on their team, the Dodgers still have significant roster holes to fill this offseason, and it’s a good sign for those hoping for a repeat that less than a month after hoisting the trophy, they’ve already addressed one of those weaknesses. Whatever one thinks of Dave Roberts as a manager, it’s difficult to deny that he did a convincing job this past postseason managing a pitching staff that basically had two healthy and reliable starting pitchers. The Dodgers won the World Series despite their injury-thinned rotation, not because of it.

Now, Snell isn’t the type to give you seven or eight innings per start. Who is in 2024, really? What Snell brings to the table – outside of being a really good pitcher – is that he has a pretty solid record when it comes to injury. That’s not to say that he doesn’t get hurt. On the contrary, only twice has he made at least 30 starts in a season. However, what he has avoided are the serious injuries that cause pitchers to miss months or entire seasons. His IL stints are generally for short-term nagging ailments, frequently adductor strains. His worst elbow injury was a procedure to remove loose bodies in his elbow about five years ago, not major reconstructive surgery. The Dodgers will be happy to get their five or six innings from him 25 or so times a year.

Given what the Dodgers have faced injury-wise these last few years, that may be especially valuable to them. Bad luck has to figure into some of these injuries, but their problems in October was the downside of the approach they’ve taken toward the pitching staff in recent seasons. The Dodgers haven’t really prioritized certainty among their pitchers. Instead, they’ve depended on high-upside, high-risk guys such as Tyler Glasnow, late-era Clayton Kershaw, and any of the young flamethrowers who dominate upon arrival before blowing out their arms. For the most part, the Dodgers have made this work because they’ve kept enough of these pitchers around to put together a capable rotation of four or five pitchers at any given moment. Generally, this has proven an effective strategy for the Dodgers, but this time, they rolled snake eyes a few times in a row, and ended up in a difficult situation at the most crucial time of the year. They made it work, but they are smart enough to recognize they might not be able to thread the needle through such a narrow margin for error again.

So, what about Snell himself? Let’s run the projections for him with the Dodgers.

ZiPS Projection – Blake Snell
Year W L ERA G GS IP H ER HR BB SO ERA+ WAR
2025 14 6 2.87 28 28 150.2 111 48 14 63 186 143 3.8
2026 14 5 3.05 28 28 147.2 113 50 14 62 176 134 3.5
2027 13 6 3.19 27 27 144.0 116 51 15 59 165 128 3.1
2028 12 6 3.38 27 27 138.1 117 52 16 58 153 121 2.7
2029 11 7 3.61 26 26 132.0 118 53 16 57 139 113 2.3

The Dodgers are projected as one of the absolute best teams for Snell to end up with, and ZiPS projects performance that it would value at five years, $144.2 million. That’s a bit below the actual $182 million deal he received, but then again, so is the actual contract itself! As with Shohei Ohtani, the top dollar figure becomes a bit less sexy when you consider how the deal is structured. Some of the money is deferred, to the extent that it drops the present value enough so that the deal is worth more in the neighborhood of $160 million instead.

In some respects, Snell’s 2024 season was more impressive than the 2023 campaign that earned him the second Cy Young award of his career. Snell allowed a lot of walks in 2023, but he survived it because he was excellent with runners on base. That’s the kind of thing that’s hard to sustain, but he didn’t have to in 2024, as he shaved off the extra walk per game he’d added the year before. Snell’s strikeout rate was the best of his career, and it was powered by a career best in contact percentage. Snell has been a successful starter in the majors for years, but he has more varied tools now than he did before. Most notably, his changeup has become more of a weapon against righties, especially with two strikes.

With Snell under contract, the Dodgers rotation looks something like this: Snell, Yoshinobu Yamamoto, Glasnow, and Shohei Ohtani, along with whichever one or two other starters are healthy at any given time. At least in the way-too-early ZiPS positional projections for 2025, Snell’s arrival leapfrogs the Dodgers over the Phillies, Mariners, and Braves for the top rotation in the majors, though things can change a bit depending on how your distribute the innings. And the Dodgers might not be done adding to their rotation, either. They are expected to be serious contenders to sign Roki Sasaki, and they could still bring back Kershaw on another one-year deal.

Does adding Snell fundamentally change the outlook for the Dodgers? Not really; they were always going to be a contender in 2025. However, what signing Snell does is give the Dodgers a better chance to get through the season with fewer surprises and go deep into the playoffs again. Not since the 1999-2000 Yankees a quarter century ago has a team won consecutive championships. Snell puts the Dodgers in a strong position to alter that factoid.


2024 Was a Great Year for Bunts

Eric Canha-USA TODAY Sports

It’s a shame that “bunts are bad” has become one of the truisms at the core of the ceaseless, silly battle between old school and new school, stats and scouts, quantitative and qualitative assessment methods. It’s understandable, because “stop bunting so much” was one of the first inroads that sabermetric analysts made in baseball strategy. But that was 25 years ago, and while everyone kept repeating that same mantra, the facts on the ground changed.

Sacrifice bunts by non-pitchers have plummeted over the years, as they should have. In recent years, the bunts that are left, the ones that teams haven’t streamlined out of their game planning, are mostly the good ones. “Bunts are bad” never meant that in totality; it just meant that too many of the times that teams sacrificed outs for bases were poor choices. That’s become much more clear now that pitchers don’t bat anymore. The 2022 season, the first full year of the universal DH, set a record for most runs added by bunting. After a down 2023, this season was right back near those banner highs. So let’s recap the ways teams beat the old conventional wisdom and assembled a year of bunting that the number-crunchingest analyst on the planet could appreciate.

The Death of the Worst Sac Bunts
When is a good time to bunt? It’s complicated! It depends on where the defense is playing, the score of the game, who’s on base, the player at the plate, the subsequent hitters due up, and myriad other minor factors. But there’s one overwhelming factor: There are base/out states where bunts are almost always a bad idea, and the more you avoid those, the better.

Sacrifice bunting with only a runner on first almost never makes sense. You’re getting just a single advancement, and it’s the least valuable advancement there is. Getting a runner to third with only one out is an admirable goal. Moving two runners up is even better. Squeeze plays have huge potential rewards. Moving a guy from first to second just doesn’t measure up.

Likewise, bunting gets worse when there’s already one out in the inning. Plate appearances with runners on base are worth their weight in gold in the modern, homer-happy game. Crooked numbers are tough to come by, and the easiest way to get them is by stacking up opportunities to hit multi-run homers. When you already have a runner on base, bunts are always suspect. Bunts that cut out half of your remaining outs in the inning are even worse.

There are occasional circumstances where these types of bunts make sense. If the batter thinks they’ll beat out a hit fairly often, bunting gets better. The weaker the hitter and the better the subsequent lineup, the more attractive bunts get. Close games and speedy runners can tip the balance. It’s not a universally bad decision to bunt with only a runner on first, or to bunt with one or more outs, but the higher the proportion of bunts that move a runner to third with less than two outs, the better.

To get an idea of how much this has changed while removing pitchers from the equation, I looked at the 2015-2019 seasons and excluded all plate appearances from the ninth spot in the batting order. That’s not a perfect way of removing pitchers, but it gets pretty close. I used this to get an idea for what percentage of bunts came in favorable situations – with at least a runner on second and no one out.

In those years, 23.2% of bunts occurred in the best situations for a sacrifice. After removing bases-empty bunts, which are clearly a different animal, we’re left with bunts in situations where a sacrifice isn’t particularly valuable. Those ill-conceived bunts cost teams roughly 0.1 runs per bunt, a shockingly high number. All other bunts – attempts for a hit or attempts to move a runner to third with only one out – carried positive run expectancy. It’s just that there were so many bunts in bad spots.

In 2024, 31.7% of bunts came in “good sacrifice” situations, with a runner on second and no one out. Increasingly, the “bad sacrifice” situations are now about going for a single with some ancillary benefits of runner advancement. On-base percentage on bunts with runners on base is up. In 2024, 25% of the bunts with runners on base ended with the batter reaching base safely, via hit, failed fielder’s choice, or error. That’s up from 22% (non-pitcher) in the 2015-2019 era, and from 17.7% from 2008 to 2012. If anything, that understates it too: Plenty of the worst hitters in baseball used to bat in front of pitchers, which limited their bunting opportunities.

Impressive Individual Efforts
Jose Altuve bunted 14 times this year. Nine of those turned into singles. That was the best performance by anyone with double-digit bunts, but it was hardly the only exceptional effort. Jake McCarthy bunted 21 times and racked up 10 singles. Luke Raley went 7-for-12. This one from Altuve was just perfect:

That’s not to say there have never been good bunters before. Dee Strange-Gordon consistently turned bunts into singles at a high clip. Altuve has been in the majors for a while. But the high-volume bunters in today’s game are more effective than they were 10 years ago in the aggregate. There are also fewer truly objectionable bunters. Francisco Lindor bunted 20 times in 2015 and reached base safely only three times. Fellow 2024 Met Jose Iglesias bunted 12 times and reached base once. There were still some bad bunters – Kevin Kiermaier and Kyle Isbel had awful results, for example – but it’s become far less common.

Bunting for a single is hardly the only positive outcome, of course. That’s why you bunt in the first place – because bunts lead to more productive outs, on average, than swinging away. Advancement is more likely and double plays are less likely. Individual efforts of the top few bunters have always been net positive. These days, those top bunters are accounting for a bigger share of overall bunts, and the results have improved proportionally.

Bunters Were Already Good
Here’s a secret: The wars were already over. In 2002, bunters batting in the 1-8 spots in the lineup cost their teams 36 runs relative to a naive expectation based on the base/out state when they batted. In 2004, that number swelled to -63 runs. It was negative in 11 of the 12 seasons from 2000-2011, with roughly 2,000 bunts a year from this cohort, which largely excludes pitchers.

The number of non-pitcher bunt attempts declined as the 21st century progressed into its second decade. By 2015, we were down to 1,500 a year or so and steadily declining. The bunts excised from the game were all the lowest-value bunts, the ones most likely to hurt the batting team. From 2012 onward, non-pitchers have produced positive value on their bunt attempts every single year. Meanwhile, bunt attempts have declined and then stabilized, around 1,100-1,200 per year. Teams aren’t dummies – they’ve cut out 800 bunts a year, or more than 25 per team, and those bunts are pretty much all the no-hope-for-a-single sacrifice attempts that drew statistically minded folks’ ire in the first place.

In that sense, you’re not really seeing anything completely new in 2024. The very best bunters in the game are a little bit better than they used to be, but not overwhelmingly so. They’re choosing better spots, but not overwhelmingly so. They’re succeeding more frequently when they aim for a hit, but good bunters have always been good at that. The real change is in the bunts that aren’t happening.

The Mariners
I’ll be honest: I didn’t expect the Mariners to top the list of best bunting teams. They seem too station-to-station, too offensively challenged, too reliant on the home run. What can I say? Appearances can be deceiving. Led by Raley, an unlikely but enthusiastic bunter, the Mariners had a league-best performance. This one was just perfect:

It was a great situation for a bunt. The Astros were shifted over toward Raley’s pull side, which left third baseman Alex Bregman on an island covering third and prevented him from crashing early. Raley disguised the bunt long enough to get everything moving, and then used his sneaky-blazing footspeed to beat it out. It’s a masterpiece of bunting.

Victor Robles is less about masterpieces and more about maximum effort. He bunts too often for his own good. That leads to a lot of iffy bunts, but also some gems:

That’s another one where reading the defense made all the difference. The Rays shifted their middle infielders away from first, which meant a bunt past the pitcher would leave Yandy Díaz helpless. This one also benefited from a bit of defensive confusion, as many good bunts do. Who was covering second when Díaz fielded the ball? More or less no one:

Hey, every little bit helps when you’re bunting. And while plenty of other Mariners contributed to their success as well – Leo Rivas and Jorge Polanco know how to handle a bat – I had to close this out with another gem from Raley. Sure, it’s against the White Sox, but those runs count too. Raley is just vicious when it comes to attacking good spots to bunt:

It’s not every day that you see a squeeze bunt go for a no-throw single. But again, Raley read the defense and placed the ball perfectly. Not much you can do about this:

Altuve might have the advantage in raw numbers, but no one made me sit up in my seat hoping for a bunt like Raley did this year. Hat tip to Davy Andrews for highlighting his hijinks early in the year, and Raley just never stopped going for it.

The Angels
By all rights, this article should be over. The Mariners were the best bunters this year, Raley was their ringleader, and they exemplified the way bunts are making offenses better in today’s game. But the Angels are altogether more confusing and more giffable, so I’m giving them a shout too.

You’d think that Ron Washington’s team would be at the very top of the bunt rate leaderboards, but the Halos attempted only 25 bunts this year, half the Mariners’ tally and seventh-lowest in baseball. The reason why is obvious: They weren’t that good at it. They weren’t the worst team in terms of runs added – that’d be the Nats, who were both prolific and bad at bunting this year – but they were impressively inefficient. No one with so few bunt attempts was nearly so bad in the aggregate.

They bunted in bad spots. They rarely reached base even when the defense was poorly positioned. This might be the worst bunt attempt you’ve seen this year:

Unless it’s this:

The lesson: Stop with all these squeeze bunts. Unless it’s against the White Sox, that is:

See, our story has a happy ending for the bunters after all. I love bunts, and I’m not afraid to use this platform to show it.


The New Adventures of Old First Basemen

Matt Krohn-USA TODAY Sports

Last week, I wrote about Paul Goldschmidt’s prospects in free agency, but didn’t speculate on a landing spot for the 2022 NL MVP. Not to worry — when the FanGraphs Bluesky account recirculated the piece on Monday, the public weighed in. One respondent thought the Yankees made sense, and while I don’t think the fit is ideal for either player or club, the underlying logic is reasonable enough. And here I’ll add my own spin on a potential Goldschmidt-Yankees partnership: It sure feels like the Yankees love old first basemen.

In 2024, 34-year-old Anthony Rizzo and 35-year-old DJ LeMahieu combined for 548 plate appearances and 1017 2/3 defensive innings at first base for the Yankees. (All ages in this piece are relative to the standard June 30 cutoff date unless otherwise specified.) That’s 81.5% of the Yankees’ playing time by plate appearances and 70.0% by defensive innings. Over the past five years, Yankees first basemen have the highest average age in the league. Since Don Mattingly turned 30 in 1991, the Yankees’ most-used first baseman has been in his age-30 season or older in 28 of 34 seasons. In 12 of those seasons, the Yankees’ most-used first baseman has been 33 or older, including in 2023 and 2024.

This got me thinking about the idea of the old first baseman. Read the rest of this entry »


JAWS and the 2025 Hall of Fame Ballot: Ichiro Suzuki

Andrew Weber-USA TODAY Sports

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

In a home run-saturated era, Ichiro Suzuki stood out. Before coming stateside, the slightly-built superstar earned the moniker the “Human Batting Machine” from Japanese media, and he hardly missed a beat upon arriving in Seattle in 2001, slapping singles and doubles to all fields in such prolific fashion that he began his major league career by reeling off a record 10 straight 200-hit seasons. Along the way, he set a single-season record with 262 hits in 2004, and despite not debuting until age 27, he surpassed the 3,000-hit milestone. Between Nippon Professional Baseball and Major League Baseball, he totaled 4,367 hits, making him the International Hit King — a comparison that rankled some, including the Hit King himself, Pete Rose.

Despite his small stature (listed at 5-foot-11, 175 pounds), Suzuki was larger than life, an athlete on a first-name basis with two continents full of fans. Wearing “Ichiro” on the back of his jersey — his manager’s idea of a promotional gimmick — he built his legend in Japan by winning seven straight batting titles (1994–2000) and three straight MVP awards for the Orix Blue Wave, whom he led to a Japan Series championship in 1996. When he joined the Mariners, he faced widespread skepticism about whether his style of play would translate, because while NPB star Hideo Nomo had enjoyed considerable success with the Dodgers upon arriving in 1995, no Japanese position player had made the transition to MLB before. The Mariners — who within the previous two years had shed superstars Randy Johnson, Ken Griffey Jr., and Alex Rodriguez from their squad — won Suzuki’s rights and signed him, but his struggles in his first spring training caused manager Lou Piniella concern. Yet it all worked out, and in spectacular fashion. Suzuki led the AL with a .350 batting average, won Rookie of the Year and MVP honors while helping the Mariners to a record 116 wins, and began 10-year streaks of All-Star selections and Gold Glove awards.

All of this played out during a time when sabermetricians downplayed the value of batting average relative to on-base and slugging percentages. Like Derek Jeter, Suzuki was more a fan favorite than a stathead one, though his additional contributions on the bases and in right field helped him rank third among all position players for that decade-long stretch with 54.8 WAR, trailing only Albert Pujols (81.4) and Rodriguez (71.5). But Suzuki wasn’t just about the numbers. Beneath his near-religious devotion to routine burned a competitive fire that was offset by a sly sense of humor, both of which featured copious quantities of f-bombs that were hardly lost in translation, to hear others tell the stories. Read the rest of this entry »


Sunday Notes: Tyler Holton Deserved His Down-Ballot MVP Vote

Tyler Holton got a 10th-place vote in American League MVP balloting, and as you might expect, social media reacted like social media is wont to do. Responses to the news leaned negative, with a number of people saying that they had have never even heard of him. Some were disrespectfully profane, offering variations of “Who the [expletive] is Tyler Holton?”

Needless to say, not everyone who posts on social media platforms is an especially-knowledgeable baseball fan. Which is perfectly fine. There are many different levels of fandom, so if you mostly just know the big names — the Judges, the Sotos, the Witts — all well and good. Follow the game as you see fit.

Those things said, it is high time that more people become familiar with Holton. Much for that reason, Toronto Star columnist Mike Wilner doesn’t deserve the brickbats he’s received for his down-ballot nod to the 28-year-old Detroit Tigers southpaw. What he deserves is applause. And not just because he was willing to go outside the box. Holton has quietly been one of MLB’s most effective pitchers.

The numbers tell part of the story. Read the rest of this entry »


Athletics Top 42 Prospects

Dylan Widger-USA TODAY Sports

Below is an analysis of the prospects in the farm system of the Athletics. Scouting reports were compiled with information provided by industry sources as well as our 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 »


2025 ZiPS Projections: Philadelphia Phillies

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

Batters

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


2025 ZiPS Projections: Atlanta Braves

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 Atlanta Braves.

Batters

This past year was a bit of a trainwreck for the Braves, but an unusual one, in that with so much going wrong, they still won 89 games and made the playoffs, if by the skin of their teeth. The lineup still looks fundamentally similar to the one that everyone liked going into the season, just one that’s a bit riskier with an extra year of age and an extended recent history of significant injuries. The depth chart graphic below is a bit too generous for my taste with some of the playing time for the injured players, with Austin Riley, Michael Harris II, and Ozzie Albies all with current projections above 650 plate appearances and Ronald Acuña Jr. just below 600. However, even with being a bit more conservative about health, Atlanta should have a lot of dangerous weapons. In other words, even if expectations should be tempered slightly, there’s nothing fundamentally broken about this offense.

ZiPS shares Steamer’s optimism when it comes to Harris. I was a bit surprised by the projection too – and surprised to see Steamer also very high on him – but it’s easy to forget that Harris only turns 24 in March, so there’s still a realistic possibility that he improves, perhaps significantly, and projections do have to account for that. Interestingly enough, both projection systems think there’s some power upside remaining from him, too.

Honestly, there’s not much in the way of actual surprises in the offensive projections. The only significant loss is Sean Murphy’s catching sidekick, Travis d’Arnaud, but this is one of the places where the Braves could afford to let someone walk. Drake Baldwin and Chadwick Tromp may sound like 80s movies antagonists who head up the rich kids’ summer camp across the lake, but they’re more than suitable caddies for Murphy. Baldwin in particular didn’t come out of nowhere, either; he was the no. 30 prospect in baseball in our updated 2024 prospect rankings.

Nacho Alvarez Jr. already projects as a viable replacement for Orlando Arcia when the time comes (probably after 2025), but the projections aren’t bullish on the farm once you get past Baldwin and Alvarez. Atlanta would be smart to be active in the non-roster invitee sweepstakes this winter.

Pitchers

Subtracting Max Fried is a pretty big deal, so adding a pitcher – perhaps Fried himself – should be the team’s top priority. Chris Sale returned to form in a big way in 2024, winning the NL Cy Young award and leading all pitchers with 6.4 WAR, but one can’t be too confident in his health; he turns 36 at the end of March, and the 177 2/3 innings he pitched this year were easily his most in a season since 2017. Reynaldo López as a full-time starter went better than anyone could have reasonably expected, but he’s probably going to give back some of that ERA in 2025. With Strider returning from internal brace surgery sometime early in 2025 and Schwellenbach getting a surprisingly spectacular projection, the Braves should be pleased that Spencers will make up two of the top four in their rotation. I’m just not excited, especially given the injury concerns in the rotation, about not having another option better than Griffin Canning or Ian Anderson for the last slot. From a prospect standpoint, ZiPS doesn’t see a whole lot of upside in the minors beyond AJ Smith-Shawver.

The problems that faced Atlanta elsewhere this season mostly spared the bullpen, which finished the season ranked third in WAR and second in FIP in the majors. It’s still a unit that’s in pretty good shape, with five of its six relievers used in the highest leverage situations already under contract for 2025. (A.J. Minter is the free agent.) But free agent departures have thinned out the bottom half of the ’pen considerably, and Joe Jiménez will miss most, if not all, of the 2025 season, so the Braves are probably going to have to do more than stand pat here. That said, because they’re looking for depth, they don’t necessarily have to fish in the deep end of the free agent pool.

So, where are the Braves now? They ought to enter the season with one of the best win projections in baseball, somewhere in the mid-90s. A healthy Strider and Acuña alone would have been more than enough to get the relatively disappointing 2024 squad to that level. This is a top franchise, but there’s a little more risk this time around.

Ballpark graphic courtesy Eephus League. Depth charts constructed by way of those listed here. Size of player names is very roughly proportional to Depth Chart playing time.

Batters – Standard
Player B Age PO PA AB R H 2B 3B HR RBI BB SO SB CS
Ronald Acuña Jr. R 27 RF 547 466 105 137 26 2 26 77 69 103 36 8
Michael Harris II L 24 CF 560 521 78 153 29 4 20 75 30 112 15 5
Austin Riley R 28 3B 604 539 85 148 30 2 29 88 50 147 1 0
Matt Olson L 31 1B 655 567 85 143 33 1 32 101 77 153 1 0
Sean Murphy R 30 C 417 365 46 86 19 1 17 56 40 100 0 0
Marcell Ozuna R 34 DH 588 524 73 135 24 0 29 88 58 147 1 0
Ozzie Albies B 28 2B 516 471 70 123 27 3 18 72 34 83 10 2
Nacho Alvarez Jr. R 22 SS 543 481 60 120 18 1 8 56 50 112 14 3
Drake Baldwin L 24 C 461 410 50 96 21 1 13 57 43 121 0 0
Nick Allen R 26 SS 493 442 53 110 21 1 5 52 38 77 10 5
Gio Urshela R 33 3B 427 400 39 111 19 2 9 52 22 74 1 0
Eli White R 31 CF 334 299 47 70 10 2 8 37 29 98 15 3
Orlando Arcia R 30 SS 518 473 52 109 21 0 15 56 38 108 2 0
Jarred Kelenic L 25 LF 474 427 56 106 24 2 15 63 42 135 10 4
Ramón Laureano R 30 RF 390 353 48 85 18 2 13 51 26 116 9 3
Charles Leblanc R 29 1B 433 380 48 86 17 2 12 52 49 137 4 2
Yohel Pozo R 28 C 356 345 37 96 20 1 10 45 8 39 0 1
Whit Merrifield R 36 2B 431 391 53 97 18 1 6 42 32 73 17 4
Luke Williams R 28 3B 338 308 41 71 15 1 7 37 25 96 18 5
Cody Milligan L 26 CF 447 406 55 98 18 4 4 42 33 118 19 5
Chadwick Tromp R 30 C 297 272 29 63 14 0 7 31 22 73 0 0
J.P. Martínez L 29 CF 437 389 50 83 15 5 6 44 41 143 22 6
Zack Short R 30 SS 367 311 42 60 13 1 7 39 47 109 5 2
Luke Waddell L 26 SS 471 421 51 97 17 2 3 42 37 74 9 4
Justin Dean R 28 RF 426 378 53 80 11 3 5 38 38 146 26 5
David Fletcher R 31 2B 385 360 38 89 11 1 1 33 20 45 7 1
Cavan Biggio L 30 2B 333 282 41 57 11 1 6 32 41 96 3 1
Adam Duvall R 36 RF 331 304 34 63 14 1 14 44 21 108 1 0
Skye Bolt B 31 RF 207 183 25 41 7 1 3 22 20 60 3 0
Luis Liberato L 29 RF 334 302 35 68 16 2 6 36 26 99 5 1
Yolbert Sanchez R 28 2B 418 393 40 102 13 2 2 39 17 75 3 4
Andrew Velazquez R 30 2B 406 369 46 75 14 1 9 42 27 154 21 2
Joey Wendle L 35 2B 335 313 36 77 18 3 4 33 14 71 7 2
Harold Ramírez R 30 DH 392 367 39 100 16 1 5 47 17 78 5 3
Leury García B 34 RF 301 274 39 68 12 2 3 29 18 67 4 1
Nick Clarno R 27 C 132 118 12 19 2 0 2 11 12 44 2 0
Tyler Tolve L 24 C 317 296 36 64 14 1 11 41 15 118 1 0
Brian Anderson R 32 1B 356 318 35 68 11 1 8 36 30 112 1 1
Sandy León B 36 C 237 203 14 34 5 0 3 18 27 80 0 0
Javier Valdes R 26 DH 251 223 23 47 9 1 6 31 19 56 0 0
Nick Ward L 29 2B 370 324 39 68 9 1 4 32 34 101 7 1
Keshawn Ogans R 23 3B 412 377 39 83 15 1 3 38 23 94 8 5
Phillip Evans R 32 1B 386 345 40 79 11 0 6 37 33 74 1 1
Kevin Kilpatrick Jr. R 24 CF 528 483 64 99 19 4 4 46 36 164 21 5
Drew Compton B 24 1B 479 428 37 96 19 0 7 54 41 104 3 1
Kobe Kato L 26 2B 231 204 25 42 9 1 1 18 23 60 7 3
Ryan Casteel R 34 C 213 196 19 37 6 1 8 24 15 79 0 0
Jacob Godman R 25 C 216 184 21 30 4 2 1 15 28 66 3 1
Justin Janas L 24 1B 379 342 38 79 15 1 3 41 21 81 3 2
Ethan Workinger R 23 LF 514 475 52 108 20 3 10 53 35 128 4 4
Joe Olsavsky R 23 3B 302 266 30 45 10 1 4 29 27 103 2 3
Ambioris Tavarez R 21 SS 354 321 37 61 12 3 4 34 23 168 8 7
Cade Bunnell L 28 1B 380 333 33 58 14 2 7 33 44 175 2 1
Colby Jones R 21 2B 109 104 11 21 2 0 0 8 3 32 2 4
Cal Conley L 25 SS 532 488 60 108 18 3 5 44 32 121 19 7
Brandon Parker R 26 RF 279 252 29 49 11 1 8 33 19 113 4 1
Adam Zebrowski R 24 C 406 370 34 71 13 2 9 42 29 134 1 0
E.J. Exposito R 24 SS 465 425 49 85 18 2 9 46 32 146 13 5
David McCabe B 25 DH 359 319 32 64 12 0 7 32 38 108 3 1
Sebastián Rivero R 26 C 262 241 18 47 12 1 2 24 12 69 1 0
Carlos Arroyo R 23 2B 219 200 18 36 7 0 3 21 12 77 4 3
Stephen Paolini L 24 RF 411 371 42 70 14 2 4 33 33 168 9 2
Jeremy Celedonio R 23 DH 247 219 21 35 4 1 7 26 22 132 3 2
Geraldo Quintero B 23 LF 436 394 51 89 12 5 4 40 32 99 17 10
Bryson Worrell B 26 RF 252 234 21 41 6 2 5 22 15 114 6 1
Dawson Dimon R 26 C 138 125 9 17 2 0 1 7 11 69 1 0
Jace Grady B 24 RF 411 373 36 77 14 1 5 36 33 91 7 4
Bryson Horne L 26 1B 405 382 31 82 15 1 8 39 20 138 3 1
Kade Kern R 23 LF 344 320 27 56 9 1 5 29 18 127 8 5

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA 3YOPS+ RC
Ronald Acuña Jr. 547 .294 .393 .525 151 .232 .329 -1 5.1 .394 149 107
Michael Harris II 560 .294 .338 .480 123 .186 .342 7 4.7 .350 121 89
Austin Riley 604 .274 .343 .499 129 .224 .327 -1 4.4 .360 126 92
Matt Olson 655 .252 .345 .483 126 .231 .291 1 3.4 .353 119 95
Sean Murphy 417 .236 .326 .433 108 .197 .279 6 3.2 .330 104 52
Marcell Ozuna 588 .258 .333 .470 119 .212 .305 0 2.5 .346 109 82
Ozzie Albies 516 .261 .314 .445 107 .185 .283 -1 2.5 .326 105 69
Nacho Alvarez Jr. 543 .249 .331 .341 87 .091 .310 2 2.2 .302 88 58
Drake Baldwin 461 .234 .317 .385 93 .151 .301 -2 1.8 .309 96 50
Nick Allen 493 .249 .311 .335 79 .086 .292 5 1.7 .288 80 50
Gio Urshela 427 .278 .314 .403 96 .125 .322 1 1.6 .310 90 51
Eli White 334 .234 .311 .361 86 .127 .322 5 1.5 .299 83 38
Orlando Arcia 518 .230 .288 .370 80 .140 .269 1 1.3 .287 79 51
Jarred Kelenic 474 .248 .317 .420 101 .171 .329 0 1.3 .319 105 60
Ramón Laureano 390 .241 .310 .414 98 .173 .321 3 1.3 .316 97 48
Charles Leblanc 433 .226 .319 .377 95 .150 .321 7 1.1 .307 94 47
Yohel Pozo 356 .278 .295 .429 101 .151 .291 -5 1.0 .310 98 44
Whit Merrifield 431 .248 .305 .346 80 .097 .292 1 1.0 .287 78 46
Luke Williams 338 .231 .290 .354 77 .123 .313 3 0.8 .284 78 37
Cody Milligan 447 .241 .302 .335 76 .093 .330 1 0.8 .283 77 47
Chadwick Tromp 297 .231 .290 .360 78 .128 .291 0 0.7 .285 74 29
J.P. Martínez 437 .213 .296 .324 72 .111 .321 1 0.6 .278 73 44
Zack Short 367 .193 .302 .309 70 .116 .272 1 0.6 .277 65 31
Luke Waddell 471 .230 .298 .301 67 .071 .273 2 0.6 .270 70 41
Justin Dean 426 .212 .294 .297 64 .085 .331 10 0.5 .267 64 40
David Fletcher 385 .247 .289 .292 62 .044 .280 5 0.3 .260 61 32
Cavan Biggio 333 .202 .317 .312 75 .110 .284 -2 0.3 .287 74 29
Adam Duvall 331 .207 .266 .398 80 .191 .270 3 0.3 .287 72 33
Skye Bolt 207 .224 .305 .322 74 .098 .316 3 0.2 .281 74 19
Luis Liberato 334 .225 .286 .351 75 .126 .315 4 0.2 .280 74 32
Yolbert Sanchez 418 .260 .293 .318 69 .059 .317 2 0.1 .270 67 39
Andrew Velazquez 406 .203 .258 .320 59 .117 .320 2 0.1 .255 56 35
Joey Wendle 335 .246 .285 .361 77 .115 .306 -3 0.1 .280 73 35
Harold Ramírez 392 .273 .311 .363 86 .090 .335 0 0.0 .296 84 44
Leury García 301 .248 .299 .340 76 .091 .319 1 0.0 .281 74 29
Nick Clarno 132 .161 .250 .229 34 .068 .236 3 0.0 .224 33 7
Tyler Tolve 317 .216 .262 .382 75 .166 .317 -7 -0.2 .278 81 30
Brian Anderson 356 .214 .289 .330 71 .116 .303 4 -0.2 .275 68 31
Sandy León 237 .167 .270 .236 42 .069 .258 2 -0.2 .237 38 13
Javier Valdes 251 .211 .295 .341 75 .130 .255 0 -0.2 .284 80 23
Nick Ward 370 .210 .297 .281 61 .071 .292 -2 -0.3 .263 58 29
Keshawn Ogans 412 .220 .280 .290 58 .069 .286 2 -0.3 .256 62 34
Phillip Evans 386 .229 .303 .313 71 .084 .276 2 -0.3 .276 70 33
Kevin Kilpatrick Jr. 528 .205 .267 .286 53 .081 .302 4 -0.3 .248 59 43
Drew Compton 479 .224 .303 .318 72 .093 .281 2 -0.4 .279 76 42
Kobe Kato 231 .205 .294 .274 63 .068 .286 -2 -0.4 .261 65 19
Ryan Casteel 213 .189 .254 .353 65 .164 .267 -5 -0.4 .266 57 18
Jacob Godman 216 .163 .278 .222 41 .060 .247 -1 -0.4 .237 45 12
Justin Janas 379 .231 .303 .307 70 .076 .295 2 -0.4 .276 72 33
Ethan Workinger 514 .228 .282 .346 73 .118 .291 2 -0.4 .276 78 48
Joe Olsavsky 302 .169 .268 .259 47 .090 .258 3 -0.5 .245 51 20
Ambioris Tavarez 354 .190 .263 .283 51 .093 .382 0 -0.6 .247 60 29
Cade Bunnell 380 .174 .274 .292 57 .117 .339 6 -0.6 .257 59 27
Colby Jones 109 .202 .239 .221 29 .019 .292 1 -0.6 .209 37 8
Cal Conley 532 .221 .273 .301 59 .080 .284 -5 -0.6 .255 62 47
Brandon Parker 279 .194 .265 .341 66 .147 .312 -2 -0.6 .268 67 24
Adam Zebrowski 406 .192 .259 .311 57 .119 .273 -6 -0.7 .253 63 30
E.J. Exposito 465 .200 .261 .316 59 .115 .282 -6 -0.7 .255 64 40
David McCabe 359 .201 .284 .304 63 .104 .280 0 -0.8 .265 67 28
Sebastián Rivero 262 .195 .244 .279 44 .083 .265 -3 -0.9 .232 46 17
Carlos Arroyo 219 .180 .247 .260 41 .080 .275 -1 -0.9 .230 42 15
Stephen Paolini 411 .189 .261 .270 47 .081 .332 6 -1.1 .239 55 29
Jeremy Celedonio 247 .159 .251 .283 47 .123 .348 0 -1.1 .243 57 17
Geraldo Quintero 436 .226 .294 .312 68 .086 .292 -4 -1.1 .272 71 44
Bryson Worrell 252 .175 .230 .282 41 .107 .313 0 -1.2 .228 42 17
Dawson Dimon 138 .136 .210 .176 9 .040 .293 -4 -1.3 .183 13 5
Jace Grady 411 .207 .273 .290 56 .083 .260 -2 -1.5 .253 61 32
Bryson Horne 405 .215 .254 .322 58 .107 .314 -1 -1.5 .252 59 32
Kade Kern 344 .175 .227 .256 33 .081 .271 3 -1.8 .217 36 22

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Ronald Acuña Jr. Rickey Henderson Mike Trout Mookie Betts
Michael Harris II Bobby Tolan Amos Otis Rich Coggins
Austin Riley Whitey Kurowski Bobby Doerr Pinky Higgins
Matt Olson David Ortiz Carlos Delgado Mark Teixeira
Sean Murphy Jim Pagliaroni Duke Sims Jerry Willard
Marcell Ozuna Roy Sievers Nelson Cruz Fred McGriff
Ozzie Albies Chris Sabo Granny Hamner Didi Gregorius
Nacho Alvarez Jr. Rich Aurilia Al Montreuil Cass Michaels
Drake Baldwin Jerry Willard Alex Avila Mike Fitzgerald
Nick Allen Brent Abernathy Sonny Jackson Jeff Huson
Gio Urshela Starlin Castro Rick Short Mark Christman
Eli White Darren Ford Reggie Thomas Bert Hamric
Orlando Arcia J.J. Hardy Zack Cozart Casey McGehee
Jarred Kelenic Michael Saunders Travis Snider Carl Everett
Ramón Laureano Jerry Martin Bill Barrett Luis Terrero
Charles Leblanc Randy Wilstead Jack Voigt Brian Myrow
Yohel Pozo Toby Hall Ray Smith Clint Courtney
Whit Merrifield Hank Schenz Sparky Adams Gene Handley
Luke Williams Tom Lawless Terry Shumpert Damian Rolls
Cody Milligan Forrest Wall Milt Cuyler Jared Oliva
Chadwick Tromp Mark Parent Terry Humphrey Bobby Wilson
J.P. Martínez Adam Greenberg Donzell McDonald Gregg Ritchie
Zack Short Nolan Fontana Clyde Beck Chick Fewster
Luke Waddell Don Kelly Justin Henry Luis Figueroa
Justin Dean Dwaine Bacon Jeff Duncan George Bullard
David Fletcher Jerry Snyder Ali Castillo Rennie Stennett
Cavan Biggio Woody English Nolan Fontana Harvey Zernia
Adam Duvall Ray Sadler Joe Rudi Gus Zernial
Skye Bolt John Vander Wal Larry Harlow Tom Wright
Luis Liberato Santiago Rosario Blake Tekotte Carlos Moncrief
Yolbert Sanchez Steve Lombardozzi Jim Glover Omar Luna
Andrew Velazquez Elder White Chris Owings Brent Lillibridge
Joey Wendle Pete Orr Bobby Young Miguel Cairo
Harold Ramírez Gonzalo Marquez Marcos Rodriguez Ken Woods
Leury García Quinton McCracken Emilio Bonifácio Alex Presley
Nick Clarno Eric Brooks Drew Larned Mike Hubel
Tyler Tolve Marcus Nidiffer Mitch Lyden Damian Sapp
Brian Anderson Travis Snider Reid Brignac Faye Throneberry
Sandy León Merv Shea Roy Partee Joe Pignatano
Javier Valdes Justin Ringo Eric Oliver Alejandro Segovia
Nick Ward Paul Mize Art Mazmanian Gene Michael
Keshawn Ogans Matt Williams Luis Martinez Juan Herrera
Phillip Evans Jason Rogers Johnny Monell 모넬 Dustin Ackley
Kevin Kilpatrick Jr. Reginald Niles Juan Tolentino Clete Thomas
Drew Compton Jeremy Vasquez Don Engbers Reed Eastley
Kobe Kato Alex Fonseca Robert Hickey Chase Fontaine
Ryan Casteel Bob Tillman Kelly Stinnett Art Kusnyer
Jacob Godman Mike Sadek Hank Kuhlmann Bryan Graves
Justin Janas Robbie Tenerowicz Mark Hale Michael Schoeller
Ethan Workinger Reggie Walton Austin Dean 오스틴 Luis Montanez
Joe Olsavsky William Daly Scott Goins David Narodowski
Ambioris Tavarez Hansel Moreno Osvaldo Duarte Jay Woolf
Cade Bunnell Mike Wishnevski John Curl Joe Orengo
Colby Jones Yafistel Roja Denio Gabriel Joshua Magee
Cal Conley Nick Ahmed Wilmy Caceres Tony Womack
Brandon Parker Ron Shepherd Jacob Julius Will Skinner
Adam Zebrowski Ed Zander Pete Gongola Phil Roof
E.J. Exposito Ian Desmond Edwin Maysonet Luis Guance
David McCabe Jerry LaPenta Ian Rice Phil Hawke
Sebastián Rivero Chris Tremie Scott Rainey Wayne McGhee
Carlos Arroyo Lance Hudson Michael Wilbins Ron Cacini
Stephen Paolini Rich Miller J.D. Williams Estevan Florial
Jeremy Celedonio Ramon Sarmiento John Thompson Jesus Basabe
Geraldo Quintero Carl Loadenthal Pin-Chieh Chen Cole Miles
Bryson Worrell Colin Roberson Dorian Speed Justin Arneson
Dawson Dimon Patrick Johnson Josh Emmerick Sean Gousha
Jace Grady Chad White Brian Saltzgaber Gary Gingrich
Bryson Horne Brian Schmitt Luke Anders Bucky Guth
Kade Kern Carlos Duran Sthervin Matos Quin Cotton

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
Ronald Acuña Jr. .321 .419 .585 173 6.5 .267 .367 .476 132 3.7
Michael Harris II .324 .367 .534 144 6.2 .263 .308 .422 101 3.0
Austin Riley .300 .369 .559 149 5.8 .247 .318 .454 111 3.0
Matt Olson .276 .367 .540 145 4.9 .226 .320 .441 109 2.0
Sean Murphy .260 .351 .492 128 4.2 .206 .301 .377 88 2.2
Marcell Ozuna .282 .358 .524 138 3.9 .233 .308 .419 101 1.2
Ozzie Albies .286 .339 .494 127 3.7 .236 .290 .390 89 1.3
Nacho Alvarez Jr. .275 .360 .382 104 3.5 .217 .302 .301 68 0.9
Drake Baldwin .263 .343 .439 112 2.9 .207 .290 .337 74 0.7
Nick Allen .275 .338 .378 96 2.8 .220 .279 .294 59 0.4
Gio Urshela .307 .342 .448 114 2.5 .249 .286 .356 78 0.5
Eli White .263 .340 .413 105 2.3 .205 .281 .313 63 0.6
Orlando Arcia .258 .313 .414 98 2.5 .208 .264 .327 64 0.3
Jarred Kelenic .276 .346 .472 122 2.5 .219 .289 .367 81 0.1
Ramón Laureano .267 .333 .469 116 2.1 .213 .282 .363 77 0.2
Charles Leblanc .251 .342 .423 114 2.1 .200 .290 .332 76 0.1
Yohel Pozo .312 .325 .478 121 2.0 .252 .268 .377 79 0.0
Whit Merrifield .273 .331 .381 96 1.9 .221 .277 .305 63 0.0
Luke Williams .260 .323 .405 99 1.8 .204 .264 .309 60 0.0
Cody Milligan .268 .330 .377 93 1.8 .213 .271 .294 57 -0.3
Chadwick Tromp .264 .323 .413 98 1.4 .206 .265 .314 60 0.0
J.P. Martínez .242 .322 .374 92 1.8 .184 .264 .281 52 -0.5
Zack Short .222 .331 .354 87 1.4 .166 .274 .268 51 -0.3
Luke Waddell .260 .325 .340 82 1.5 .206 .270 .263 48 -0.5
Justin Dean .244 .326 .343 83 1.6 .182 .266 .258 45 -0.5
David Fletcher .280 .322 .332 83 1.3 .219 .262 .258 46 -0.5
Cavan Biggio .228 .344 .355 92 1.0 .177 .291 .274 58 -0.4
Adam Duvall .233 .294 .462 103 1.3 .181 .240 .341 60 -0.5
Skye Bolt .254 .338 .371 93 0.7 .193 .276 .280 55 -0.3
Luis Liberato .252 .317 .398 94 1.0 .198 .256 .305 55 -0.7
Yolbert Sanchez .291 .320 .356 87 1.1 .229 .260 .279 50 -0.9
Andrew Velazquez .231 .291 .373 79 1.2 .175 .231 .273 40 -0.9
Joey Wendle .271 .311 .408 95 0.9 .217 .259 .315 58 -0.8
Harold Ramírez .303 .337 .404 105 1.0 .242 .281 .324 67 -0.9
Leury García .280 .331 .388 97 0.8 .213 .266 .296 56 -0.7
Nick Clarno .186 .283 .277 55 0.3 .133 .223 .194 18 -0.3
Tyler Tolve .244 .288 .436 92 0.6 .188 .234 .323 53 -1.1
Brian Anderson .242 .320 .382 92 0.8 .186 .263 .281 52 -1.1
Sandy León .197 .301 .277 59 0.3 .140 .240 .203 25 -0.7
Javier Valdes .241 .322 .397 98 0.5 .185 .267 .295 56 -0.9
Nick Ward .239 .328 .318 79 0.6 .184 .269 .243 44 -1.1
Keshawn Ogans .248 .307 .328 75 0.6 .193 .256 .249 42 -1.2
Phillip Evans .260 .335 .360 90 0.6 .203 .277 .272 55 -1.2
Kevin Kilpatrick Jr. .232 .293 .325 71 0.9 .177 .242 .247 37 -1.4
Drew Compton .249 .332 .358 91 0.7 .199 .278 .280 57 -1.3
Kobe Kato .231 .322 .314 83 0.2 .178 .268 .239 48 -0.8
Ryan Casteel .217 .279 .421 87 0.2 .165 .225 .292 42 -1.0
Jacob Godman .188 .306 .264 59 0.1 .133 .249 .186 26 -0.8
Justin Janas .257 .330 .354 88 0.5 .206 .282 .279 56 -1.1
Ethan Workinger .254 .309 .391 90 0.7 .199 .256 .302 54 -1.6
Joe Olsavsky .202 .298 .312 68 0.4 .142 .239 .218 30 -1.2
Ambioris Tavarez .219 .293 .337 73 0.5 .157 .233 .237 31 -1.5
Cade Bunnell .211 .305 .343 77 0.4 .149 .246 .249 38 -1.4
Colby Jones .242 .275 .258 49 -0.3 .174 .211 .191 13 -0.8
Cal Conley .244 .298 .336 74 0.5 .198 .248 .267 44 -1.6
Brandon Parker .225 .294 .390 86 0.0 .171 .239 .290 48 -1.3
Adam Zebrowski .223 .291 .366 79 0.4 .166 .231 .272 41 -1.5
E.J. Exposito .222 .286 .367 77 0.4 .174 .238 .273 41 -1.8
David McCabe .234 .315 .351 84 0.1 .177 .256 .264 46 -1.6
Sebastián Rivero .223 .273 .316 63 -0.2 .166 .215 .235 26 -1.5
Carlos Arroyo .209 .272 .307 57 -0.3 .152 .219 .219 21 -1.3
Stephen Paolini .217 .290 .309 65 -0.1 .163 .234 .233 30 -2.0
Jeremy Celedonio .190 .284 .345 72 -0.3 .119 .217 .219 21 -1.9
Geraldo Quintero .252 .319 .353 85 -0.3 .199 .267 .273 52 -2.0
Bryson Worrell .207 .261 .343 62 -0.5 .147 .199 .237 20 -1.9
Dawson Dimon .168 .243 .220 29 -0.9 .104 .177 .138 -10 -1.6
Jace Grady .230 .297 .327 72 -0.6 .183 .251 .255 40 -2.2
Bryson Horne .242 .283 .364 76 -0.6 .191 .228 .281 40 -2.5
Kade Kern .207 .259 .302 54 -1.0 .150 .200 .216 17 -2.6

Batters – Platoon Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Ronald Acuña Jr. .298 .407 .545 .293 .388 .519
Michael Harris II .283 .328 .451 .299 .342 .494
Austin Riley .280 .354 .524 .273 .339 .490
Matt Olson .247 .326 .459 .254 .353 .494
Sean Murphy .241 .336 .435 .233 .322 .432
Marcell Ozuna .260 .340 .472 .257 .331 .469
Ozzie Albies .287 .326 .481 .251 .310 .433
Nacho Alvarez Jr. .250 .335 .329 .249 .330 .346
Drake Baldwin .227 .309 .355 .237 .320 .397
Nick Allen .266 .331 .354 .239 .300 .324
Gio Urshela .286 .323 .429 .274 .310 .391
Eli White .235 .316 .382 .234 .309 .350
Orlando Arcia .237 .302 .378 .228 .282 .367
Jarred Kelenic .239 .299 .396 .253 .324 .430
Ramón Laureano .250 .323 .429 .237 .305 .407
Charles Leblanc .234 .331 .409 .222 .312 .358
Yohel Pozo .286 .299 .436 .274 .292 .425
Whit Merrifield .255 .314 .364 .246 .301 .338
Luke Williams .236 .303 .373 .227 .282 .343
Cody Milligan .231 .293 .308 .247 .308 .350
Chadwick Tromp .245 .304 .392 .224 .281 .341
J.P. Martínez .203 .277 .313 .218 .305 .330
Zack Short .209 .327 .326 .181 .284 .297
Luke Waddell .220 .291 .295 .235 .302 .304
Justin Dean .212 .301 .315 .211 .288 .284
David Fletcher .257 .298 .292 .243 .285 .291
Cavan Biggio .203 .310 .284 .202 .318 .322
Adam Duvall .207 .271 .391 .207 .264 .401
Skye Bolt .238 .310 .333 .217 .301 .317
Luis Liberato .213 .265 .333 .232 .298 .361
Yolbert Sanchez .273 .311 .344 .251 .282 .301
Andrew Velazquez .210 .267 .323 .200 .254 .318
Joey Wendle .230 .275 .351 .251 .289 .364
Harold Ramírez .284 .323 .379 .267 .306 .355
Leury García .256 .303 .366 .245 .297 .328
Nick Clarno .167 .250 .278 .159 .250 .207
Tyler Tolve .207 .253 .348 .221 .266 .397
Brian Anderson .207 .282 .337 .217 .292 .327
Sandy León .172 .274 .250 .165 .269 .230
Javier Valdes .217 .301 .325 .207 .291 .350
Nick Ward .192 .273 .256 .215 .305 .289
Keshawn Ogans .225 .287 .297 .218 .277 .286
Phillip Evans .233 .306 .317 .227 .302 .311
Kevin Kilpatrick Jr. .212 .273 .292 .202 .265 .283
Drew Compton .224 .295 .319 .224 .306 .317
Kobe Kato .200 .279 .236 .208 .300 .289
Ryan Casteel .194 .269 .367 .184 .238 .337
Jacob Godman .161 .284 .210 .164 .275 .230
Justin Janas .216 .296 .284 .236 .306 .315
Ethan Workinger .229 .288 .350 .227 .280 .343
Joe Olsavsky .169 .267 .247 .169 .269 .266
Ambioris Tavarez .200 .276 .295 .186 .257 .279
Cade Bunnell .171 .264 .276 .176 .279 .300
Colby Jones .200 .222 .229 .203 .247 .217
Cal Conley .213 .266 .294 .226 .277 .305
Brandon Parker .202 .276 .372 .190 .259 .323
Adam Zebrowski .200 .268 .339 .188 .254 .298
E.J. Exposito .208 .278 .342 .197 .254 .305
David McCabe .204 .279 .301 .199 .286 .305
Sebastián Rivero .200 .253 .288 .193 .238 .273
Carlos Arroyo .179 .247 .254 .180 .247 .263
Stephen Paolini .176 .250 .252 .194 .266 .278
Jeremy Celedonio .154 .247 .262 .162 .253 .292
Geraldo Quintero .227 .291 .313 .226 .296 .312
Bryson Worrell .179 .236 .254 .174 .228 .293
Dawson Dimon .128 .209 .154 .140 .211 .186
Jace Grady .206 .268 .275 .207 .274 .295
Bryson Horne .208 .241 .308 .218 .261 .329
Kade Kern .181 .238 .277 .173 .222 .248

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Max Fried L 31 13 7 3.24 27 27 161.3 144 58 13 48 149
Chris Sale L 36 11 5 2.99 24 24 138.7 118 46 13 36 170
Reynaldo López R 31 9 6 3.29 25 25 131.3 116 48 13 39 129
Spencer Strider R 26 10 6 3.29 24 22 125.7 98 46 14 38 170
Spencer Schwellenbach R 25 11 7 3.62 27 27 146.7 136 59 18 31 141
Bryce Elder R 26 10 9 4.16 26 26 145.0 142 67 16 50 123
Charlie Morton R 41 9 8 4.29 27 27 149.0 138 71 20 62 153
AJ Smith-Shawver R 22 6 6 4.11 26 26 105.0 95 48 14 43 106
Raisel Iglesias R 35 5 3 2.83 58 0 57.3 47 18 6 13 65
Lucas Braun R 23 6 6 4.39 23 22 123.0 127 60 18 38 102
Grant Holmes R 29 4 3 3.71 40 7 87.3 81 36 9 29 89
Allan Winans R 29 6 6 4.22 23 16 106.7 109 50 14 29 86
Ian Anderson R 27 5 4 4.12 19 19 89.7 87 41 10 38 79
Joe Jiménez R 30 3 2 3.26 62 0 60.7 49 22 6 19 74
Dylan Lee L 30 4 2 3.10 51 0 58.0 50 20 7 15 69
A.J. Minter L 31 6 3 3.25 59 0 52.7 44 19 5 16 58
Dylan Dodd L 27 5 5 4.54 23 19 103.0 110 52 15 29 80
Aaron Bummer L 31 5 2 2.96 53 0 51.7 44 17 2 21 62
Drue Hackenberg R 23 5 6 4.63 24 24 112.7 110 58 13 53 98
Huascar Ynoa R 27 5 4 4.20 18 14 64.3 61 30 8 25 62
Griffin Canning R 29 7 9 4.70 26 25 139.7 141 73 23 51 122
Hurston Waldrep R 23 6 6 4.60 20 20 94.0 94 48 13 44 85
Luis De Avila L 24 6 8 4.73 21 19 99.0 106 52 12 45 70
Royber Salinas R 24 4 4 4.58 19 18 74.7 68 38 10 41 77
Ian Mejia R 25 7 7 4.76 22 21 107.7 115 57 17 38 85
Landon Harper R 24 4 4 4.26 30 6 67.7 72 32 9 17 50
Darius Vines R 27 4 4 4.76 18 17 90.7 98 48 15 29 68
Pierce Johnson R 34 5 4 3.65 52 0 49.3 44 20 6 21 61
Drew Parrish L 27 5 7 4.82 25 18 99.0 104 53 15 39 72
Jesse Chavez R 41 2 2 3.88 41 1 51.0 51 22 6 18 46
Daysbel Hernández R 28 5 3 3.81 45 0 52.0 44 22 6 26 62
J.J. Niekro R 27 3 4 4.79 12 10 56.3 62 30 8 21 40
Jackson Stephens R 31 4 3 4.08 29 2 46.3 46 21 5 14 39
Taylor Widener 와이드너 R 30 3 3 4.63 24 10 58.3 59 30 9 23 52
Ray Kerr L 30 3 2 3.89 33 2 41.7 38 18 5 19 49
Domingo Gonzalez R 25 4 4 4.50 36 5 62.0 57 31 8 28 62
John Brebbia R 35 3 2 4.43 47 3 44.7 43 22 7 15 50
Angel Perdomo L 31 2 3 4.01 32 0 33.7 26 15 4 17 44
Luke Jackson R 33 3 2 3.99 47 0 47.3 43 21 6 22 51
Tyler Matzek L 34 1 1 3.99 41 0 38.3 35 17 4 19 35
Enoli Paredes R 29 2 2 4.24 44 1 46.7 41 22 5 28 49
Patrick Halligan R 25 3 4 4.70 34 4 53.7 55 28 8 21 45
Hayden Harris L 26 4 3 4.26 39 0 44.3 41 21 6 21 50
Jhancarlos Lara R 22 3 5 5.20 22 20 83.0 83 48 12 49 73
Jake McSteen L 29 3 3 4.77 31 5 54.7 62 29 9 17 40
Tommy Doyle R 29 3 3 4.50 34 1 42.0 42 21 6 18 38
Ryan Bourassa R 25 3 3 4.54 35 0 35.7 33 18 5 18 37
Brooks Wilson R 29 3 3 4.46 27 0 40.3 36 20 6 22 46
Ben Bowden L 30 2 3 4.58 37 0 39.3 37 20 5 21 41
Rolddy Munoz R 25 3 2 4.62 31 2 48.7 48 25 7 23 45
Ken Giles R 34 2 2 4.60 33 1 29.3 27 15 4 17 32
Brian Moran L 36 1 2 4.70 27 1 38.3 39 20 5 14 33
Parker Dunshee R 30 3 3 4.92 30 4 64.0 63 35 10 27 57
Anthony Vizcaya R 31 1 2 4.78 21 0 26.3 28 14 4 11 21
Jake Walsh R 29 2 1 4.87 18 0 20.3 20 11 3 11 18
Jonathan Hughes R 28 2 3 5.00 30 2 45.0 49 25 6 21 32
Matt Carasiti R 33 2 2 4.86 32 0 37.0 39 20 5 18 33
Austin Smith R 26 2 2 5.40 27 1 28.3 29 17 4 18 23
Jorge Juan R 26 2 3 5.35 29 1 35.3 33 21 5 24 35
Peyton Williams R 27 1 1 5.24 26 0 34.3 36 20 6 17 30
Elison Joseph R 24 2 2 5.11 36 0 44.0 42 25 7 27 44
Trey Riley R 27 2 4 5.45 37 0 39.7 42 24 6 26 33
David Fletcher R 31 2 7 6.94 17 14 72.7 93 56 14 37 24

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ 3ERA+ FIP ERA- WAR
Max Fried 161.3 8.3 2.7 0.7 7.2% 22.2% .288 126 122 3.36 79 3.5
Chris Sale 138.7 11.0 2.3 0.8 6.4% 30.1% .306 136 123 2.90 73 3.3
Reynaldo López 131.3 8.8 2.7 0.9 7.1% 23.6% .287 124 121 3.44 81 3.0
Spencer Strider 125.7 12.2 2.7 1.0 7.4% 33.2% .296 124 121 2.97 81 2.6
Spencer Schwellenbach 146.7 8.7 1.9 1.1 5.2% 23.5% .290 113 114 3.63 89 2.6
Bryce Elder 145.0 7.6 3.1 1.0 8.0% 19.7% .295 98 100 4.07 102 1.7
Charlie Morton 149.0 9.2 3.7 1.2 9.7% 23.9% .294 95 91 4.40 105 1.4
AJ Smith-Shawver 105.0 9.1 3.7 1.2 9.5% 23.3% .286 99 103 4.18 101 1.3
Raisel Iglesias 57.3 10.2 2.0 0.9 5.7% 28.4% .285 144 129 3.06 69 1.3
Lucas Braun 123.0 7.5 2.8 1.3 7.2% 19.4% .297 93 99 4.45 108 1.2
Grant Holmes 87.3 9.2 3.0 0.9 7.8% 24.1% .301 110 109 3.61 91 1.1
Allan Winans 106.7 7.3 2.4 1.2 6.4% 18.9% .296 97 96 4.28 104 1.1
Ian Anderson 89.7 7.9 3.8 1.0 9.7% 20.1% .295 99 101 4.17 101 1.1
Joe Jiménez 60.7 11.0 2.8 0.9 7.7% 30.0% .293 125 120 3.11 80 0.9
Dylan Lee 58.0 10.7 2.3 1.1 6.4% 29.4% .299 131 128 3.14 76 0.8
A.J. Minter 52.7 9.9 2.7 0.9 7.4% 26.7% .287 125 120 3.18 80 0.8
Dylan Dodd 103.0 7.0 2.5 1.3 6.5% 18.0% .301 90 93 4.42 112 0.8
Aaron Bummer 51.7 10.8 3.7 0.3 9.5% 28.2% .318 138 130 2.68 73 0.8
Drue Hackenberg 112.7 7.8 4.2 1.0 10.6% 19.7% .295 88 93 4.67 114 0.8
Huascar Ynoa 64.3 8.7 3.5 1.1 9.0% 22.3% .294 97 100 4.17 103 0.7
Griffin Canning 139.7 7.9 3.3 1.5 8.4% 20.1% .291 87 87 4.77 115 0.7
Hurston Waldrep 94.0 8.1 4.2 1.2 10.5% 20.2% .299 89 94 4.64 113 0.6
Luis De Avila 99.0 6.4 4.1 1.1 10.1% 15.7% .300 86 91 4.82 116 0.6
Royber Salinas 74.7 9.3 4.9 1.2 12.2% 22.9% .290 89 95 4.71 112 0.5
Ian Mejia 107.7 7.1 3.2 1.4 8.1% 18.0% .299 85 90 4.88 117 0.5
Landon Harper 67.7 6.7 2.3 1.2 5.9% 17.3% .299 96 103 4.18 104 0.5
Darius Vines 90.7 6.8 2.9 1.5 7.3% 17.2% .296 85 89 4.85 117 0.5
Pierce Johnson 49.3 11.1 3.8 1.1 9.9% 28.6% .311 112 104 3.62 90 0.5
Drew Parrish 99.0 6.5 3.5 1.4 9.0% 16.6% .291 85 86 5.00 118 0.4
Jesse Chavez 51.0 8.1 3.2 1.1 8.2% 21.0% .304 105 100 4.02 95 0.3
Daysbel Hernández 52.0 10.7 4.5 1.0 11.4% 27.2% .295 107 107 4.02 93 0.3
J.J. Niekro 56.3 6.4 3.4 1.3 8.4% 15.9% .302 85 89 4.78 118 0.3
Jackson Stephens 46.3 7.6 2.7 1.0 7.1% 19.8% .297 100 99 4.06 100 0.3
Taylor Widener 58.3 8.0 3.5 1.4 9.0% 20.3% .296 88 87 4.79 114 0.3
Ray Kerr 41.7 10.6 4.1 1.1 10.4% 26.9% .311 105 101 3.90 95 0.3
Domingo Gonzalez 62.0 9.0 4.1 1.2 10.3% 22.7% .290 91 96 4.60 110 0.2
John Brebbia 44.7 10.1 3.0 1.4 7.9% 26.3% .308 92 85 4.12 109 0.1
Angel Perdomo 33.7 11.8 4.5 1.1 11.7% 30.3% .286 102 99 3.98 98 0.1
Luke Jackson 47.3 9.7 4.2 1.1 10.6% 24.5% .296 102 96 4.19 98 0.1
Tyler Matzek 38.3 8.2 4.5 0.9 11.2% 20.6% .287 102 94 4.27 98 0.1
Enoli Paredes 46.7 9.5 5.4 1.0 13.4% 23.4% .290 96 96 4.46 104 0.1
Patrick Halligan 53.7 7.5 3.5 1.3 8.9% 19.0% .296 87 92 4.72 115 0.0
Hayden Harris 44.3 10.2 4.3 1.2 10.8% 25.6% .304 96 100 4.24 105 0.0
Jhancarlos Lara 83.0 7.9 5.3 1.3 12.7% 19.0% .295 78 86 5.32 128 0.0
Jake McSteen 54.7 6.6 2.8 1.5 7.1% 16.6% .306 85 85 4.84 117 0.0
Tommy Doyle 42.0 8.1 3.9 1.3 9.6% 20.3% .298 91 91 4.51 110 0.0
Ryan Bourassa 35.7 9.3 4.5 1.3 11.0% 22.6% .292 90 96 4.52 112 -0.1
Brooks Wilson 40.3 10.3 4.9 1.3 12.2% 25.6% .294 91 92 4.62 110 -0.1
Ben Bowden 39.3 9.4 4.8 1.1 11.9% 23.3% .302 89 89 4.42 112 -0.1
Rolddy Munoz 48.7 8.3 4.3 1.3 10.4% 20.4% .295 88 92 4.86 113 -0.1
Ken Giles 29.3 9.8 5.2 1.2 12.8% 24.1% .299 89 82 4.71 113 -0.1
Brian Moran 38.3 7.7 3.3 1.2 8.4% 19.8% .301 87 80 4.64 115 -0.1
Parker Dunshee 64.0 8.0 3.8 1.4 9.7% 20.4% .290 83 83 5.07 121 -0.1
Anthony Vizcaya 26.3 7.2 3.8 1.4 9.3% 17.8% .300 85 82 5.04 117 -0.1
Jake Walsh 20.3 8.0 4.9 1.3 12.0% 19.6% .288 84 82 5.10 120 -0.2
Jonathan Hughes 45.0 6.4 4.2 1.2 10.2% 15.5% .303 81 82 5.09 123 -0.2
Matt Carasiti 37.0 8.0 4.4 1.2 10.7% 19.5% .312 84 81 4.77 119 -0.2
Austin Smith 28.3 7.3 5.7 1.3 13.3% 17.0% .294 75 79 5.61 133 -0.3
Jorge Juan 35.3 8.9 6.1 1.3 14.2% 20.7% .289 76 80 5.58 131 -0.4
Peyton Williams 34.3 7.9 4.5 1.6 10.8% 19.1% .297 78 81 5.45 129 -0.4
Elison Joseph 44.0 9.0 5.5 1.4 13.0% 21.3% .292 80 86 5.29 126 -0.4
Trey Riley 39.7 7.5 5.9 1.4 13.7% 17.4% .303 75 79 5.67 134 -0.5
David Fletcher 72.7 3.0 4.6 1.7 10.8% 7.0% .297 59 58 7.13 170 -1.4

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Max Fried Tom Glavine Mike Minor CC Sabathia
Chris Sale Carl Hubbell Lefty Grove Whitey Ford
Reynaldo López Sam Gray Tim Belcher Bob Feller
Spencer Strider Fred Hutchinson Bill Singer Schoolboy Rowe
Spencer Schwellenbach Jameson Taillon Luis Castillo Johnny Cueto
Bryce Elder Scott Erickson John Farrell Dick Tidrow
Charlie Morton Charlie Hough Bob Gibson Early Wynn
AJ Smith-Shawver Austin Voth Bruce Kison Richard Dotson
Raisel Iglesias Mariano Rivera Ted Wilks Bob Howry
Lucas Braun Matt Wisler Tyler Mahle German Marquez
Grant Holmes Don Johnson Zach McAllister Octavio Rubert
Allan Winans Cole De Vries Mike Rowland Terry Doyle
Ian Anderson Burke Suter George Throop Gary Eave
Joe Jiménez Bill Campbell Mel Rojas Jason Isringhausen
Dylan Lee Gabe White Brett Cecil Clyde Shoun
A.J. Minter Jake McGee Steve Hamilton John Franco
Dylan Dodd Glen Perkins Ted Savarese Kurt Peltzer
Aaron Bummer Andrew Chafin Randy Choate Gary Lavelle
Drue Hackenberg Kyle Drabek Bobby Parnell Michael Lorenzen
Huascar Ynoa Frank Brosseau Todd Ozias Dave Hasbach
Griffin Canning Ervin Santana Luke Hochevar Pete Hernandez
Hurston Waldrep Eddie Watt Russ Heman Justin Pederson
Luis De Avila Mike Rochford Ray Noriega Tyler Lumsden
Royber Salinas Dave Tobik Bill Faul Freddie Martinez
Ian Mejia Tyson Miller Jim Brower Jim Farrell
Landon Harper Edwin Almonte Stan Jones Scott LaRock
Darius Vines Mule Watson Jose Cano Chuck Stanhope
Pierce Johnson Wirfin Obispo Yhency Brazoban Jeff Parrett
Drew Parrish David Holmberg Everett Teaford 티포드 Jim Parque
Jesse Chavez Ryan Franklin Ted Power Bob Wickman
Daysbel Hernández Colter Bean Bob Humphreys Jeff Stevens
J.J. Niekro Eric Hill Dusty Dossett Gary Puttmann
Jackson Stephens Joey McLaughlin Casey Sadler Randall Delgado
Taylor Widener Bob Priddy Lil Stoner A.J. Achter
Ray Kerr Bill Scherrer Jorge Ibarra Sammy Solis
Domingo Gonzalez Tom Dozier Keith Shepherd Marco Mainini
John Brebbia Bobby Bolin Gordon Jones Matt Whiteside
Angel Perdomo Armando Almanza Al Hrabosky Jim Brewer
Luke Jackson Mike Hartley Moe Burtschy Don Elston
Tyler Matzek Ken Dayley Andy Hassler Rich Sauveur
Enoli Paredes Jim Duffalo Ryan Bukvich Marc Pisciotta
Patrick Halligan Brad Tippitt Scott McKenzie Derek Antelo
Hayden Harris Dave Tomlin Joe Filomeno Denny Riddleberger
Jhancarlos Lara Johnny Ruffin 러핀 Carl Moraw Matt Kinney
Jake McSteen Joel Adamson Ross Peeples Bryan Braswell
Tommy Doyle Collin Balester 벨레스터 Phil Hennigan Jeremy McBryde
Ryan Bourassa Joe Ausanio Brent Stentz Perry Swanson
Brooks Wilson Bob Chakales Nate Field Eddie Gaillard
Ben Bowden Neal Cotts Tom McGraw Adrian Burnside 번사이드
Rolddy Munoz Alejandro Chacin Jesse Simpson Derek Diaz
Ken Giles Jim Hughes Don Larsen Greg Aquino
Brian Moran Graeme Lloyd Mark Thurmond Jim Kaat
Parker Dunshee Mat Latos Jack Lutz Jason Bergmann
Anthony Vizcaya Kirk Bullinger Blas Cedeno Daryl Patterson
Jake Walsh Les Munns George Smith Daryl Patterson
Jonathan Hughes Jefri Hernandez Evan Englebrook Grady Wood
Matt Carasiti Javy Guerra Victor Marte Tim Layana
Austin Smith Les Munns Richard Effrig Brian Kolbe
Jorge Juan Terry Bross John Marchese Tayron Guerrero
Peyton Williams Kevin Cave Steve Jones Chris Andel
Elison Joseph Roger Hambright Greg Watson Courtney Wyrick
Trey Riley Gene Escat Marcelo Perez Kyle Collins
David Fletcher Chris Tillman Joe Gardner Brandon Cumpton

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
Max Fried .240 .303 .360 .231 .288 .349 4.4 2.3 2.77 3.89
Chris Sale .208 .261 .274 .229 .288 .367 4.4 2.1 2.26 4.06
Reynaldo López .230 .300 .366 .233 .275 .357 3.9 2.1 2.82 3.88
Spencer Strider .227 .294 .380 .192 .259 .318 3.9 1.6 2.58 3.98
Spencer Schwellenbach .255 .306 .410 .227 .268 .380 3.7 1.6 3.04 4.13
Bryce Elder .269 .338 .444 .235 .297 .356 2.6 0.8 3.67 4.71
Charlie Morton .245 .348 .432 .235 .307 .377 2.6 0.2 3.63 5.11
AJ Smith-Shawver .235 .311 .378 .237 .310 .415 2.1 0.4 3.54 4.77
Raisel Iglesias .238 .294 .386 .202 .246 .325 2.0 0.5 1.94 3.97
Lucas Braun .252 .316 .429 .268 .318 .444 2.0 0.5 3.85 4.89
Grant Holmes .242 .314 .357 .239 .299 .400 1.7 0.3 3.16 4.59
Allan Winans .282 .338 .472 .239 .296 .376 1.7 0.5 3.73 4.73
Ian Anderson .222 .302 .333 .274 .340 .458 1.7 0.5 3.62 4.70
Joe Jiménez .216 .289 .363 .216 .277 .328 1.5 0.1 2.45 4.37
Dylan Lee .227 .253 .360 .228 .285 .386 1.4 0.2 2.30 4.12
A.J. Minter .212 .268 .303 .226 .288 .376 1.3 0.1 2.55 4.30
Dylan Dodd .254 .298 .393 .273 .325 .460 1.4 -0.1 4.02 5.34
Aaron Bummer .200 .273 .286 .238 .326 .317 1.3 0.2 2.20 3.95
Drue Hackenberg .245 .347 .399 .254 .342 .401 1.4 0.0 4.20 5.23
Huascar Ynoa .241 .326 .397 .246 .311 .396 1.2 0.3 3.70 4.85
Griffin Canning .251 .327 .438 .261 .319 .452 1.6 -0.2 4.20 5.28
Hurston Waldrep .254 .345 .429 .255 .326 .417 1.3 -0.1 4.08 5.23
Luis De Avila .248 .338 .372 .277 .350 .447 1.1 -0.1 4.30 5.27
Royber Salinas .238 .345 .389 .236 .337 .404 1.1 -0.1 3.99 5.34
Ian Mejia .272 .344 .492 .264 .324 .417 1.4 -0.1 4.17 5.26
Landon Harper .259 .310 .422 .273 .307 .435 1.0 0.0 3.64 4.95
Darius Vines .270 .326 .460 .270 .324 .460 1.1 -0.1 4.20 5.32
Pierce Johnson .224 .313 .341 .240 .310 .423 1.0 -0.2 2.77 5.07
Drew Parrish .256 .333 .402 .268 .336 .460 0.9 -0.4 4.37 5.43
Jesse Chavez .258 .327 .398 .252 .308 .411 0.8 -0.2 3.08 5.00
Daysbel Hernández .229 .333 .396 .218 .316 .347 0.8 -0.3 3.11 4.70
J.J. Niekro .270 .333 .420 .276 .336 .465 0.7 -0.1 4.28 5.37
Jackson Stephens .267 .330 .419 .240 .308 .375 0.6 -0.1 3.46 4.79
Taylor Widener .275 .355 .486 .240 .311 .388 0.7 -0.2 4.04 5.40
Ray Kerr .208 .300 .321 .252 .336 .430 0.7 -0.2 3.14 4.81
Domingo Gonzalez .245 .361 .441 .234 .316 .365 0.7 -0.3 3.88 5.21
John Brebbia .257 .337 .500 .240 .294 .380 0.6 -0.4 3.49 5.72
Angel Perdomo .190 .306 .286 .217 .327 .398 0.5 -0.3 3.22 5.12
Luke Jackson .218 .330 .346 .250 .319 .433 0.6 -0.4 3.21 5.26
Tyler Matzek .222 .300 .333 .245 .339 .402 0.5 -0.4 3.19 5.15
Enoli Paredes .238 .347 .417 .223 .339 .330 0.5 -0.4 3.64 5.08
Patrick Halligan .266 .346 .426 .254 .315 .441 0.4 -0.3 4.06 5.28
Hayden Harris .222 .323 .370 .248 .331 .419 0.5 -0.3 3.49 4.86
Jhancarlos Lara .264 .379 .453 .246 .344 .407 0.6 -0.6 4.63 5.83
Jake McSteen .254 .289 .394 .291 .349 .503 0.4 -0.5 4.15 5.45
Tommy Doyle .269 .352 .474 .241 .302 .391 0.3 -0.5 3.79 5.44
Ryan Bourassa .250 .346 .426 .229 .313 .400 0.3 -0.4 3.92 5.41
Brooks Wilson .234 .337 .429 .234 .333 .390 0.3 -0.5 3.83 5.38
Ben Bowden .273 .355 .436 .227 .327 .392 0.3 -0.5 3.76 5.72
Rolddy Munoz .276 .370 .494 .231 .319 .365 0.3 -0.5 4.07 5.28
Ken Giles .226 .349 .377 .250 .343 .450 0.2 -0.4 3.83 5.63
Brian Moran .245 .355 .358 .265 .330 .459 0.3 -0.5 3.81 5.81
Parker Dunshee .267 .358 .440 .239 .327 .425 0.3 -0.7 4.34 5.71
Anthony Vizcaya .245 .339 .449 .286 .349 .464 0.1 -0.4 4.12 5.73
Jake Walsh .263 .364 .395 .238 .327 .429 0.0 -0.4 4.25 5.90
Jonathan Hughes .277 .355 .458 .268 .357 .423 0.1 -0.6 4.34 5.73
Matt Carasiti .284 .385 .463 .250 .322 .413 0.1 -0.6 4.04 5.76
Austin Smith .283 .406 .491 .237 .343 .390 -0.1 -0.6 4.86 6.57
Jorge Juan .234 .380 .422 .247 .371 .411 -0.1 -0.8 4.71 6.36
Peyton Williams .281 .370 .484 .247 .341 .438 -0.1 -0.7 4.66 6.10
Elison Joseph .266 .376 .430 .228 .339 .435 0.0 -0.8 4.48 5.98
Trey Riley .268 .388 .479 .264 .369 .425 -0.2 -0.9 4.85 6.42
David Fletcher .311 .397 .503 .301 .408 .542 -1.0 -1.8 6.44 7.49

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

Hitters are ranked by zWAR, which is to say, WAR values as calculated by me, Dan Szymborski, whose surname is spelled with a z. WAR values might differ slightly from those that appear in the full release of ZiPS. Finally, I will advise anyone against — and might karate chop anyone guilty of — merely adding up WAR totals on a depth chart to produce projected team WAR.

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