Hitter zStats Entering the Homestretch, Part 2 (The Stats!)

Charles LeClaire-USA TODAY Sports

One of the strange things about projecting baseball players is that even results themselves are small samples. Full seasons result in specific numbers that have minimal predictive value, such as BABIP for pitchers. The predictive value isn’t literally zero — individual seasons form much of the basis of projections, whether math-y ones like ZiPS or simply our personal opinions on how good a player is — but we have to develop tools that improve our ability to explain some of these stats. It’s not enough to know that the number of home runs allowed by a pitcher is volatile; we need to know how and why pitchers allow homers beyond a general sense of pitching poorly or being Jordan Lyles.

Data like that which StatCast provides gives us the ability to get at what’s more elemental, such as exit velocities and launch angles and the like — things that are in themselves more predictive than their end products (the number of homers). StatCast has its own implementation of this kind of exercise in its various “x” stats. ZiPS uses slightly different models with a similar purpose, which I’ve dubbed zStats. (I’m going to make you guess what the z stands for!) The differences in the models can be significant. For example, when talking about grounders, balls hit directly toward the second base bag became singles 48.7% of the time from 2012 to ’19, with 51.0% outs and 0.2% doubles. But grounders hit 16 degrees to the “left” of the bag only became hits 10.6% of the time over the same stretch, and toward the second base side, it was 9.8%. ZiPS uses data like sprint speed when calculating hitter BABIP, because how fast a player is has an effect on BABIP and extra-base hits.

ZiPS doesn’t discard actual stats; the models all improve from knowing the actual numbers in addition to the zStats. You can read more on how zStats relate to actual stats here. For those curious about the r-squared values between zStats and real stats for the offensive components, it’s 0.59 for zBABIP, 0.86 for strikeouts, 0.83 for walks, and 0.78 for homers. Those relationships are what make these stats useful for predicting the future. If you can explain 78% of the variance in home run rate between hitters with no information about how many homers they actually hit, you’ve answered a lot of the riddle. All of these numbers correlate better than the actual numbers with future numbers, though a model that uses both zStats and actual ones, as the full model of ZiPS does, is superior to either by themselves.

And why is this important and not just number-spinning? Knowing that changes in walk rates, home run rates, and strikeout rates stabilized far quicker than other stats was an important step forward in player valuation. That’s something that’s useful whether you work for a front office, are a hardcore fan, want to make some fantasy league moves, or even just a regular fan who is rooting for your faves. If we improve our knowledge of the basic molecular structure of a walk or a strikeout, then we can find players who are improving or struggling even more quickly, and provide better answers on why a walk rate or a strikeout rate has changed. This is useful data for me in particular because I obviously do a lot of work with projections, but I’m hoping this type of information is interesting to readers beyond that.

Yesterday, I went over how hitter zStats for the first two months of the season performed over the last two months. Today, we’ll look at the updated data, through the games on August 7. For the final zOPS, I’m limiting it to players with at least 250 plate appearances this year.

zBABIP Overachievers (8/8)
Name HIP zHIP zHIP Diff BABIP zBABIP zBABIP Diff
Lane Thomas 109 87.4 21.6 .360 .293 .067
Austin Hays 96 78.3 17.7 .357 .296 .061
Anthony Santander 85 69.7 15.3 .297 .246 .051
Cody Bellinger 87 71.9 15.1 .349 .297 .052
Brandon Belt 56 41.4 14.6 .389 .292 .097
Brandon Marsh 80 65.5 14.5 .402 .334 .068
Cedric Mullins 56 42.1 13.9 .301 .229 .072
Luis Arraez 154 140.2 13.8 .393 .361 .032
Elias Díaz 83 69.3 13.7 .325 .276 .049
Wilmer Flores 65 51.6 13.4 .322 .259 .063
Corey Seager 81 67.7 13.3 .379 .323 .056
Matt Chapman 89 75.7 13.3 .340 .291 .049
Joey Meneses 108 95.5 12.5 .333 .297 .036
TJ Friedl 83 71.0 12.0 .328 .282 .046
Thairo Estrada 74 62.1 11.9 .346 .291 .055
James Outman 72 60.3 11.7 .371 .314 .057
Geraldo Perdomo 74 62.6 11.4 .312 .266 .046
Freddie Freeman 128 116.6 11.4 .379 .349 .030
Orlando Arcia 82 71.1 10.9 .343 .299 .044
Randal Grichuk 71 60.7 10.3 .357 .307 .050
Ha-Seong Kim 89 78.8 10.2 .336 .301 .035
Hunter Renfroe 82 72.4 9.6 .287 .256 .031
Jarren Duran 85 75.8 9.2 .395 .356 .039
Christopher Morel 52 43.4 8.6 .354 .299 .055
Jeimer Candelario 90 81.5 8.5 .315 .287 .028

Luis Arraez topped this list back in June, but since then, his BABIP has dropped into the range that ZiPS sees as sustainable for him. That leaves him “only” a .340 hitter, which is definitely less depressing now that he’s fallen too far behind the .400 mark to make a late season run at it plausible. Lane Thomas is on top of this list and near the top of some of the others here, as he’s having a season that’s really confusing ZiPS; the system doesn’t believe his BABIP, but also thinks that based on his contact rates, he should have walked more and struck out less than he has. His swinging strike rate is minuscule for a guy with a decently high strikeout rate. It’s a weird mishmash of skills interacting with each other, and I suspect that other teams in the league are in wait-and-see mode with Thomas as well; I can’t imagine the Nats wouldn’t have traded him if they got a healthy offer. Cedric Mullins appears here, but he’s one player not to worry about — he’s one of the bigger year-to-year overperformers in this stat, which is why he still maintains extremely healthy long-term projections. Cody Bellinger has likely earned himself a lot in his next contract, but it shouldn’t be surprising that the numbers don’t buy a .330 batting average.

zBABIP Underachievers (8/8)
Name HIP zHIP zHIP Diff BABIP zBABIP zBABIP Diff
Adam Frazier 62 80.9 -18.9 .242 .318 -.076
Anthony Volpe 65 80.8 -15.8 .264 .331 -.067
Wander Franco 100 115.2 -15.2 .290 .338 -.048
Will Brennan 75 89.2 -14.2 .286 .342 -.056
Pete Alonso 54 67.2 -13.2 .204 .256 -.052
Trea Turner 98 111.2 -13.2 .297 .337 -.040
Gleyber Torres 96 108.8 -12.8 .277 .320 -.043
Jake Cronenworth 82 94.5 -12.5 .266 .312 -.046
Steven Kwan 117 129.0 -12.0 .297 .331 -.034
Miguel Rojas 58 69.8 -11.8 .249 .303 -.054
Tim Anderson 85 96.5 -11.5 .309 .354 -.045
Keibert Ruiz 74 85.5 -11.5 .243 .282 -.039
Javier Báez 83 94.3 -11.3 .272 .312 -.040
Kyle Schwarber 47 57.0 -10.0 .196 .240 -.044
Jake Burger 41 50.9 -9.9 .222 .278 -.056
Spencer Torkelson 79 88.8 -9.8 .270 .307 -.037
Jean Segura 63 72.6 -9.6 .251 .289 -.038
Mauricio Dubón 86 95.1 -9.1 .290 .322 -.032
Bryan Reynolds 86 94.9 -8.9 .304 .341 -.037
Julio Rodríguez 99 107.2 -8.2 .324 .350 -.026
Lourdes Gurriel Jr. 81 89.2 -8.2 .270 .298 -.028
Vladimir Guerrero Jr. 94 102.2 -8.2 .279 .307 -.028
Nick Maton 34 41.8 -7.8 .206 .257 -.051
Fernando Tatis Jr. 83 90.8 -7.8 .286 .315 -.029
Tony Kemp 57 64.8 -7.8 .228 .262 -.034

If Thomas is having a weird season, Adam Frazier’s having an even weirder one. Basically, the Statcast/plate discipline data really befuddle the models. Frazier actually ends up with almost the same zOPS (.730 zOPS vs. .728 actual), yet the shape is entirely different from what you’d expect. How does a guy with a 28% line drive rate have a BABIP in the .240s? Frazier isn’t slow, nor does he have some crazy history of performing differently than the models suggest, with a .304 career zBABIP entering the season compared to his actual .303. If Frazier stayed near the top and Keibert Ruiz didn’t fall too far off, Julio Rodríguez at least dropped way down the list, with a .270 BA and a .345 BABIP over the last two months.

