Motion-blurred skater in a St. Louis Blues sweater
Breakdown · STL at COL

Blues hold off the Avalanche

The verdict · earned

The Blues earned it — the game and the expected-goals battle both.

STL 3 · COL 2
◆ By the ModelJul 12, 10:36 AMxG: xgboost-0.758Edited for clarityDrafted from NHL play-by-play by Backcheck's model, worded for clarity by an AI editor that may not change a number. Nobody at Backcheck was at the rink. How this works

St. Louis won despite neither team scoring on high-danger chances. Colorado created more of them (10 to 6) yet trailed in expected goals (4.27–4.64). The Blues' supremacy on the rush—two goals there—and J. Hofer's dominant goaltending (2.3 goals above expected) decided a 3-2 game. Colorado scored twice from low-danger spots; it wasn't enough.

The Avalanche generated more high-danger chances but couldn't convert. With 49% of shot attempts (28 to 29), they compiled quality opportunities but underperformed their expected output by 2.27 goals—nearly one-and-a-half times larger than the Blues' 1.64 shortfall.

St. Louis found its edges elsewhere. On the rush, the Blues scored twice on 34 such attempts. J. Hofer's 26-save, 0.929 save percentage performance turned away Colorado's primary chances. Colorado scored twice from low-danger territory, chances that opposing goaltenders are supposed to stop. M. Blackwood didn't.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Apr 5
STL
3
COL
2

Blues hold off the Avalanche

Chances 4.6 – 4.3Did they deserve it? →
Did they deserve it?

The Blues earned this one.

Expected goals · chance value
STL
4.64
COL
4.27
52% of the chances48%

The board read STL 3, COL 2. The chances read STL 4.6, COL 4.3.

Our xG model · NHL play-by-play · all situations
Luck check
STL
−1.6
goals above expected
STL4.64 expected · 3 scored
Expected
Scored
COL4.27 expected · 2 scored
Expected
Scored

The Avalanche left 2.3 goals on the table against what their chances were worth.

PDO = sh% + sv% · drifts to 1.000 over a season
Every goal, in order
  1. P1 12:01STLR. Thomas1–0
  2. P1 15:10COLP. Kelly1–1
  3. P2 03:40COLB. Burns1–2
  4. P2 04:09STLR. Thomas2–2
  5. P3 17:10STLR. Thomas3–2
NHL play-by-play · chance value from our xG model
Where the shots came from
STL
47 shots
3
Final
95 shots
COL
48 shots
2
STL attackCOL attack
STL COL Goal
47
shots · 3 in
48
shots · 2 in
Every unblocked shot · press play to replay it
Chances by danger
STLCOL
0 / 6
1.62 xG
High danger
0 / 10
2.73 xG
3 / 20
2.37 xG
Medium
0 / 10
0.91 xG
0 / 31
0.66 xG
Low
2 / 40
0.64 xG

The Avalanche went 0 for 10 from the slot.

Danger tiers by our xG model · high ≥ 20% chance
In the net
A
J. Hofer
+2.3
STL · 26/28
A
M. Blackwood
+1.6
COL · 26/29
The numbers, checked
BACKCHECK

Blues hold off the Avalanche

A model, not a newsroom. Every number on these frames comes from the NHL's play-by-play and our own models. Nothing was watched, guessed or heard from anyone.

Read the full breakdown
backcheckreport.com
01 / 08 · Final
Every goal, in order

How it happened

