2024 ZiPS Projections: Los Angeles Angels

For the 20th 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 Los Angeles Angels.

Batters

Let’s get the good news out of the way first: The 2023 Angels, at 73–89, finished with far fewer wins than you would expect from the available talent. This year, they ought to get a full slate of games from Zach Neto, whom ZiPS likes very much and sees significant growth from, and Nolan Schanuel, whom both ZiPS and Steamer like going forward. It’s also likely that Logan O’Hoppe, recovered from a torn labrum that required surgery, beats his 51 games played last season. Even Anthony Rendon has a chance to be significantly healthier in 2024. Mike Trout only managed 82 games last season, and while we should no longer be bullish about his health, he certainly has a fighter’s chance at playing more often. ZiPS thinks Michael Stefanic would be a good stopgap option at second — kind of the Angels’ version of peak Joey Wendle, if they let him play 120 games and see what happens. I’d be tempted to go with Stefanic at second, Luis Rengifo at third, and then Rendon as the primary DH until he shows that he can actually remain healthy, leaving Brandon Drury in a kind of supersub role.

But now we have the bad news: The 2023 Angels may have played under their abilities, but that team also had Shohei Ohtani, so the loss of that production will cancel out a good chunk of the bounceback. The depth chart doesn’t look so bad, but it’s also paper-thin, with ZiPS having little faith in most of the emergency fill-ins. O’Hoppe’s contributions get held back by Matt Thaiss, and the numbers at first take a hit from the projected playing time for Drury and Evan White.

Also, help isn’t on the way with one noticeable exception: Kyren Paris, one of only seven hitters in the entire organization that projects to at least five WAR over the next five years (and all of them have already been mentioned). ZiPS agrees with my colleague Eric Longenhagen, who has the Angels with baseball’s worst farm system. That’s a big issue for a disappointing team that has to replace a generational talent.

Pitchers

ZiPS doesn’t see the rotation as a serious problem, but it doesn’t see it as a notable strength, either. Reid Detmers, Patrick Sandoval, and Griffin Canning are a relatively dependable top three and are all competent innings-eaters, but the computer doesn’t see much high-end upside, and neither do I. ZiPS projects a better season coming up from Tyler Anderson, whom I always overrate because his delivery destroys my timing in MLB: The Show, but it’s not like he’s going to wake up tomorrow and become Tom Glavine. And while ZiPS likes Chase Silseth fine and thinks that there’s a bigger number of capable emergency fill-ins should the Angels get hit by the injury bug again, there’s just not a lot of high potential or pizazz there.

The bullpen, on the other hand, looks like a disaster if you buy what ZiPS is selling. Not a single projected reliever has an ERA on the good side of four. Most of this group is in their 30s, and two of the actually young options, José Soriano and Ben Joyce, have walk issues to iron out.

Right now, the Angels look like a .500 team, which is actually a significant step up from last season. But the ceiling of this group is low without the benefit of the floor being high. Unless they make some huge moves on the dwindling crop left out there in free agency, I’m not sure how you get a 95-win season out of this team.

