Process vs. results

League Efficiency

Who is actually controlling games, and who is just getting the bounces? Every team plotted by shot volume against shot quality at 5-on-5 — then the PDO watch: the teams whose results are running ahead of, or behind, their process.

How to read this

Two questions, one page. First: when a team is on the ice, does it out-attempt the opponent (), and do those attempts turn into dangerous chances ()? Teams above 50% on both are genuinely tilting the ice. Teams with volume but no quality are spraying the outside — the scoreboard usually catches up to them.

Second: — shooting percentage plus save percentage. It clusters hard around 1.000 league-wide, so a team far above it is getting hot goaltending or hot sticks that history says won't last, and a team far below it is better than its record. Read the extremes as candidates for regression, not verdicts.

CF%
share of all shot attempts — pure volume
xG%
share of expected goals — chance quality
SH%
team shooting percentage at 5-on-5
SV%
team save percentage at 5-on-5
PDO
SH% + SV% — league average ≈ 1.000
Fine print · verbatim from the model
  • NHL stats API + our xG · 5-on-5 · 32 teams · snapshot at publish
5-on-5 · all teams

Shot volume vs. shot quality

controls playvolume w/o qualityburied

X is shot-attempt share (volume), Y is expected-goal share (quality). Teams above the diagonal convert attempts into dangerous chances; teams below it pile up attempts the model doesn't believe in.

40%45%50%55%60%40%45%50%55%60%CORSI FOR % — SHOT-ATTEMPT VOLUMEEXPECTED GOALS FOR % — QUALITYCONTROLS PLAYQUALITY W/O VOLUMEVOLUME W/O QUALITYBURIEDCARNJDUTAMINDALVGKTBLCOLOTTFLAEDMNYRDETBUFPITLAKSTLMTLWSHNSHNYIBOSTORANAWPGCBJSEACGYPHICHISJSVAN
Source · NHL stats API + our xG · 32 teams · league average = 50%
PDO regression watch · 5-on-5
SH% + SV% · league avg ≈ 1.000

is the puck-luck meter. Teams far from 1.000 almost always drift back: the hot ones cool off (sell high), the cold ones bounce back (buy low). The xG% column says whether the underlying process backs the record up.

Running hot — regression incoming
TeamShooting %
BOS1.05711.594.247.7
SEA1.04413.690.845.5
EDM1.04212.891.551.6
COL1.03613.390.353.3
MTL1.02711.691.149.2
OTT1.02611.091.653.2
MIN1.0239.193.257.5
CAR1.01210.091.262.2
Running cold — buy low
TeamShooting %
CGY0.9526.688.645.0
SJS0.9696.390.641.4
FLA0.9718.089.152.9
PHI0.9717.489.742.3
CHI0.9748.389.042.2
UTA0.9758.389.258.1
ANA0.98510.088.547.3
PIT0.9869.888.850.1