Motion-blurred skater in a Calgary Flames sweater
Breakdown · UTA at CGY

Flames pull away from the Utah

The verdict · earned

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

UTA 1 · CGY 4
◆ By the ModelJun 16, 1:27 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

Utah generated a respectable 3.11 expected goals but scored just once—a 2.11-goal underperformance almost entirely attributable to D. Wolf's exceptional goaltending. Calgary's 4-1 win felt commanding because the underlying numbers corroborated it.

The Flames controlled the territorial battle decisively. At 5v5, they generated 3.80 expected goals to Utah's 3.11 (55–45 split). Calgary's shot share was 44% (29 attempts to 23), but the more telling advantage came in shot quality: they generated 0.081 xG per attempt versus Utah's 0.049. High-danger chances further emphasized the gap—Calgary 7, Utah 3.

V. Vanecek faced volume and inefficiency. His 19 saves on 23 shots (0.826 SV%) was respectable work against a relentless offense, yet it couldn't prevent Utah from being buried by the Flames' shot quality. D. Wolf faced far fewer chances and capitalized on the margin: 28 saves on 29 shots (0.966 SV%), a performance that saved 2.11 goals above expected.

Calgary's attack operated with purpose. They generated seven rebound opportunities, converting one—a smaller margin than the territorial dominance suggests, but a reminder that the Flames were willing to crash the net. Lawson Crouse's wrist shot from the top of the circles (P3, 11:20) was the turning point, crystallizing a larger pattern where Calgary made Utah's defense work relentlessly.

Utah didn't play poorly. They simply lacked the finish and goaltending Calgary possessed. B. Pachal led the Flames' charge with 1G, 2A in 14:47. Z. Parekh (1A in 23:49) and O. Maatta (1A in 23:08) orchestrated from behind.

This was a game where the score aligned with the play.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Apr 12
UTA
1
CGY
4

Flames pull away from the Utah

Chances 3.1 – 3.8Did they deserve it? →
Did they deserve it?

The Flames earned this one.

Expected goals · chance value
UTA
3.11
CGY
3.80
45% of the chances55%

The board read UTA 1, CGY 4. The chances read UTA 3.1, CGY 3.8.

Our xG model · NHL play-by-play · all situations
Luck check
CGY
+0.2
goals above expected
CGY3.80 expected · 4 scored
Expected
Scored
UTA3.11 expected · 1 scored
Expected
Scored

The Mammoth left 2.1 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 07:06CGYM. Coronato0–1
  2. P1 08:27CGYC. Zary0–2
  3. P3 06:01CGYM. Backlund0–3
  4. P3 09:10CGYB. Pachal0–4
  5. P3 11:20UTAL. Crouse1–4
NHL play-by-play · chance value from our xG model
Where the shots came from
UTA
47 shots
1
Final
81 shots
CGY
34 shots
4
UTA attackCGY attack
UTA CGY Goal
47
shots · 1 in
34
shots · 4 in
Every unblocked shot · press play to replay it
Chances by danger
UTACGY
0 / 3
0.65 xG
High danger
1 / 7
1.66 xG
0 / 15
1.63 xG
Medium
2 / 15
1.77 xG
1 / 46
0.83 xG
Low
1 / 25
0.37 xG

The Mammoth went 0 for 3 from the slot.

Danger tiers by our xG model · high ≥ 20% chance
In the net
A
D. Wolf
+2.1
CGY · 28/29
C
V. Vanecek
−0.2
UTA · 19/23
The numbers, checked
BACKCHECK

Flames pull away from the Utah

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 4–14
  1. 07:06CGYM. Coronato(M. Frost, B. Pachal)0–1
  2. 08:27CGYC. Zary(Z. Parekh, Z. Whitecloud)0–2