zHR Overachievers (8/8)
Name HR zHR zHR Diff
Shohei Ohtani 40 30.6 9.4
Pete Alonso 33 23.9 9.1
Jose Siri 21 12.3 8.7
Francisco Alvarez 21 12.8 8.2
Matt Olson 39 31.7 7.3
Adam Frazier 13 5.9 7.1
Isaac Paredes 21 14.3 6.7
Luis Robert Jr. 30 23.4 6.6
Corbin Carroll 21 14.7 6.3
Cody Bellinger 16 10.2 5.8
Mookie Betts 31 25.4 5.6
J.D. Martinez 25 20.3 4.7
Nolan Gorman 24 19.4 4.6
Wilmer Flores 14 9.5 4.5
Nolan Arenado 23 18.5 4.5
Josh Jung 22 17.7 4.3
TJ Friedl 10 5.7 4.3
Gunnar Henderson 19 14.7 4.3
Harold Ramirez 9 4.8 4.2
Justin Turner 17 12.8 4.2
Whit Merrifield 10 5.9 4.1
Gleyber Torres 18 14.0 4.0
Max Muncy 27 23.1 3.9
Alex Kirilloff 8 4.1 3.9
Yandy Díaz 16 12.2 3.8

You’ll have to excuse ZiPS for putting Shohei Ohtani on this list, as the model is unaware that he’s not subject to the physical laws underpinning the known universe. That being said, zHR still sees him as a player on a 45-homer pace, just not someone who could have been pushing 60 homers with health. Pete Alonso has kept hitting for power despite velocity numbers that have been pedestrian by his standards, and zHR is definitely not buying Jose Siri, 20-homer hitter, either. Frazier makes his second appearance here, but as an overachiever rather than an underachiever, as his homer total is shockingly high for a guy who very rarely connects with the ball with much force. zHR is not as keen on Bellinger as I was hoping it would be (since I’m rooting for him) and his contact data really isn’t what it was at his peak with the Dodgers.

zHR Underachievers (8/8)
Name HR zHR zHR Diff
Matt Chapman 15 26.9 -11.9
Spencer Torkelson 15 24.7 -9.7
MJ Melendez 9 18.2 -9.2
Bryce Harper 6 14.5 -8.5
Trent Grisham 11 18.8 -7.8
Austin Hays 9 14.6 -5.6
Willy Adames 17 22.1 -5.1
Willson Contreras 11 15.9 -4.9
Dominic Smith 5 9.9 -4.9
Shea Langeliers 11 15.7 -4.7
Zach McKinstry 7 11.6 -4.6
Eugenio Suárez 16 20.5 -4.5
Josh Bell 12 16.4 -4.4
Teoscar Hernández 17 21.4 -4.4
Byron Buxton 17 21.3 -4.3
Miguel Rojas 1 5.0 -4.0
Willi Castro 5 8.9 -3.9
Edward Olivares 6 9.9 -3.9
Seiya Suzuki 9 12.9 -3.9
Randy Arozarena 18 21.8 -3.8
Joc Pederson 11 14.8 -3.8
Anthony Santander 20 23.8 -3.8
Ramon Urías 4 7.6 -3.6
Jurickson Profar 7 10.6 -3.6
Ryan Noda 11 14.5 -3.5

I kind of feeling bad for Matt Chapman, who has eight flies that have gone at least 400 feet and not been homers this year. Only eight other players have even half that number. zHR suggests that there’s still hope for Spencer Torkelson, and that his mild comeback season this year may still have more juice left in it. He’s hitting the ball hard and with loft, but it just hasn’t turned into homers yet. zHR also suggests that Bryce Harper’s rather un-Harperish power numbers since his return are kind of fluky rather than suggestive of a deeper issue for the Phillies to worry about.

zBB Overachievers (8/8)
Name BB zBB zBB Diff
Ian Happ 78 64.9 13.1
Shohei Ohtani 71 58.5 12.5
Jake Cronenworth 43 30.5 12.5
Ryan Noda 60 49.1 10.9
Andrew McCutchen 61 50.2 10.8
Tony Kemp 32 22.1 9.9
Adley Rutschman 65 55.8 9.2
Cedric Mullins 35 25.8 9.2
Kyle Schwarber 81 72.2 8.8
Hunter Renfroe 32 23.8 8.2
Anthony Rizzo 35 26.8 8.2
Willi Castro 24 15.8 8.2
José Abreu 31 23.0 8.0
Jake McCarthy 25 17.2 7.8
Byron Buxton 35 28.0 7.0
Eddie Rosario 24 17.0 7.0
Jorge Mateo 17 10.1 6.9
Paul Goldschmidt 58 51.1 6.9
Tommy Edman 25 18.3 6.7
Anthony Volpe 38 31.4 6.6
Brandon Lowe 34 27.4 6.6
Willy Adames 44 37.4 6.6
Jean Segura 22 15.7 6.3
Nico Hoerner 30 23.8 6.2
DJ LeMahieu 37 30.9 6.1

