Research Room: Return path to a competent offense lies with Expected OPS

In last week’s Research Room we took a look at the Pittsburgh Pirates offensive woes. Can things get better?

In this week’s Research Room, we will be looking at options that could help the Pittsburgh Pirates offense in 2018, through trades, free agency, and even internal options.

Under this management team, the Pirates tend to seek out undervalued skills and players likely to have a bounce back year when signing free agents or acquiring a player via trade. This has worked out for them in pitchers like Mark Melancon and Francisco Liranio, as well as hitters like Sean Rodriguez and David Freese.

In order to analyze possible trade candidates we have to create a metric for “bounce back potential” which is easier said than done.

Runs above all

First, we want to use a metric that correlates closely with runs scored. This part is easy; as was pointed out in this article from a few weeks ago, OPS correlates at a much higher rate to actual runs scored than other offensive stats like wOBA or wRC+. Therefore what we want is an “Expected OPS” or xOPS that looks at the peripherals of a given player and gives us an estimation of how a player should have performed. Then we can compare the xOPS to their actual OPS and determine how much better or worse that player might perform going forward.

The issue with creating xOPS is a mathematical one. Those of you familiar with the world of sabermetrics, you might know that OPS is not a beloved stat by any means. This is due to the outright mathematical error in adding a stat like Slugging Percentage, which is in terms of at bats, to a stat like On Base Percentage, which is in terms of plate appearances.

On a brighter note, the Pittsburgh Pirates’ future seems to have a lot of upside

This causes errors in the analysis when trying to directly derive an xOPS stat, meaning that there ends up being a low correlation.

Instead we will be deriving 4 different statistics, xSingles, xDoubles, xTriples, and xHomeRuns, plugging them into the OBP and SLG formulas, then adding them to get a xOPS stat for every player in the MLB in 2017.

We will be assuming the actual walks and HBP that a player amassed over the 2017 season are the same as their expected values, meaning that batters had little control over whether or not a pitcher threw them 4 balls in an at bat or a pitch that hit them. Since we can’t expect a player to have control over this, we don’t expect their number of walks or HBPs to change much under a league average, or expected, condition, so we will assume they are the two to be the same.

With hits on the other hand, we do expect a player to exercise some control over their contact, whatever that contact may be, a grounder, line drive, fly ball and infield fly. By running a linear regression of the four hits on the four contact types using the 2017 batting data gives us;

x1B= -0.553 +0.272*GB -0.023*FB +0.553*LD -0.172*IFFB

x2B= -0.225 +.030*GB +.126*FB +0.086*LD -0.196*IFFB

x3B= 0.009 +.003*GB +.001*FB +0.026*LD -0.028*IFFB

xHR= -0.189 -0.004*GB +0.246*FB -0.127*LD -.278*IFFB

We can then plug these expected values into the OBP and SLG equations, add them together to get an xOPS stat for all MLB hitters.

First let’s look at the Pittsburgh Pirates’ 2017 roster

Looking at the Pirates players with 100 or more plate appearances, the only players who outperformed their xOPS were David Freese and Josh Bell.

Andrew McCutchen was just under his xOPS and every other player with 100+ PA underperformed their xOPS by at least .030 points.

This indicates that the Pirates were somehow resisting league averages.

Whether that resistance was caused by bad hitting approaches, bad hitting coaching, just being victims of bad luck, some combination of the three, or some completely different reasons, we cannot tell by looking at this data set.

The team OPS this season sits at around .700 while the team’s xOPS sits at about .760. All else being equal, if the Pittsbugh Pirates had hit at the level they were expected to hit according to their xOPS, it would have resulted in 114 additional runs expected over the course of the season, or roughly 11 more wins.

Prior to this most recent 2-13 skid, this would have slotted them as an 89 win ball club, as it currently sits, they would project as an 84 win club over their current 73 win pace. Meaning even without Kang and Marte, this team could have been at the very least a fringe contender, had they not underachieved so badly.

Future fairly bright

On a brighter note, the Pittsburgh Pirates’ future seems to have a lot of upside; Adam Frazier and Gregory Polanco have xOPS ratings of over .830, Bell projects as a .770+ hitter, and Jose Osuna and Elias Diaz are right around league average. These xOPS figures are just based on this year’s numbers, so a healthy Polanco and more development and maturation of the rookies as hitters could easily see these numbers increase.

If these players realize even a portion of these numbers, the 2018 Pirates offense can move from the bottom 3 in the league to the upper half, without any outside upgrades.

Now for the external players.

