Expected Goals & Shot QualityIntermediate

What is Expected Goals?

Abbreviated: xG

A stat that measures how dangerous the shots a team takes are, rather than just counting how many shots they take.

What this tells us

When your team takes a shot, it has some probability of going in based on where it came from and how it was taken. Expected Goals adds up all those probabilities for every shot in a game or season. A team with higher xG is creating better scoring chances than a team with lower xG, even if the actual goals scored are the same. It's the difference between "we took 30 shots" and "we took 30 really good shots."

Limitations

xG only measures shots that were taken — it doesn't account for chances that *didn't* result in a shot, like a wide-open player who fumbled the puck before they could shoot. It also can't predict which team will actually win; a team can have higher xG and still lose if the other team gets lucky or has a hot goaltender. And like any model, it's a historical average, not a guarantee of what will happen next.

Formula[show]
xG = Σ P(goal | shot_i) for all shots in sample

How PuckLab calculates this

PuckLab's xG model uses 56 features including shot distance, angle, defensive pressure, rebound location, and game state. The model achieves 0.758 AUC on out-of-sample data. Full methodology will be published on the /methodology page.

Example

A top-line forward generating 3.5 xG per 60 minutes of ice time is creating dangerous chances at an elite rate. A fourth-liner at 1.8 xG per 60 is still contributing offensively but at a more modest level.