You Aren't a FanGraphs Member
It looks like you aren't yet a FanGraphs Member (or aren't logged in). We aren't mad, just disappointed. We get it. You want to read this article. But before we let you get back to it, we'd like to point out a few of the good reasons why you should become a Member. 1. Ad Free viewing! We won't bug you with this ad, or any other. 2. Unlimited articles! Non-Members only get to read 10 free articles a month. Members never get cut off. 3. Dark mode and Classic mode! 4. Custom player page dashboards! Choose the player cards you want, in the order you want them. 5. One-click data exports! Export our projections and leaderboards for your personal projects. 6. Remove the photos on the home page! (Honestly, this doesn't sound so great to us, but some people wanted it, and we like to give our Members what they want.) 7. Even more Steamer projections! We have handedness, percentile, and context neutral projections available for Members only. 8. Get FanGraphs Walk-Off, a customized year end review! Find out exactly how you used FanGraphs this year, and how that compares to other Members. Don't be a victim of FOMO. 9. A weekly mailbag column, exclusively for Members. 10. Help support FanGraphs and our entire staff! Our Members provide us with critical resources to improve the site and deliver new features! We hope you'll consider a Membership today, for yourself or as a gift! And we realize this has been an awfully long sales pitch, so we've also removed all the other ads in this article. We didn't want to overdo it. In case you didn't read all that, here's the short version. Membership includes:
✓Ad-free browsing
✓Unlimited FanGraphs & RotoGraphs articles
✓Historical & platoon projections
✓Leaderboard & player-page stat heatmaps
✓One-click data exports
✓Customizable player-page dashboards
✓Dark & Classic site modes
✓Weekly Members-only mailbag
✓FanGraphs Walk-Off, your year in review
✓Optional homepage photo removal
✓Gift articles to non-Members
✓Full postseason coverage

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
Mike Trout R 32 CF 382 323 58 83 17 1 21 60 51 107 2 1
Logan O’Hoppe R 24 C 397 347 49 89 11 1 21 56 40 84 2 2
Zach Neto R 23 SS 365 316 51 78 17 0 13 47 28 86 6 1
Michael Stefanic R 28 2B 510 451 55 123 17 1 6 53 46 56 4 4
Taylor Ward R 30 LF 438 383 63 101 22 1 16 55 45 93 4 2
Nolan Schanuel L 22 1B 467 400 72 102 19 2 16 56 58 82 2 1
Luis Rengifo B 27 2B 491 446 58 115 18 4 14 58 36 88 7 4
Gio Urshela R 32 3B 392 364 42 102 18 2 10 46 22 72 2 1
Charles Leblanc R 28 2B 422 378 48 89 16 3 12 54 40 130 4 2
Trey Cabbage L 27 1B 476 434 58 101 19 2 22 72 34 184 15 2
Brandon Drury R 31 2B 491 453 56 111 25 2 19 70 28 123 1 2
Anthony Rendon R 34 3B 233 198 27 52 12 0 6 28 28 38 1 1
C.J. Cron R 34 1B 434 390 52 95 18 1 18 59 34 115 0 1
Kyren Paris R 22 SS 558 486 69 101 21 2 11 57 60 186 25 3
Mickey Moniak L 26 CF 448 421 50 100 18 5 18 58 20 140 6 3
Taylor Jones R 30 3B 311 277 40 63 16 0 9 38 28 85 2 1
Jo Adell R 25 RF 448 408 58 93 19 2 22 67 32 149 6 2
Kevin Padlo R 27 3B 420 373 51 81 18 1 12 46 41 125 6 2
Brett Phillips L 30 CF 339 291 44 53 7 3 10 34 39 137 10 2
Matt Thaiss L 29 C 371 322 42 71 12 1 10 40 42 93 2 1
Eduardo Escobar B 35 3B 429 396 48 93 16 4 15 52 29 102 1 1
Evan White R 28 1B 163 148 19 32 6 0 7 23 13 49 1 1
Gustavo Campero B 26 C 232 211 29 47 11 2 5 30 14 54 9 3
Randal Grichuk R 32 LF 486 451 58 109 21 2 16 55 28 113 2 2
Jared Oliva R 28 RF 352 322 42 75 15 4 6 40 22 93 12 4
Mike Moustakas L 35 3B 331 300 33 69 15 0 10 36 22 81 1 1
Livan Soto L 24 SS 516 462 54 100 15 3 6 45 45 137 4 3
Zach Humphreys R 26 C 258 226 27 48 10 1 3 23 26 71 5 3
Chris Okey R 29 C 224 205 21 45 6 2 4 22 13 64 1 1
Willie Calhoun L 29 RF 293 264 32 66 11 1 8 34 25 42 0 1
David Calabrese L 21 CF 544 491 56 97 19 4 9 49 45 181 9 5
Chad Wallach R 32 C 291 260 27 51 9 1 8 30 25 93 1 1
Eric Wagaman R 26 1B 236 216 22 49 9 1 6 24 17 60 4 1
Adrian Placencia B 21 2B 547 478 61 94 17 2 11 51 58 194 12 7
Bryce Teodosio R 25 CF 413 376 41 71 13 1 7 41 27 167 10 5
Jordyn Adams R 24 CF 494 450 56 94 15 4 9 48 35 167 24 4
Gabe Matthews L 26 1B 422 363 39 72 15 0 10 48 45 140 1 1
Daniel Murphy L 39 1B 182 168 18 41 7 0 2 15 13 29 0 1
Jared Walsh L 30 1B 427 384 44 83 17 1 16 52 37 144 1 1
Aaron Whitefield R 27 LF 348 319 38 65 11 2 5 32 24 124 17 6
Anthony Mulrine R 26 C 196 170 15 31 6 0 1 16 14 56 0 1
Jack López R 31 SS 347 323 37 70 14 2 7 37 16 109 7 3
Ryan Aguilar L 29 1B 311 270 35 47 7 1 6 30 34 125 4 1
Orlando Martinez L 26 DH 467 432 48 102 21 3 9 49 27 116 4 3
Tucker Flint L 23 RF 505 443 52 91 20 3 9 56 46 170 3 3
Kevin Maitan B 24 3B 320 295 26 57 10 1 4 29 20 118 1 1
D’Shawn Knowles B 23 CF 512 466 54 95 18 4 3 40 32 161 16 6
Myles Emmerson R 26 C 260 240 24 43 8 0 1 15 18 91 1 1
Preston Palmeiro L 29 LF 361 330 34 71 16 1 5 32 27 88 2 1
Werner Blakely L 22 3B 372 332 38 59 13 2 5 34 34 159 12 1
Arol Vera B 21 SS 570 524 57 106 15 2 4 42 29 176 8 4
Sonny DiChiara R 24 1B 318 281 23 52 9 0 4 29 28 127 0 1
Joe Stewart R 26 LF 478 448 44 93 14 3 3 40 23 154 20 5

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA RC
Mike Trout 382 .257 .366 .511 139 .254 .318 -1 2.8 .371 61
Logan O’Hoppe 397 .256 .345 .476 124 .219 .281 -7 2.1 .353 58
Zach Neto 365 .247 .338 .424 109 .177 .300 -1 1.9 .333 47
Michael Stefanic 510 .273 .352 .355 97 .082 .301 2 1.7 .316 59
Taylor Ward 438 .264 .347 .452 119 .188 .310 0 1.6 .346 62
Nolan Schanuel 467 .255 .360 .433 118 .178 .285 -2 1.5 .347 63
Luis Rengifo 491 .258 .318 .410 100 .152 .294 -1 1.4 .317 61
Gio Urshela 392 .280 .321 .423 104 .143 .326 0 1.3 .320 50
Charles Leblanc 422 .235 .313 .389 93 .153 .326 1 1.1 .307 48
Trey Cabbage 476 .233 .293 .438 98 .205 .346 4 0.9 .313 60
Brandon Drury 491 .245 .295 .435 98 .190 .296 -4 0.9 .313 59
Anthony Rendon 233 .263 .361 .414 114 .152 .299 -2 0.9 .339 30
C.J. Cron 434 .244 .313 .433 104 .190 .300 1 0.7 .321 53
Kyren Paris 558 .208 .305 .327 75 .119 .311 -4 0.6 .285 55
Mickey Moniak 448 .238 .277 .432 92 .195 .312 -2 0.5 .300 53
Taylor Jones 311 .227 .305 .383 89 .155 .295 0 0.5 .302 33
Jo Adell 448 .228 .292 .446 100 .218 .300 -2 0.5 .315 55
Kevin Padlo 420 .217 .298 .367 83 .150 .292 0 0.4 .292 43
Brett Phillips 339 .182 .283 .330 69 .148 .299 4 0.3 .274 30
Matt Thaiss 371 .220 .315 .357 86 .137 .279 -7 0.3 .298 37
Eduardo Escobar 429 .235 .287 .409 89 .174 .280 -3 0.3 .298 47
Evan White 163 .216 .288 .399 87 .182 .272 2 0.2 .299 18
Gustavo Campero 232 .223 .284 .365 78 .142 .276 -3 0.1 .282 25
Randal Grichuk 486 .242 .290 .404 89 .162 .289 1 0.1 .299 54
Jared Oliva 352 .233 .293 .360 80 .127 .309 3 0.0 .287 38
Mike Moustakas 331 .230 .287 .380 82 .150 .282 -3 -0.2 .288 33
Livan Soto 516 .216 .288 .301 63 .084 .295 1 -0.2 .265 42
Zach Humphreys 258 .212 .297 .305 67 .093 .296 -3 -0.2 .272 23
Chris Okey 224 .220 .275 .327 66 .107 .299 -2 -0.2 .266 19
Willie Calhoun 293 .250 .317 .390 94 .140 .271 -4 -0.2 .308 33
David Calabrese 544 .198 .269 .308 59 .110 .292 8 -0.2 .257 45
Chad Wallach 291 .196 .272 .331 66 .135 .270 -3 -0.3 .267 24
Eric Wagaman 236 .227 .284 .361 77 .134 .287 1 -0.3 .282 23
Adrian Placencia 547 .197 .288 .310 66 .113 .304 1 -0.4 .270 48
Bryce Teodosio 413 .189 .257 .285 50 .096 .317 8 -0.5 .244 32
Jordyn Adams 494 .209 .270 .320 63 .111 .310 0 -0.5 .261 45
Gabe Matthews 422 .198 .306 .322 74 .124 .291 2 -0.5 .284 36
Daniel Murphy 182 .244 .297 .321 71 .077 .285 0 -0.5 .275 16
Jared Walsh 427 .216 .290 .391 86 .174 .299 -2 -0.6 .294 44
Aaron Whitefield 348 .204 .261 .298 54 .094 .316 5 -0.8 .249 31
Anthony Mulrine 196 .182 .276 .235 44 .053 .265 -4 -0.8 .241 11
Jack López 347 .217 .261 .337 64 .121 .304 -6 -0.9 .260 31
Ryan Aguilar 311 .174 .277 .274 54 .100 .295 3 -0.9 .254 22
Orlando Martinez 467 .236 .282 .361 76 .125 .303 0 -1.0 .279 46
Tucker Flint 505 .205 .301 .325 73 .120 .311 -4 -1.1 .282 45
Kevin Maitan 320 .193 .253 .275 46 .081 .306 0 -1.2 .237 21
D’Shawn Knowles 512 .204 .258 .279 49 .075 .305 3 -1.3 .240 39
Myles Emmerson 260 .179 .239 .225 30 .046 .284 -2 -1.4 .213 14
Preston Palmeiro 361 .215 .277 .315 64 .100 .278 -3 -1.4 .263 30
Werner Blakely 372 .178 .263 .274 49 .096 .321 -7 -1.5 .245 27
Arol Vera 570 .202 .247 .261 41 .059 .297 2 -1.8 .228 37
Sonny DiChiara 318 .185 .274 .260 49 .075 .320 -5 -2.0 .246 20
Joe Stewart 478 .208 .255 .272 46 .065 .309 0 -2.2 .236 37

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Mike Trout Pedro Guerrero Jeff Heath Mickey Mantle
Logan O’Hoppe Mickey Cochrane Dave Valle Craig Biggio
Zach Neto Andy Beinbrink Trevor Sealey Wil Cordero
Michael Stefanic Ted Sizemore Marty Barrett Matt Duffy
Taylor Ward Eric Tipton Harry Rice Irv Noren
Nolan Schanuel Daric Barton Logan Morrison Elbie Fletcher
Luis Rengifo Kolten Wong Hughie Critz William Huisman
Gio Urshela Ramon Conde T.J. Rivera Miguel de la Hoz
Charles Leblanc Josh Fields Mike Derrick Frank Grundler
Trey Cabbage Donn Clendenon Carlos Peguero 페게로 Jose Vidal
Brandon Drury Russell Kerns Jeff Kent Tim Wallach
Anthony Rendon Mike Sharperson Heinie Groh Eric Campbell
C.J. Cron Corey Hart Ryan Ludwick Alan Knicely
Kyren Paris Cesar Crespo Brent Lillibridge Geronimo Pena
Mickey Moniak Al Martin마틴 Melky Mesa Adolis García
Taylor Jones Keith Ginter Adam Heether Bobby Etheridge
Jo Adell J.J. Davis Casper Wells Dave Arrington
Kevin Padlo Vic Ramirez Tom Lombarski Kevin Randel
Brett Phillips Bob Montag Jed Hansen Louie Meadows
Matt Thaiss Lou Berberet Tim Blackwell Joe Nolan
Eduardo Escobar Jim Morrison Art Fletcher Scott Spiezio
Evan White Wayne Tyrone Todd Trafton Wayne Belardi
Gustavo Campero Marty Pevey Choo-Choo Coleman Bruce Kimm
Randal Grichuk Jim McKnight Jerald Clark Les Layton
Jared Oliva McKay Christensen Adam Stern Ángel Pagán
Mike Moustakas Mike Pagliarulo Geoff Blum Harvey Storey
Livan Soto Ramón Vázquez Frank Baker Al Moran
Zach Humphreys Kevin Dultz Jeff Farnham Dennis Pelfrey
Chris Okey Joe Kmak Kevin Butler Reynaldo Oliver
Willie Calhoun Fred Hopke Al Leboeuf Ryan Sweeney
David Calabrese Darren Riley Jason Robertson Arturo McDowell
Chad Wallach Joe Hannah Larry Howard Steve Patchin
Eric Wagaman Nate Coronado Max Oliveras Mel McGaha
Adrian Placencia Harry Chappas Marlin Methven Calvin Portley
Bryce Teodosio Trey Martin Derek Vaughn Scott Houin
Jordyn Adams Derek Hill Darren Ford Juan Tolentino
Gabe Matthews Mike Papi Danny Hayes Graham Koonce
Daniel Murphy Sean Burroughs Tim Corcoran Ross Gload
Jared Walsh Bucky Jacobsen Jeff Kipila Robert Schuster
Aaron Whitefield Casio Grider Darren Ford Greg Strickland
Anthony Mulrine Eric Brooks Sammy Rodriguez Wally Rosa
Jack López Chris Basak Pablo Martinez Kristopher Negrón
Ryan Aguilar Lawrence Stankey Sherry Robertson Randy Curtis
Orlando Martinez Otis Green Brant Brown Jeff Kindel
Tucker Flint Danny Hayes Tim Norrid Todd Self
Kevin Maitan Marco Pernalete Marty Foley Jake Daubert
D’Shawn Knowles Wayne Housie Chavez Young Juan Tolentino
Myles Emmerson Patrick Arlis Scott Maynard Jose Gonzalez
Preston Palmeiro Justin Headley Rich Aldrete Sergio Cairo
Werner Blakely Gosuke Katoh Dale Soderholm Luis Alejandro Basabe
Arol Vera Donald Furnald Jose Coronado Santiago Perez
Sonny DiChiara Eduardo Figueroa Don Gilbert Casey DeGroote
Joe Stewart Rod Lindsey Ray Kruml Pedro Zapata

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
Mike Trout .280 .392 .573 161 3.8 .228 .337 .445 117 1.8
Logan O’Hoppe .281 .370 .540 147 3.1 .232 .319 .420 104 1.1
Zach Neto .273 .363 .478 130 2.8 .226 .315 .364 90 1.1
Michael Stefanic .297 .377 .394 114 2.8 .245 .324 .322 83 0.8
Taylor Ward .290 .372 .509 140 2.7 .239 .321 .405 100 0.6
Nolan Schanuel .283 .388 .486 139 2.7 .232 .336 .387 98 0.4
Luis Rengifo .284 .348 .455 118 2.6 .233 .295 .358 81 0.3
Gio Urshela .308 .351 .468 123 2.2 .252 .295 .376 87 0.5
Charles Leblanc .263 .337 .433 110 2.0 .210 .285 .344 74 0.1
Trey Cabbage .259 .325 .499 119 2.2 .200 .264 .377 73 -0.5
Brandon Drury .273 .323 .495 123 2.4 .220 .270 .381 79 -0.2
Anthony Rendon .295 .391 .467 133 1.4 .230 .327 .356 90 0.2
C.J. Cron .267 .336 .484 121 1.6 .214 .287 .378 83 -0.4
Kyren Paris .232 .331 .381 94 1.9 .185 .280 .289 60 -0.5
Mickey Moniak .263 .303 .487 111 1.6 .210 .251 .379 71 -0.7
Taylor Jones .255 .331 .429 107 1.2 .203 .276 .336 70 -0.2
Jo Adell .256 .321 .511 124 1.7 .200 .265 .387 78 -0.8
Kevin Padlo .242 .320 .417 100 1.3 .191 .273 .320 64 -0.6
Brett Phillips .211 .316 .392 92 1.3 .157 .250 .276 46 -0.5
Matt Thaiss .250 .345 .417 108 1.2 .197 .286 .303 67 -0.6
Eduardo Escobar .260 .314 .464 110 1.4 .206 .260 .353 68 -0.9
Evan White .246 .316 .458 109 0.6 .190 .259 .343 67 -0.3
Gustavo Campero .252 .313 .425 100 0.7 .196 .259 .315 60 -0.5
Randal Grichuk .269 .320 .455 111 1.4 .214 .264 .354 72 -1.0
Jared Oliva .255 .316 .406 96 0.8 .207 .266 .316 60 -0.8
Mike Moustakas .255 .314 .433 102 0.6 .202 .264 .332 63 -0.9
Livan Soto .240 .313 .338 82 1.0 .190 .262 .261 48 -1.1
Zach Humphreys .240 .330 .350 85 0.4 .184 .271 .269 49 -0.8
Chris Okey .254 .310 .393 92 0.5 .191 .249 .289 48 -0.7
Willie Calhoun .277 .346 .444 115 0.5 .226 .291 .343 76 -0.9
David Calabrese .224 .296 .354 77 0.9 .171 .241 .269 41 -1.5
Chad Wallach .224 .301 .389 84 0.4 .174 .243 .282 45 -1.0
Eric Wagaman .256 .315 .419 100 0.3 .200 .254 .314 59 -0.8
Adrian Placencia .224 .317 .364 86 0.9 .169 .263 .266 49 -1.5
Bryce Teodosio .216 .283 .330 69 0.5 .162 .231 .243 33 -1.5
Jordyn Adams .232 .295 .362 79 0.6 .182 .248 .279 46 -1.5
Gabe Matthews .227 .335 .367 92 0.5 .173 .278 .277 55 -1.5
Daniel Murphy .281 .334 .360 92 0.0 .210 .266 .277 51 -0.9
Jared Walsh .241 .315 .450 107 0.5 .190 .262 .339 66 -1.7
Aaron Whitefield .231 .287 .344 73 0.0 .175 .234 .260 37 -1.6
Anthony Mulrine .212 .310 .271 63 -0.4 .152 .248 .197 25 -1.3
Jack López .247 .291 .391 85 0.1 .192 .239 .295 47 -1.6
Ryan Aguilar .203 .310 .321 72 -0.2 .145 .247 .233 32 -1.8
Orlando Martinez .261 .306 .407 94 0.0 .209 .258 .319 59 -2.0
Tucker Flint .228 .328 .368 91 -0.1 .182 .278 .284 55 -2.3
Kevin Maitan .219 .278 .318 63 -0.5 .167 .226 .237 29 -1.8
D’Shawn Knowles .228 .281 .317 64 -0.2 .179 .235 .246 34 -2.1
Myles Emmerson .207 .271 .262 48 -0.8 .150 .212 .186 11 -2.0
Preston Palmeiro .241 .305 .357 81 -0.6 .193 .255 .287 49 -2.1
Werner Blakely .204 .291 .325 68 -0.6 .151 .242 .233 33 -2.3
Arol Vera .230 .278 .301 58 -0.6 .180 .226 .230 25 -3.0
Sonny DiChiara .208 .299 .296 64 -1.4 .157 .247 .222 31 -2.7
Joe Stewart .234 .280 .305 60 -1.3 .184 .232 .241 32 -3.1

