Motion-blurred skater in a Utah Mammoth sweater
Breakdown · CGY at UTA

Utah hold off the Flames

The verdict · earned

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

CGY 1 · UTA 3
◆ By the ModelJun 16, 2:49 PMxG: 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

Calgary's goaltending was decisive. D. Cooley saved 2.9 goals above expected, suppressing Utah's xG advantage (4.86–3.43, 59–41%) enough to make this a 3–1 game instead of a rout.

Utah's control was thorough. They held 62% of shot attempts (32–20), won the high-danger chances (7–4), and scored twice on 34 rush chances.

But they also wasted chances. Utah underperformed their xG by 1.86 goals. Calgary underperformed by 2.43—an underperformance that would have been crippling without Cooley.

Kevin Stenlund's snap shot from the slot (P3, 19:37) was the turning point. K. Vejmelka (19/20 saves, +2.43 vs expected) was equally sharp, and Calgary's net crashing (3 rebound opportunities, 1 converted) provided what little resistance Utah's dominance allowed.

Three Stars

  • #4 R. Andersson — 1G in 23:23
  • #8 N. Schmaltz — 1A in 19:52
  • #91 N. Kadri — 1A in 19:46
The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Oct 15
CGY
1
UTA
3

Utah hold off the Flames

Chances 3.4 – 4.9Did they deserve it? →
Did they deserve it?

The Mammoth earned this one.

Expected goals · chance value
CGY
3.43
UTA
4.86
41% of the chances59%

The board read CGY 1, UTA 3. The chances read CGY 3.4, UTA 4.9.

Our xG model · NHL play-by-play · all situations
Luck check
UTA
−1.9
goals above expected
UTA4.86 expected · 3 scored
Expected
Scored
CGY3.43 expected · 1 scored
Expected
Scored

The Flames left 2.4 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 08:37CGYR. AnderssonPP1–0
  2. P2 01:16UTAB. Hayton1–1
  3. P2 04:24UTAJ. Peterka1–2
  4. P3 19:37UTAK. StenlundEN1–3
NHL play-by-play · chance value from our xG model
Where the shots came from
CGY
39 shots
1
Final
87 shots
UTA
48 shots
3
CGY attackUTA attack
CGY UTA Goal
39
shots · 1 in
48
shots · 3 in
Every unblocked shot · press play to replay it
Chances by danger
CGYUTA
1 / 4
1.00 xG
High danger
2 / 7
2.34 xG
0 / 19
2.08 xG
Medium
1 / 16
1.90 xG
0 / 33
0.36 xG
Low
0 / 39
0.63 xG

The Mammoth buried 2 of 7 high-danger looks.

Danger tiers by our xG model · high ≥ 20% chance
In the net
A+
D. Cooley
+2.9
CGY · 29/31
A
K. Vejmelka
+2.4
UTA · 19/20
The numbers, checked
BACKCHECK

Utah 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 breakdown
backcheckreport.com
01 / 08 · Final
Every goal, in order

How it happened

NHL play-by-play
1stshots 5–10
  1. 08:37CGYR. Anderssonpower play(M. Frost, N. Kadri)1–0
2ndshots 3–18
  1. 01:16UTAB. Hayton(N. Schmaltz, J. Marino)1–1
  2. 04:24UTAJ. Peterka1–2
3rdshots 12–4
  1. 19:37UTAK. Stenlundempty net1–3

score reads CGY–UTA

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

The numbers

XGBoost xG · NHL play-by-play
4.86
UTA chances
Goals their shots were worth
−1.9
Finishing
Goals below what those chances were worth
1.030
UTA puck luck
Above 1.000 — the bounces went their way
52.5%
Shot attempts
Over half — they had the puck more
Split by club

Who controlled the game

3.43Expected goals4.86
UTA 59% of the chance quality
20Shots on goal32
4High-danger chances7
56All attempts (Corsi)62
Adjusted for score: CGY 49% · UTA 51%
Faceoffs · UTA won41%off43%neu46%def
Source · NHL play-by-play · XGBoost xG
How the game was won

The danger ladder

shotsgoalsexpected
High dangerslot & crease
CGY1 / 4 · 1.00 xG
UTA2 / 7 · 2.34 xG
Medium dangermid-range
CGY0 / 19 · 2.08 xG
UTA1 / 16 · 1.90 xG
Low dangerperimeter & point
CGY0 / 33 · 0.36 xG
UTA0 / 39 · 0.63 xG

CGY went 0-for-19 from medium danger on 2.08 expected goals — 2.1 left on the table.

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

Finishing vs expected

expectedactual
CGY
1 G · 3.43 xG · -2.4
UTA
3 G · 4.86 xG · -1.9
0123456

CGY finished -2.4 against expected, UTA -1.9.

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

Shot diet

goalsshots
CGY
SNAP0/18
SLAP1/9
TIP IN0/4
BACKHAND0/2
WRIST0/4
DEFLECTED0/2
OTHER0/17
UTA
SNAP3/27
SLAP0/8
TIP IN0/7
BACKHAND0/4
WRIST0/1
DEFLECTED0/1
OTHER0/14
CGY
UTA
Off the rush
0 G on 23
2.63 xG
2 G on 34
3.02 xG
Off rebounds
1 G on 3
0.36 xG
0 G on 2
0.42 xG

