The xStats Awards: Best Starter, Reliever, and Batter
Well, the season is over! This is the second full season of xStats, and they have undergone numerous upgrades over that span. I some of you found them interesting! Perhaps even useful. With this second season under the belt, it feels fitting to throw out a few xStats awards: Best Starting Pitcher, Best Relief Pitcher, and Best Batter. So, without further ado, here we go:
Best Starting Pitcher: Clayton Kershaw.
Not a terribly big surprise. He has the best curve ball in MLB by xOBA, registering only .126 (min 200 thrown). His slider has the 7th highest swinging strike rate, 23.5% (min 200 thrown). You can see all of the pitch stats here. It will come as no surprise when I say Clayton Kershaw is the best pitcher in baseball, he’s just about the best in every individual category xStats measures. No other pitcher really got anywhere close to his dominance. While Noah Syndergaard and Jose Fernandez got somewhat close to Kershaw scFIP and xOBA respectively, the gap between Kershaw and the second best picture is still impressively wide. There is little more I can say about Kershaw, he needs to get called up to a higher league to face better opponents, MLB is too easy for him.
Lets take a look at the rest of the top ten starting pitchers, though. This list is partially subjective, I’ve weighted how much I feel each stat is worth, with scFIP, xOBA, and VH% being towards the top, and xAVG and PH% towards the bottom. Taking all of this into consideration, the top 10 pitchers by xStats:
| Name | scFIP | xAVG | xOBP | xSLG | xBABIP | xBACON | xOBA | VH% | PH% | Point |
| Clayton Kershaw | 2.32 (1) | .224 (1) | .242 (1) | .331 (2) | .282 (20) | .313 (6) | .239 (1) | 5.0% (6) | 20.8% (78) | 4 |
| Jose Fernandez | 2.91 (3) | .231 (3) | .290 (6) | .301 (1) | .318 (105) | .343 (61) | .260 (2) | 4.2% (1) | 11.1% (1) | 8 |
| Kyle Hendricks | 3.37 (11) | .241 (7) | .290 (7) | .337 (3) | .275 (13) | .304 (3) | .275 (4) | 4.9% (5) | 19.3% (47) | 8 |
| Max Scherzer | 3.19 (5) | .225 (2) | .274 (2) | .358 (12) | .268 (6) | .318 (11) | .271 (3) | 6.1% (26) | 19.7% (53) | 9 |
| Noah Syndergaard | 2.75 (2) | .250 (14) | .293 (8) | .347 (5) | .316 (104) | .344 (65) | .277 (5) | 5.9% (17) | 17.9% (20) | 11 |
| Jon Lester | 3.43 (16) | .247 (12) | .297 (10) | .348 (8) | .285 (27) | .319 (15) | .282 (6) | 4.6% (3) | 19.2% (44) | 12 |
| Steven Matz | 3.32 (9) | .256 (20) | .300 (11) | .363 (15) | .293 (40) | .328 (27) | .289 (11) | 5.2% (8) | 20.6% (70) | 13 |
| Corey Kluber | 3.25 (8) | .245 (10) | .297 (9) | .366 (17) | .286 (28) | .325 (22) | .288 (10) | 6.2% (32) | 21.5% (92) | 15 |
| Justin Verlander | 3.38 (13) | .236 (4) | .286 (3) | .375 (24) | .267 (5) | .319 (12) | .286 (8) | 6.3% (36) | 23.4% (107) | 16 |
| Stephen Strasburg | 3.11 (4) | .244 (9) | .301 (12) | .361 (13) | .301 (63) | .342 (54) | .286 (9) | 6.9% (51) | 18.9% (41) | 17 |
I’ve included both the pitcher’s stats and their rank among starting pitchers in parenthesis, so you can get a hint to how I am weighting things here. The final column shows how many points the player got under my weighting system. Maybe you want to weight stats differently than I do! Go for it! I doubt there will be much controversy over these ten names, though. Perhaps you might order them slightly differently, but these are all pretty great pitchers. Note that I had a 120 IP minimum.
Best Relief Pitcher: Aroldis Chapman.
Yes, yes, I know, Britton had an amazing year. An historically low ERA, even. However, these stats don’t particularly care about ERA. In fact, actual results of batted balls aren’t even considered when calculating these stats. The system is totally blind to whether a given batted ball actually went for a hit, or whether a defensive play was made or missed. We’re only looking at the quality of batted balls. How hard they are hit, where, and with what frequency. Zach Britton didn’t top the list here, Chapman did, and he did so by a very wide margin, as you can see in by my weighting points. However, there is tons of wiggle room here, and maybe if you weight things slightly differently you could end up with a different order.
With that said, Chapman has the best four seamer in MLB: lowest xOBA .217, the third highest swinging strike rate with 17.2%, and of course the highest pitch velocity and effective velocity (min 200 four seamers thrown). His slider isn’t too shabby, either, registering the 44th lowest xOBA among pitchers who threw at least 100 sliders. Using the same weighting as I used before with the starting pitchers, I’ve ranked the top relief pitchers below.
| Name | scFIP | xAVG | xOBP | xSLG | xBABIP | xBACON | xOBA | VH% | PH% | Point |
| Aroldis Chapman | 1.97 (2) | .185 (3) | .25 (4) | .236 (3) | .277 (63) | .298 (19) | .213 (3) | 1.8% (1) | 16.7% (72) | 6 |
| Andrew Miller | 2.24 (3) | .182 (2) | .214 (2) | .291 (13) | .257 (24) | .306 (34) | .207 (2) | 4.7% (54) | 13.8% (19) | 12 |
| Seung Hwan Oh | 2.33 (4) | .213 (12) | .258 (6) | .300 (18) | .270 (47) | .298 (18) | .234 (5) | 4.2% (38) | 19.3% (142) | 14 |
| Kenley Jansen | 1.71 (1) | .176 (1) | .212 (1) | .281 (7) | .250 (13) | .282 (6) | .203 (1) | 5.6% (92) | 20.1% (164) | 16 |
| Zach Britton | 3.04 (27) | .210 (10) | .266 (8) | .258 (4) | .271 (50) | .288 (10) | .232 (4) | 2.4% (7) | 12.2% (6) | 16 |
| Kyle Barraclough | 3.09 (32) | .187 (4) | .308 (60) | .220 (1) | .275 (55) | .294 (15) | .249 (9) | 2.0% (2) | 13.1% (13) | 22 |
| Raisel Iglesias | 2.83 (18) | .228 (24) | .292 (33) | .301 (20) | .277 (64) | .298 (20) | .263 (20) | 2.8% (9) | 20.9% (191) | 23 |
| Matt Bush | 2.53 (9) | .236 (43) | .280 (14) | .314 (30) | .282 (82) | .304 (31) | .26 (15) | 4.1% (32) | 23.9% (260) | 23 |
| Dellin Betances | 2.54 (10) | .197 (8) | .271 (9) | .283 (9) | .291 (117) | .332 (119) | .244 (7) | 5.0% (69) | 13.8% (20) | 24 |
| Joe Biagini | 2.78 (16) | .240 (59) | .287 (24) | .310 (27) | .273 (53) | .290 (12) | .260 (14) | 4.8% (57) | 20.7% (187) | 27 |
There probably aren’t many surprises here, but you might claim there are a few snubs. You might take offense to Britton, perhaps even Betances ranking relatively low, and that’s okay. I understand both of those criticisms, xStats, while still loving these pitchers, doesn’t seem to think they are *quite* as good as their in game production. Its a point of debate how you would like to look at that, but at the end of the day, but either way you cut it they are all pretty great pitchers. However, Raisel Iglesias jumps out as, perhaps, an exception. xStats gave him 4.2 expected home runs this season, he actually gave up 7. That makes for a difference of nearly a half run in FIP. Perhaps the expected home runs correct for the playing environment in his home ballpark, Great American Ballpark and its 1.18 HR park factor. Or perhaps it is an overly friendly underestimate.
Best Bat: Mike Trout
Again, not a big surprise. Mike Trout is the best player in baseball, and we can all say that without hesitation or debate. While Miguel Cabrera managed to slip past Trout on the xOBA metric alone, Trout’s superiority at almost every other xStat pulled him ahead into the top spot. These stats do factor in running speed, so that is very likely the main differentiating factor here. Miguel Cabrera is an ever so slightly superior pure hitter, but Trout’s speed makes up for it, and that’s without even talking about his ability to steal bases or play defense.
The rest of the top 10 batters are worthy of a few comments, though.
| Name | xAVG | xOBP | xSLG | xBABIP | xBACON | xOBA | VH% | PH% | Points |
| Mike Trout | .343 (3) | .455 (1) | .519 (10) | .340 (9) | .431 (1) | .444 (2) | 11.0% (9) | 13.5% (5) | 5 |
| Miguel Cabrera | .355 (2) | .426 (4) | .602 (1) | .323 (30) | .426 (2) | .454 (1) | 12.5% (3) | 17.3% (42) | 7 |
| Freddie Freeman | .311 (29) | .404 (10) | .534 (5) | .314 (56) | .419 (4) | .422 (4) | 12.9% (2) | 14.8% (11) | 9 |
| J.D. Martinez | .316 (20) | .382 (21) | .550 (3) | .319 (41) | .421 (3) | .409 (6) | 12.5% (4) | 16.0% (22) | 11 |
| David Ortiz | .332 (5) | .415 (6) | .572 (2) | .291 (132) | .379 (26) | .442 (3) | 14.3% (1) | 20.2% (111) | 23 |
| Kendrys Morales | .314 (25) | .369 (43) | .534 (6) | .296 (118) | .382 (17) | .392 (10) | 10.4% (19) | 16.5% (27) | 23 |
| Manny Machado | .326 (7) | .372 (33) | .525 (9) | .321 (34) | .387 (12) | .390 (12) | 11.1% (8) | 20.9% (130) | 26 |
| Daniel Murphy | .340 (4) | .381 (22) | .540 (4) | .311 (68) | .368 (47) | .401 (8) | 10.4% (18) | 19.3% (91) | 27 |
| Christian Yelich | .320 (13) | .395 (14) | .453 (51) | .346 (4) | .397 (7) | .378 (23) | 8.4% (65) | 10.8% (2) | 27 |
| DJ LeMahieu | .364 (1) | .428 (3) | .450 (58) | .383 (1) | .407 (6) | .394 (9) | 7.6% (102) | 12.3% (3) | 28 |
These stats are, I hope, at least somewhat park neutral. I bring this up because DJ LeMahieu managed to sneak into this list. He is, I feel, one of the most underrated batters in the majors right now. A lot of guys talk about Arenado, and don’t get me wrong, he’s a great player as well, but LeMahieu has been effectively ignored by everyone. He won the batting title this year, and while the award doesn’t necessarily correlate with great offensive skill, the two top finishers this season both made it on the top 10 best batting list here, using park neutral, defense neutral numbers. That should say something. I’m not sure what, but something. These guys deserve a little more respect, I think. So, Hurray to DJ LeMahieu, and congratulations on your batting title. Even if batting average might be silly, you deserved recognition for your production this year. You’re no Mike Trout, but, hey, nobody is.
I could definitely write an essay on each of these guys, Freddie Freeman had an absolutely outstanding season for a very weak team, and from where I’m sitting he deserves a lot of MVP votes. He single handedly carried his team for a long stretch of the season. Remember when Freeman had more home runs than the rest of his team combined? That lasted embarrassingly long into the season. David Ortiz had his magical final season, probably the best final season we’ll see in our life time. Yelich had his big break out season, at age 24. Murphy managed to continue his second half success from 2015 and produce an MVP calibre season. You could go on and on, these are all very skilled and deserving players.
To view all of my ranks for qualifying players, look here.
I sincerely hope you drew some value from xStats this season, you can feel free to look at xStats any time you want here on xstats.org. I’d love to know how you you might weight these stats, or how you might combine them with other stats in baseball. xStats were never meant to be a be-all, end-all solution to anything, but rather a different perspective. They rely entirely on exit velocity and launch angle to determine success or failure, which might feel a little alien or cold when you first look at it. I hope it offers some objectivity, that’s really the goal here- looking at the game in a slightly different way. I hope this sentiment got across to everyone, and I hope it was well received.
Andrew Perpetua is the creator of CitiFieldHR.com and xStats.org, and plays around with Statcast data for fun. Follow him on Twitter @AndrewPerpetua.
Kenley Jansen is the best reliever in baseball
Happy to see Britton on the list of relievers, but surprised to see him listed above Ubaldo Jimenez.
“You’re no Mike Trout, but, hey, nobody is.”
Well, technically speaking, Mike Trout is Mike Trout.
Hard to believe no Votto on that Top 10 list. Perhaps some luck this year?
He just didn’t make the cut. He’s rank 13. Donaldson 11, Belt 12, Seager 14. Votto in particular is held back by a pretty low Value Hit score, 7.7%, ranked 97th of the qualified batters. xOBA and VH% are the two stats I personally weighted highest, since they have the strongest correlations to runs scored. He did very well in xOBA, but pretty poorly in VH%. Donaldson got held back by a low PH% score, which let LeMahieu just barely squeak by, they almost tied.
Kris Bryant tho???
He’s 17th!
There’s something of a problem with using only Statcast to rank Britton, moreso than other pitchers. I’ll quote Tony Blengino’s article from earlier today:
“Britton’s numbers are a little quirky, but there’s a reason. In 2016, just over 14% of all balls in play didn’t register speed/angle data in 2016. Typically, this is the result of weakly hit balls hit at very high and very low launch angles. For Britton, however, over 36% of the batted balls he allowed didn’t register — the vast majority of them weakly hit ground balls. This, combined with the small sample size, renders his fly ball, liner and grounder Adjusted Contact Scores quite meaningless. All of those unregistered batted balls — all but two of them outs — are included in his overall Adjusted Contact Score of 45, which is very, very real. Britton’s few fly balls and liners allowed actually are hit a tad harder than average, but the grounders are paddled extremely weakly. Combine a 45 Adjusted Contact Score with solid but not overwhelming K and BB rates for a reliever, and the result is a 1.65 “Tru” ERA that is better than his FIP, though higher than his almost invisible ERA.”
Basically, Statcast alone horribly underrates Britton. I think there’s no doubt he’s been the best reliever (though as a Cubs fan I’m happy to see AC so high up on the list).
xStats does make an attempt to fix this broken/missing data problem, and I think it does a pretty good job. I’ve gone through and checked how well it classifies these sorts of datapoints in the past, about 2 weeks ago, not specifically for Britton but for a few other pitchers to see how it was fairing. I found that the unregistered statcast datapoints were, under xStats, being given exceedingly low xOBA and xBABIP scores, which is what you would have expected. If I remember correctly, something like 90% of those batted balls had less than .150 batting average and xOBA of ~.150. The remaining had less than .200 average, and have an xOBA around .200. I totally agree that there is a problem with taking statcast purely on face value, but I am mixing it with gameday data so even when there are missing datapoints I at least have *something* to work with. There is an issue where the number of plate appearances isn’t perfect, so I have issues where a batter might have 717 PA in xStats but 719 in real life. But beyond that, and that’s a pretty small fraction, I think I’m missing like 1500 PA this season, I think xStats does a pretty reasonable job making up for the limitations of the raw statcast data.
Looking at Britton, of those missing data points, his xOBA is .171 and .165 xBABIP. So, I don’t think these issues were holding him back. Those missing datapoints should do nothing but help his stats here. I think what hurt him are the batted balls that had these values:
1.749
1.531
1.227
1.015
0.965
0.939
0.876
0.875
0.860
0.853
0.790
0.763
0.752
0.743
0.728
0.717
0.700
Thats 17 pretty hard hits out of the 256 in my database. In practice, 11 of these 17 turned into singles in game, plus three doubles and a home run. xStats thinks he got lucky.
Here’s all you need to know about fantasy baseball – I had 3 of the 10 starters, 3 of the 10 closers and 3 of the 10 hitters (& 4 of the top 13 from the comments – I traded Freeman for Votto early in the year) and still managed to get bounced in the 1st round of our playoffs.
Playoffs, man
Andrew, any information on how quickly this stats stabilize? As a Jays fan, I seemed to be raving about Biagini for months, and everyone looks at me like I was crazy. But the weak contact he generates is great. Very similar to Estrada.
I haven’t done the complete analysis yet, but I feel comfortable around 300PA.
PS
I’m going to enjoy reading your writing for the next 3-6 months Andrew, after that I’ll be cheering for you at whatever MLB organization you’re working for. You’re stuff is light years ahead of the rest of the sabermetrics right now, If you’re still at Fangraphs in April, lunch is on me.