Batters – Projected Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Mike Trout .255 .372 .500 .258 .364 .515
Logan O’Hoppe .268 .366 .484 .247 .327 .468
Zach Neto .252 .340 .455 .244 .336 .404
Michael Stefanic .270 .352 .365 .275 .351 .347
Taylor Ward .273 .363 .460 .258 .338 .447
Nolan Schanuel .241 .351 .411 .260 .363 .441
Luis Rengifo .268 .329 .433 .253 .312 .398
Gio Urshela .290 .336 .435 .275 .314 .417
Charles Leblanc .235 .319 .388 .236 .307 .389
Trey Cabbage .217 .276 .413 .241 .302 .450
Brandon Drury .252 .298 .453 .241 .294 .425
Anthony Rendon .259 .371 .431 .264 .356 .407
C.J. Cron .244 .317 .433 .243 .312 .433
Kyren Paris .206 .313 .322 .209 .298 .331
Mickey Moniak .226 .271 .419 .242 .279 .438
Taylor Jones .233 .318 .397 .224 .296 .373
Jo Adell .232 .298 .457 .225 .288 .439
Kevin Padlo .221 .308 .390 .214 .289 .348
Brett Phillips .171 .264 .303 .186 .289 .340
Matt Thaiss .214 .311 .340 .224 .317 .365
Eduardo Escobar .242 .290 .414 .231 .285 .407
Evan White .220 .303 .407 .213 .278 .393
Gustavo Campero .218 .279 .372 .226 .288 .361
Randal Grichuk .252 .305 .430 .237 .283 .390
Jared Oliva .241 .307 .387 .227 .284 .341
Mike Moustakas .229 .278 .349 .230 .290 .392
Livan Soto .205 .275 .280 .223 .295 .312
Zach Humphreys .223 .321 .319 .205 .279 .295
Chris Okey .218 .277 .345 .220 .273 .314
Willie Calhoun .243 .313 .365 .253 .319 .400
David Calabrese .192 .263 .302 .201 .272 .310
Chad Wallach .200 .285 .357 .193 .263 .310
Eric Wagaman .229 .292 .385 .225 .277 .342
Adrian Placencia .201 .296 .317 .194 .282 .304
Bryce Teodosio .195 .264 .302 .184 .252 .272
Jordyn Adams .212 .279 .328 .207 .264 .314
Gabe Matthews .187 .294 .301 .204 .312 .333
Daniel Murphy .227 .277 .273 .250 .304 .339
Jared Walsh .204 .275 .352 .221 .296 .406
Aaron Whitefield .210 .275 .315 .197 .247 .280
Anthony Mulrine .184 .279 .224 .181 .274 .245
Jack López .216 .267 .338 .217 .256 .337
Ryan Aguilar .165 .271 .243 .180 .281 .293
Orlando Martinez .225 .269 .338 .243 .289 .375
Tucker Flint .200 .299 .319 .208 .302 .328
Kevin Maitan .189 .256 .270 .197 .251 .277
D’Shawn Knowles .200 .257 .274 .207 .259 .283
Myles Emmerson .188 .255 .228 .173 .228 .223
Preston Palmeiro .217 .276 .301 .214 .278 .326
Werner Blakely .167 .256 .278 .183 .267 .272
Arol Vera .196 .248 .249 .206 .247 .270
Sonny DiChiara .186 .285 .274 .185 .266 .250
Joe Stewart .210 .265 .273 .206 .249 .272

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Patrick Sandoval L 27 9 9 4.00 27 26 141.7 135 63 17 57 142
Reid Detmers L 24 6 7 4.28 26 26 136.7 125 65 19 49 143
Griffin Canning R 28 6 7 4.37 20 19 107.0 101 52 17 37 114
Tyler Anderson L 34 6 7 4.62 25 23 132.3 134 68 21 40 118
Chase Silseth R 24 5 5 4.36 25 19 97.0 90 47 14 40 97
Kenny Rosenberg L 28 7 8 4.62 24 19 111.0 111 57 16 47 104
Brett Kerry R 25 5 7 4.79 24 20 114.7 124 61 18 40 86
José Suarez L 26 5 6 4.48 20 15 84.3 81 42 12 31 82
Davis Daniel R 27 4 5 4.61 18 16 82.0 81 42 12 30 66
Alan Rangel R 26 6 10 5.04 24 23 110.7 117 62 18 42 90
Ryan Smith L 26 4 4 4.84 22 11 74.3 77 40 11 32 62
Jack Dashwood L 26 3 3 4.62 23 5 64.3 68 33 10 19 54
Michael Darrell-Hicks R 26 4 7 5.11 24 15 91.7 98 52 15 35 71
Jake Lee R 29 2 3 4.98 29 11 77.7 88 43 13 22 53
Jake Kalish L 32 6 9 5.27 25 19 109.3 124 64 18 37 74
Andrew Wantz R 28 2 1 4.48 44 4 62.3 58 31 10 26 62
César Valdez R 39 4 6 5.21 29 15 103.7 123 60 18 25 73
Carlos Estévez R 31 4 4 4.25 60 0 55.0 47 26 8 23 63
Jhonathan Diaz L 27 4 6 5.06 32 11 83.7 85 47 12 39 70
Jack Kochanowicz R 23 4 6 5.34 21 20 87.7 100 52 14 28 50
Jose Soriano R 25 3 3 4.29 55 0 65.0 53 31 8 35 81
Victor Mederos R 23 5 7 5.34 22 19 89.3 94 53 14 41 68
Robinson Pina R 25 4 6 5.31 27 13 83.0 85 49 13 46 73
Mason Erla R 26 3 5 5.19 14 12 60.7 69 35 9 23 36
Jimmy Herget R 30 3 4 4.50 49 1 58.0 57 29 9 20 56
Sammy Natera Jr. L 24 4 6 5.47 20 20 80.7 80 49 13 44 73
Bryce Osmond R 23 5 8 5.48 22 22 90.3 97 55 15 44 66
Aaron Loup L 36 2 3 4.26 50 0 44.3 45 21 7 13 41
Travis MacGregor R 26 3 6 5.11 34 6 74.0 74 42 11 35 67
John Swanda R 25 4 6 5.47 22 14 80.7 92 49 13 33 49
José Quijada L 28 2 2 4.58 38 0 39.3 34 20 6 18 46
Adam Kolarek L 35 3 4 4.53 61 0 51.7 55 26 8 16 44
Luis García R 37 2 3 4.47 52 0 48.3 51 24 7 19 46
Zac Kristofak R 26 2 3 5.23 24 6 43.0 49 25 7 18 28
Sam Bachman R 24 3 5 5.51 19 9 50.7 52 31 7 30 42
Hayden Seig R 25 4 5 4.66 35 0 56.0 59 29 8 17 45
Cam Vieaux L 30 3 5 5.12 38 4 65.0 68 37 11 30 56
Luke Murphy R 24 3 4 4.84 43 1 48.3 48 26 7 24 45
Ben Joyce R 23 2 3 4.74 45 0 43.7 39 23 6 21 46
Luis Ledo R 29 2 5 5.60 25 11 62.7 68 39 10 39 49
Kolton Ingram L 27 3 3 4.91 46 0 55.0 52 30 8 30 58
Aaron Hernandez R 27 2 5 5.63 21 9 46.3 47 29 7 30 41
Carson Fulmer R 30 2 4 5.57 28 7 51.7 52 32 8 32 45
Ryan Miller R 28 3 4 5.07 34 1 49.7 53 28 8 19 42
Austin Warren R 28 3 3 4.87 34 0 44.3 44 24 7 20 41
Erik Martinez R 28 2 4 5.10 33 2 54.7 57 31 9 23 50
Jose Marte R 28 1 2 5.40 30 2 35.0 33 21 6 23 38
Jonathan Holder R 31 2 3 5.33 37 4 54.0 56 32 9 27 50
Tyler Thomas L 28 1 2 5.08 26 0 39.0 39 22 6 18 37
JD Hammer R 29 1 2 5.72 24 4 39.3 43 25 6 23 28
Ivan Armstrong R 23 2 4 5.40 39 4 63.3 66 38 10 30 50
Adam Cimber R 33 3 4 5.21 51 0 46.7 51 27 8 11 32
Nick Jones L 25 3 5 5.16 45 0 52.3 51 30 8 27 49
Kenyon Yovan R 26 3 6 5.21 46 0 48.3 49 28 7 24 42
Dylan Phillips L 25 2 3 5.10 39 0 54.7 54 31 8 23 50
Cole Percival R 25 2 5 5.90 25 10 71.7 78 47 11 46 52
Dakota Donovan R 26 2 2 5.26 36 0 49.7 53 29 8 23 40
Nathan Burns R 25 1 2 5.68 30 0 31.7 32 20 5 21 29
Kelvin Caceres R 24 2 4 5.64 40 2 52.7 48 33 8 41 60
Reyes Moronta R 31 2 3 5.68 36 0 38.0 35 24 7 30 43
Houston Harding L 26 1 2 5.81 24 2 52.7 58 34 9 32 38
Brandon Dufault R 25 1 1 6.18 21 0 27.7 28 19 4 22 24
Eric Torres L 24 1 3 6.17 36 0 46.7 41 32 7 38 53

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ FIP ERA- WAR
Patrick Sandoval 141.7 9.0 3.6 1.1 9.3% 23.2% .302 110 4.12 91 2.5
Reid Detmers 136.7 9.4 3.2 1.3 8.4% 24.7% .291 102 4.24 98 2.0
Griffin Canning 107.0 9.6 3.1 1.4 8.1% 24.9% .296 100 4.34 100 1.5
Tyler Anderson 132.3 8.0 2.7 1.4 7.1% 20.9% .295 95 4.55 105 1.5
Chase Silseth 97.0 9.0 3.7 1.3 9.5% 23.0% .289 101 4.49 99 1.3
Kenny Rosenberg 111.0 8.4 3.8 1.3 9.7% 21.4% .301 95 4.66 105 1.2
Brett Kerry 114.7 6.8 3.1 1.4 8.0% 17.1% .299 92 4.89 109 1.2
José Suarez 84.3 8.8 3.3 1.3 8.6% 22.7% .295 98 4.41 102 1.1
Davis Daniel 82.0 7.2 3.3 1.3 8.5% 18.7% .284 95 4.83 105 1.0
Alan Rangel 110.7 7.3 3.4 1.5 8.6% 18.4% .297 87 5.02 115 0.8
Ryan Smith 74.3 7.5 3.9 1.3 9.7% 18.7% .297 91 4.92 110 0.6
Jack Dashwood 64.3 7.6 2.7 1.4 6.9% 19.5% .302 95 4.58 105 0.6
Michael Darrell-Hicks 91.7 7.0 3.4 1.5 8.7% 17.6% .296 86 5.21 116 0.6
Jake Lee 77.7 6.1 2.5 1.5 6.4% 15.5% .301 88 4.99 114 0.6
Jake Kalish 109.3 6.1 3.0 1.5 7.7% 15.3% .302 83 5.25 120 0.5
Andrew Wantz 62.3 9.0 3.8 1.4 9.6% 23.0% .284 98 4.70 102 0.5
César Valdez 103.7 6.3 2.2 1.6 5.5% 16.0% .313 84 4.91 119 0.5
Carlos Estévez 55.0 10.3 3.8 1.3 9.7% 26.5% .283 103 4.16 97 0.4
Jhonathan Diaz 83.7 7.5 4.2 1.3 10.5% 18.9% .294 87 5.24 115 0.4
Jack Kochanowicz 87.7 5.1 2.9 1.4 7.2% 12.9% .295 82 5.46 122 0.4
Jose Soriano 65.0 11.2 4.8 1.1 12.2% 28.3% .290 102 4.44 98 0.4
Victor Mederos 89.3 6.9 4.1 1.4 10.2% 16.9% .293 82 5.45 122 0.4
Robinson Pina 83.0 7.9 5.0 1.4 12.0% 19.1% .298 83 5.41 121 0.4
Mason Erla 60.7 5.3 3.4 1.3 8.5% 13.3% .299 84 5.28 118 0.3
Jimmy Herget 58.0 8.7 3.1 1.4 8.1% 22.7% .296 97 4.53 103 0.3
Sammy Natera Jr. 80.7 8.1 4.9 1.5 11.9% 19.8% .291 80 5.51 125 0.3
Bryce Osmond 90.3 6.6 4.4 1.5 10.7% 16.1% .293 80 5.68 125 0.3
Aaron Loup 44.3 8.3 2.6 1.4 6.9% 21.7% .299 103 4.54 97 0.2
Travis MacGregor 74.0 8.1 4.3 1.3 10.6% 20.3% .296 86 5.16 116 0.2
John Swanda 80.7 5.5 3.7 1.5 9.0% 13.3% .298 80 5.66 125 0.2
José Quijada 39.3 10.5 4.1 1.4 10.7% 27.2% .286 96 4.42 104 0.2
Adam Kolarek 51.7 7.7 2.8 1.4 7.2% 19.7% .305 97 4.67 103 0.2
Luis García 48.3 8.6 3.5 1.3 8.8% 21.2% .314 98 4.66 102 0.1
Zac Kristofak 43.0 5.9 3.8 1.5 9.2% 14.3% .300 84 5.46 119 0.1
Sam Bachman 50.7 7.5 5.3 1.2 12.8% 17.9% .298 80 5.47 126 0.1
Hayden Seig 56.0 7.2 2.7 1.3 6.9% 18.4% .300 94 4.68 106 0.1
Cam Vieaux 65.0 7.8 4.2 1.5 10.3% 19.2% .298 86 5.35 117 0.1
Luke Murphy 48.3 8.4 4.5 1.3 11.1% 20.7% .297 91 4.83 110 0.1
Ben Joyce 43.7 9.5 4.3 1.2 11.0% 24.1% .287 93 4.79 108 0.0
Luis Ledo 62.7 7.0 5.6 1.4 13.2% 16.6% .302 78 5.73 128 0.0
Kolton Ingram 55.0 9.5 4.9 1.3 12.1% 23.5% .299 89 4.84 112 0.0
Aaron Hernandez 46.3 8.0 5.8 1.4 13.8% 18.9% .296 78 5.65 128 0.0
Carson Fulmer 51.7 7.8 5.6 1.4 13.4% 18.8% .293 79 5.56 127 0.0
Ryan Miller 49.7 7.6 3.4 1.4 8.6% 19.1% .304 86 5.05 116 0.0
Austin Warren 44.3 8.3 4.1 1.4 10.2% 20.8% .294 90 5.01 111 0.0
Erik Martinez 54.7 8.2 3.8 1.5 9.4% 20.5% .304 86 5.16 116 0.0
Jose Marte 35.0 9.8 5.9 1.5 14.0% 23.2% .293 81 5.54 123 -0.1
Jonathan Holder 54.0 8.3 4.5 1.5 11.1% 20.5% .303 82 5.29 122 -0.1
Tyler Thomas 39.0 8.5 4.2 1.4 10.4% 21.4% .300 86 5.05 116 -0.1
JD Hammer 39.3 6.4 5.3 1.4 12.6% 15.4% .298 77 5.72 130 -0.1
Ivan Armstrong 63.3 7.1 4.3 1.4 10.4% 17.3% .293 81 5.53 123 -0.1
Adam Cimber 46.7 6.2 2.1 1.5 5.5% 16.1% .293 84 5.14 119 -0.1
Nick Jones 52.3 8.4 4.6 1.4 11.4% 20.7% .293 85 5.20 118 -0.2
Kenyon Yovan 48.3 7.8 4.5 1.3 10.9% 19.1% .298 84 5.08 119 -0.2
Dylan Phillips 54.7 8.2 3.8 1.3 9.5% 20.6% .295 86 5.03 116 -0.2
Cole Percival 71.7 6.5 5.8 1.4 13.6% 15.4% .299 74 6.02 135 -0.2
Dakota Donovan 49.7 7.2 4.2 1.4 10.2% 17.8% .300 83 5.55 120 -0.3
Nathan Burns 31.7 8.2 6.0 1.4 13.8% 19.1% .297 77 5.66 130 -0.3
Kelvin Caceres 52.7 10.3 7.0 1.4 16.2% 23.7% .296 78 5.69 129 -0.3
Reyes Moronta 38.0 10.2 7.1 1.7 16.5% 23.6% .289 77 5.83 130 -0.3
Houston Harding 52.7 6.5 5.5 1.5 13.1% 15.5% .297 75 5.97 132 -0.4
Brandon Dufault 27.7 7.8 7.2 1.3 16.3% 17.8% .296 71 6.00 141 -0.4
Eric Torres 46.7 10.2 7.3 1.4 17.4% 24.2% .288 71 6.15 141 -0.6

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Patrick Sandoval Steve Barber Danny Jackson Jerry Reuss
Reid Detmers Eduardo Rodriguez Ken Holtzman CC Sabathia
Griffin Canning Jordan Lyles Marty Pattin Jeff Bittiger
Tyler Anderson Wilbur Wood David Wells Charlie Leibrandt
Chase Silseth Jaret Wright Bruce Howard Bruce Kison
Kenny Rosenberg Dontrelle Willis Wayne Franklin Brian Johnson
Brett Kerry Nick Martinez Nick Tepesch Teddy Stankiewicz
José Suarez Chuck Stobbs Bob Hendley Fred Heimach
Davis Daniel Erick Fedde 페디 Scott Bankhead John Dopson
Alan Rangel Taylor Clarke Jacob Turner 터너 Shaun Anderson 앤더슨
Ryan Smith Hilly Hathaway Matt Harrison Thor Skogan
Jack Dashwood Larry Wimberly Derek Manning J.D. Arteaga
Michael Darrell-Hicks Jackson Stephens Paul Clemens Erick Fedde
Jake Lee Casey Cox Joe Niekro Greg Brinkman
Jake Kalish Kirk Rueter Mark Hendrickson Dave Roberts
Andrew Wantz Pat Dobson Jack Aker Ken Tatum
César Valdez Brian Moehler Lew Burdette Dennis Springer
Carlos Estévez Pedro Baez Mychal Givens Ryan Tepera
Jhonathan Diaz Shane Youman 유먼 Justin Hampson Randy Flores
Jack Kochanowicz Jacob Nix Robert Myer DJ Baxendale
Jose Soriano Lance McCullers Ricky Bottalico Doug Bochtler
Victor Mederos Michael Lorenzen Steve Monson Grant Holmes
Robinson Pina Craig Chamberlain Justin Haley 헤일리 Tim Watkins
Mason Erla William Wolfe John Violette Mike Warnitsky
Jimmy Herget Tom Gorman Mark Williamson Steve Schrenk
Sammy Natera Jr. Michael Everett Aaron Miller John Rosengren
Bryce Osmond Francisco De La Cruz Bill Melvin Preston Larrison
Aaron Loup Tom Burgmeier Brian Duensing Graeme Lloyd
Travis MacGregor Ryan Perry Steve Shea Tim Barrett
John Swanda Morgan Coombs John Simms Dae-Eun Rhee
José Quijada Al Osuna Kevin Siegrist Mike Stanton
Adam Kolarek Paul Lindblad Tony Castillo Morrie Martin
Luis García LaTroy Hawkins Roberto Hernandez Gene Garber
Zac Kristofak T.J. Burton Tyler Mizenko Billy Biggs
Sam Bachman Daniel Lucia Travis Schlichting Jake Viano
Hayden Seig Jason Kummerfeldt Ricky Rojas Michael Roberts
Cam Vieaux Jake Woods Bob Buchanan Franklin Morales
Luke Murphy Jake Barrett P.J. Bevis Rich Surhoff
Ben Joyce George Jeffcoat Steve Foucault Chris Macca
Luis Ledo Tim Bausher Calvain Culberson Nick Pasquale
Kolton Ingram Wesley Wright Sean Burnett A.J. Murray
Aaron Hernandez Dar Smith Jhonny Nunez Jon Searles
Carson Fulmer Craig McMurtry Harry Fisher Rocky Cherry
Ryan Miller Paul Phillips Jason Creasy Andrew Robinson
Austin Warren Sendy Rleal Matt Pierpont Barry Jones
Erik Martinez Brian Edmondson Justin Pope Stephen Perakslis
Jose Marte Zach Schreiber Jarrod Kingrey Eric Weaver
Jonathan Holder Luther Hackman 해크먼 Tanyon Sturtze Garrett Mock
Tyler Thomas Jeff Hundley Bob Buchanan Vince Horsman
JD Hammer Jamie Emiliano Raymundo Pulido Mike Crudale
Ivan Armstrong Hal Garrett Brandon League Ryan Tucker
Adam Cimber Bob Miller Chuck Taylor Dale Mohorcic
Nick Jones Mike Dalton Kyle Fernandes Williams Jerez
Kenyon Yovan Pedro Beato Matt Stites John Lamb
Dylan Phillips Tom Funk Roy Merritt Daniel Stumpf
Cole Percival Joan Baez Nick Maness Steve Sparks
Dakota Donovan Elvys Quezada Paul Voelker Mike Roesler
Nathan Burns David Wong Rick Raether Darren Hall
Kelvin Caceres Adys Portillo Zach Jackson Matt Herges
Reyes Moronta Alan Mills Larry Sherry Gregg Olson
Houston Harding Jose Fernandez Jason Richman John McAllen
Brandon Dufault Brian Kolbe Otto Meischner Abner Johnson
Eric Torres Chubby Dean Joel McKeon Frankie Griffin

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
Patrick Sandoval .205 .271 .351 .261 .338 .416 3.3 1.4 3.48 4.65
Reid Detmers .225 .294 .348 .242 .317 .420 2.9 1.1 3.71 4.91
Griffin Canning .236 .312 .415 .250 .307 .432 2.3 0.8 3.79 5.05
Tyler Anderson .260 .317 .409 .256 .313 .451 2.3 0.7 4.05 5.34
Chase Silseth .247 .337 .431 .235 .302 .395 1.9 0.6 3.89 5.07
Kenny Rosenberg .244 .322 .370 .259 .336 .450 2.0 0.3 4.06 5.43
Brett Kerry .283 .344 .457 .258 .314 .453 1.8 0.5 4.30 5.28
José Suarez .239 .306 .420 .250 .322 .417 1.7 0.4 3.92 5.23
Davis Daniel .265 .345 .457 .241 .303 .406 1.6 0.4 4.02 5.19
Alan Rangel .271 .346 .429 .260 .322 .472 1.5 0.1 4.47 5.68
Ryan Smith .244 .337 .411 .268 .338 .454 1.1 0.1 4.30 5.50
Jack Dashwood .259 .307 .420 .269 .325 .457 1.1 0.1 3.97 5.47
Michael Darrell-Hicks .278 .362 .475 .260 .323 .441 1.2 0.1 4.52 5.70
Jake Lee .268 .319 .451 .290 .335 .494 1.0 0.1 4.45 5.61
Jake Kalish .246 .303 .394 .296 .360 .512 1.1 -0.1 4.75 5.92
Andrew Wantz .264 .358 .434 .222 .284 .415 1.0 -0.1 3.82 5.47
César Valdez .286 .333 .472 .291 .326 .507 1.1 -0.2 4.59 6.03
Carlos Estévez .224 .309 .398 .225 .298 .387 1.0 -0.4 3.32 5.66
Jhonathan Diaz .200 .283 .310 .283 .381 .487 1.0 -0.2 4.48 5.75
Jack Kochanowicz .288 .356 .500 .275 .338 .445 0.9 -0.1 4.84 5.96
Jose Soriano .218 .347 .378 .216 .327 .360 1.1 -0.5 3.55 5.45
Victor Mederos .274 .378 .488 .257 .330 .419 0.8 -0.2 4.87 5.92
Robinson Pina .257 .376 .444 .261 .343 .446 0.8 -0.3 4.80 6.09
Mason Erla .292 .362 .504 .271 .333 .414 0.6 0.0 4.81 5.69
Jimmy Herget .255 .333 .490 .248 .305 .388 0.8 -0.2 3.74 5.43
Sammy Natera Jr. .245 .357 .415 .257 .359 .455 0.8 -0.3 4.95 6.23
Bryce Osmond .257 .359 .413 .278 .357 .500 0.7 -0.3 5.03 6.02
Aaron Loup .239 .301 .373 .269 .328 .481 0.7 -0.3 3.38 5.51
Travis MacGregor .266 .387 .438 .245 .319 .429 0.7 -0.3 4.59 5.81
John Swanda .292 .376 .493 .273 .345 .454 0.7 -0.2 5.00 6.06
José Quijada .212 .305 .404 .235 .321 .408 0.7 -0.4 3.55 5.89
Adam Kolarek .229 .286 .337 .293 .353 .520 0.6 -0.4 3.71 5.67
Luis García .294 .368 .459 .241 .320 .417 0.6 -0.3 3.60 5.59
Zac Kristofak .284 .363 .531 .277 .343 .415 0.3 -0.2 4.73 5.84
Sam Bachman .264 .364 .462 .257 .369 .404 0.4 -0.3 4.94 6.26
Hayden Seig .257 .327 .426 .270 .328 .443 0.5 -0.3 3.93 5.31
Cam Vieaux .235 .333 .388 .277 .357 .486 0.5 -0.5 4.58 6.02
Luke Murphy .256 .350 .456 .250 .327 .400 0.4 -0.3 4.33 5.57
Ben Joyce .232 .344 .415 .235 .333 .388 0.4 -0.4 4.14 5.59
Luis Ledo .268 .390 .455 .273 .354 .453 0.5 -0.5 4.95 6.35
Kolton Ingram .209 .299 .358 .260 .363 .445 0.6 -0.5 3.98 5.87
Aaron Hernandez .247 .373 .435 .265 .371 .439 0.3 -0.5 5.05 6.66
Carson Fulmer .264 .376 .473 .250 .351 .411 0.4 -0.5 4.89 6.66
Ryan Miller .263 .343 .474 .272 .339 .437 0.4 -0.4 4.35 5.91
Austin Warren .241 .333 .405 .263 .343 .463 0.3 -0.4 4.18 5.76
Erik Martinez .257 .356 .436 .267 .338 .466 0.4 -0.5 4.44 5.87
Jose Marte .267 .397 .517 .224 .333 .382 0.2 -0.4 4.66 6.68
Jonathan Holder .256 .352 .400 .266 .352 .492 0.4 -0.6 4.63 6.28
Tyler Thomas .250 .328 .442 .257 .356 .436 0.3 -0.4 4.40 6.06
JD Hammer .264 .369 .472 .279 .370 .442 0.2 -0.5 4.98 6.72
Ivan Armstrong .269 .371 .454 .258 .344 .439 0.2 -0.6 4.95 6.06
Adam Cimber .268 .338 .535 .276 .320 .431 0.2 -0.5 4.40 6.40
Nick Jones .235 .329 .368 .257 .358 .463 0.2 -0.6 4.50 6.05
Kenyon Yovan .258 .365 .427 .257 .333 .436 0.1 -0.5 4.66 5.89
Dylan Phillips .242 .346 .424 .257 .343 .426 0.2 -0.6 4.48 5.94
Cole Percival .279 .396 .471 .265 .371 .444 0.2 -0.7 5.35 6.60
Dakota Donovan .284 .379 .511 .255 .346 .409 0.0 -0.6 4.74 5.98
Nathan Burns .271 .403 .508 .242 .338 .394 0.0 -0.6 4.90 6.54
Kelvin Caceres .245 .388 .479 .229 .375 .358 0.2 -0.8 4.93 6.71
Reyes Moronta .246 .387 .426 .233 .356 .453 0.2 -0.8 4.57 7.10
Houston Harding .271 .366 .414 .275 .373 .493 0.1 -0.8 5.03 6.67
Brandon Dufault .260 .393 .420 .254 .384 .458 -0.2 -0.6 5.46 7.11
Eric Torres .204 .368 .352 .242 .410 .435 -0.2 -1.1 5.37 7.32

