Linear Weights + BaseRuns = Good
In my last article, I explained how wOBA’s current implementation changes the value of walks, singles, home runs, etc., annually due to changing league characteristics. Does this mean that the value of an event is the same for every team in the league each season? Or in every park in the league? No way. If you’re talking about a weak offense in a high-offense era, then the overall constants for a weak offensive era are probably more applicable to that team. However, it’s not really the point of standard wOBA to guess the run-producing contribution of a particular player to a particular team; I think it’s probably more accurate to say it’s about his probable productiveness in a typical team (although park effects aren’t taken into account, so not exactly… that would be more true of wRC+).
Anyway, Tom Tango realized this limitation, and produced a table that shows how the values change depending on a team’s runs scored. He accomplished this system of “Custom Linear Weights” (“a necessary offshoot” of linear weights, he says) by making use of David Smyth’s BaseRuns formula, which is, in simplest terms, Runs Scored = base runners * (% of base runners that score) + home runs. Home run hitters are not considered base runners, in this equation, by the way. Makes perfect sense, right?
Tango realized that BaseRuns had a better handle on the team run-scoring process than his basic linear weights system (and all the other run estimators), so he translated the results of BaseRuns in various run environments into linear weights. Specifically, the BaseRuns formula told him how many runs the team should score, and the linear weight value of each hit came from how many additional runs BaseRuns expected the team score if it had one more of that type of hit (the marginal value of each hit type). Here are just the basics of his results, in graphical form: