OVR Is a Polite Fiction. Here's What We Use Instead.
What OpScore is, what it isn't, and how to read it.
A 99 in MLB The Show means everything and nothing. It means everything because the game presents it as the headline number on every card. It means nothing because two 99s rarely play the same, and the difference between them is most of the game.
We built OpScore to fix that. This is what it is, what it isn't, and how to use it.
What's wrong with OVR
OVR is a broad average. The game takes a long list of attributes — contact left, contact right, power, vision, discipline, clutch, speed, fielding, arm, accuracy, reaction, and a handful of pitching ratings — and rolls them into one number with weights nobody at SDS has ever published.
That number is informative in the same way "average IQ" is informative. It's directionally true. It's never the answer to the question you're actually asking.
A 97 OVR card with elite fielding and merely competent contact will outrank a 95 OVR card who rakes. They will not play the same. One of them gets you runs. The other one is the reason you lost a game in the bottom of the seventh.
There's a second problem on top. OVR is fixed. The same number prints whether you're playing on the lowest difficulty or the highest. But the game's difficulty doesn't scale the player; it scales the gap between attributes. A 90 vision rating is plenty against an easy CPU. On Legend, it's the difference between a strikeout and a bomb. OVR doesn't know this. It can't.
What OpScore actually is
OpScore is a composite rating tuned for in-game performance, not roster completeness. It weights the attributes that determine outcomes — and it recalculates those weights for the difficulty you actually play on.
It only scores the three difficulties that matter for ranked and online play: All-Star, Hall of Fame, and Legend. Rookie and Veteran exist. Nobody is building a competitive lineup on Rookie, so we don't waste a rating on them. If you play online — Ranked, Events, BR — these three are the whole conversation.
The scale is not 0–99. OpScore is a number you read against the tier ladder below — not against the overall. The top of the ladder is narrow on purpose: a great OpScore is rarer than a 99 print, and it has to be earned at the difficulty you actually play.
The tier ladder:
| Tier | Range | What it means |
|---|---|---|
| S+ | 70+ | Elite. Dominant at every difficulty. |
| S | 66–69 | Outstanding. Anchors any lineup. |
| A+ | 61–65 | Excellent. High-end starter with strong tools. |
| A | 55–60 | Very good. Reliable everyday player. |
| B+ | 50–54 | Above average. Solid, especially at thin positions. |
| B | 47–49 | Average. Depth piece. |
| C | 43–46 | Below average. Noticeable gaps. |
| D | 39–42 | Weak. Liability against tougher competition. |
| F | Below 39 | Unusable at competitive difficulties. |
If a card is an S+ on Hall of Fame and a B on Legend, that's the card. Not a contradiction. Two true facts about how it plays at two different settings.
OpScore sits right next to OVR. A 92 OVR Babe Ruth reads as an 83 OpScore at Hall of Fame — and ranks #448 overall, #41 among left fielders. Different number, different question.
What OpScore measures
Five buckets, weighted differently per position group and per difficulty:
- Contact & Power. Hitting ability against both sides — the core offensive output. The single biggest driver for position players.
- Plate Vision. Pitch recognition and discipline. The PCI shrinks on higher difficulties; this is what survives that.
- Speed & Baserunning. Stolen-base threat, extra-base stretching, and the defensive range contribution that actually shows up in games.
- Fielding & Defense. Arm strength, accuracy, reaction, position-specific value. Underweighted by most spreadsheets because it's hard to model. We don't underweight it.
- Pitching Arsenal. For pitchers: pitch repertoire quality, velocity, break, and control. Pitchers have their own internal weighting because the game treats them differently.
One card, three difficulties. The overall slides 92 → 91 → 90 from All-Star to Legend, with the score broken out by position and by matchup. Several true numbers for the same player, depending on where you play.
The exact weights and the formula are proprietary. We are not going to publish the secret sauce, because the second we do, it stops working — every spreadsheet on Reddit gets to reverse-engineer it and the entire reason for having a rating engine evaporates.
What we will tell you is what we calibrate against and why we trust it. Which is the part that actually matters.
How difficulty changes the math
The game doesn't get harder on Legend. It gets less forgiving. A 90 vision rating on All-Star sees the pitch fine. A 90 vision rating on Legend sees the pitch fine when it's a fastball down the middle and not when it's a slider off the plate.
OpScore's difficulty toggle reweights the factors to match what the game is actually punishing. On All-Star, contact and power dominate. On Legend, vision and discipline rise sharply. Defense matters everywhere. Speed matters more than people think on Legend and less than people think on All-Star.
The practical effect: a contact-monster Diamond with mediocre vision is an S+ on All-Star and a B+ on Legend. A vision-and-discipline Live Series guy with average power is a B on All-Star and an A+ on Legend. The card didn't change. The math reading the card did.
The toggle is the little AS | HoF | Legend control in the page header on every market view. Flip it to the difficulty you actually play. If your toggle is on All-Star and you play Legend, you are reading the wrong number on every row.
The toggle that changes the math. Set it to the difficulty you actually play — every OpScore on the page recomputes for it.
How to use it
Five practical rules:
- Match the toggle to your play. This is the only setting that matters and the only setting people forget.
- Read the tier first, then the number. S+ vs S is a hair. S vs A+ is a different player.
- Don't compare across difficulties. An A on Legend is not an A on All-Star. They are different ratings of different things.
- Use OpScore as the primary sort, OVR as a tiebreaker. Not the other way around.
- At a position, the OpScore floor matters more than the ceiling. A B+ across all three difficulties is more valuable than an S+ on All-Star and a C on Legend.
What OpScore doesn't do
OpScore is a rating of a card's in-game performance ceiling. It is not:
- A price recommendation. Whether a card is worth its price is a separate signal on the market table — OpScore only tells you whether the card is good.
- A guarantee of in-game outcomes. Players in this game have bad days.
- A measure of fun. The 60 Speed 99 Power slugger is hilarious and that has value.
- A scouting report for prospects you'll grind for next month. Roster Updates change cards; we re-score on every refresh.
If OpScore says S+ and the card costs eight hundred thousand stubs, you still have to decide whether you want to spend eight hundred thousand stubs. The rating tells you whether the card is good. You're the one who decides whether it's worth it.
Where to go next
There's a longer methodology page at /opscore with the tier breakdown and the factor reference. Read that one if you want the static reference.
Coming next: a deeper piece on which quirks actually move OpScore, and a full field guide to the market table. In the meantime, the market table itself shows OpScore working alongside price on every row.
I'm Shaun. If something is wrong, the comments are open.
The Headghoul, by email
One or two real posts a month. Methodology, market research, occasional strong opinions about a card.
Beehiiv subscribe form ships in phase 2
Comments
Giscus embed ships in phase 2.