top of page
Post: Blog2 Post

How Truly Anyone Can Calculate League Normalized Statistics: OPS+ and WRC+

  • Writer: Peter Majors
    Peter Majors
  • Aug 21, 2020
  • 7 min read

Updated: 6 days ago

ree

Peter Majors


Baseball statistics have traditionally been influenced by arbitrary beliefs about what defines below average, average, and above average performance, such as specific batting averages or home run thresholds. These attitudes have shaped perceptions of baseball statistics at all levels of play.


Over the past twenty years, baseball has seen a significant increase in the use of sabermetrics, or advanced baseball statistics. These metrics have enabled us to assess player performance with greater accuracy. Although they are highly beneficial for evaluating players, sabermetrics have predominantly been embraced by Major League Baseball. Consequently, lower levels of play remain influenced by arbitrary beliefs. I believe this is a significant issue with a straightforward solution: transparency. To ensure that sabermetrics gain traction beyond Major League Baseball, it's crucial that people outside of it recognize their immense potential and have the means to utilize them independently.


The goal of this post is to make calculating sabermetrics so easy that anyone can compute them. More specifically, it is to make easier calculating a certain type of sabermetric, what I call “league normalized statistics". In recent years, two of the most popular of these have become On-Base Plus Slugging Plus (OPS+) and Weighted Runs Created Plus (WRC+). These are the metrics I will teach you how to calculate.


I will calculate them in the Atlantic 10 conference using data from games played between A-10 schools only, to exclude non-conference influences. The data is from the 2019 season, as the 2020 season was too short for conference play data.


Below is a screenshot of the excel file I used which contains these statistics:

ree

Now that we have our data set, let's get to work.

How to Calculate OPS+


The formula to calculate On-Base Plus Slugging Plus is deceptively simple. It requires only five inputs - four that are easy to obtain and one that is a bit more difficult. In order to calculate OPS+, you must know:


The formula for OPS+ is:

  • OPS+ = 100 * ((OBP / lgOBP) + (SLG / lgSLG) - 1) / BPF


I will gather the first four components from the excel file above. However, as I mentioned, obtaining the fifth component requires a bit of work. In order to find the Batting Park Factor, you must know:


  • The number of home and away games played by a team

  • The number of home and away losses by a team

  • The number of runs scored and allowed at home by a team

  • The number of runs scored and allowed on the road by a team

  • The total runs scored by teams at home and on the road in the league

  • The total games played in the league


If you are so inclined, the formulas required to obtain the Batting Park Factor can be found here: Park Factors Formulas.


However, there is no longer any need for them! I have created a Park Factors Calculator in Google Sheets. It is based entirely on formulas found in the link above. If you plan on calculating either OPS+ or WRC+, this will make your life much, much easier.


  • Side note: To order to use the calculator, simply plug in the information on the bullet points above. If done correctly, the Batting Park Factor will appear in the column titled “BPF”. Do not forget to insert the total games played in cell B15, the total runs scored at home for the league in cell F12, and the total runs scored on the road for the league in cell G13. If your calculations require more than 10 teams, and therefore rows, ensure that the denominator in the “TBR” and “TPR” calculations remains the equivalent of the “RAL” and that the inputs for the number of teams remain consistent for the “OPC”, “BPF”, "PPF" and calculations. If you experience any issues, please send us an email at fordhamsas@gmail.com.


Below is a screenshot of the excel file I used to compute the Batting Park Factor for the entire Atlantic 10 conference. As you can see, it is quite involved - which is why I would recommend using the calculator linked above.

ree

The Batting Park Factor functions similar to OPS+ and WRC+ in that every point above or below 1.00 represents one percentage point above or below the average park in the league. For example, Richmond’s Pitt Field actually yielded 32.7% more runs than the average Atlantic 10 ballpark. Thus, it is considered to be by-far the most hitter-friendly ballpark in the Atlantic-10.


Since I will be calculating Fordham’s team OPS+, I will use their park’s .912 BPF in my calculation. All of the inputs in this formula were taken from the files above. My calculations are shown here:


  • OPS+ = 100 * ((.315 / .420) + (.347 / .378) - 1) / .912

  • OPS+ = 100 * ((.750) + (.918) - 1) / .912

  • OPS+ = 100 * (.668) / .912

  • OPS+ = 100 * .73245614

  • OPS+ = 73.24


Thus, according to OPS+, Fordham’s offense was about 27% worse than league average during 2019 conference play. This is after accounting for the pitcher-friendly ballpark that the Rams played half their games in, which decreased their offensive output by 8.8%. Despite this, they fared very well against conference opponents, going 15-9 during the regular season.


