Eight Players Under Performing their xOBA

I’ve been developing expected stats that attempt to objectively measure the true batting skill for individual players, and I’ve done my best to describe them over the past few weeks. Today is more about application. I’ve taken all players with 100+ plate appearances and sorted them based upon their difference between wOBA and xOBA. Here are eight of the biggest xOBA under performers for the season to date:

Differences between Expected and Actual Stats
name team G PA AB xAVG ΔAVG xOBP ΔOBP xSLG ΔSLG xBABIP ΔBABIP xOBA ΔOBA
Kendrys Morales KC 45 182 166 .258 -.071 .314 -.067 .509 -.196 .260 -.052 .347 -.098
Trevor Plouffe MIN 29 120 115 .281 -.029 .306 -.031 0.487 -.104 .313 -.030 .326 -.042
Brian Dozier MIN 41 175 155 .237 -.037 .320 -.033 0.413 -.077 .255 -.038 .321 -.044
Cameron Rupp PHI 27 106 103 .327 -.045 .350 -.048 .624 -.187 .390 -.020 .395 -.076
Howie Kendrick LAD 39 137 128 .297 -.070 .339 -.069 .424 -.135 .356 -.087 .325 -.076
Adam Jones BAL 38 166 154 .280 -.053 .333 -.050 .516 -.152 .302 -.046 .358 -.073
Nick Markakis ATL 44 199 167 .284 -.050 .388 -.041 .400 -.077 .330 -.053 .358 -.054
Prince Fielder TEX 46 192 170 .249 -.055 .320 -.049 .363 -.081 .297 -.067 .302 -.054
Δ = Difference, Stat – xStat.
Lower differences indicate a player has under performed their expected stat.

Alrighty, let me explain this chart a little. The xAVG, xOBP, xSLG, xBABIP, and xOBA are all stats I calculate based upon the velocity and launch angle of the batted balls. The Δ columns are the differences between the measured stat and the expected stat, for example AVG – xAVG = ΔAVG. The lower the number, the more the player has under performed their expected values.

Before I get into anything else, I’d like to point to an addition I have made to my stats google doc. I’ve added a front page that includes both the actual (AVG, OBP, SLG, BABIP and wOBA) and expected (xAVG, xOBP, xSLG, xBABIP, and xOBA) stat for each batter in the 2016 season. I have organized it in a manner that puts the normal and x version of each stat adjacent to one another, so you can more easily compare the individual elements. Although, that makes it a little harder to compare the whole slash lines, but, hey, give and take. I also include a number of basic stats, like HR, K, BB, etc, which you can look at, and use to filter players if you choose to do so. To be clear, these are actual game stats, not a prediction or expected value. There are also lines for each team, but I generally keep the teams filtered out. They have the player name “team”, so you can filter them if you want.

Kendrys Morales has had a normal down period. I have created a 30 game moving average chart using my batted ball stats for Kendrys Morales to highlight this point.

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.

Looking at Kendrys’ moving average chart, he appears to follow an almost sinusoidal pattern of performance, with a period of about 100 games or so. He had a trough around game 80 of last season, and another around game 180 (as in, the beginning of this season). He also peaked around games 40 and 140 last season. Following that same pattern, you’d expect him to peak again around game 240. He will reach game 210 next week, so, going by his this pattern, you’d expect him to have a solid month of June. In addition to this simple pattern, his exit velocity has barely changed, hovering around 92.7-92.9 mph, Value Hits remain a strong 8.8%, and his xOBA is .347. A lot of people have barked at his seemingly slow start, but from the batted balls side of things, nothing appears to be wrong with Morales. He’s just being himself, a guy who goes through pretty regular ups and downs. His just happened to coincide with the beginning of a season, so he didn’t have the stats cushion to cover it up.

Expected: .258/.314/.509

To date: .187/.247/.313

Career: .270/.327/.457

