← Back to Blog

xwOBA vs wOBA: What Expected Stats Actually Tell You

xwOBA predicts what a hitter's production should look like based on the exit velocity and launch angle of every ball he puts in play. wOBA just measures what actually happened. The gap between the two tells you whether a player got lucky, got unlucky, or is hitting the ball about as well as his stat line suggests.

What is wOBA actually measuring?

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 doesn't: it weights a walk, a double, and a homer differently because they're worth different amounts of run production. It's built on linear weights that FanGraphs updates every season and scaled to look like on-base percentage, so a .340 wOBA is roughly league average and anything north of .400 is star level. The catch is that wOBA only counts what happened. A hitter who smashes a 105 mph line drive right at a shortstop gets an out. A hitter who bloops a 65 mph flare into shallow right gets a single. wOBA treats those as completely different events even though the first player did his job better.

How is xwOBA different from wOBA?

xwOBA asks a different question: given the quality of contact a hitter made, what should have happened on average? Baseball Savant built it from Statcast data, tracking exit velocity, launch angle, and on some batted balls sprint speed, then comparing each batted ball to thousands of similar historical batted balls to see how often they turned into 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 behind or outrun that expectation for a full season, especially in a small sample or against a defense that shifts perfectly against him.

Why do wOBA and xwOBA sometimes tell different stories?

The gap between the two numbers 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 usually riding a hot streak on soft contact that won't hold up. Scouts and front offices watch this gap closely: a big negative gap, wOBA well below xwOBA, often means a player is about to turn a cold stretch around, while a big positive gap can warn of regression coming. It's the same logic behind why raw shooting numbers can mislead you in basketball. The box score result and the process behind it aren't always the same story.

Does xwOBA account for speed and defense?

Partly. xwOBA factors in a runner's sprint speed on certain ball types, mainly weak-hit balls and bunts where being fast enough to beat a throw actually changes the outcome. It does not adjust for the quality of the defense standing in the way, and that's on purpose. xwOBA is trying to isolate what the hitter controls, how hard and at what angle he hits the ball, not whether the shortstop happened to be an above-average defender. If you want a metric that folds in defensive positioning and route efficiency, look at Outs Above Average on the fielding side, not xwOBA on the hitting side. Statcast's full glossary breaks down these boundaries at Baseball Savant's documentation.

Which stat should you actually trust?

Use wOBA for what already happened and xwOBA for what's likely to keep happening. If you're evaluating a hitter's season to date, wOBA tells you the real, banked production his team got. If you're trying to project the next month or decide whether a slump is about to end, xwOBA is the better signal because it's built on quality of contact, which holds up better than results from month to month. Aaron Judge is a good example of a hitter where the two numbers usually move together, because he hits the ball so hard and so consistently that luck evens out fast, per his Baseball Savant player page. A hitter with more moderate, hit-or-miss contact will show bigger swings between the two stats from year to year.

How does this connect to predicting player stats?

Once you start tracking the gap between what a hitter is doing and what he "should" be doing, you start seeing games differently. Less about the final box score line, more about the process behind it. That's the same mindset that matters when you're comparing a player's recent trend against a set line and deciding whether the market has caught up to his underlying performance or is still reacting to results. It's a similar exercise to reading basketball's efficiency numbers instead of just points per game. The surface stat and the process stat don't always agree, and knowing which one to trust is half the skill.

Is a higher xwOBA always better than wOBA?

No, it just means something different. A higher xwOBA than wOBA suggests a hitter has been unlucky and might be due for better results. A higher wOBA than xwOBA suggests the opposite: his current production is running hotter than his contact quality supports.

Where can I find a player's xwOBA?

Baseball Savant's Statcast leaderboards list xwOBA for every qualified hitter, updated daily during the season, alongside the wOBA number for direct comparison at baseballsavant.mlb.com.

Does xwOBA apply to pitchers too?

Yes, it works the same way in reverse. A pitcher's xwOBA allowed shows how hard hitters are squaring him up regardless of whether his defense bailed him out or a few bloopers fell in, which is often a better read on true performance than his actual ERA over a small sample.

Want to see how these process stats hold up against a real line before the next game? Download GAGE and start predicting against the numbers yourself.