Here are how the ZiPS percentiles worked out in 2023 for pitchers and hitters in in 2023.

Players are listed with their most recent teams wherever possible. This includes players who are unsigned or have retired, players who will miss 2024 due to injury, and players who were released in 2023. So yes, if you see Joe Schmoe, who quit baseball back in August to form a Belgian Death Metal Skiffle Band that only plays songs by Franz Schubert, he’s still listed here intentionally. ZiPS is assuming a league with an ERA of 4.33.

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 flaws in the physical reality of the universe or by the skillful sabotage of our friend and former editor. You can, however, still get mad at me on Twitter.





Dan Szymborski is a senior writer for FanGraphs and the developer of the ZiPS projection system. He was a writer for ESPN.com from 2010-2018, a regular guest on a number of radio shows and podcasts, and a voting BBWAA member. He also maintains a terrible Twitter account at @DSzymborski.

65 Comments
Oldest
Newest Most Voted
sadtromboneMember since 2020
2 years ago

I can’t decide which is the more likely outcome:

Option A: The Angels, desperately trying to save an offseason where they lost baseball’s most electric talent, hand out $200M+ to get Cody Bellinger or Blake Snell on the team.

Option B: Arte Moreno, no longer interested in the team once Ohtani left, sells the team and they don’t sign anyone to keep payroll down.

