We’re used to making little adjustments all the time. Most commonly, it’s because of ballpark environment. A .350 wOBA in San Francisco is a hell of a lot more valuable than a .350 wOBA in Arizona. Sometimes you’ll also see adjustments for era, which is relevant now given increasing strikeouts and decreasing runs. There are raw stats, and there are adjusted stats, like, say, wRC+, but there’s one adjustment we seldom talk about even though it’s right there in front of our faces. What about the opposition a player actually faces?

It’s like strength-of-schedule, on the player level. No one debates the utility of strength-of-schedule measurements. Now, in baseball, what’s convenient is that the samples get pretty big so we can generally get away with assuming that things even out. Over broad windows, no one’s going to face exclusively awful opponents or awesome opponents. But in certain cases, it’s worth digging in when we have a suspicion. As such, I want to go into more detail on something I noted about Cole Hamels earlier.

Just for the sake of easy comparison, let’s line Hamels up with Jon Lester, Max Scherzer, and James Shields. Three of those are free agents, but Hamels is also highly likely to move, perhaps to someone who misses out on the FA market. This is a table of WAR values, where I’ve taken regular WAR and RA9-WAR and averaged them 50/50. Except for the Steamer line. That’s just regular WAR, because that’s what’s projected.

Year Hamels Lester Scherzer Shields 2012-2014 13.2 12.3 15.8 12.6 2014 4.9 6.0 5.5 3.8 2015, Steamer/200 2.7 3.5 3.9 3.0 2015 Age 31 31 30 33

Hamels, Lester, and Scherzer are of similar ages, with Shields a little older. Over the last three years, Scherzer’s been the best, with the others more or less equal. In just this past season, Lester was awesome, and then Scherzer was a little less awesome, and Hamels was a little less awesome, and Shields was still less awesome. The projected order goes Scherzer — Lester — Shields — Hamels, but then those are just projections, right? Hamels, for a long time, has been really good. No one questions that he’s a good pitcher.

This is around where we usually stop. But I wanted to investigate Hamels’ quality of opposition, compared to the other guys. Hamels has lived in the National League East. The others have all lived in the American League. I went over the last three years, and matched each hitter seen to the same hitter’s single-season wRC+. Then I weighted everything to come up with an average hitter wRC+ faced. This is the best quality-of-opposition measure I can come up with in a day. And the results, I’d say, are revealing:

Year Hamels Lester Scherzer Shields 2012 90 97 100 102 2013 88 100 96 98 2014 89 98 100 103 Average 89 98 99 101 Hitter Comp Everth Cabrera Alex Avila Brian McCann Eric Hosmer

You’ve got single-season average wRC+, then you have the average of the last three seasons. In the last line, you see a hitter who has posted the same wRC+ over the past three years. On average, since 2012, Cole Hamels has faced a bunch of Everth Cabreras. James Shields has faced a bunch of Eric Hosmers. There’s little difference between the AL guys, but Hamels is far removed. You have to assume this has worked to Hamels’ benefit.

How might one be able to adjust for this? It’s easy, after all, to say that Hamels has faced weaker competition, but, what does that mean? It’s time to try something. Over the past three years, Hamels has allowed a .293 wOBA. His batting opponents have averaged a .302 combined wOBA. I decided to work through the odds ratio method backwards. I wound up with a value of .304 — that is, based on the math, Hamels’ “true-talent wOBA” over the past three years would be .304. Or, 11 points higher than what we observe, based on his results.

Of course, that’s still a good mark. Still a better mark than average. But it does make a real difference. There are a couple ways to figure out the impact. For example, over the past three years, Hamels has averaged a 4.4 RA9-WAR per 200 innings. Pitchers with wOBAs right around .304, however, have averaged a 3.2 RA9-WAR per 200 innings. Alternatively, you can just calculate the difference between a .293 wOBA and a .304 wOBA over Hamels’ 2,601 plate appearances. That comes out to about 21 runs. Or, an average of almost a win a year.

That would all be a quality-of-opposition adjustment for Cole Hamels. He’s faced relatively weak opponents. If you retroactively have him face roughly average opponents, you’d expect him to be almost a win worse a year. He’s still better than average, by a decent amount, but the gap shrinks. To whatever extent the usual numbers favor Hamels over James Shields, Shields has faced far tougher opponents. So interested teams don’t need to worry about adjusting him for that. For Hamels, I think it’s necessary.

This obviously all gets complicated, and well removed from the field of play. On the field of play, Hamels has the same fastball as ever, and a really fantastic changeup. The quality of his stuff is independent of the hitters he faces. It’s not because of the hitters that he’s been durable. It’s not because of the hitters that he’s got playoff experience. Hamels is good enough to pitch anywhere, and he’s recognized as a front-of-the-line kind of starter. There’s a reason teams are interested in him.

But at the end of the day, expensive players get evaluated mostly by how they’ve done. The numbers drive the contracts and the trades, and the numbers get adjusted by any half-smart organization. Everybody understands ballpark effects. There are also, sometimes, opponent effects. Adjusting for the latter makes Cole Hamels look less valuable than his actual numbers, and that’s just one of the reasons why it’s proving so difficult for Ruben Amaro to find a deal to his liking. The Red Sox don’t care so much about how Hamels might do in Philadelphia. They care about how Hamels might do in Boston.