Jake Cronenworth was in the Adam Frazier “weird season” category, but even though he’s hardly been exciting as a player overall (.250/.305/.408 since June 8), at least the discontinuity among his numbers has been resolving itself. Sorry, Padres fans — that’s mostly a relief to me, not you. Ian Happ has already passed his career high in walks by a decent margin, but there’s also a lot to wonder about in his plate discipline stats. He’s having a good year in terms of pitch selection, but it’s hardly a sea change from what came before, and both his contact rates and first-pitch strike percentages are very ordinary.

zBB Underachievers (8/8)
Name BB zBB zBB Diff
Esteury Ruiz 14 28.7 -14.7
Jonathan India 39 51.4 -12.4
Lane Thomas 25 37.1 -12.1
Bryan Reynolds 35 46.6 -11.6
Francisco Alvarez 21 32.4 -11.4
Connor Joe 31 42.3 -11.3
Pete Alonso 39 50.2 -11.2
Leody Taveras 22 32.2 -10.2
Michael A. Taylor 16 26.0 -10.0
Luis García 21 30.6 -9.6
Giancarlo Stanton 23 32.5 -9.5
Enrique Hernández 24 33.3 -9.3
Zach Neto 12 21.2 -9.2
Andrew Vaughn 29 37.7 -8.7
Bo Bichette 20 28.5 -8.5
Jon Berti 17 25.1 -8.1
Mike Trout 45 53.0 -8.0
Taylor Ward 39 46.9 -7.9
Salvador Perez 15 22.8 -7.8
TJ Friedl 28 35.6 -7.6
Orlando Arcia 26 33.3 -7.3
Austin Riley 38 44.9 -6.9
Bobby Witt Jr. 25 31.6 -6.6
Alex Bregman 62 68.5 -6.5
Ozzie Albies 33 39.0 -6.0

Esteury Ruiz’s walk rate has been brutally low this year, which is a shame because with his on-base percentage so low as a result, it’s keeping him from truly leveraging his ability to pilfer second base as well as he could. He’s not hopeless when it comes to contact, but so much of his game seems to be just putting the first pitch in play and beating it to first, and that’s it. The league has a .381 OBP after a 1-0 count, but Ruiz, a .250/.336/.343 hitter after 1-0, seems serially unable to take advantage. Jonathan India’s made some strides this year in the plate discipline department, both swinging at fewer out-of-zone pitches and more in-zone pitches than last year. It hasn’t resulted in a season like his rookie campaign, but there’s still some upside remaining there. He didn’t make the leaderboard, but zStats sees him having a .267/.373/.423 line this year, which lots a lot more like 2021 than 2022.

zSO Overachievers (8/8)
Name SO zSO zSO Diff
Masataka Yoshida 50 72.0 -22.0
Gleyber Torres 64 85.0 -21.0
Paul Goldschmidt 105 124.5 -19.5
Max Muncy 106 125.4 -19.4
Randy Arozarena 112 130.5 -18.5
Adam Frazier 42 59.7 -17.7
Andrew McCutchen 80 96.9 -16.9
Javier Báez 94 110.3 -16.3
William Contreras 76 92.2 -16.2
Nick Castellanos 125 140.6 -15.6
Xander Bogaerts 81 96.5 -15.5
Kevin Kiermaier 64 79.2 -15.2
Pete Alonso 90 104.0 -14.0
Giancarlo Stanton 61 75.0 -14.0
Harold Ramirez 56 69.5 -13.5
Manny Machado 75 88.3 -13.3
Bryan Reynolds 86 99.2 -13.2
C.J. Cron 57 70.1 -13.1
Brent Rooker 112 124.9 -12.9
Esteury Ruiz 70 82.8 -12.8
Christian Walker 88 100.5 -12.5
Enrique Hernández 71 83.2 -12.2
MJ Melendez 124 136.2 -12.2
Nick Maton 66 78.2 -12.2
Dansby Swanson 107 118.9 -11.9

I would absolutely love to have data from Japan that’s of the quality we have here, because I have to wonder whether Masataka Yoshida’s relatively low strikeout rate reflects a different set of two-strike tactics in NPB than in MLB. Yoshida’s exit velocity drops by 6 mph in two-strike situations, compared to the one tick that’s typical across the league, and I’m wondering if he’s simply adjusting his approach to prioritize contact more than we usually see in the majors these days. Paul Goldschmidt is a regular resident on this list, so as with Mullins and BABIP, I wouldn’t actually worry about it in his case. It’s kind of depressing that Javier Báez is actually overachieving here.