Sandy Kazmir
2 years ago
Reply to  sadtrombone

The franchise is utterly broken in every way at this point. I think you can make a decision here pretty easily.

sadtromboneMember since 2020
2 years ago
Reply to  Sandy Kazmir

It would definitely be better for Moreno to sell the team. But they’re in a weird spot where they have a bunch of promising players with something like 4 or 5 years of team control (Neto, Schanuel, O’Hoppe, Detmers) and a former superstar who is permanently hurt (Trout). It’s not crazy to think that they could add a bunch of players like Stroman and Chapman and Hader and Kiermaier and Bader and be contenders by being a top run-prevention team while giving Rendon and Trout lots of rest and DH opportunities.

But that’s not what they would do, if they’re buying they’re going to spend way too much on Bellinger or Snell and they’re going to get hurt.

HappyFunBallMember since 2019
2 years ago
Reply to  sadtrombone

Option C: They land both of Bellinger and Snell, who are promptly injured before the ASB

ccjl
2 years ago

Please stay healthy just 1 more year, Trout. Give us a taste of vintage greatness

Pepper Martin
2 years ago
Reply to  ccjl

Trout hasn’t played in more than 140 games since 2016, his age 24 season. That was also the last time he had more than 150 hits or 30 doubles in a season. During the last three seasons, during which he turned 30, 31, and 32, he has missed enough time to injury each season that he’s failed to qualify for the batting title. As far as I can tell, here’s the complete list of players who’ve missed enough time due to injury* in their 30’s to fail to qualify for a batting title for three straight seasons, and then came back to even have a 3.0 fWAR season:

