Shutdown Assignment: Flames
Key matchup: Neutralize Jimmy Snuggerud (15G, 0.86 xG/60, 2 HD goals)
Key matchup: Neutralize Jimmy Snuggerud (15G, 0.86 xG/60, 2 HD goals)

St. Louis stole this one. Calgary controlled the underlying metrics—expected goals 3.91 to 3.30, shot attempts at 51% of the total—yet lost 4–2. The difference: goaltending gulf and finish variance.
J. Hofer turned in the performance that decided the night. He saved 1.91 goals above expected, posting a 0.931 save percentage on 29 shots. D. Wolf, his counterpart, surrendered 0.70 more goals than anticipated, finishing at 0.857. Hofer's margin and Wolf's underperformance account for nearly the entire 2-goal final gap.
Calgary squandered 1.91 goals' worth of expected performance. They generated 5 high-danger chances and converted none. The Flames were efficient on the rush—2 goals on 32 chances—but their offense couldn't capitalize elsewhere. They crashed the net effectively, creating 3 rebound opportunities with no payoff.
St. Louis was nearly as profligate: 0 for 6 on high-danger chances. Yet they found their efficiency through the same rush game, scoring twice on 19 chances, a conversion rate that punished Calgary's mistakes. Pius Suter's tip-in from the slot (P3, 13:33) was the turning point.
The Flames will rue this as a squandered advantage in play quality. Calgary dominated possession and shot attempts, controlled the expected-goals share, and still left with nothing. For St. Louis, goaltending and opportunism conquered better process—exactly the recipe for stealing a game that the underlying numbers say should've gone the other way.
Blues hold off the Flames
The Flames deserved better.
The board read STL 4, CGY 2. The chances read STL 3.3, CGY 3.9.
The Flames left 1.9 goals on the table against what their chances were worth.
The Flames went 0 for 5 from the slot.
Blues hold off the Flames
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 breakdownscore reads STL–CGY
STL went 4-for-14 from medium danger on 1.56 expected goals — 2.4 above expected.
STL finished +0.7 against expected, CGY -1.9.
Wrist shots carried the volume: STL went 1-for-15, CGY 2-for-27. STL scored 2 of theirs off the rush.
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 →
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
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
Each club shoots toward its own end — STL left, CGY 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.
Even money. The model projects a 3.0–3.0 game with the Flames at 50% win probability. St. Louis and Calgary are matched in the underlying play that predicts outcomes: Blues 48.7% xG, Flames 46.5%, a two-point margin that vanishes in a single contest.
Shot volume tells a different story. Calgary leads 49.2% Corsi to St. Louis's 48.3%, driving possession but failing to translate it into higher-quality chances. Both teams are generating and suppressing at nearly identical rates.
The separation emerges in execution. Jimmy Snuggerud anchors St. Louis's attack—0.86 xG/60, 15 goals, 2 HD goals—converting at 11.9%, well above average. Dylan Holloway matches his pace at 0.82 xG/60 while shooting 10.8%. Blake Coleman powers Calgary with 16 goals on 0.89 xG/60, a rate-to-output gap suggesting positive regression; he's also banked 2 HD goals. Matt Coronato is undershooting at 6.6%, limiting his 0.80 xG/60 to just 10 goals.
St. Louis sits at a perfect 1.000 PDO—skill and luck aligned. Calgary's 0.984 is running cold, a predictable reversion point if underlying play sustains. The shutdown assignments are direct: Calgary must contain Snuggerud's elite volume; St. Louis must manage Coleman's 0.89 xG/60 and 2 HD goals.
Defensively, the liability is split. Snuggerud is on ice for 2.75 xGA/60 with 44 high-danger shots against him this season—St. Louis's defensive weak link, which Calgary will attack. Matt Coronato is Calgary's corresponding vulnerability.
Two teams separated by thousandths in underlying metrics and inches in scoring luck. The model saw even money. So should you.
Season rates in this preview are from 2025-26 — this season's sample isn't live yet.
CGY by 0 points of win probability — effectively a coin flip. Projected score STL 3.0–3.0 CGY; 17% chance it's tied after 60.
STL holds 4 of 6 process categories — and the luck row (1.000 vs 0.984) says STL has been getting the bounces, which tends not to last.
Key matchup: Neutralize Jimmy Snuggerud (15G, 0.86 xG/60, 2 HD goals)
Key matchup: Neutralize Jimmy Snuggerud (15G, 0.86 xG/60, 2 HD goals)
Key matchup: Neutralize Blake Coleman (16G, 0.89 xG/60, 2 HD goals)
Key matchup: Neutralize Blake Coleman (16G, 0.89 xG/60, 2 HD goals)
Jimmy Snuggerud is on ice for 2.75 xGA/60 and 44 high-danger shots against this season.
Hunt matchups against Jimmy Snuggerud's shifts with the top line.
Matt Coronato is on ice for 3.06 xGA/60 and 58 high-danger shots against this season.
Hunt matchups against Matt Coronato's shifts with the top line.