Saturday, December 11, 2010

What is wOBA?

A few years ago, Tom Tango introduced the Weighted-On-Base-Average (wOBA) statistic in The Book: Playing the Percentages in Baseball.  Not long after that, wOBA was added to the FanGraphs statistics database.  The wOBA measure hasn't become as popular as On Base Plus Slugging (OPS), but it is no longer an obscure statistic used only by hardcore stat guys.  It has gotten to the point where I'm seeing people insert wOBA into casual messageboard conversations.  It even showed up in a recent  ESPN article written by the statistically savvy Mark Simon.  

Despite its growing popularity, I think a lot of people don't really have a good grasp of what wOBA is or how it works.  So, I'm going to talk about it here.  The wOBA statistic is like an on-base-percentage (OBP), except that it gives appropriate weights to different events.  As you know, the OBP calculation counts every event where a batter reaches base (walk single, double, etc) the same.  In contrast, wOBA gives a hitter more credit for a hit than a walk and more credit for doubles, triples and home runs than singles.  The result is a rate statistic which measures a players total batting contribution.

One of the great things about wOBA is that it is scaled to behave like OBP.  So, we know that .380 or better is very good, .340 is about average for a starting player and under .300 is poor.  The top wOBA for the Tigers last year was Miguel Cabrera at .429.  We know that an OBP of .429 would be outstanding.  A wOBA of .429 is equally outstanding, but it measures Cabrera's overall batting contribution rather than just his ability to get on base.  Gerald Laird, on the other hand, had a wOBA of .256.  We know that a .256 OBP is horrible and a .256 wOBA is equally horrible.

Why not OPS?   

Why can't we just use OPS?   The problem with OPS is that OBP contributes about 80% more to run scoring than slugging average (SLG).  Since OBP and SLG carry equal weight in the OPS formula, this means that OPS undervalues OBP relative to SLG.  Since wOBA weights events more appropriately, it is a better reflection of a player's total batting contribution.  OPS is a decent measure of a player's overall batting performance and we don't need to abandon it entirely, but wOBA is a better alternative when we want to be more precise.

The Math

If you just wanted to know what wOBA is and why we use it, then you can stop here.  If you want to understand the mathematics behind it, then read on.  It gets a little involved but any statistic named after a song on Sesame Street ("Monster in the Mirror") can not be too intimidating.  Please note that in the interests of simplicity, I'm going to show you a slightly different calculation than that used on FanGraphs.  The results will be close enough though.

The wOBA metric is based on the linear weights system first introduced in the Hidden Game of Baseball by Pete Palmer and John Thorn in 1984.  In this system, weights are assigned to each batting event based on the statistical probability that the event contributes to a run. 
Based on the results of thousands of games, we know that the average single is worth 0.47 runs.  In other words, if one single is added to a team’s hit total in each game for 100 games, that team would be expected to add 47 runs to their season total.  Other events are weighted as follows:

1B 0.47
2B 0.77
3B 1.04
HR 1.40
BB 0.31
IBB 0.17
HBP 0.33
outs (AB-H) -0.27

Based on these weights, we can calculate Batting Runs (BR), a statistic created by Pete Palmer:

BR = 0.47 x 1B + 0.77 x 2B + 1.04 x 3B + 1.40 x HR + 0.31 x BB + 0.17 x IBB + 0.33 x HBP - 0.29 x Outs

Cabrera had 58 BR in 2010.  This means that he contributed 58 runs above what an average batter would have been expected to contribute given the same number of outs.  BR gives a player credit for playing time, so the BR leaders each year are not only good hitters, but also hitters with a lot of plate appearances.  This is not a bad thing, but sometimes we want a rate statistic which puts players on equal footing regardless of playing time.

In order, to create a rate statistic, we need to consider the weight or run value of each event relative to the weight for an out.  For example, the run value of a single is 0.47 and the run value of an out is -0.27, so a single is worth 0.47 + 0.27 = .74 more than an out.  If we add 0.27 to each run value, we get a new set of weights:

1B 0.74
2B 1.04
3B 1.31
HR 1.77
BB 0.58
IBB 0.44
HBP 0.60

We now have a new formula:

Run Rate = (0.74 x 1B + 1.04 x 2B + 1.31 x 3B + 1.77 x HR + 0.58 x BB + 0.44 x IBB + 0.60 x HBP)/PA

The MLB average run rate was about .265 in 2010.  We could stop there, but in order to be on the same scale as OBP we want the league average to be about .325.  .325 is 23% higher than .265, so we multiply all of our weights by 1.23 and arrive at the following formula:

wOBA= (0.91 x 1B + 1.28 x 2B + 1.61 x 3B + 2.18 x HR + 0.71 x BB + 0.54 x IBB + 0.74 x HBP)/PA

*PA = Plate Appearances

Note that FanGraphs excludes intentional walks from wOBA because they are usually issued in very specific situations and some feel as if they have as much to do with game situation as with player value.  FanGraphs also includes stolen bases (a weight of approximately 0.25) and caught stealing (0.52) in their formula.


  1. Lee,
    I'd like to thank you for expaining this so well. I actually understand wOBA, and its significance. Thank-you,

  2. What = PA? I'm not sure I saw that variable defined in the post.

  3. PA= Plate Appearances. I'll add that to the post. Thanks.




Blog Archive


My Sabermetrics Book

My Sabermetrics Book
One of Baseball America's top ten books of 2010

Other Sabermetrics Books

Stat Counter