Updated xStats Expected 2017 Stats

A few weeks ago I rolled out a large update to my 2017 estimated stats page. You could call it a projection, but that word sounds too official for me. These stats take all of the Statcast data available for each player, weights it by season, and regresses to the mean with respect to plate appearances. So, a guy with more plate appearances will have less regression than a guy with fewer plate appearances, and plate appearances in 2016 weigh more than those in 2015.

These numbers, theoretically, represent the quality of contact generated by each player. There are some caveats, of course. There are players who have large amounts of missing Statcast data, which I will try to skip over for the purposes of this piece. There are some who have relatively small sample sizes.  Some played through injury which may have cast a large shadow on their numbers the past two years. Try to keep these issues in mind.

I’m going to be comparing these 2017 xStats estimations/projections to Steamer projections, and I’ll be displaying the difference. The difference is calculated using xStat – Steamer. So positive numbers show xStats are more optimistic, and negative numbers show Steamer is more optimistic.

With all that said, I’m focusing on mid to late round picks, ADP between 100 and 400. These are the sorts of guys I personally find easier to trade after a draft, assuming your drafts have already concluded (and at this point that seems like a fair assumption).

Large Table!

xStats vs Steamers
Stephen Piscotty .010 .004 .050 .054 .018 7.4 123.4 RF 129
Manuel Margot -.002 .007 .038 .045 .017 6.6 248.0 CF 251
Brandon Belt .015 .004 .050 .054 .018 6.1 166.1 1B 167
Tim Anderson -.016 -.007 .011 .003 -.002 5.7 176.0 SS 155
Andrew Benintendi -.017 -.015 -.007 -.023 -.010 5.5 109.9 LF 122
Ryon Healy .016 .019 .050 .068 .027 5.2 202.3 3B 191
Adam Eaton -.021 -.017 -.007 -.024 -.013 3.9 122.6 CF 130
Tony Wolters .005 .001 .041 .041 .012 3.2 449.1 C 372
Keon Broxton .016 .019 .031 .050 .020 3.1 193.1 CF 157
Yoan Moncada .018 -.001 .039 .040 .013 2.1 244.8 3B 243
Ryan Schimpf .035 .021 .047 .069 .026 1.7 276.1 2B 348
Cameron Rupp .025 .020 .040 .060 .024 1.4 272.1 C 245
Josh Harrison -.026 -.024 -.030 -.055 -.025 1.2 279.3 2B 279
Ben Revere -.022 -.013 -.007 -.020 -.010 0.9 353.0 CF 340
Ketel Marte -.021 -.015 -.012 -.028 -.014 0.9 268.0 SS 363
Chris Owings -.019 -.025 -.021 -.045 -.021 0.8 311.2 SS 302
Adam Duvall .021 .017 .032 .049 .018 0.5 152.1 LF 156
Wilson Ramos .018 .013 .036 .048 .018 -0.2 269.6 C 281
Mike Napoli -.009 -.025 -.010 -.034 -.016 -0.2 216.2 1B 217
Chris Carter .019 .007 .019 .026 .008 -1.5 254.4 1B 296
Pablo Sandoval -.019 -.023 -.033 -.056 -.023 -1.6 323.8 3B 347
Hunter Renfroe .010 .023 .003 .025 .013 -1.6 204.4 RF 230
Yasiel Puig -.033 -.042 -.078 -.120 -.049 -3.3 210.7 RF 224
Jason Heyward -.008 -.022 -.035 -.058 -.025 -3.3 266.0 RF 259
Austin Hedges -.016 -.007 -.049 -.056 -.021 -3.6 301.5 C 292
Aaron Judge -.013 -.025 -.054 -.079 -.032 -4.5 294.7 RF 362
Max Kepler -.024 -.032 -.075 -.107 -.041 -5.4 233.4 RF 236
Tommy Joseph -.003 -.001 -.030 -.031 -.013 -5.7 215.7 1B 213
Maikel Franco -.008 -.010 -.042 -.052 -.019 -6.1 130.5 3B 120
Josh Reddick -.006 -.015 -.055 -.070 -.027 -6.3 301.9 RF 303
Mike Moustakas .005 .003 -.034 -.031 -.011 -7.0 210.4 3B 208
SOURCE: xStats
xStat – Steamer

This is a large table, I took the top and bottom six from each category, so you can easily view the largest outliers. If you want to view the complete list, click here. There are a bunch of names you can pull out from this list.

Maikel Franco, for example.  xStats doesn’t feel his 25 home run season were necessarily deserved, it awarded him 20 xHR last season, and projects him to hit another 20 this season. Tommy Joseph, another Phillie, is in the same boat. Perhaps there might be a park factor effect going on here. My man Cameron Rupp (yet another Phillie!) is high on this list in many categories, xStats feels he will pretty much repeat his 2016 season. Ryon Healy got some love. So did Piscotty, and Tim Anderson. You’ll see a few Giants players with high projected home run totals in xStats, you know that’s definitely park effects holding them down.  Especially Brandon Belt who hits tons of great contact to right center.  Unfortunately right center is about 425 feet in AT&T with an enormous wall to boot.

You can enjoy looking through names, but I have two players I want to highlight.

Ryan Schimpf

Much has been written about Schimpf’s batted ball mix, particularly his groundball to flyball ratios. It is a bit insane, and very unsustainable. On my website I have a tool that maps out launch angles in the form of delicious donuts.  This is Schimpf’s donut.


This is not an ideal donut. For reference, balls hit above 36 degrees have the following stats:
67206 1528 .063 .061 .147 .039 .061 .085

Mmmm BACON and donuts.  By the bye, BACON is batting average on contact. It is BABIP that includes home runs.