Cameron Rupp has taken a huge stride forward, but it probably isn’t sustainable.  Rupp’ss 96.3 mph average exit velocity is his biggest red flag. That is not a sustainable figure, but it is difficult to tell exactly how off it may be from what could become his new average exit velocity. Last season he averaged 89.7 mph with a 12 degree average vertical launch angle. This year he is pushing 96.3 mph with an 8.9 degree launch angle. That means a whole lot more base hits, and his xBABIP has rocketed from .295 last year to .390 this season. His value hit rate has jumped from 7.4% to 12.3%, which means he is also hitting a lot more high value balls that have a high chance of landing as extra bases and home runs. He will never be able to keep this pace up, 96mph average exit velocity is way too high and it will regress. However, where exactly he will land is still up in the air. We do know, for one quarter of a season, he has hit the cover off the ball. Being a catcher makes it all that more impressive. Many people have questioned whether Rupp has been getting luck to post these numbers. That doesn’t appear to be the case, although he may be in an unsustainable hot streak.

Expected: .327/.350/.624

To date: .282/.302/.437

Career: .240/.294/.372

Howie Kendrick should be putting up career average numbers. Howie Kendrick’s batted balls haven’t changed much, if at all. His average exit velocity has gone from 90.6 to 91.1, a modest increase, while his average launch angle has gone from 2.7 to 1.5. Together, these two effects roughly cancel out. His value hit rate is slightly down, 5.1% from 6.2% last year, probably because his average launch angle is down, leading to more singles. His xOBA has subsequently dropped from .338 to .325, while is xBABIP has leaped from .334 to .356. Slightly more singles, slightly fewer extra base hits, but roughly the same overall. He certainly does not deserve the drastically reduced results he has suffered through so far this season. You can probably attribute much of his poor performance to a little bad luck and a reasonably small sample size. He should be putting up career average numbers right now, roughly equal to what he finished the season with last year. There isn’t much to worry about here.

Expected: .297/.339/.424

To date: .227/.270/.289

Career: .291/.331/.419

Adam Jones has gotten unlucky. His batted balls are of significantly higher quality this year over last year, you would expect his in game performance to have gone up. It hasn’t. It hasn’t at all. Somehow, he has managed to put up pretty atrocious numbers through the first quarter of the season, but this isn’t going to last. His average exit velocity is up from 89 to 92mph, value hit rate up from 7.7 to 10.6%. That boils down to a .366 xOBA and .303 xBABIP. His batted balls, you’d expect, should result in surging power numbers with a relatively constant batting average. He put up numbers like this back in 2012, when he bat .287/.334/.505 with .361 wOBA, perhaps the best season of his career to date. Those are the sorts of number you’d expect from his current batted ball production. Adam Jones has had some bad luck, but he has played very well. Don’t give up on him, he is going to turn it around and you might see some career numbers at the end of the season.

Expected: .280/.333/.516

To date: .227/.283/.364

Career: .277/.318/.459

Nick Markakis‘ power may be coming back. After undergoing a surgery to repair a herniated disc in December 2014, he put up pretty disappointing power numbers in the 2015 season. He kept his batting average high, though, showing it wasn’t necessarily a large drop in skill, but rather, perhaps, a weakness in his arms or back that limited his ability to drive the ball. His power production reached an all time low in 2015, with three home runs and an ISO of .080. This year, and yes, I am aware he only has one home run, and it only came a few days ago, his power seems to be taking a step forward. His xSLG is .411, as a result of nineteen balls that had a greater than 1/3 chance of being an extra base hit, including four that had had a greater than 1/3 chance of being a home run. His expected AVG is .294, right around his career average, and his xBABIP and xOBA are .341 and .368 respectively. In addition, his average exit velocity is up from 89mph to 93mph, and his average launch angle improved from 7.5 to 9.4 degrees. It appears that Nick has managed to reintroduce some pop into his bat without sacrificing any other aspect of his game. Although he has perhaps lost a few homers to bad luck this season, he is still on pace to hit 10-12, in addition to potentially a career high in doubles. He hit 48 in 2008 with the Orioles, and so far he is on pace for 49 this year.

Expected: .284/.388/.400

To date: .234/.347/.323

Career: .289/.359/.426