NHL play-by-play
1stshots 11–8
  1. 12:01STLR. Thomas(J. Snuggerud, D. Holloway)1–0
  2. 15:10COLP. Kelly(B. Burns, L. O'Connor)1–1
2ndshots 6–12
  1. 03:40COLB. Burns(N. Blankenburg, B. Nelson)1–2
  2. 04:09STLR. Thomas(D. Holloway, J. Snuggerud)2–2
3rdshots 12–8
  1. 17:10STLR. Thomas(J. Snuggerud, D. Holloway)3–2

score reads STL–COL

Source · NHL play-by-play (api-web.nhle.com)
Process vs result

The numbers

XGBoost xG · NHL play-by-play
4.64
STL chances
Goals their shots were worth
−1.6
Finishing
Goals below what those chances were worth
1.019
STL puck luck
About 1.000 — a normal night for bounces
48.7%
Shot attempts
Under half — they were outshot
Split by club

Who controlled the game

4.64Expected goals4.27
STL 52% of the chance quality
29Shots on goal28
6High-danger chances10
57All attempts (Corsi)60
Adjusted for score: STL 49% · COL 52%
Faceoffs · COL won42%off50%neu41%def
Source · NHL play-by-play · XGBoost xG
How the game was won

The danger ladder

shotsgoalsexpected
High dangerslot & crease
STL0 / 6 · 1.62 xG
COL0 / 10 · 2.73 xG
Medium dangermid-range
STL3 / 20 · 2.37 xG
COL0 / 10 · 0.91 xG
Low dangerperimeter & point
STL0 / 31 · 0.66 xG
COL2 / 40 · 0.64 xG

COL went 0-for-10 from high danger on 2.73 expected goals — 2.7 left on the table.

Source · Backcheck xG model · NHL play-by-play
The luck layer

Finishing vs expected

expectedactual
STL
3 G · 4.64 xG · -1.6
COL
2 G · 4.27 xG · -2.3
012345

STL finished -1.6 against expected, COL -2.3.

Source · Backcheck xG model
Shot types · rush and rebound chancesopen +
What they shot — and what went in

Shot diet

goalsshots
STL
WRIST0/27
SNAP2/8
SLAP1/3
TIP IN0/3
BACKHAND0/5
WRAP AROUND0/1
OTHER0/10
COL
WRIST1/27
SNAP0/10
SLAP0/6
TIP IN1/4
BACKHAND0/1
WRAP AROUND0/0
OTHER0/12
STL
COL
Off the rush
2 G on 34
2.54 xG
1 G on 26
3.39 xG
Off rebounds
0 G on 9
1.93 xG
0 G on 3
0.32 xG

Wrist shots carried the volume: STL went 0-for-27, COL 1-for-27. STL scored 2 of theirs off the rush.

Source · Backcheck xG model · NHL shot types
New to these numbers?

Two things happened in this game: who created the better chances, and who put the puck in the net. They are not the same thing, and this page separates them on purpose.

The one to watch is expected goals— the best single read on who deserved to win. When it disagrees with the scoreboard, that disagreement is usually the story. Nothing here is a projection; every figure is computed from this game's play-by-play. Full glossary →

xG
Expected goals. Every shot scored by how often that exact look goes in. 2.5 xG means the chances were worth about two and a half goals.
HD
High-danger chances — shots from the slot and the crease, where shots actually become goals.
Corsi
Every shot attempt, including the ones that missed or got blocked. A rough read on who had the puck.
Adj.
Score-adjusted. Teams that trail shoot more and teams that lead sit back, so this corrects the attempt count for the scoreboard.
GSAx
Goals saved above expected. A positive number means the goalie stopped more than an average goalie would have on those shots.
PDO
Shooting % plus save % — a luck gauge. It sits near 1.000 over a season, so a game far from it usually means the bounces decided it.
Shot by shot

In the net

Graded on goals saved above expected
J. Hofer
STL · 26/28 · .929
+2.3
saved above expected
A
the night
By dangerG/attxGsaved
High danger0/102.7+2.7
Medium0/100.9+0.9
Low2/400.6-1.4

A+ ≥ +2.5 saved above expected · A ≥ +1.5 · B+ ≥ +0.75 · B ≥ +0.25 · C ≥ −0.25 · D ≥ −0.75 · F below −1.5

M. Blackwood
COL · 26/29 · .897
+1.6
saved above expected
A
the night
By dangerG/attxGsaved
High danger0/61.6+1.6
Medium3/202.4-0.6
Low0/310.7+0.7

A+ ≥ +2.5 saved above expected · A ≥ +1.5 · B+ ≥ +0.75 · B ≥ +0.25 · C ≥ −0.25 · D ≥ −0.75 · F below −1.5

95 shots · press play to watch the game back

Where the shots came from

NHL play-by-play coordinates
STL
47 shots
3
Final
95 shots
COL
48 shots
2
STL attackCOL attack
STL COL Goal

Each club shoots toward its own end — STL left, COL right — the way you would watch it. A dot's size is how dangerous the look was, from distance and angle; it is a proxy for shot quality, not the xG model the article is written from. Hover a dot for the shooter and the clock.

Ranked from the box score

Three stars

Points first
Three stars · computed, not voted
R. Thomas
#18 · C · STL
3 G · 0 A · 5 SOG · 20:13 on ice · +3
D. Holloway
#81 · L · STL
0 G · 3 A · 4 SOG · 18:32 on ice · +2
J. Snuggerud
#21 · R · STL
0 G · 3 A · 8 SOG · 17:32 on ice · +3
Ranked from the box score — points first · Backcheck
What the model said beforehand

Before the game

Written Sun, Apr 5
Open the pre-game read
Written from the numbers

The read

Edited for clarity
◆ By the ModelJul 12, 10:33 AMEdited for clarityDrafted from NHL play-by-play by Backcheck's model, worded for clarity by an AI editor that may not change a number. Nobody at Backcheck was at the rink. How this works

Colorado enters at 59% win probability, with the model projecting a 2.3-2.9 outcome. The Avalanche's edge rests on territorial dominance: 57.0% expected goals share and 57.0% Corsi at 5v5, versus St. Louis's 49.0% and 48.0%. This gap signals Colorado dictates play; the Blues operate in reaction mode.

But Colorado's 1.021 PDO matters. The Avalanche are running hot on the luck metric, while St. Louis sits at 1.000—closer to neutral. Regression typically finds teams running high PDO, and a single game is small sample enough that variance could reverse the projection entirely.

Goaltending compounds the variable. S. Wedgewood and J. Hofer face back-to-backs, raising the odds of a backup start or a fatigued primary.

Artturi Lehkonen drives Colorado's offense. He carries 18 goals at 1.11 xG/60 and 14.9% shooting—output combining scoring volume with efficiency. Ross Colton complements at 1.10 xG/60 (7G, 4.9% shooting). St. Louis counters with Jimmy Snuggerud (0.86 xG/60, 15G, 11.9% shooting) and Dylan Holloway (0.82 xG/60, 13G, 10.8% shooting). Both Blues score reliably but generate fewer high-danger opportunities. Lehkonen's 6 high-danger goals versus Snuggerud's 2 and Holloway's 1 underscores the efficiency gap.

Colorado's defense must avoid overcommitting to Snuggerud and opening counterattack lanes. St. Louis's path requires depth scoring and sustained shooting percentages—11.9% and 10.8%—from its primary threats. Against Colorado's underlying control, that's a thin thread.

The model's logic is straightforward: Colorado commands possession and converts from clean areas. Variance or hot goaltending are St. Louis's realistic paths to upset.

What the model said beforehand

The model's lean

COL 59%
59%
COL
Model favorite
41%
59%
STL50COL

COL by 18 points of win probability — a clear lean. Projected score STL 2.3–2.9 COL; 18% chance it's tied after 60.

Source · Backcheck Poisson projection · season scoring rates
Season rates · 5v5

Tale of the tape

NHL stats API · our xG
STL← edge
edge →COL
49.0%57.0%
48.0%57.0%
2.343.03
2.402.30
2.002.63
2.121.56
1.0001.021

COL holds 6 of 6 process categories — and the luck row (1.000 vs 1.021) says COL has been getting the bounces, which tends not to last.

Source · NHL stats API + our xG · 5v5
Form · Last 10
STL
6-2-2
+11 GD · 1d rest
COL
6-3-1
+8 GD · 1d rest
1.000
STL PDO
Luck gauge · drifts to 1.000
1.021
COL PDO
Luck gauge · drifts to 1.000
What decides it

Keys to the game

Where the edges live
  • The Avalanche own the underlying play — 57.0% 5v5 xG vs 49.0%.
  • The Avalanche drive Corsi at 57.0% — expect territorial tilt.
Regression watch
  • The Avalanche's PDO is 1.021 — running hot, expect some regression.
Things to watch
  • The Avalanche own the underlying play — 57.0% 5v5 xG vs 49.0%.
  • The Avalanche drive Corsi at 57.0% — expect territorial tilt.
  • S. Wedgewood is on a back-to-back — watch for a backup start or a tired starter.
  • J. Hofer is on a back-to-back — watch for a backup start or a tired starter.
  • The Avalanche's PDO is 1.021 — running hot, expect some regression.
Last game's lineup · confirmed at warm-up

Lineups

NHL box score
STL
Expected in goal
J. Hofer
back-to-back.926 last start
Backup Joel Hofer · +11.7 GSAx this season
Back-to-back: the backup often gets this one. Treat the starter as unconfirmed.

No completed game on file for this club yet.

COL
Expected in goal
S. Wedgewood
back-to-back1.000 last start
Backup Scott Wedgewood · +23.1 GSAx this season
Back-to-back: the backup often gets this one. Treat the starter as unconfirmed.

No completed game on file for this club yet.

Lineups are the players who dressed in each club's last game, with their minutes; clubs confirm tonight's at warm-up. Every player this preview names was in that lineup.

Computed danger · scouting

Players to watch

NHL stats API · our xG
STL
Jimmy Snuggerud15G 22A
0.86 xG/60 · 2 HD · 11.9% sh
Dylan Holloway13G 24A
0.82 xG/60 · 1 HD · 10.8% sh
COL
Artturi Lehkonen18G 22A
1.11 xG/60 · 6 HD · 14.9% sh
Ross Colton7G 15A
1.10 xG/60 · 1 HD · 4.9% sh
Keep going

Where to next