Anyways, that distribution looks crazy, it looks totally out of this world and totally unsustainable.  And it clearly is.  But does that mean Schimpf’s production itself is unsustainable? In that same donut tool you also have an option to split these balls by exit velocity, and it will draw the value buckets for each player. Here you can see Schimpf’s:

This is still somewhat extreme. These colors represent wOBA value. Purple (A,B,C) represents around .030-.080 range of values, and the red section (N,O) represents .800 and above. Batted balls with .800 wOBA are generally what you might call a “value hit” in terms of xStats or a “barreled ball” in terms of MLB.

PS, I’m sorry to the color blind reading this, I hope the letters help you understand.

I can tell from messing around with that donut tool quite a bit, this breakdown from Schimpf is not nearly as extreme as his flyball to groundball rate may lead you to assume. About ⅓ of his balls are landing in the least valuable buckets, and about 1/5th are landing in the most valuable. Does it really matter if the low end balls are flyballs versus groundballs?

I’m not sure they do, and if you rejiggered his flyball to groundball ratios, you may actually be able to increase his overall offensive performance in the long haul. The low end ground balls are so much more valuable than the low end flyballs that transferring some of those flyballs to groundballs may actually help Schimpf boost his batting average, slugging, on base percentage, wOBA, etc.

I looked through and I found two players with similar batted ball breakdowns as Schimpf.  

(you can click these images to see full sized versions)

Both of these guys flirted with league average batting average a few times while otherwise remaining well below average in that department. Todd Frazier is the weaker hitter of the two, producing more weak groundballs and flyballs, while Brian Dozier has a few more of the mid range flyballs.

Neither of these guys have great batting average. So maybe that doesn’t bode well for Schimpf, but it may not be entirely pessimistic either.

There are really two ways Schimpf can regress toward the mean in the long run. He could transfer many of these weak flyballs into weak groundballs, keeping roughly the same number of weakly hit balls as a percent of his total plate appearance. Or he may simply hit more weak groundballs, holding the weak flyballs steady.  This would tank his batting average, and he’d probably land in the .220-.230 range just like Todd Frazier.

Overall, he is bound to face regression, no doubt about it. How that regression may come isn’t clear, but xStats seems to side with keeping the percent of weakly hit balls constant, but shifting more of them into the ground ball side of the spectrum.  This would buoy his batting average without necessarily harming his home run production. xStats projects him to hit .253/.329/.473 with .802 OPS and 23 home runs. This is a clean sweep over Steamer, which projects .218/.308/.425 with .733 OPS and 21 home runs.

Max Kepler:

Kepler is only 24 years old and he has 454 plate appearances at the major league level, so in some ways scouting may be a more useful tool when projecting him. However, there’s always something to be gained when looking at actual game performance, and in this case xStats points towards a lot of question marks.

The xStats projections are far beneath the Steamer projections in all categories. Particularly home runs. Last year Kepler hit 17 home runs, xStats suggests he deserved… 5.7.  I’ve never seen such a huge discrepancy between xStats and game results, and I immediately thought something odd must have happened. So I looked deeper, maybe Kepler just happened to have lots of missing measurements for his home runs?  It could happen.

It didn’t happen.

All of his home runs are accounted for.  I have created a table for their home run probabilities, take a look.

Max Kepler’s Home Run Probabilities
109.8 22.8 36.8 77.6%
103.6 21.5 40.2 50.8%
95.9 34.0 38.4 33.0%
101.1 22.1 26.2 30.5%
101.9 20.5 36.5 22.0%
106.1 20.0 13.0 18.6%
104.7 20.4 5.2 18.1%
100.2 24.9 10.5 16.0%
95.0 28.8 33.3 15.4%
102.0 18.9 35.7 14.1%
94.8 32.4 30.7 12.3%
94.8 25.1 30.2 8.2%
103.0 19.6 9.5 7.3%
99.2 23.4 14.7 6.9%
93.8 26.8 30.4 6.9%
91.1 25.8 38.4 6.2%
93.1 49.4 18.1 5.9%
SOURCE: xstats.org

In the words of Daniel Murphy:  YOWZERS!

His home runs seem to fall into two categories:  Very hard hit balls on shallow angles to center field, or relatively (for homers) weakly hit balls down the line. His home run probabilities match accordingly. That’s a lot of sub 50% probabilities.  That’s a lot of single digit probabilities.  This is not a happy distribution, and it explains a bit why Kepler was granted only 5.7 xHR last year.

Of these 17 home runs, xStats suggests he may have deserved 3 doubles and 4 homers, maybe a single or a triple. That is a huge step down from 17 homers, obviously.  A few of his other flyballs, doubles, etc had decent home run probabilities, which brought his total expected home run total to 5.7.

I haven’t looked through the video of these homers, so I can’t tell you for sure if they were indeed lucky, or maybe statcast had some measurement errors. Or maybe my home run probabilities need some work.  All of these could be the case. But 93 mph exit velocity with a 49 degree launch angle?  For a homer?  That… that almost never happens, so if that’s a real stat as opposed to a measurement error, you shouldn’t expect it to repeat.

None of this should necessarily sour your tastes on Kepler, but it might serve to temper expectations a bit.  xStats projects him to hit .238/.301/.362 with .663 OPS and 11 home runs.  Steamer .262/.333/.436 with .769 OPS and 16 home runs.  

Andrew Perpetua is the creator of CitiFieldHR.com and xStats.org, and plays around with Statcast data for fun. Follow him on Twitter @AndrewPerpetua.

newest oldest most voted

This was amazing. I just discovered xstats.org a couple of months ago. Thank you for maintaining it.