On May 23, 2025, Bobby Witt Jr. went 3-for-4 against the Cardinals. Nothing spectacular. No home runs. Just three clean singles, a groundout, and another Friday night in a season where the Royals shortstop has been one of the hardest outs in baseball. His batting average ticked up to .330, and the broadcast booth mentioned it the way they always do: reverently, like it was carved into stone.

Batting average is elementary math. It's a percentage. You can do it on a napkin. So why does it still carry this mystique, this weight that more sophisticated stats never quite manage? I've been thinking about that question for a while, and I'm not sure the answer is purely rational. But before we get philosophical, let's get practical.

Here's everything you need to know about calculating batting average, from the formula to real 2025 examples to the stuff the number quietly hides from you.

The Formula (You Already Know This, Almost)

Batting average (BA or AVG) measures how often a batter gets a hit per official at-bat. That's it. The formula:

Batting Average = Hits ÷ At-Bats

The result is expressed as a three-decimal number. A player with 60 hits in 200 at-bats has a .300 batting average. We say "three hundred," not "point three" or "zero point three." Baseball has its own dialect.

The critical word in that formula is "official." Not every plate appearance counts as an at-bat, and that distinction matters more than most people realize.

What Counts (and What Doesn't)

An at-bat is a plate appearance minus the stuff baseball decided shouldn't count against you. These plate appearances are excluded from the at-bat total:

So if a batter comes to the plate 5 times in a game, draws a walk, gets hit by a pitch, singles, flies out, and grounds out, that's 5 plate appearances but only 3 at-bats (the single, flyout, and groundout). The batting average for that game: 1 ÷ 3 = .333.

This is the first place where batting average starts to wobble, even as simple math. A player who walks 100 times in a season has 100 fewer at-bats in the denominator. That's not a flaw in the formula exactly, but it means two players with identical batting averages can be wildly different hitters. We'll come back to that.

Get daily baseball updates, free

Scores, recaps, standings and Vibe Checks every morning.

Step-by-Step: Calculating Batting Average With 2025 Numbers

Let's walk through three real examples from the 2025 season. All stats are through late May 2025, sourced from Baseball Reference.

Example 1: Bobby Witt Jr. (KC Royals)

Through late May, Witt has posted roughly 75 hits in 227 at-bats.

75 ÷ 227 = .330

That's elite. Witt's been one of the best pure hitters in the American League, and the calculation is as clean as it gets. Hits divided by at-bats. Done.

Example 2: Aaron Judge (NY Yankees)

Judge, through the same stretch, has approximately 55 hits in 195 at-bats.

55 ÷ 195 = .282

Solid. Not spectacular by Judge's MVP standards. But here's where the at-bat distinction matters: Judge has drawn over 40 walks in that span. His on-base percentage is significantly higher than his batting average suggests, because all those walks never enter the BA equation. The formula doesn't care that he reached base. It only cares whether he got a hit.

Example 3: A Struggling Hitter

Let's say a player has 30 hits in 160 at-bats.

30 ÷ 160 = .188

That's a number that gets you called into the manager's office. It's below the Mendoza Line (.200), named after Mario Mendoza, whose career .215 average became shorthand for offensive futility. The line has stuck for decades, even though modern baseball has plenty of players who hover near .200 and still provide value through power and walks.

Quick Reference: The Math at a Glance

Player Hits At-Bats Calculation BA
Bobby Witt Jr. 75 227 75 ÷ 227 .330
Aaron Judge 55 195 55 ÷ 195 .282
Struggling hitter 30 160 30 ÷ 160 .188

What Makes a Batting Average "Good"?

Context shifts by era. In the early 2000s, a .280 hitter was ordinary. In 2025's strikeout-heavy environment, that same number looks pretty good. Here's a rough tier list for the current game:

Tier Batting Average 2025 Example Range
Elite .320+ Witt Jr., top 5 in MLB
Above Average .280–.319 Solid everyday starters
League Average .245–.279 Most regulars land here
Below Average .220–.244 Power hitters often live here
Poor Below .220 Mendoza Line territory

The league-wide batting average in 2025 was hovering around .243, which is roughly in line with recent seasons. If a player is hitting .270, they're comfortably above average, even if it doesn't sound impressive compared to the .300 hitters your dad talks about.

One thing worth noting: batting average treats all hits equally. A bloop single and a 450-foot home run count the same. A batter who hits .290 on nothing but singles and a batter who hits .290 with 30 home runs mixed in are very different players, but their batting averages are identical. That's not a calculation error. It's a design choice, and it's the biggest reason stats like slugging percentage and OPS exist.

The Quiet Gaps in the Simplest Stat

I think batting average endures partly because of its simplicity. Calculating batting average takes ten seconds. You don't need a spreadsheet or a physics degree. It feels honest, the way a handshake feels honest. You got a hit, or you didn't.

But that honesty is also a kind of blindness.

Batting average doesn't know whether you walked. It doesn't know whether your single drove in two runs or whether your double came with the bases empty in a blowout. It doesn't know you fouled off eight pitches before lining one into the gap, or that you swung at the first pitch and lucked into a dying quail over the second baseman's head. It doesn't know the game was close.

Small Ball subscribers see these numbers land in their inbox every morning. Batting averages can be reassuringly mundane. They're percentages. So why do we treat them like they're sacred? Why is .300 a magic number when .298 is functionally identical? Maybe the mystique isn't about the math at all. Maybe it's about wanting a single number to tell us who's good.

And that's the thing: no single number can.

If you want a fuller picture of hitting, wRC+ (weighted runs created plus) adjusts for ballpark and league context. OPS combines on-base and slugging. Even those have blind spots, but they're wider lenses than batting average alone.

Now That You Know BA, Here's What the Numbers Can't Show You

There's a version of Bobby Witt Jr.'s 2025 season that lives entirely in the stat line: .330, good power, plays shortstop. It's accurate. It's also flat. It doesn't capture the way the Royals dugout reacts when he steps up with runners on, or the fact that Kansas City's lineup seems to hit differently when Witt is rolling versus when he's in a 2-for-20 stretch.

That's not mysticism. It's observable. You can watch it happen over a series and feel the difference between a team that believes something good is about to happen and a team that's just going through plate appearances.

We built the Vibe Check score to try to measure that gap. Not to replace batting average or any traditional stat, but to track the stuff that lives between the numbers: momentum shifts, collective energy, the difference between a team that's 5-5 in its last 10 and a team that's 5-5 but just took two of three from the best team in the league. Same record. Different feeling. Different trajectory.

Calculating batting average tells you what happened. The Vibe Check tries to tell you what's happening.

Want to see how your team's Vibe Check looks today? Small Ball sends a free daily newsletter for all 30 MLB teams, with stat digests, momentum tracking, and the context that box scores leave out. But, of course, you get that stuff too. Pick your team and subscribe before tomorrow's first pitch.