Prince Fielder’s batted ball stats are down across the board. His average exit velocity is down from about 91-92 this time last season to 88-89, which translates to about 9% off BABIP and 12% off wOBA, on average. His average vertical launch angle has dropped from 8 degrees to 5.9 degrees, which knocks about 9% off BABIP and 12% off wOBA. These two figures combined gives you an .297 xBABIP and an .303 xOBA. His in game performance has been well below these figures, though, and he has only managed to bat a .198/.267/.287 slash line with .230 BABIP and .247 wOBA. But, it isn’t all doom and gloom for the big guy. Yes, his skills appear to have been fading with each passing season, but, his batted ball stats suggest he isn’t quite done yet, even though all of the signs suggest this may be the worst season in Fielder’s career. He has trended downwards for several years, but, and this is a big but, he is still making contact like a league average hitter. Not great, but good. Passable. He should have upside, too. The guy has managed a roughly league average expected batting line while in one of the coldest stretches of his career, his eventual hot streaks may be about as valuable as they were last season.

Expected: .249/.320/.363

To date: .193/.269/.281

Career: .284/.384/.509

Brian Dozier has had a disappointing first quarter, but should be putting up career average numbers. The 29 year old has been worth 0 WAR so far this season, after putting up two solid years in a row. He has suffered from second half-itis, as you can read about here.  Perhaps that is a warning sign of some sort, perhaps he was playing injured, perhaps it is a weird fluke. I don’t know. However, I do know that Dozier is very much under performing his batted ball quality this season. His batted ball quality has dropped somewhat from last season, but not by a terrible amount, and it might be attributable to his rise in vertical angle (to 15 degrees from 13.8). His average exit velocity is down 1.5 to 86.4mph, Value Hit rate down 1.4 to 7.4%, and xOBA down 16 points to .320. In other words, he has gone from an All Star, leading the league in second basemen home runs, to a solidly above average player. Except, his in game performance is well under this level. He’s batting around the Mendoza line, jumping on and off the interstate at times. His slugging is way down, BABIP is atrocious, part due to his increased propensity towards fly balls. Dozier, you’d expect, should be having a lot more of these high value fly balls landing than he has seen so far this season. That’s probably bad luck, and hopefully something that will even out over time.

Expected: .237/.320/.413

To date: .200/.287/.336

Career: .237/.313/.406

Trevor Plouffe has been putting up almost identical batted balls this year as he did last year. In all likelihood, and unfortunately we don’t have the data, he was putting up the same numbers back in 2013 as well. His average exit velocity has stayed around 90.7 with an average vertical angle just north of 11. His xOBA dropped slightly from .334 to .326 this year, but his xBABIP has gone from .296 in 2015 to .313 this year. He is roughly the same batter, producing roughly the same batted balls. His results have not, to date, kept pace. They probably will catch up, though. I fully expect him to finish the year with numbers similar to what he put up last year.

Expected: .281/.306/.487

To date: .252/.275/.383

Career: .245/.307/.418

 





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

27 Comments
Oldest
Newest Most Voted
Dolemite
10 years ago

Your approach to player analysis is a true breath of fresh air. Leagues can no longer be won by using FIP and babip… those inefficiencies are gone. Kudos to your work, long may it reign!!!

Baller McCheeseMember since 2016
10 years ago

Ugh. Just when I was coming to terms that I might have to give up on Fielder and accept that he’s not even worth a bench spot in a 12-team league, you tell me there’s a chance he’s not cooked. A chance!

TalinMember since 2021
10 years ago

I really liked this article. However, I’m concerned about the number of players on this list that seem to lack speed. Is it possible that this is impacting their forecasts? I’m not advocating, just asking!

evo34Member since 2023
10 years ago

Also, if I am not mistaken, park is not accounted for, right? So saying a player “should” be hitting x/y/z based on his xOPS is a bit aggressive for those players who play in extreme parks. Assuming the goal of your xStats is to predict future actual stats, can you make the proper park adjustments? Users can do it for themselves (as they currently need to for stats like xFIP), but hoping you can provide this adjustment at the source. Thanks for all the hard work.

