We’ve now calculated SGP for three rate statistics: batting average, on-base percentage, and slugging percentage. So let’s go for the ultimate challenge and combine two ratio statistics together!
This is the most complicated calculation yet, because of the fact that we have two rate stats being combined together. And to make matters more complicated, in this scenario, we don’t know the breakdown of OPS into OBP and SLG. Despite that, I think we can calculate the SGP factors accurately.
Let’s take a look at how to perform an SGP calculation for on-base plus slugging (OPS).
A Warning About This Data
What follows is a step-by-step calculation for determining OPS SGP in an NL-only league. I do not have standings data for a mixed-league using OPS as a category.
If you play in a mixed league, use these exact SGP factors at your own risk. They’ll give you an approximation, but the OPS standings in a mixed league will surely be different than in an NL-only league.
The good news is that if you have standings history for your own OPS league, you can follow this exact methodology to calculate the SGP factors for your league.
The Standings Data
Thanks to reader Bob who filled out the “What It Takes To Win Your League Calculator” with six years of data from this NL-only league:
The decline in OPS over this time frame was eye-catching to me. So much so, that I think we’d be doing ourselves a disservice to include all six years of data. And the decline happens at all spots in the standings (1st place and 10th place). It’s roughly a 40 to 60 point drop from 2008 to 2013 regardless of the position in the standings you look at. The numbers from just 2011 to 2013 look much more consistent.
With this in mind, I decided to trim things down to only include the last three years of data. This is worth keeping in mind for all statistical categories. I’m sure HR are down in all formats too. So including ten years of history in your HR calculations may not be appropriate.
Here are only the last three years:
How Many OPS Percentage Points Move You Up One Spot In The Standings?
Over the last three years, an average of .774 won the category and an average of .720 finished 10th.
.774 – .720 = .054 total spread between 10 teams
We have the data for 10 teams, meaning there are 9 spots you can move up in the standings by moving from .720 to .774 in team OPS.
.054 / 9 = .006
On average, increasing your team OPS by .006 points (in this NL-only league) will result in you climbing one spot in the standings.
What Formula Do I Use To Calculate The SGP For a Given Player?
Recall from Part 5 of the “Create Your Own Rankings” series, that you determine the SGP for a ratio stat, like OPS, by removing the effect an average player has on an average team, and then inserting the statistics for the player you are ranking into the equation.
- Using the table above, the average OPS for the ten teams was .748 (the average of (.774, .770, .761, .754, .750, .747, .737, .734, .731, .720).
- If you need a refresher, the formula for OPS is:
On-Base Percentage + Slugging Percentage
Or
(H + BB + HBP) / (AB + BB + HBP + SF) + (1B + 2*2B + 3*3B + 4*HR)/AB
- Keep in mind that some projection data doesn’t specifically show the number of singles hit. An alternative to the slugging percentage formula of (1B + 2*2B + 3*3B + 4*HR)/AB is (H + 1*2B + 2*3B + 3*HR)/AB.
- The OBP portion of the formula is essentially dividing the times on-base by the number of plate appearances (let’s ignore sacrifice flies).
- Ideally we would have the breakdown of OPS into the OBP and SLG components. But we don’t have that here. So I’m going to try to estimate it (Not the most scientific approach, I know. But it’s the best I can come up with under the circumstances).
- In this example, we’re calculating OPS for an NL-only league. Assuming 14 hitters per team, that means 140 hitters will be drafted.
- Looking at Steamer’s 2014 projections, the 140 NL hitters with the most plate appearances show the following averages:
- 514 PA
- 461 AB
- 121 H
- 24 2B
- 2.5 3B
- 14.5 HR
- 4.4 HBP
- 42.2 BB
- Running those figures through the formulas above, this works out to a .326 OBP and a .420 SLG, or an OPS of .746.
- It is VERY important that our bases for calculating team OPS calculate to exactly .748. If the base numbers already have the average team with an OPS of .746, that would give each player 0.333 SGP to start with ((.750-.748)/.006).
- By simply bumping the number of 3B to three, instead of 2.5, the figures come out to .310 OBP and .418 SLG. There is our .748 SLG.
- Plugging in the averages above for a team with 14 hitters:
(14*(121 + 42.2+ 4.4) / (14*514) + (14*(121+24 +2*3 + 3*14.5)/(14*461)
Or
(14*167.6)/(14*514) + (14*194.5)/(14*461)
Or
2,346.4/7,196 + 2,723/6,454
- The effect of an average player on that team would be:
(167.6+2,178.8) / (514+6,682) + (194.5+2,528.5)/(461+5,993)
- Now remove the average player:
(H+BB+HBP+2,178.8)/(PA+6,682)+(H+2B+2*3B+3*HR+2,528.5)/(AB+5,993)
- If you’re using the “Create Your Own Rankings” series, you would first need to adjust your “Hitter Ranks” tab to pull in 2B, 3B, and HBP from the projection information. Then, the specific formula that would be added to the “Hitter Ranks” tab in your rankings spreadsheet (step 6 of Part 5) would be:
=([@H]+[@BB]+[@HBP]+2178.8)/([@PA]+6682)+([@H]+[@2B]+2*[@3B]+3*[@HR]+2528.5)/([@AB]+5993)-.748)/.006
That formula is daunting. But if you take a step back, remember all it’s trying to do is calculate the team’s OBP with the hitter’s stats added and add that to the team’s SLG with the hitter’s stats added. These two combined is the team’s OPS. From that number, we subtract .748 (the league average OPS). After subtracting .748, the answer is then divided by .006 (the SGP factor determined earlier in this post).
Want More In-Depth Analysis Like This?
Questions?
Please post a comment if you have any questions about the process or the formulas above.
Thanks For Reading
Make smart choices.
Thanks. This is helpful. One question, though: are SGPs for counting stats also calculated relative to the average player? And if not, why not?
No, counting stats are not calculated relative to the average player. The reason is that you can’t be “hurt” by counting stats. You can only earn positive HR, positive R, positive Saves, etc. A player with a poor batting average or a poor WHIP actually detracts from your ratios. So the thought is that comparing a player to the average gives you a sense of how much they help or hurt your team ratio.
“Running those figures through the formulas above, this works out to a .326 OBP and a .420 SLG, or an OPS of .746.
It is VERY important that our bases for calculating team OPS calculate to exactly .748. If the base numbers already have the average team with an OPS of .746, that would give each player 0.333 SGP to start with ((.750-.748)/.006).
By simply bumping the number of 3B to three, instead of 2.5, the figures come out to .310 OBP and .418 SLG. There is our .748 SLG.”
I don’t get it. Where did the .748 come from?
Hi Jimmy. I do gloss over that a little bit. The key sentence is this, “Using the table above, the average OPS for the ten teams was .748”. It’s the average of the three year average (.774, .770, .761, .754, .750, .747, .737, .734, .731, .720).
Great site!! Wish I had stumbled upon it before I compiled my own rankings. I came upon this site cause I want to dabble in conditional formatting next year and a google search brought me here! Keep up the great work, your name and site will spread soon enough.
Thanks, Tim! Glad you enjoy the site. Good luck this season and make those spreadsheets beautiful!
Couldn’t you just subtract the .333 at the end from everyone since the two OPS didn’t match?
Hi, Jeremy. Are you saying instead of adjusting .750 to the .748? I think your proposal of subtracting 0.333 SGP from each player is the same mathematically.
I like to preach the safeguard that your “average team” calculation NEEDS to actually calculate out to the “average” for that rate category, so I prefer adjusting things to get to .748. But I see your option as a very viable alternative.
Where did you get the average projected stats that you used to plug into your formula? Is there a specific place on Steamer/Fangraphs where this is readily listed, or did you have to calculate that from the listed projections of the top 140 hitters yourself? Thanks.
Hi Ryan,
I calculated it as follows:
In this example, we’re calculating OPS for an NL-only league. Assuming 14 hitters per team, that means 140 hitters will be drafted. Looking at Steamer’s 2014 projections, the 140 NL hitters with the most plate appearances show the following averages:
I had to manually calculate that by sorting the Steamer download to just see the top 140 hitters (in this case the top 140 in the NL only). Excel can calculate averages by using the Average formula, or just by simply highlighting the top 140 players’ HR totals (the average should display in the lower right hand corner of Excel).
Thanks, sounds easy enough. And one more question, if I was to do my own projections, rather than export them off of Steamer or some other site, would it be more appropriate to calculate the average numbers from my own projects and use those numbers in the formula, or do you think it will make a huge difference. My particular league is a 12-team mixed league, 14 hitters, so I would be pulling from the top 168. Thanks again.
Ryan,
Yeah, I think that your averages should be calculated from the projections you’re using. So it would make sense to use your own projections to determine the averages. You’re welcome!