The metric "OPS" (On-base Plus Slugging) is commonly used as a measure of both player and team performance. While it is clearly better than the other "standard" metrics, it is far from being a perfect, or even really good, measure, and it's worth understanding how and why it comes up short.
1. It adds things that should be multiplied.
The basics of run-scoring are to first get a man on base, then drive him in. (One conceptual failure in many run-scoring analyses is a failure to recognize batters as being, in essence, a runner on zeroth base, who can be driven in by a home run.) There are, that is, two components to the process: an on-base event and an RBI event. To get the probability of two discrete events both occurring, one multiplies the individual properties of those events. OPS is able to approximate the correct approach only because the actual range of most statistics in baseball is rather small--no one bats .003 or .792 over a season. But the difference can nevertheless be significant, especially in comparisons. Consider two players, with these stat lines:
Player PA BB AB H TB
A 600 24 576 156 230
B 600 60 540 180 243
(We assume, for simplicity, no SF, SH, HB, or CI.)
Thus, Player A has an OBA of .300 and SA of .400; Player B has an OBA of .400 and SA of .450.
OK, Player B is obviously much better than Player A--but how much better? Let's call the product of OBA times SA the "OTS" (On-base Times Slugging):
Player A: OPS = .700; OTS = 0.120
Player B: OPS = .850; OTS = 0.180
OPS says B performs about 21.4% better than A. But OTS says B performs 50% better. Quite a difference! (And one that, while extreme, is well within the range of plausible real-world values.) So adding instead of multiplying causes the true scale of differences to be compressed, sometimes badly.
2. Slugging Average is a mediocre marker of RBI events.
SA has exactly the same defect as Batting Average: its basis is at-bats, not plate appearances. At-bats are an artificial construct having no relation to anything in the real world. When we are looking for what drives in runners on base, and make the assumption (itself somewhat faulty) that it is hits, and in particular the "size" of those hits, what we need to consider is Total Bases per total Plate Appearances. (That metric, which I have used for decades, I call, with no great ingenuity, "TBA", as parallel with OBA.)
In the example above, by simple arithmetic we find that Player A has an TBA of .383, while Player B has a TBA of .405. Now we can compare them thus (where we use "OXT" for On-base Times TBA, because OTT has other significances, from a player's name to "over the top"):
Player A: OPS = .700; OTS = 0.120; OXT = .115
Player B: OPS = .850; OTS = 0.180; OXT = .162
That suggests that Player B is actually outperforming Player A by about 41%. That is closer to what OTS shows than what OPS does, but is more meaningful yet than OTS.
Another defect is the implicit assumption that Total Bases properly represents RBI events. That is wrong on two counts: first, there are other events that have some RBI value (and remember that "RBI value" actually signifies moving runners along, not necessarily scoring them directly), notably walks; second, the RBI-factor value of hits is not in simple proportion to their bases value. Putting that second in a simpler form, a triple is not 50% more valuable in moving runners along than is a double (3 TB versus 2 TB), but that is what using TB assigns. Getting reasonable multipliers for the true "RBI-event" values for extra-base hits is a complicated matter with no definitive methodology. Nonetheless, if we are simply looking for a better but still not wildly complex metric, TB alone suffices, provided we use it as TBA, not SA.
3. The "compound-interest" value of OBP is understated.
If you look at most "runs created" formulae--virtually all that do not derive from "linear weights"--you will see that at bottom they have that same basic arrangement: on-base rate times total-base rate times plate appearances. Bill James' original "Runs Created" is exactly so--
(H + BB) TB
Runs = ------------- x -------------- x (AB + BB)
(AB + BB) (AB + BB)
--though it is usually just presented as its simplified algebraic equivalent:
(H + BB) x TB
Runs = -------------------
AB + BB
If you look, you see that in the expanded version, the first element is OBA, the second is what I have called TBA, and the third is PA. (This uses the same simplification I mentioned above, to wit, ignoring the minor data SF, SH, HBP, and CI.)
It is, as I have said, correct to postulate that the product of OBP and some RBI-production metric approximates the probability that any given batter will eventually become a run. And, if you then multiply that probability times the total number of men who come to the plate, you get actual runs. But . . . a critical point is that the higher the OBA, the more men that will come to the plate, in a game, in a series, over the season. What is fixed is not number of plate appearances, but number of outs: and the higher the OBA, the less the chance of a given batter making an out, so the more batters it takes to reach the available total of outs. So OBP influences both the probability that a given batter will become a run scored and the number of men who will come to the plate so as to have that chance.
That "compound-interest" effect is the cause of most "runs created" formulae tending to go wrong for teams with great amounts of power. It is not that the usual formulae over-estimate power, but that they under-estimate OBA. And neither OPS nor either of the two better metrics I cited above can correct for that; only a more complete equation that takes into account the effect of OBA on total plate appearances can do the job properly.
OPS becamse popular for the simple reason that it is awfully easy to compute: OBA and SA are both commonly published metrics, for both teams and individuals, and adding them is apple-pie easy. But really, is it so much harder to figure OXT? PA is also a commonly published stat; all that is involved, in this day of hand-held calculators, is to divide TB by PA, then multiply by OBA. (Baseball America, after asking Billy Beane about the formula the A's used: "Then, smiling awkwardly, he adds: 'It had division in it.'")