Snap shots carried the volume: CGY went 0-for-18, UTA 3-for-27. UTA 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
D. Cooley
CGY · 29/31 · .935
+2.9
saved above expected
A+
the night
By dangerG/attxGsaved
High danger2/72.3+0.3
Medium1/161.9+0.9
Low0/390.6+0.6

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

K. Vejmelka
UTA · 19/20 · .950
+2.4
saved above expected
A
the night
By dangerG/attxGsaved
High danger1/41.0+0.0
Medium0/192.1+2.1
Low0/330.4+0.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

87 shots · press play to watch the game back

Where the shots came from

NHL play-by-play coordinates
CGY
39 shots
1
Final
87 shots
UTA
48 shots
3
CGY attackUTA attack
CGY UTA Goal

Each club shoots toward its own end — CGY left, UTA 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. Andersson
#4 · D · —
1 G · 0 A · 2 SOG · 23:23 on ice
N. Schmaltz
#8 · C · —
0 G · 1 A · 6 SOG · 19:52 on ice · +1
N. Kadri
#91 · C · —
0 G · 1 A · 1 SOG · 19:46 on ice · -1
Ranked from the box score — points first · Backcheck
What the model said beforehand

Before the game

Written Wed, Oct 15
Open the pre-game read
Written from the numbers

The read

Edited for clarity
◆ By the ModelSep 22, 2:45 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

The model projects Utah at a 57% win probability in a game it expects to run 2.9–3.4, with the Mammoth holding the cleaner underlying play.

Utah runs 51.5% 5v5 expected goals against Calgary's 46.5%, and owns the territorial edge at 52.9% Corsi. The Mammoth don't win on fluky puck luck — they generate and suppress in cleaner volume. That's the floor.

But Dylan Guenther is the story. The Mammoth's lead engine carries 28 goals and 15 assists on 1.02 xG/60, one of the league's elite offensive rates, and he's netted 3 high-danger goals on 16.8% shooting. Shut him down and Utah's primary win condition evaporates. Calgary will need to commit heavy resources to that shutdown assignment, which means freeing space elsewhere on the ice.

Blake Coleman is Calgary's best bet to punish that. He carries 0.89 xG/60 (elite for his role), sits on 16 goals and 12 assists on 11.4% shooting, and has posted 2 high-danger goals of his own. If Calgary's shutdown pair can contain Guenther without bleeding coverage, Coleman becomes the valve through which the Flames' offense flows.

There's one wild card: Calgary's PDO sits at 0.984, a notch below neutral, suggesting the Flames are running colder than the underlying numbers say they should. Regression in possession play can wait; PDO regression is immediate, and it could cost Utah a fraction of that projected advantage.

Matt Coronato (10 goals, 0.80 xG/60, 6.6% shooting) and Daniil But (1.01 xG/60, 2 goals, 5.6% shooting) offer secondary scoring paths for Calgary and Utah respectively, but Guenther-vs.-Coleman defines this matchup. Utah's model lean holds if the Mammoth defense suffocates Coleman and allows Guenther to hunt space; Calgary's PDO regression storyline gains teeth if the Flames find room to shoot.

Season rates in this preview are from 2025-26 — this season's sample isn't live yet.

What the model said beforehand

The model's lean

UTA 57%
57%
UTA
Model favorite
43%
57%
CGY50UTA

UTA by 14 points of win probability — a modest lean. Projected score CGY 2.9–3.4 UTA; 16% 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
CGY← edge
edge →UTA
46.5%51.5%
49.2%52.9%
2.853.18
3.283.00
2.543.27
3.122.93
0.9841.003

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

Source · NHL stats API + our xG · 5v5
Form · No games yet
CGY
0-0-0
+0 GD · 0d rest
UTA
0-0-0
+0 GD · 0d rest
0.984
CGY PDO
Luck gauge · drifts to 1.000
1.003
UTA PDO
Luck gauge · drifts to 1.000
What decides it

Keys to the game

TACTICALUTA

Shutdown Assignment: Mammoth

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)

TACTICALCGY

Shutdown Assignment: Flames

Key matchup: Neutralize Dylan Guenther (28G, 1.02 xG/60, 3 HD goals)

Key matchup: Neutralize Dylan Guenther (28G, 1.02 xG/60, 3 HD goals)

WARNINGCGY

Exploitable minutes: Matt Coronato

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.

WARNINGUTA

Exploitable minutes: Maveric Lamoureux

Maveric Lamoureux is on ice for 2.98 xGA/60 and 4 high-danger shots against this season.

Hunt matchups against Maveric Lamoureux's shifts with the top line.

Where the edges live
  • The Mammoth own the underlying play — 51.5% 5v5 xG vs 46.5%.
  • The Mammoth drive Corsi at 52.9% — expect territorial tilt.
Regression watch
  • The Flames' PDO is 0.984 — running cold, due for positive regression.
Things to watch
  • The Mammoth own the underlying play — 51.5% 5v5 xG vs 46.5%.
  • The Mammoth drive Corsi at 52.9% — expect territorial tilt.
  • The Flames' PDO is 0.984 — running cold, due for positive regression.
Computed danger · scouting

Players to watch

NHL stats API · our xG
CGY
Blake Coleman16G 12A
0.89 xG/60 · 2 HD · 11.4% sh
Matt Coronato10G 16A
0.80 xG/60 · 0 HD · 6.6% sh
UTA
Dylan Guenther28G 15A
1.02 xG/60 · 3 HD · 16.8% sh
Daniil But2G 2A
1.01 xG/60 · 1 HD · 5.6% sh
Keep going

Where to next