2ndshots 11–3no goals
    3rdshots 14–6
    1. 06:01CGYM. Backlund(B. Coleman, B. Pachal)0–3
    2. 09:10CGYB. Pachal(A. Suniev, O. Maatta)0–4
    3. 11:20UTAL. Crouse(C. Keller, M. Weegar)1–4

    score reads UTA–CGY

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

    The numbers

    XGBoost xG · NHL play-by-play
    3.80
    CGY chances
    Goals their shots were worth
    +0.2
    Finishing
    Goals above what those chances were worth
    1.069
    CGY puck luck
    Above 1.000 — the bounces went their way
    42.3%
    Shot attempts
    Under half — they were outshot
    Split by club

    Who controlled the game

    3.11Expected goals3.80
    CGY 55% of the chance quality
    29Shots on goal23
    3High-danger chances7
    64All attempts (Corsi)47
    Adjusted for score: UTA 64% · CGY 36%
    Faceoffs · CGY won53%off69%neu45%def
    Source · NHL play-by-play · XGBoost xG
    How the game was won

    The danger ladder

    shotsgoalsexpected
    High dangerslot & crease
    UTA0 / 3 · 0.65 xG
    CGY1 / 7 · 1.66 xG
    Medium dangermid-range
    UTA0 / 15 · 1.63 xG
    CGY2 / 15 · 1.77 xG
    Low dangerperimeter & point
    UTA1 / 46 · 0.83 xG
    CGY1 / 25 · 0.37 xG

    UTA went 0-for-15 from medium danger on 1.63 expected goals — 1.6 left on the table.

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

    Finishing vs expected

    expectedactual
    UTA
    1 G · 3.11 xG · -2.1
    CGY
    4 G · 3.80 xG · +0.2
    012345

    UTA finished -2.1 against expected, CGY +0.2.

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

    Shot diet

    goalsshots
    UTA
    WRIST1/25
    SLAP0/11
    TIP IN0/3
    SNAP0/5
    BACKHAND0/0
    DEFLECTED0/3
    BETWEEN LEGS0/0
    WRAP AROUND0/0
    BAT0/0
    POKE0/0
    OTHER0/17
    CGY
    WRIST0/16
    SLAP1/2
    TIP IN0/5
    SNAP0/1
    BACKHAND0/5
    DEFLECTED1/1
    BETWEEN LEGS0/1
    WRAP AROUND1/1
    BAT0/1
    POKE1/1
    OTHER0/13
    UTA
    CGY
    Off the rush
    1 G on 28
    2.43 xG
    1 G on 21
    2.02 xG
    Off rebounds
    0 G on 2
    0.13 xG
    1 G on 7
    1.02 xG

    Wrist shots carried the volume: UTA went 1-for-25, CGY 0-for-16.

    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
    V. Vanecek
    UTA · 19/23 · .826
    -0.2
    saved above expected
    C
    the night
    By dangerG/attxGsaved
    High danger1/71.7+0.7
    Medium2/151.8-0.2
    Low1/250.4-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

    D. Wolf
    CGY · 28/29 · .966
    +2.1
    saved above expected
    A
    the night
    By dangerG/attxGsaved
    High danger0/30.7+0.7
    Medium0/151.6+1.6
    Low1/460.8-0.2

    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

    81 shots · press play to watch the game back

    Where the shots came from

    NHL play-by-play coordinates
    UTA
    47 shots
    1
    Final
    81 shots
    CGY
    34 shots
    4
    UTA attackCGY attack
    UTA CGY Goal

    Each club shoots toward its own end — UTA 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.

    Ranked from the box score

    Three stars

    Points first
    Three stars · computed, not voted
    B. Pachal
    #94 · D · —
    1 G · 2 A · 1 SOG · 14:47 on ice · +2
    Z. Parekh
    #19 · D · —
    0 G · 1 A · 4 SOG · 23:49 on ice
    O. Maatta
    #3 · D · —
    0 G · 1 A · 0 SOG · 23:08 on ice · +2
    Ranked from the box score — points first · Backcheck
    What the model said beforehand

    Before the game

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

    The read

    Edited for clarity
    ◆ By the ModelJun 16, 1:28 PMEdited 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

    Utah owns the underlying play—52.0% expected-goal share, 53.0% Corsi%—but Calgary's cold streak at 0.985 PDO suggests a looming correction. The model splits the difference: 2.6–2.5 Utah, with Calgary at 47% win probability. This is about as close to a pick'em as the numbers allow.

    The territorial advantage belongs entirely to Utah. Calgary is drowning in recent context: minus-9 goal differential over the last ten games and save-percentage/shooting-percentage figures below replacement level. Regression typically arrives, and soon.

    Both teams ice back-to-back goaltenders—D. Cooley for Utah, K. Vejmelka for Calgary. Backup starts are possible, and fatigue injects uncertainty.

    Dylan Guenther drives Utah's offense: 1.02 expected goals per 60 minutes, 28 goals, 15 assists, 3 hard-danger goals, 16.8% shooting. These numbers describe elite finishing on premium chances. Blake Coleman is Calgary's closest equivalent: 0.89 xG/60, 16 goals, 12 assists, 2 hard-danger goals, 11.4% shooting. Guenther is the superior threat, though Coleman remains reliable.

    Utah's second offensive weapon, Daniil But, is likely unavailable—he hasn't played in 17 days and shows 1.01 xG/60 on just 2 goals, 2 assists, shooting at 5.6%. That removes depth from Utah's attack. Calgary counters with Matt Coronato: 0.80 xG/60, 10 goals, 16 assists, 6.6% shooting. Coronato is due for positive variance if given opportunity.

    Utah's defensive liability is Maveric Lamoureux. Calgary's is Matt Coronato. Both teams will hunt these exposures.

    Utah and Calgary both record zero percent of their goals from hard-danger situations and zero percent from rebounds—defense in both systems is sufficiently tight that chaos won't determine the winner.

    The process favors Utah. Calgary's recent collapse and PDO deficit create a case for reversion. The back-to-back goaltending adds volatility. At 2.6–2.5 with Calgary the 47% underdog, this is a genuine coin flip: slight Utah edge in structure, slight Calgary case for bounce-back, and enough randomness to make confident conviction reckless. Tight, low-variance hockey is the most likely outcome.

    What the model said beforehand

    The model's lean

    UTA 53%
    53%
    UTA
    Model favorite
    53%
    47%
    UTA50CGY

    UTA by 6 points of win probability — a modest lean. Projected score UTA 2.6–2.5 CGY; 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
    UTA← edge
    edge →CGY
    52.0%47.0%
    53.0%49.0%
    2.642.36
    2.392.66
    2.261.76
    1.992.15
    1.0030.985

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

    Source · NHL stats API + our xG · 5v5
    Form · Last 10
    UTA
    6-4-0
    +4 GD · 1d rest
    CGY
    4-4-2
    -9 GD · 1d rest
    1.003
    UTA PDO
    Luck gauge · drifts to 1.000
    0.985
    CGY PDO
    Luck gauge · drifts to 1.000
    What decides it

    Keys to the game

    Where the edges live
    • UTA owns the underlying play — 52.0% 5v5 xG vs 47.0%.
    • UTA drives Corsi at 53.0% — expect territorial tilt.
    Regression watch
    • CGY PDO is 0.985 — running cold, due for positive regression.
    Things to watch
    • UTA owns the underlying play — 52.0% 5v5 xG vs 47.0%.
    • UTA drives Corsi at 53.0% — expect territorial tilt.
    • D. Cooley is on a back-to-back — watch for a backup start or a tired starter.
    • K. Vejmelka is on a back-to-back — watch for a backup start or a tired starter.
    • CGY is underwater at -9 goal differential over the last 10.
    • CGY PDO is 0.985 — running cold, due for positive regression.
    Last game's lineup · confirmed at warm-up

    Lineups

    NHL box score
    UTA
    Expected in goal
    K. Vejmelka
    back-to-back.893 last start
    Backup Karel Vejmelka · +6.9 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.

    CGY
    Expected in goal
    D. Cooley
    back-to-back.850 last start
    Backup Dustin Wolf · -1.8 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
    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
    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
    Keep going

    Where to next