Didi Gregorius has been awesome this season. He's 10th in the American League with 3.6 fWAR despite missing time. Gregorius is hitting .311/.338/.503 with a strong 13.2% strikeout rate, adding up to a .354 wOBA and 121 wRC+. As usually, he's providing tons of value on defense (>1 win, 5th best in the AL).

What's not to like?

I'll get into more detail below, but the answer is weak contact. Our new statcast numbers show that Didi Gregorius is making very poor contact. Combine that with his tiny 4% walk rate and Didi might be a much worse hitter going forward than he's seemed to be so far this year.

### How Statcast Predicts Hitting Quality

Statcast records two important variables for every batted ball. We've all heard these about these ad nauseum this season: exit velocity and launch angle. We can take the exit velocity and launch angle of a given batted ball and look at all past batted balls around that number. For example, Gary Sanchez hit a ball last night at 97 mph at an angle of 29 degrees. Here are all the balls hit at those parameters this season:

That's really good! That ball is a home run 35% of the time, and also produces a fair number of singles and doubles.

Gregorius hit a solid single last night as well, at 81 mph and 22 degrees:

That ball only goes for extra bases 8% of the time, but yields a .500 batting average. It's a classic line drive hitter's ball.

We can put all the possible exit velocities and launch angles together to produce this great graph via FiveThirtyEight's Rob Arthur:

(Fun fact: this graph is a year old. Aaron Judge has hit a ton of balls harder than anything on this chart)

This graph should be pretty easy to read. The more purple a location, the less valuable a batted ball is. These are almost always outs. The more orange a location, the more valuable a batted ball is. Hitters can thrive in two basic bands: the line drive band in between 10 degrees and 25 degrees, where soft contact can yield hits, and the power hitting band, where (only) hard contact yields extra base hits.

Statcast essentially does the same thing that Rob Arthur's graph does to produce the statistic xwOBA, which we've used a lot on this blog in 2017. It takes each individual batted ball a player hits, calculates an expected value, and adds in strikeout, walk rates, and other information. The equation basically looks like this:

wOBA = Batted Balls*X1 + Strikeout Rate*X2 + Walk/HBP Rate*X3 + Error

We produce the values for X1, X2, and X3 here by taking in all of the data for players recorded by Statcast so far, including their actual wOBA. We then can take those coefficients and estimate the wOBA that a given batted ball profile from a player would on average produce.

The error term is important here. We are not going to perfectly predict the wOBA is a player using their batted ball profile and plate discipline. There are lots of other factors at play: luck, opposing defenses, park factors, speed, and horizontal angle (where on the field the ball lands). A really big error number suggests that the model we've designed to predict an outcome does not do a great job predicting it, even if the individual variables fed into it are significant predictors of the outcome.

For the individual player, a large error term means that a lot of things other than the model are probably contributing to the observed outcome. For example, Billy Hamilton is very fast, and turns a lot of batted balls into more valuable outcomes than the average player. Since xwOBA doesn't (yet) account for speed, we should expect it to undershoot Billy Hamilton's value.

However, luck is probably the predominate factor for most players. Sometimes, balls find holes in the field. These hits count in the game, but aren't likely good predictors of future performance. If a player is having a good season because a lot of balls that are normally low value are falling in, they are likely not going to be as good going forward, and vice versa.

### Didi Gregorius's Breakout Performance According to Statcast

Gregorius has posted a wOBA of 0.354 this season, well above the AL average 0.322 wOBA. However, the above equation predicts an xwOBA of 0.284 - well below average.

381 players have at least 100 MLB plate appearances this season. Of those, Gregorius is the 4th highest overperformer. The other three are Mallex Smith, Marwin Gonzalez, Zack Cozart. Here's what this looks like on a graph:

Gregorius is a huge outlier off his predicted value. If Didi Gregorius was super fast, you could argue that he's doing what Mallex Smith is: turning ground ball outs into singles, singles into doubles, and doubles into triples. However, we all know that Gregorius is a pretty average runner.

What about Yankee Stadium? Gregorius has actually been worse at home than on the road this season. This is probably luck, but it could actually be that his swing is particularly damaged by Yankee Stadium. While YS3 is clearly a hitter's park (11% more runs are scored in Yankee Stadium than the average park), that is almost entirely driven by a league-leading +45% (!) home run park factor. It is actually harder to hit a single, double, or triple in Yankee Stadium than the average ballpark. Logically, this makes sense: a smaller field leaves room for outfielders to catch the balls that stay in the park. For a weak-contact, hopefully line drive, hitter like Gregorius, Yankee Stadium might actually make it easier to defend him.

### Bottom Line: I'm Not Betting on Gregorius

Didi Gregorius is by no means a bad player. The average MLB shortstop is hitting a tiny 0.307 wOBA this season. Didi is one of the better defensive shortstops in baseball. He's been an above-average contributor at his position for most of his career despite below-average hitting.

But does anyone really believe Didi is a 0.500+ slugger? A 0.315+ hitter? The data clearly suggest otherwise. The point is that we shouldn't bet on Didi Gregorius, MVP Candidate, going forward. We should bet on good old Didi Gregorius, valuable Yankee shortstop. Anything else is just wishful thinking in the face of pretty definitive data.