Since we have the Batting Park Factors for every Atlantic-10 ballpark, as well as the league average On-Base Percentage and Slugging Percentage for conference play, all we need to solve for an individual player’s On-Base Plus Slugging is their individual On-Base Percentage and Slugging Percentage.


Seeing that this blog is completely unbiased, we will also be calculating the OPS+ of Fordham’s best hitter during 2019 conference play: Jake MacKenzie. Against Atlantic-10 opponents, MacKenzie had a Triple-Slash Line of .309/.358/.468. This performance yielded MacKenzie an .826 OPS, which means that he was only slightly better than the average A-10 hitter during conference play. Let's see if by calculating his OPS+, we can get a different answer.


We solve for MacKenzie's OPS+ here:


  • OPS+ = 100 * ((.358 / .420) + (.468 / .378) - 1) / .912

  • OPS+ = 100 * ((.852) + (1.238) - 1) / .912

  • OPS+ = 100 * (1.09) / .912

  • OPS+ = 100 * 1.19517544

  • OPS+ = 119.51


MacKenzie was actually about 20% better than the average Atlantic-10 hitter during 2019 conference play. Remember, this is after accounting for the pitcher-friendly ballpark he played half his games in, which decreased his offensive output by 8.8% at home.


By using OPS+, we find that Mackenzie was a far better hitter than what his OPS would suggest. Without the help of this OPS+, we might undervalue his production at the plate. Thankfully, this metric takes into account the parks and league Mackenzie played in, allowing us to gain a more accurate assessment of his performance.

How To Calculate WRC+


The formula for calculating Weighted Runs Created Plus is substantially more difficult than that of OPS+. However, if you have access to the below inputs, the calculation becomes a simple plug-and-chug. In order to calculate WRC+, you must know:


The formula for WRC+ is:

  • wRC+ = (((wRAA / PA + League R / PA) + (League R / PA – Park Factor * League R / PA)) / (AL or NL wRC / PA excluding pitchers))*100


Some of the inputs for calculating WRC+ are a bit difficult to obtain - namely WRAA and WRC. Unless you have access to these metrics, I would recommend using JT Jordan’s handy WRC+ Calculator. The calculator is quite intuitive, however there are few things you should be aware of if you decide to use it. In the “Desired League wOBA” cell, you are expected to input the league average On-Base Percentage. It also requires you to know the Batting Park Factor, which we explained how to obtain earlier in this post.


Let's calculate Jake MacKenzie’s WRC+. Again, he was Fordham’s best offensive player during 2019 conference play and posted an OPS+ of 119.51. Below is a screenshot of JT Jordan’s calculator with the Atlantic-10 conference set as the league and MacKenzie set as the player:

ree

As we can see, Jake MacKenzie is again a well above average hitter. He posted a WRC+ of 115, meaning he “produced” 15% more runs than the league average hitter during conference play.


I would note that this calculation is not entirely accurate, as I was unable to gather information on how often he reached base on errors and was intentionally walked. However, assuming that he reached base on errors more often than he intentionally walked, his WRC+ should be slightly higher. I feel that this is a safe assumption to make since intentional walks in regular season college play are quite rare. For example, if MacKenzie reached base even once on an error without being intentionally walked, his WRC+ would jump to 122.


Thus, according to both OPS+ and WRC+, Jake MacKenzie was 15 - 20% better than the league average batter during 2019 conference play. I should also note that OPS+ and WRC+ share a 0.992 correlation with one another. This is actually quite surprising, since as we have seen, they arrive at their assessment of batter performance in radically different ways.


OPS+ is typically considered to be inferior to WRC+; however as the above Baseball Prospectus article suggests, that is far from the truth. Therefore, if you do not have access to the myriad of inputs required to calculate WRC+, OPS+ is a more than acceptable substitute.

I hope you learned something from this article. As I mentioned at the start, my goal in writing this was to inform. It was to make the computation of league normalized statistics so simple that they could be calculated by anyone and for any league. I also hope this article helped you to understand the value of league normalized statistics, and how much of an incredible improvement they are over traditional baseball statistics such as Batting Average.


As this class of sabermetrics moves further and further into the mainstream, I expect there to be a greater demand for their use in collegiate and high school baseball. My hope is that this article, and the links included in it, can be of assistance to anyone looking to help usher in this new age of player evaluation.

Sources


Comments


bottom of page