You Down in OPS?
Rarely is OPS (on-base percentage plus slugging percentage) a fantasy stat. It’s off many people’s radar but it’s widely available and closely mimics a position player’s overall hitting talent. While other stats (e.g. wOBA and wRC+) also give a hitter an overall value, these stats aren’t available at every website. Most sites have their own unique blend but OPS is commonly available. Because of this availability, I’ve been using it as a baseline in recent articles on adjusting projections based on prospect pedigree and when hitters get platooned ($$). Now, it’s time to use OPS to help predict the individual categories.
The process I used for this study was to simply see how much various stats changed when OPS changed a certain amount. For rate stats (e.g. batting average) the conversion is straightforward. For counting categories, I put the stats on a per 600 plate appearance scale. Additionally, I only compared data from 2015 to 2017 during the current “juiced” ball era. I know the process is not close to being 100% precise and that is fine. I’m just trying to create general adjustments and can look to hone the process later. I’m putting in 20% effort to get 80% of the answer.
For the study, I matched hitters who had 100 PA in each season. I grouped OPS changes into 50 point categories to find the adjustments and here is are the resulting graphs.


The rate stats almost line up perfectly while each of the counting stats has an r-spared over .90. From the best fit lines, I collected the average change for 1-point OPS (.001) change. The counting stats are adjusted to 600 PA.
| Stat | Change |
|---|---|
| AVG | 0.00030 |
| OBP | 0.00033 |
| SLG | 0.00067 |
| Runs | 0.09150 |
| HR | 0.04530 |
| RBI | 0.10450 |
It’s nice to idiot-check the change with on-base (.00033) and slugging (.00067) adding up to the OPS change. Taking the data one step future, here are the changes in each stat at different OPS intervals. Again, the counting stats are adjusted to 600 PA.
| OPS change | AVG | OBP | SLG | Runs | HR | RBI |
|---|---|---|---|---|---|---|
| .150 | .045 | .050 | .100 | 13.7 | 6.8 | 15.7 |
| .125 | .038 | .042 | .083 | 11.4 | 5.7 | 13.1 |
| .100 | .030 | .033 | .067 | 9.2 | 4.5 | 10.5 |
| .075 | .023 | .025 | .050 | 6.9 | 3.4 | 7.8 |
| .050 | .015 | .017 | .033 | 4.6 | 2.3 | 5.2 |
| .025 | .008 | .008 | .017 | 2.3 | 1.1 | 2.6 |
| .000 | .000 | .000 | .000 | 0.0 | 0.0 | 0.0 |
| -.025 | -.007 | -.008 | -.017 | -2.3 | -1.1 | -2.6 |
| -.050 | -.015 | -.017 | -.033 | -4.6 | -2.3 | -5.2 |
| -.075 | -.023 | -.025 | -.050 | -6.9 | -3.4 | -7.8 |
| -.100 | -.030 | -.033 | -.067 | -9.2 | -4.5 | -10.5 |
| -.125 | -.038 | -.042 | -.083 | -11.4 | -5.7 | -13.1 |
| -.150 | -.045 | -.050 | -.100 | -13.7 | -6.8 | -15.7 |
Here’s an example of how to use these values with top prospect, Ronald Acuna.
From my prospect work, I found top-ranked prospects exceed their OPS projections by 50 points. For a reference, here is Acuna’s pre-season Steamer projection.
| PA | AVG | OBP | SLG | R | HR | RBI |
|---|---|---|---|---|---|---|
| 432.7 | .280 | .329 | .450 | 48.7 | 13.8 | 53.7 |
The changes to his rate stats are easy to calculate. With the counting stats, I needed to adjust them to the 600 PA rate, add in the extra stats, and then adjust back to the original PA total. From these values, here are his new projections.
| PA | AVG | OBP | SLG | R | HR | RBI |
|---|---|---|---|---|---|---|
| 432.7 | .295 | .346 | .483 | 52.0 | 17.1 | 57.1 |
The improvement isn’t jaw dropping but going off historical projections, it’s more likely to be close to his 2018 results.
For future study, I don’t mind one bit finding the adjustment for other common fantasy scoring methods (e.g. CBS points). If you want me to run the adjustment on a common scoring platform, let me know in the comments. I may answer them in the comments or likely write a second article with the answers.
Jeff, one of the authors of the fantasy baseball guide,The Process, writes for RotoGraphs, The Hardball Times, Rotowire, Baseball America, and BaseballHQ. He has been nominated for two SABR Analytics Research Award for Contemporary Analysis and won it in 2013 in tandem with Bill Petti. He has won four FSWA Awards including on for his Mining the News series. He's won Tout Wars three times, LABR twice, and got his first NFBC Main Event win in 2021. Follow him on Twitter @jeffwzimmerman.
Put me down as a vote for CBS points.
My league uses OPS. Finding a decent catcher is murder.
Good stuff. Only issue is if Steamer themselves starts using a variable that accounts for this mystery “prospect pedigree boost” and you’re double-counting it!!
Jared Cross (Steamer’s creator) will let me know. I’ve checked on other projection systems and have gotten similar results. Projections are currently only using stats right now. No narratives.
So, as a person whose league uses OPS, are we suggesting simply that being in an OPS league bumps up the offensive numbers across the board but RBI and Runs are the most affected as a player’s OPS rises? Just trying to find the application to player valuation in season. Thanks
The main reason for me was to put some context to the hitting prospect OPS adjustment. I’ll eventually get around to one for hitters who played through injuries.
My favorite league has switched to 6×6 from classic 5×5:
SLG and OBP replace BA
added K/BB and changed SV to SVHLD
The “good fantasy player : meh real life player” sorts nearly vanish and so many more members of the player pool have some value.
Adding K/BB and converting to SVHLD both profoundly impact player valuations: I’d love to read more on your methodology for those cases.
Great stuff as always Jeff!
EDIT: net SB would be cool too!
What do you think about SVHLD? One of my leagues went that way this year and it’s silly.
What’s silly about it? I’d rather play in a league where Archie Bradley is valuable than pulling my hair out over who’s getting the saves in LAA right now for instance. The scarcity created for a stupid stat (saves) drives me nuts. I want to value players closer to their real life contributions. There are way more SV + HLD to go around so you tend to roster talent over compilers of [artificially rare] stats.
There’s an article on The Athletic that suggested max exit velo is meaningful beyond 108 MPH — specifically, each MPH above 108 might be worth roughly 8 points in OPS. Love this work, Jeff — we can use your research here to marry the work at The Athletic and get a sense for the fantasy 5×5 impact of those changes. Thanks!
What does this analysis say for valuing players in an auction where Ops is one of the roto stats? If I’m assigning weights to each of the other standard 5 categories through which dollars are allocated in addition to Ops, does this tell us what those should be and is assigning any value to Ops duplicative? SBs are likely their own thing.