evo34Member since 2023
10 years ago

I agree wrt the complexity involved.
Can you explain how you are currently applying park factors? I may have missed it in an earlier article.

evo34Member since 2023
10 years ago

So, a Rockies batter’s xSLG, for example, should represent what his batted balls would have produced in terms of actual SLG for a player playing the Rockies’ schedule of parks? I understand all the limitations and sources of possible error. But I just want to confirm that the design of the xOBA suite of stats is to reflect park-impacted expected performance and not some measure of true, park-neutral skill.
If so, I agree that using single season splits is very dicey. Maybe take a less granular approach for now and use 3-year handed SLG park factors, for example, to get from a park-neutral xSLG to a park-specific xSLG?

bartelsjason
10 years ago

This is true and I have considered this since this last offseason. However, most leagues include MI, as well as Utility, and some SS’s like Russell have multiple position eligibility.

Once could in theory benefit even more by grabbing 3-4 of these SS studs, while others then get stuck with lesser tier guys. For instance, I currently have Correa, Seager, and Russell on my keep 6 forever league. I play Russell at 2B, and Correa and Seager at SS and MI. I could snag another SS if I wanted to and put him at utility even.

I will probably try and trade Russell at some point, but I am getting a lot more production than others in my league in the MI, while still finding guys with great production at other positions.

jcutigerMember since 2024
10 years ago
Reply to  bartelsjason

I must be in the wrong chatroom.

Jason BMember since 2017
10 years ago

Great article, very worthwhile read. One small quibble on Adam Jones–

“Don’t give up on him, he is going to turn it around and you might see some career numbers at the end of the season.”

I certainly agree that Jones is a great rebound candidate and should see much better results going forward. But to potentially hit new career highs would require some *incredible* bouncing back because it would also have to overcome the poor results through the first 50ish games of the season.

(Just as an example, if you thought he were a “true talent” .300 hitter but had hit just .220 through the first quarter of the year, he would actually have to hit .327 over the last 3/4 of the year to overcome the poor results from the first 1/4 and end up at .300, assuming 150 AB’s per quarter-season.)

Again just a very minor quibble but I wouldn’t be banking on a career year; the first quarter or third is already “in the books” and will be tough to overcome.

Goms
10 years ago

The thoughts on Kendrick are interesting. I wonder about Justin Turner and Yasmani Grandal as well. Any encouraging signs in their profiles? The Dodgers and Blue Jays have been so disappointing offensively but we know Donaldson and Bautista will turn it around. The Dodgers guys are a little more up in the air.

Dknapp26Member since 2025
10 years ago

Great piece. Love your work and I’m excited for more as you get more out of statcast.

Shouldn’t it be xwOBA though? it looks kinda silly, but xOBA implies xOBP, no?

Again, love the work, love the stat, but hey, if you didn’t get some kind of semi-off-topic super specific criticism, it wouldn’t be Fangraphs.

Dknapp26Member since 2025
10 years ago
Reply to  Dknapp26

I suppose it’s tough because wOBA is already confusingly named… I guess I’m just not up to date on my STATs grammar.

Dolemite
10 years ago

Your model loves Sabathia and sees him as a top starter in terms of xOBA. Does that jive with reality? Is he back to being 12 team mixed league relevant?

Dolemite
10 years ago

Hellova response. Thanks for all the hard work. I cant tell you how happy this batted ball stuff makes me.

WerthlessMember since 2020
10 years ago

I appreciate the insight into xoba. I’m not sure your analysis on Morales, looking for patterns in his moving average, is up to the same level of rigor. I don’t see a compelling hypothesis why that sinusoidal pattern should persist, which is a classic reason not to apply concepts from an arima model to data simply because it happens to be a time series.

Rgoodman18
10 years ago

In your google sheet, how do you manage to efficiently update 30 games worth of data everyday without just working for hours upon hours to update your stats?

Rgoodman18
10 years ago

How long did it take you to just set up the spread sheet with formatting and paramaters and algorithms etc.?