zSO Underachievers (8/8)
Name SO zSO zSO Diff
Nathaniel Lowe 110 80.3 29.7
Lane Thomas 125 97.9 27.1
Jake Cronenworth 88 66.0 22.0
Patrick Wisdom 95 73.4 21.6
Josh Jung 135 114.5 20.5
Mike Trout 103 82.5 20.5
Brandon Marsh 109 88.8 20.2
Myles Straw 79 59.3 19.7
Thairo Estrada 81 62.5 18.5
Jarred Kelenic 118 100.8 17.2
Julio Rodríguez 131 113.9 17.1
Jarren Duran 82 66.6 15.4
Brandon Belt 108 93.4 14.6
Byron Buxton 109 95.1 13.9
Connor Wong 99 85.1 13.9
Juan Soto 99 85.3 13.7
Taylor Ward 80 67.0 13.0
J.P. Crawford 85 72.2 12.8
Seiya Suzuki 98 85.5 12.5
Zach McKinstry 74 61.6 12.4
Matt Olson 126 113.7 12.3
Ezequiel Duran 90 77.8 12.2
Ryan McMahon 136 124.0 12.0
Spencer Torkelson 114 102.1 11.9
Ian Happ 112 100.3 11.7

Nathaniel Lowe has an incredibly low whiff rate (81.5% contact rate, 7.7% swinging strike rate) for a guy on track to strike out more than 150 times. He’s done this a couple of times, but there’s still some upside hope here. As mentioned above, Thomas is having a weird season and Cronenworth’s Statcast data is slowly becoming as thoroughly mediocre as his actual stats are.

This time, I’m also posting the summary statistics (zBA, zOBP, zSLG, and zOPS). This will give you a better idea of whose zStats, as a whole, reflect underperforming and overperforming with something more concrete to the idea than just pointing to a fluke or a slump. I did a Tweet thread on this rather than posting the data in the article yesterday, but zStats are explicitly designed to have more predictive value than their “real” counterparts, without anything like a model of regression toward the mean built-in to “cheat” its way to better accuracy. In sum, each of these zStats projects the following season better than their companion normal stat. That doesn’t mean you should only use zStats when judging the future, only that they do bring enough to the table that you should be using both when predicting the future.

zOPS Overachievers (8/8)
Name AVG zBA OBP zOBP SLG zSLG OPS zOPS DIFF
Wilmer Flores .306 .233 .361 .298 .539 .396 .900 .694 .206
Cody Bellinger .332 .264 .383 .327 .552 .414 .935 .741 .194
Cedric Mullins .259 .196 .347 .267 .454 .347 .801 .614 .187
Shohei Ohtani .308 .281 .409 .369 .673 .568 1.082 .938 .144
Jose Siri .217 .202 .261 .241 .506 .390 .767 .630 .137
Harold Ramirez .294 .260 .343 .308 .441 .356 .784 .664 .120
TJ Friedl .284 .243 .351 .329 .453 .364 .804 .693 .111
Isaac Paredes .253 .228 .361 .339 .500 .411 .861 .750 .111
Jordan Walker .261 .223 .321 .289 .416 .338 .737 .627 .110
Randal Grichuk .300 .254 .354 .320 .496 .423 .850 .742 .108
Orlando Arcia .297 .251 .354 .328 .450 .377 .804 .705 .099
Ha-Seong Kim .288 .260 .384 .354 .454 .392 .838 .745 .093
Chas McCormick .275 .247 .368 .346 .522 .453 .890 .799 .091
Taylor Walls .211 .196 .315 .286 .360 .300 .675 .585 .090
James Outman .259 .227 .360 .324 .439 .392 .799 .715 .084
Spencer Steer .268 .243 .351 .327 .463 .404 .814 .731 .083
Nolan Arenado .282 .256 .331 .312 .508 .444 .839 .756 .083
Christopher Morel .272 .237 .339 .314 .528 .473 .867 .787 .080
Hunter Renfroe .249 .226 .307 .274 .445 .399 .752 .673 .079
Trey Mancini .234 .207 .299 .273 .336 .289 .635 .563 .072
Freddie Freeman .340 .315 .418 .398 .595 .543 1.013 .941 .072
Paul DeJong .222 .199 .283 .267 .387 .333 .670 .599 .071
Corbin Carroll .277 .267 .358 .346 .523 .464 .881 .810 .071
Kevin Kiermaier .274 .250 .336 .314 .415 .370 .751 .684 .067
Luis Robert Jr. .270 .258 .323 .315 .558 .500 .881 .815 .066

