Back to Blog

xwOBA vs wOBA: What Expected Stats Actually Tell You

What is xwOBA? Expected weighted on-base average: what a hitter's production should look like from how hard and at what angle he hits the ball. What is wOBA? Weighted on-base average: what actually happened in the book. The gap between them tells you lucky, unlucky, or about right.

  • wOBA = results (including bloop hits and rockets at fielders).
  • xwOBA = contact quality (Statcast exit velo + launch angle).
  • Big gap either way usually shrinks — use xwOBA more when you care about the next month.

What is wOBA?

wOBA (weighted on-base average) is a single number that values every outcome at the plate by how much it helps a team score runs. Batting average treats a single and a home run the same. wOBA does not: it weights a walk, a double, and a homer differently. FanGraphs updates the weights every season and scales wOBA to look like on-base percentage, so a figure in the low .300s is roughly league average and anything north of .400 is star level. More detail: what is wOBA.

The catch: wOBA only counts what happened. A 105 mph line drive at a shortstop is an out. A 65 mph flare into shallow right is a single. wOBA treats those as different events even when the first swing was better contact.

What is xwOBA?

xwOBA asks: given the quality of contact, what should have happened on average? Baseball Savant builds it from Statcast data — exit velocity, launch angle, and on some balls sprint speed — then compares each batted ball to thousands of similar historical balls to see how often they became hits.

So instead of "did this ball find a gap," xwOBA asks how often a ball hit this hard at this angle becomes a hit. A hitter's actual results can lag or outrun that expectation for a while, especially in a small sample or against a defense that plays him perfectly.

How is xwOBA different from wOBA?

wOBA = the ledger. xwOBA = the process. Same family of "run value" thinking; different inputs. One needs the play to finish. The other prices the batted ball (and non-BIP outcomes in the full model) by quality.

wOBAxwOBA
QuestionWhat happened?What should have happened?
Main inputsActual outcomesExit velo, launch angle (Statcast)
Best useSeason-to-date productionForward look / regression risk
Where to lookFanGraphs, SavantBaseball Savant expected stats

Why do wOBA and xwOBA sometimes tell different stories?

The gap usually comes down to luck, defense, or ballpark — not something the model is "missing." Take Joey Gallo's 2019 season with the Rangers: he posted a .379 wOBA against a .398 xwOBA, meaning his actual production undersold how hard he was hitting the ball, according to Baseball Savant. On the flip side, a hitter who beats his xwOBA by a wide margin is often riding soft-contact hits that will not hold up.

Front offices watch this gap: wOBA well below xwOBA can mean a cold stretch is about to thaw; wOBA well above xwOBA can warn of regression. Same idea as why raw shooting numbers can mislead in basketball. Box score and process are not always the same story.

Does xwOBA account for speed and defense?

Partly. xwOBA factors in sprint speed on certain ball types — mainly weak contact and bunts where beating a throw changes the outcome. It does not grade the defense standing in the way. That is intentional: xwOBA isolates what the hitter controls (how hard, what angle), not whether the shortstop is elite. For defense, look at fielding metrics like Outs Above Average, not xwOBA. Statcast's glossary lives at Baseball Savant's documentation.

Which stat should you actually trust?

Use wOBA for what already happened and xwOBA for what is more likely to keep happening. Season-to-date team value? wOBA. Next month, or "is this slump real?" xwOBA — quality of contact holds up better month to month than results.

Aaron Judge is a good example of a hitter where the two numbers usually move together, because he hits the ball so hard that luck evening out is fast, per his Baseball Savant player page. Hitters with more hit-or-miss contact show bigger swings between the two.

How does this connect to predicting player stats?

Once you track the gap between what a hitter is doing and what he "should" be doing, you watch games differently. Less final line, more process. That is the same muscle you use when you compare a recent trend to a set line and decide whether the public is still reacting to results. Similar to reading basketball efficiency instead of just points.

Common questions about xwOBA and wOBA

What is xwOBA in baseball?

Expected weighted on-base average. It estimates offensive value from the quality of contact (and related Statcast inputs) rather than only from whether the ball fell for a hit.

What is wOBA vs xwOBA?

wOBA = actual run-valued results. xwOBA = expected results from contact quality. Read them together: the gap is the story.

Is a higher xwOBA always better than wOBA?

No. Higher xwOBA than wOBA usually means underperformance relative to contact (possible bounce-back). Higher wOBA than xwOBA usually means overperformance relative to contact (possible regression).

Where can I find a player's xwOBA?

Baseball Savant's expected-stats leaderboards list xwOBA for qualified hitters, updated during the season, next to wOBA: baseballsavant.mlb.com.

Does xwOBA apply to pitchers too?

Yes, in reverse. A pitcher's xwOBA allowed shows how hard hitters are squaring him up when defense and bloop luck are stripped out — often a cleaner small-sample read than ERA alone.

Want to see how process stats hold up against a real line before the next game? Download GAGE.

Related: what is wOBA · BABIP · stats hub