Right, that’s nobody.

  • – Happened for a few players who missed time due to WWII, notably Hank Greenberg, who came back to have a 7.0 fWAR season in 1946 in his age 35 season. Also happened to a few players who don’t quite meet the criteria of “missed enough time due to injury in their 30’s to not qualify for a batting title for three straight seasons,” notably Willie Stargell in 1978.
darren
2 years ago
Reply to  Pepper Martin

Why do you want to hurt me?

tung_twista
2 years ago
Reply to  Pepper Martin

here’s the complete list of players who’ve missed enough time due to injury* in their 30’s to fail to qualify for a batting title for three straight seasons

How many of them came close to averaging wRC+ 163 / 3.7 WAR in those three seasons like Trout did?
There are very few players in the history of baseball that make sense as Trout comp.

AnonMember since 2020
2 years ago
Reply to  Pepper Martin

One of the 3 Trout seasons was his age 29 season (2021). If you include age 29, Mark McGwire didn’t qualify for the batting title at ages 29 – 31 and came back to put up a 181 wRC+ and 27.3 WAR over the next 4 years and then 4.6 WAR in only 321 PA the next year after that. Heck, just like Trout he managed to put up a 5.0+ WAR season in one of the 3 where he didn’t qualify for the batting title.

The problem with that comparison (besides steroids) is that McGwire’s core skills hadn’t fallen off. He was striking out a bit more but also walking more and his ISO was still high. Trout’s K% started spiking in 2020 and then jumped again in 2021. His BB% fell off a cliff in 2022 and didn’t come anywhere close to coming back in 2023. Then his ISO fell way off in 2023 (though x-stats think he maybe deserved a bit better there).

Trout’s core plate skills look a lot like they are in serious decline.

Grant GilmoreMember since 2016
2 years ago

A 3.8 WAR 80th percentile projection for Trout is depressing

JimmyMember since 2019
2 years ago
Reply to  Grant Gilmore

I might be wrong but I don’t think the playing time projections change in the percentile projections. A 161 OPS+ would be well over 3.8 WAR over a full season for Trout.

gottaIch116Member since 2020
2 years ago
Reply to  Jimmy

I’ve also noticed that playing time projections remain constant in the percentile projections in a previous article.

I don’t understand why that would be. Percentile projections should be tied to total production. Here they are only tied to rate statistics.

HappyFunBallMember since 2019
2 years ago
Reply to  Grant Gilmore

On the other hand an aging, oft-injured, and diminished Mike Trout is still casually pulling Mickey Mantle comps

Pepper Martin
2 years ago
Reply to  HappyFunBall

Trout is going into his age 32 season. Mantle’s age 32 season in 1964 was excellent; like Trout now, he was coming off of two straight (for Trout it’s 3 straight) seasons of significant injury, where he’d only been able to play in 123 games in 1962 (still won MVP that year) and only 65 games in 1963. In that age 32 season in 1964, he hit .303/.423/.591 with 35 home runs and 111 RBI’s in 567 PA’s over 143 games. He finished 2nd in MVP voting to Brooks Robinson. His pedestrian-for-him 5.5 fWAR was due to atrocious CF defense; he’d be moved to LF the next season.

Unfortunately that was just about the end of the road for Mantle; he’d never hit .300 again, and although he kept up his stratospheric walk rates to put up good OBP’s, he’d never have a .400 OBP again. Or hit 25 HR in a season again, or get to 4.0 fWAR, or get to 60 RBI or 65 R in a season. He’d play his last game at age 36.

Last edited 2 years ago by Pepper Martin
whiptydojoe
2 years ago

With all due respect to Jeff Heath, that comp for Trout really stung to see.

darren
2 years ago
Reply to  whiptydojoe

It hurts even worth when you confuse him with Mike Heath.

Pwn Shop
2 years ago
Reply to  whiptydojoe

A significant downgrade from Baby Ruth.

AnonMember since 2020
2 years ago
Reply to  whiptydojoe

Heath comes up in this piece every year. I’d never heard of him until a year or two ago in this article but he had a fantastic career in the 30’s and 40’s. Granted, he did a lot of his best work during WWII when a lot of guys were overseas, but even after the war ended he put together a few good years.

PC1970Member since 2024
2 years ago

TBH, this is better than I expected. I figured they’d be down with KC (before KC’s FA signings of Wacha, Lugo, etc) in the 68-72 win range.

Dan’s right, there is not much upside & as usual, little depth & little help from the farm if guys get hurt, but, you can squint & see 80 wins as long as the SP room doesn’t have a rash of injuries.

How do they get to 85-88 wins? Likely would require 1200 PA’s from Rendon & Trout (Zips projects a little over 600), Moniak’s BABIP voodoo continuing to work & Jo Adell’s long awaited breakout occurring.

Odds of all 3 of those happening? I’d peg it at less than 1%.

Sonny LMember since 2017
2 years ago
Reply to  PC1970

The Angels’ 99th percentile outcome must be WILD. I mean, every teams probably is, but the story you have to tell to get this team there is pure seamhead fanfic

Pepper Martin
2 years ago

I honestly cannot understand why Mike Trout is ok with playing in this situation. I’m sure that if the Angels ate 80% of his salary they could trade him to a contender. What’s the point of him playing out the back stretch of his career on this worthless team? It’s so strange to see a player of his caliber who has no interest at all in winning.

ccjl
2 years ago
Reply to  Pepper Martin

Screw it, trade him to the Dodgers

Last edited 2 years ago by ccjl
NATS FanMember since 2018
2 years ago
Reply to  ccjl

please don’t

sadtromboneMember since 2020
2 years ago
Reply to  Pepper Martin

I think that there’s a small chance that he was putting up a good show because he wanted them to re-sign Ohtani. But probably not.

I looked this up a while ago and I can’t remember whether I found someone else but I think he’s going to be the greatest player in MLB history who has never won a playoff game.

If he is willing to waive the no-trade clause, with so little offense available in free agency right now I’m pretty sure there would be a lot of interest if they picked up half the money. The Blue Jays and Cubs are looking for a DH and don’t play in the same division, but the other 5+ teams other than the Yankees / Blue Jays / Cubs that were looking at Juan Soto would also be interested in him.

Pepper Martin
2 years ago
Reply to  sadtrombone

As of right now (discounting 19th century players who didn’t have the opportunity to play in playoff games), the highest career fWAR for anybody who never won a playoff game is Ron Santo, with 70.9. Trout is currently at 85.1 (imagine going back to 2019 and saying there was a decent chance Trout never tops 100).

I agree that there would be a market for him among contending teams if they ate a big chunk of his salary. It’s just mind-boggling to me that he’s not publicly pushing for that now. You’d think somebody hyper-competitive enough to get to his level would actually care about winning.

PC1970Member since 2024
2 years ago
Reply to  Pepper Martin

When I read the above, I figured the answer would be Ernie Banks, so Ron Santo isn’t surprising since he was on the same team at the same time.