There probably aren’t a lot of surprises on this list, as there are a lot of players who are already thought to be having unusually good seasons by their standards. For the better players on this list, it’s really no big deal, as guys like Ohtani, Freddie Freeman, Luis Robert Jr., and Corbin Carroll still have really good lines even in the less exuberant zStats versions. The players to worry about are the ones here who don’t have the same extended track records of good fortune. Maybe Bellinger’s comeback isn’t quite as potent as it looks at first glance. Jordan Walker being here is especially concerning because it kind of reflects another inconsistency in the difference between his major league stats and his minor league stats. It’s easier to dismiss Walker’s position on this list if you don’t also have a month of him hitting quite poorly at Triple-A. And yes, a .746 OPS in the International League for a prospect of any age with no defensive value is a red flag.

zOPS Underachievers (8/8)
Name AVG zBA OBP zOBP SLG zSLG OPS zOPS DIFF
Spencer Torkelson .225 .276 .304 .346 .395 .522 .699 .868 -.169
Miguel Rojas .221 .272 .275 .322 .285 .388 .560 .710 -.150
Michael Massey .219 .260 .275 .324 .359 .444 .634 .768 -.134
Brenton Doyle .203 .248 .265 .313 .339 .421 .604 .733 -.129
Willson Contreras .252 .295 .347 .380 .425 .519 .772 .899 -.127
Jake Cronenworth .228 .287 .314 .350 .380 .471 .694 .821 -.127
Trent Grisham .218 .247 .326 .352 .391 .488 .717 .840 -.123
Joc Pederson .230 .261 .350 .380 .426 .508 .776 .889 -.113
Seiya Suzuki .249 .281 .327 .367 .388 .460 .715 .827 -.112
MJ Melendez .220 .242 .297 .314 .359 .451 .656 .764 -.108
Mauricio Dubón .260 .297 .287 .328 .366 .430 .653 .758 -.105
Tim Anderson .242 .278 .285 .322 .290 .352 .575 .674 -.099
Luis Garcia .259 .284 .293 .337 .362 .416 .655 .754 -.099
Julio Rodríguez .257 .298 .321 .354 .433 .499 .754 .853 -.099
Mike Trout .263 .293 .369 .411 .493 .549 .862 .960 -.098
Eric Haase .194 .225 .236 .259 .270 .344 .506 .603 -.097
Wander Franco .273 .317 .337 .383 .457 .508 .794 .891 -.097
Tommy Pham .257 .286 .339 .379 .449 .506 .788 .885 -.097
Zach McKinstry .231 .261 .303 .324 .352 .427 .655 .751 -.096
Willy Adames .201 .234 .286 .306 .376 .449 .662 .755 -.093
Myles Straw .239 .280 .303 .333 .298 .356 .601 .689 -.088
Will Brennan .260 .302 .295 .336 .367 .414 .662 .750 -.088
Keibert Ruiz .243 .278 .297 .328 .383 .438 .680 .766 -.086
Kyle Farmer .247 .272 .308 .332 .379 .441 .687 .772 -.085
J.T. Realmuto .247 .272 .312 .338 .453 .512 .765 .850 -.085

I mentioned Torkelson above, and the fact that he tops this list makes him one player I’m definitely going to be watching the rest of this season and next. I have to admit to being surprised that Tommy Pham’s season isn’t on the other list, so maybe I’m being too skeptical about his late-career comeback. I also may have been too pessimistic about MJ Melendez’s chances to stick in the majors offensively at a non-catcher position — this year would be far less disastrous for him with a .242/.314/.451 line. J.T. Realmuto’s season may not actually be a warning shot from Father Time, and Wander Franco’s poised to take another big step forward in 2024.

Hopefully, you find all this data useful. If you have any questions or comments about different types of things you might want to see in these reports, please let me know. They’re fairly difficult to automate, but if people beyond me find them interesting and/or useful, I’d like to get at least monthly updates into the leaderboards somewhere rather than the less efficient method of including them in articles.





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.

9 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Kevbot034
8 months ago

Adam Frazier is actually pretty slow now. Statcast has him at 26.3 feet/second, with league average roughly 27.