← Blog
Back to Blog

Expected Stats 101: Why xBA and xwOBA Beat Batting Average

A hitter is batting .224 and everyone has written him off. His expected batting average says .271, and the underlying contact hasn't changed at all. One of those numbers describes what happened. The other describes what he actually did. If you want to know what a hitter is about to do, you want the second one.

Batting Average Measures Results, Not Process

Batting average answers a narrow question: of the times this hitter put the ball in play or missed, how often did it end up a hit? That sounds like a skill number, but it quietly bundles in a pile of things the hitter doesn't control — where the fielders were standing, how fast they are, whether a line drive found a glove or a gap, the wind, the park, and plain luck.

Two hitters can square up a ball exactly the same way. One rips it at a diving shortstop for an out, the other pulls it two feet to the left for a double. Same swing, same contact, opposite line in the box score. Over a full season that noise mostly washes out. Over the four-to-six weeks that actually matter when you're researching a matchup, it does not. That's the gap expected stats were built to close.

What "Expected" Actually Means

Statcast measures two things about every batted ball with radar and camera tracking: how hard it was hit (exit velocity) and at what angle it left the bat (launch angle). Those two numbers, together, are enormously predictive of what happens next. A ball hit 105 mph at 14 degrees is a line drive that has been a hit roughly three-quarters of the time in the historical database. A ball hit 78 mph on the ground has been a hit maybe one time in ten.

Expected batting average (xBA) takes every ball a hitter puts in play, looks up how often that exact speed-and-angle combination has become a hit leaguewide, and adds it all up. It ignores whether this particular fielder happened to catch it. It only cares how the ball was struck.

108 mph, 14° line drive → hit ~75% of the time → counts as ~.750 toward xBA

So if a hitter's real average is .224 but his xBA is .271, the story isn't "he's slumping." The story is "he's hitting the ball like a .271 hitter and the results haven't caught up." Contact quality is the process. Batting average is the scoreboard. Expected stats let you read the process directly.

Reading the Gap Between AVG and xBA

The single most useful thing you can do with these numbers is compare them. The direction of the gap tells you which way a hitter's results are likely to move as the sample grows:

ProfileAVGxBAWhat it means
Hitting into bad luck.224.271Contact intact, results lagging — likely to climb
Riding good fortune.311.258Bloops and seeing-eye singles — likely to cool off
Earning it.286.281The average is real — no correction coming

The first hitter looks cold and is being faded by everyone reading the box score. The underlying data says his bat is fine. The second hitter looks locked in, but the quality of contact isn't backing it up, and the singles that have been dropping in will start finding gloves. The third hitter is exactly what he appears to be. Same three batting averages tell you almost nothing on their own — paired with xBA, they tell you three completely different stories about what's coming.

The core idea: results regress toward expected, not the other way around. A hitter's xBA today is a better predictor of his batting average next month than his batting average today is. That's the whole reason to look at it.

xwOBA: The One Number That Ties It Together

Expected batting average is great for hits, but it treats a single and a home run the same — both are just "a hit." That's a problem when you care about total bases, extra-base outcomes, or overall production. Expected weighted on-base average (xwOBA) fixes it.

xwOBA does everything xBA does, then weights each outcome by how much it's actually worth. A walk is worth less than a single, a single less than a double, a double less than a home run, and the weights come from how many runs each event produces on average. It also folds in strikeouts and walks, so it captures plate discipline, not just contact. The result is a single number, scaled to look like on-base percentage, that summarizes a hitter's entire offensive process.

Because it uses contact quality instead of results, xwOBA also stabilizes faster than traditional rate stats. You get a trustworthy read on a hitter from a smaller sample, which matters enormously early in a season or when a player is fresh off the injured list and the box-score numbers are still tiny.

Example — Two Hitters, Same Slash Line

Both hitters are batting .265 with a .420 slugging. On paper, identical.

Hitter A: .352 xwOBA. Elite barrel rate, hard contact, results simply haven't peaked. The bat is louder than the line.

Hitter B: .298 xwOBA. Soft contact propped up by a couple of lucky flares and a short-porch home run. The line is louder than the bat.

Identical surface numbers, opposite outlooks. The one that hits harder is the one you trust going forward.

Where Expected Stats Mislead You

Expected stats are a tool, not gospel. There are real, repeatable cases where a hitter beats or trails his xBA on purpose, and treating the gap as pure luck will burn you:

Elite speed

xBA is built on the league-average runner. A genuinely fast hitter beats out infield grounders and stretches soft contact into hits that xBA scores as outs, season after season. If a speedster is "over-performing" his xBA by 20 points every year, that's not luck — that's his legs. Don't expect that gap to close.

Extreme pull hitters and shifts

A dead-pull hitter who keeps hammering the ball into a stacked side of the infield can under-perform his xBA persistently. The contact is loud; the placement is predictable. Positioning turns would-be hits into outs in a way the raw speed-and-angle model doesn't always capture.

Tiny samples

Five games of xwOBA is still five games. Expected stats stabilize faster than results, but "faster" isn't "instant." A three-day heater in the expected numbers is still mostly noise. Give it a few weeks of plate appearances before you lean on it hard.

How to Use This on PropPrizm

Every projection PropPrizm produces for a hitter is built on expected contact quality, not raw results, which is exactly why the model often disagrees with a hitter's recent box scores. A few places to see it directly:

Bottom line: batting average tells you what already happened. Expected stats tell you how it happened, which is the part that carries forward. When the two disagree, the expected number is usually the one describing tomorrow — and finding those disagreements is most of the work.

Want to see the gap for yourself? Open the Divergence Finder or pull up any hitter's card and put AVG and xBA side by side. The most interesting players are almost always the ones where those two numbers don't match — start every research session there and you'll rarely be looking at the same player as everyone reading the box score.