While searching for possible trade or free agent targets, I looked to check off a few boxes.

  • Is the player’s xOPS above league average?
  • Is the player underperforming their xOPS?
  • Based on career numbers, is this xOPS achievable?
  • Can the player play multiple positions?
  • Is one of those positions 2nd or 3rd base?
  • How expensive is the player?

The xOPS requirements are obviously my own, but the multiple positions requirement and cost of the player seem to be requirements for the Pirates front office; they tend to like players who can give their bench more flexibility, and guys that don’t cost a whole lot or won’t cost a lot in a trade.

Brock Holt

This is a name that may be familiar with Pirates fans as he was a piece of the trade that netted the Pirates Mark Melancon. Holt has developed into a reliable utility man, playing Second, Third and Outfield. This season Holt has struggled offensively, posting a .521 OPS, but has a serviceable .736 xOPS, meaning he could be a reliable guy coming off the bench, or used as a platoon option at 3rd to give Freese more rest. He would be paid about $2mil per year until he hits free agency in 2020. However, given the Red Sox challenges with Third Basemen this year, Holt may be a tough piece to trade for.

Giovanny Urshela

Urshela is an interesting target. He plays a stout left side of the infield, but his offense has been lacking with the exception of his last few years in the minors. His OPS in 157 PA this year is a dismal .553, but his xOPS is a tantalizing .800. Urshela is still in pre-arbitration until 2020, hitting free agency in 2023. He might not cost very much to acquire via trade due to his lack of production so far. If the Pirates got him just before he realizes some of this potential, the payoff would be enormous; but, to be clear, it is still a bet on him realizing that potential.

Freddy Galvis

Galvis is another interesting pick. He mainly plays short stop for the Phillies but does have experience at 2nd and 3rd. The Phillies may be looking to move Galvis this off season to fill the needs of the club, like starting pitching, a position the Pirates have plenty of. Galvis has been above average, posting 3 bWAR over the past two seasons, and would be under team control for the next two years. Galvis has an OPS this year of .688 but his xOPS is .808. If the switch hitting Galvis can return to his 2016 home run numbers, he can easily be a .750+ OPS player.

Ian Kinsler

The 35 year old proven veteran is good defensively and better offensively. He is under contract for an $11mil team option for 2018 and will likely be shopped this off season by a rebuilding Tigers team. I can’t imagine the ask would be huge given his age and declining production, but even at his 2.2 bWAR this year Kinsler would be a cost effective option. He only plays second base which could be a deterring factor in the Pirates pursuing him, and the Pirates generally don’t like trading years of control for soon-to-be free agents, but his .868 xOPS this year suggests he can still be an .800+ OPS guy.

Joe Panik

I almost left Panik off this list all together, due to how much the Pittsburgh Pirates would likely have to give up to get him. The 26 year old 2nd Baseman has posted 7 WAR in 4 seasons with the Giants and is under team control for the next 3 years. The cost in terms of talent that the Pirates would have to give up would likely be prohibitive. That being said the Giants are said to be looking for help in the outfield, meaning McCutchen could be a piece of a trade with the Giants. Additionally the Giants number one prospect is a 3B/SS and is primed to come up next season, so the Giants may be looking to move Panik and shuffle their infield around; however this is just speculation. Panik posted a well-above average .776 OPS this season, but has an even better .879 xOPS, meaning he may not have hit his offensive ceiling yet. Panik would help the Pirates win and would replace the loss of production if McCutchen is moved this off season, but the cost to get him would probably be too much for a team like the Pirates to pull the trigger on.

This is by no means an exhaustive list; these were just a few names that stuck out given their xOPS numbers, not really taking their defensive play into account. Also, the Pirates could just as easily target a player with already realized offensive numbers (I hear Mike Moustakas is available), or perhaps focus on defensive upgrades.

At the end of the day, the biggest upgrade the Pittsburgh Pirates can give themselves is an offense that doesn’t leave .060 points of team OPS on the table. Even if the team picked up half of that, they could have eked out a winning season this year. Whatever the Pirates need to do to realize more of the offensive potential of their current roster will help their club much more than any kind of external pickup, and would likely be much more cost effective.

Nate Werner