However, the Ron Santo answer is only right if you don’t include pitchers:

Phil Niekro had 78.1 fWAR, his ATL teams made the postseason 2x & were swept both times.

Robin Roberts had 74.6 fWAR. Philly made the WS 1x during his career & were swept.

Fergie Jenkins had 80.1 fWAR & NEVER pitched in a postseason game (There are those 60’s/70’s Cubs again!)

Now, Roberts only had 1 post season round & Niekro/Jenkins only had LCS/WS (BTW, Gaylord Perry almost made it, 1 postseason appearance, but, SF won 1 game) while Trout’s career has been 5-7 teams per year with WC/LDS.LCS/WS rounds.

Trout still leads, of course..It’s almost unbelievable that he hasn’t won a post season game with all the playoff rounds.

RoyalsFan#14321
2 years ago
Reply to  sadtrombone

If the Angels picked up half the remaining money, that’d be roughly 7 years $125M left. I would think any team that missed on Soto should be all-in on that and maybe even the Yankees too.

Fun-Hating DorkMember since 2019
2 years ago

No thanks. The Yankees have enough “if they’re healthy” guys.

Oh, Beepy.
2 years ago

Imagine not wanting Mike trout

The Ghost of Johnny Dickshot
2 years ago
Reply to  Oh, Beepy.

Imagine paying that for a guy who now regularly misses 60+ games a year…80, 53, 126 over the last three years. That’s not a fluke, its a trend.

carterMember since 2020
2 years ago
Reply to  sadtrombone

I think it’s more than a small chance he was saying that w hope of retaining Ohtani. Good news it’s baseball, and while it is “the angels” no one was expecting much out of the dbacks last year either

Dan B
2 years ago
Reply to  Pepper Martin

In no world would a team require the Angels to eat close to 80% of Trout’s salary. 7/50 for Trout on a team that has actual doctors on their medical staff?

Pepper Martin
2 years ago
Reply to  Dan B

Well, two options for the Angels: east 50% of his salary and trade him for a borderline prospect; eat 80% of his salary and restock their entire farm system. I’d choose the latter if I ran the Angels.

diamonddores
2 years ago
Reply to  Pepper Martin

Scottsdale golf in October and November is awesome and he gets to see his Eagles play half their season. Dude just doesn’t care about winning or his legacy. Most obvious example of someone falling apart without PEDs in pro sports history

casey jMember since 2019
2 years ago
Reply to  Pepper Martin

Maybe he is just a player… a good citizen… a blue-collar dude. Maybe he cares a lot. I’ve never seen him not play the game right.

booondMember since 2019
2 years ago

Other than Stefanic, no “regular” projects for 500 PA or regular playing time. A few injuries and this time will smell like an expansion team.

TheBabboMember since 2019
2 years ago
Reply to  booond

Dan has always said in the past that ZiPS is “agnostic” about playing time and those projections don’t mean much, though that language is absent this year. Anyway, Fangraphs depth chart projections (curated by an actual human being) show Trout with 630 PA, Neto and Rengifo with 609 each, Ward 595, Drury 581, Rendon 574, Moniak 518, Schanuel 490 and O’Hoppe 426.

zstam
2 years ago

I’m struggling to see this team being .500. They have gone 8 years in a row playing under .500 baseball with the 2 best players in baseball. Now one of them is gone and the other has injury concerns. I suppose if we take the more optimistic projections from O’Hoppe, Schanuel, and Neto, assume health from Trout, and maybe throw in some BABIP luck or something then I could see them squeezing to .500. But this is probably the least exciting this team has looked in the past few years heading into the season.

I could see this being a 100-loss team if there are injuries and a couple underwhelming performances.

There is still time for a move to be made, but the Angels haven’t exactly been at the top of the rumour charts this offseason.

tootblan
2 years ago

I know a lot of it is down to low projected playing time (which is totally fair at this point) but those Trout projections are downright depressing. Here’s hoping he has at least one more vintage Trout season in him.

darren
2 years ago

Oh no. That Trout projection is a sad reminder of our mortality. Please say it ain’t so!

curt schillings ketchup bottle
2 years ago

.500 is pretty dam optimistic for this roster as currently constructed. Especially when you consider all of the injury red flags and puddle-like depth

Jason BMember since 2017
2 years ago

Mmhmm. When I saw:

“Right now, the Angels look like a .500 team, which is actually a significant step up from last season.”

I thought, damn there is a boatload of money to be made betting the under on the Angels (as per usual), if we’re expecting this perpetually underperforming dreck to crest 80 wins…

Antonio BananasMember since 2016
2 years ago

Where does the last decade rank all time for administrative failure in sports?

Best player in the league and a first ballot hall of famer, big market, large payroll, 1 time making the playoffs.

zstam
2 years ago

And it hasn’t even been close. In the last 8 years, their closest season to winning the division was 2023 when they were 17 GB (excluding the shortened season).

PC1970Member since 2024
2 years ago

Mid 2000’s Phoenix Suns?? Had Nash, Amare Stoudemire, Shawn Marion & for 1 year, Joe Johnson.

They pissed off Johnson so much, he bailed as a FA & told them not to match the offer..& ALSO, had a lottery pick that became Andre Iguodala that they sold for $$ & drafted Rajon Rondo & traded him for $$$ before he played a game.

There’s a 5-6 year dynasty in there that they pissed away by being stupid/cheap.

The Ghost of Johnny Dickshot
2 years ago

When is the Fangraphs community going to come around to the fact that Trout is cooked? Every time I mention this I get downvoted to oblivion but it’s just a fact.

zstam
2 years ago

Define cooked. Was he noticeably worse this year than his career norms? Yes. But did he still have a 131 OPS+ and 3.0 fWAR in half a season? Yes.

Jason BMember since 2017
2 years ago
Reply to  zstam

Yes, it’s definitely a matter of degree. Vintage 8-WAR Trout is exceedingly unlikely to be walking back through the door, sadly. On a per-game basis, he’s still better than 95% of the league.

carterMember since 2020
2 years ago
Reply to  Jason B

It’s a lot higher than 95% actually

The Ghost of Johnny Dickshot
2 years ago
Reply to  zstam

Cooked means he can’t stay healthy. I don’t care if he hit 40 homers a couple years ago, outside of the covid year since 2017 he has played 114, 140, 134, 36, 119, 82 games.

JOHN MEARSMember since 2020
2 years ago

Dude he hit 40 home runs in 2022. How is that “cooked”?

Dan B
2 years ago

My working hypothesis is that he is a trade to a better organisation away from a 600PA, 8 WAR season

diamonddores
2 years ago

There’s never been a pro athlete who has been coddled by the media like Trout has been. He should be getting asked every single media session why he cares so little about winning and why his body has fallen apart

Philip ChristyMember since 2016
2 years ago
Reply to  diamonddores

What a dumb take

Jason BMember since 2017
2 years ago
Reply to  diamonddores

So tell us specifically what you want him to do to show he “cares about winning.”

ForrestMember since 2016
2 years ago

Neto is going to play every day and should have a lot more than 365 PAs, probably 600+ PAs, barring a major injury. O’Hoppe also will play a lot (maybe including some DH when not at catcher) and should approach 500 PAs.

szakylMember since 2024
2 years ago

2.8 WAR… Thanks for depressing us ahead of Christmas, Dan.

JOHN MEARSMember since 2020
2 years ago

If Washington can play the right guys and keep them healthy (a big “if”, but with DH available it’s possible), most of the lineup appears to be at or above league average, with a few guys far above league average.

That would mean, as suggested, Stefanic at 2B, Rengifo at 3B, Adell in RF, with Drury and Moniak rotating around.

Starting pitching seems OK-ish.

But, boy, that bullpen…

If there is a team that could use Hader, this might be it.

Fun-Hating DorkMember since 2019
2 years ago
Reply to  JOHN MEARS

Eh. That bullpen isn’t really a “one shutdown guy away” bullpen. It needs more help than that. There’s still some good, mid-price arms on the market, but you’d have to decide to buy in bulk instead of grabbing the shiny toy.

JOHN MEARSMember since 2020
2 years ago

I would have to agree with that. Hader + Robertson + Neris + ??

Truly awful bullpen right now.

nathanjMember since 2024
2 years ago

For what it’s worth, I get that Angelsiky have a poor farm system, however that board rankings….. needs to be updated. Seems not even directionally correct for many teams.

NATS FanMember since 2018
2 years ago

The way luck goes, this team will make the playoffs by winning most of the close games.

Envy AngelMember since 2017
2 years ago

The only way the Angels were going to reach the playoffs in 2024 was if they had the offseason the Dodgers are currently having. I’ve rooted for this team a long time, and I have never been so pessimistic about their short- or long-term chances.

NATS FanMember since 2018
2 years ago

This is not as bad as I expected, granted I expected very little besides trout.

Thad Bendix
2 years ago

xx

Last edited 2 years ago by Thad Bendix