Nate Werner is a senior at Penn State, where he is studying for his B.S. in Economics. He is a lifelong Pirates fan that uses the tools of statistical analysis to dive deeper into the numbers of baseball. His goal is to take the style of analysis used in front offices across the Major Leagues and bring it to the computer screens of everyday fans. You can read some of Nate’s more general analyses of baseball on and follow him on Twitter @GoldBoxStats.

  • JPksu

    I really question the validity of any stat that suggests Frazier could be an 830 OPS guy. I mean, I hope that happens, but it seems very unlikely. Also, I think you need to check the modeled numbers for some internal consistency. Frazier’s wOBA has outperformed his xwOBA. Yes, they are slightly different stats but I see no possible way, statistically, that Frazier could outperform his xwOBA yet underperform his xOPS by 70 points! In fact, nearly every single Pirate had a better wOBA than xwOBA which contradicts your major premise that everyone underperformed their expected slugging percentage.

    I appreciate these type of posts, I really do! However, I have significantly more confidence in the xwOBA numbers and their measure of skill than your modeled xOPS. If they led to the same conclusion then that would be great but that’s not the case. This team, as constructed, doesn’t have the offense to compete. So the question is, why not just use data driven xwOBA to find undervalued players?

    • Doc

      I agree with JPKsu. I love this kind of argument, but he makes very good points. I also question how Polanco could be a .830 OPS guy, His OPS’s for 4 years in the majors are .650, .701, .786,and .698.

      To expect a guy who has never even sniffed that, after a season when he couldn’t get an OPS of .700, seems to fail the question of reasonableness.

    • Nate Werner

      These are interesting observations that I’ll try to respond to one at a time.

      I can’t comment on why Frazier’s xwOBA under performs his wOBA as the specifics of the xwOBA model are proprietary to the MLB; however, given that xwOBA and xOPS are two different models, we can’t reasonably assume that they should directly correlate in any particular case.

      My claim is that Frazier is an .830 xOPS guy. I don’t think he has the power for that OPS, but, similar to my comments on Kinsler, Galvis and Panik, the elevated xOPS suggests he will do better in the future. In Frazier’s case specifically, his x1B and x2B are greater than his actual numbers, contributing to the majority of the difference in his OPS and xOPS numbers. I don’t think its unreasonable that Frazier is capable of more singles and doubles going forward and thus a higher OPS.

      As I stated in this article, wOBA does not have as strong a correlation to runs scored as OPS does. I would rather use a statistic that has the stronger predictive power on actual offense because the whole point of the article is to find players that can help improve the Pirates offense. Using xwOBA data would therefore not be as strong an indicator of actual offensive potential.

      Thanks for the feedback.

      • JPksu

        If wOBA and OPS correlate, which they do, then xwOBA and xOPS should correlate otherwise there is something wrong with one or the other. Given the data-driven model used to generate xwOBA (namely the launch angle and exit velocity) I think it’s your version of xOPS that’s unrealistic. I believe a cursory view of the indivual xOPS you generate show that as well.

        wOBA and OPS don’t have a nickel’s worth of difference in correlating to runs. Yes, OPS is slightly better but it’s extremely marginal. So I would concur that using OPS is technically better BUT you make the leap to say that xwOBA would not be as strong of an indicator. That leap of logic assumes that your xOPS is just as reliable as OPS and it is not (or at least you haven’t proven it to be). Given the marginal difference between wOBA and OPS, and the outlier results you’re predicting with xOPS I think xwOBA is clearly the better choice.

        I don’t mean this to be an attack. I appreciate the back and forth and I enjoy digging into the numbers. The only reason for my criticisms is because I think the conclusions that one can draw from the two calculations are diametrically opposed. Your conclusion is that with better luck this team could’ve won 89 games. My argument is this team would’ve been lucky to be .500 with Kang and Marte. To me, it’s interesting to see how different conclusions can be drawn from the same set of data…

        • Doc

          I do agree about the .500 with Kang and Marte stuff

        • Nate Werner

          I’m happy to have the criticism and I’m glad to see someone else is as interested in the subject as I am.

          I think the issue is the assumption that because wOBA and OPS correlate then xwOBA and xOPS should. If they used the same methodology that might be the case but they don’t. Like you said, xwOBA uses launch angles and exit velo, and xOPS uses contact types, meaning they use two different data sets and likely different kinds of analysis on that data to predict their respective stats.

          We can’t actually determine which is better at predicting offense, to do that we would have to show a correlation to some theoretical exact expected Runs value, which is exactly that, a purely theoretical notion. The only evidence is the correlation between actual runs against wOBA and OPS since they are using the same “model” of the real world.

          None of this is to say that you can’t or even that you shouldn’t use xwOBA. Any front office is using a multitude of different statistics to determine undervaluation or future potential, so when evaluating talent, multiple statistics with different methodologies should be used. I only used xOPS as a simplification for the sake of this article and reported based on the assumptions of the model.