Motion-blurred skater in a Anaheim Ducks sweater
Breakdown · CGY at ANA

L. Dostal stands tall as the Ducks edge the Flames

The verdict · coin flip

The Ducks won a genuine coin flip — neither side controlled the run of play.

CGY 2 · ANA 3
◆ By the ModelJul 12, 5:07 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

The underlying hockey favored Calgary. The Flames carried a 4.83–4.77 expected-goals edge and generated one more high-danger chance (5–4), yet Anaheim won anyway. L. Dostal saved 2.83 goals above expectation—a performance so dominant it overcame Calgary's better luck on the rush (two goals off 35 chances).

The surface metrics split nearly even. Anaheim held 51–49 on shot attempts (36–34 on goal), but Calgary squandered its opportunities: zero goals on five high-danger chances. Anaheim crashed the net more efficiently, converting one of ten rebound opportunities while Calgary converted zero from six.

D. Cooley matched Dostal's excellence, saving 2.77 goals above expected. Both keepers outplayed their xG models by nearly three goals—so lopsided a goaltending matchup rarely produces a clear winner. Mason McTavish's wrist shot from the doorstep in the shootout decided it.

C. Gauthier scored twice in 20:33, J. LaCombe added an assist in 25:07, and K. Bahl assisted in 22:49.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · SO · Mar 1
CGY
2
ANA
3

L. Dostal stands tall as the Ducks edge the Flames

Chances 4.8 – 4.8Did they deserve it? →
Did they deserve it?

Dead even on chances. The Ducks took it anyway.

Expected goals · chance value
CGY
4.83
ANA
4.77
50% of the chances50%

The board read CGY 2, ANA 3. The chances read CGY 4.8, ANA 4.8.

Our xG model · NHL play-by-play · all situations
Luck check
ANA
−1.8
goals above expected
ANA4.77 expected · 3 scored
Expected
Scored
CGY4.83 expected · 2 scored
Expected
Scored

The Flames left 2.8 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 09:41CGYJ. Farabee1–0
  2. P2 11:14ANAC. Gauthier1–1
  3. P2 16:10CGYY. SharangovichPP2–1
  4. P3 10:41ANAC. GauthierPP2–2
  5. SO 00:00ANAL. CarlssonPP2–2
  6. SO 00:00CGYN. KadriPP2–2
  7. SO 00:00ANAM. McTavishPP2–2
NHL play-by-play · chance value from our xG model
Where the shots came from
CGY
64 shots
3
Final
123 shots
ANA
59 shots
4
CGY attackANA attack
CGY ANA Goal

Shootout goals are not shots and are not drawn; the scoreboard above counts goals from the shot log.

64
shots · 3 in
59
shots · 4 in
Every unblocked shot · press play to replay it
Chances by danger
CGYANA
0 / 5
1.20 xG
High danger
0 / 4
1.18 xG
2 / 23
2.73 xG
Medium
2 / 29
3.10 xG
0 / 50
0.89 xG
Low
0 / 45
0.48 xG

The Flames went 0 for 5 from the slot.

Danger tiers by our xG model · high ≥ 20% chance
In the net
A+
L. Dostal
+2.8
ANA · 32/34
A+
D. Cooley
+2.8
CGY · 34/36
The numbers, checked
BACKCHECK

L. Dostal stands tall as the Ducks edge 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 14–14
  1. 09:41CGYJ. Farabee(R. Lomberg, J. Beecher)1–0
2ndshots 13–11
  1. 11:14ANAC. Gauthier(L. Carlsson)1–1
  2. 16:10CGYY. Sharangovichpower play(K. Bahl, M. Frost)2–1
3rdshots 6–9
  1. 10:41ANAC. Gauthierpower play(J. LaCombe, B. Sennecke)2–2
OTshots 1–2no goals
    SO
    1. 00:00ANAL. Carlssonpower play2–2
    2. 00:00CGYN. Kadripower play2–2
    3. 00:00ANAM. McTavishpower play2–2

    score reads CGY–ANA

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

    The numbers

    XGBoost xG · NHL play-by-play
    4.77
    ANA chances
    Goals their shots were worth
    −1.8
    Finishing
    Goals below what those chances were worth
    1.000
    ANA puck luck
    About 1.000 — a normal night for bounces
    50.0%
    Shot attempts
    Over half — they had the puck more
    Split by club

    Who controlled the game

    4.83Expected goals4.77
    CGY 50% of the chance quality
    34Shots on goal36
    5High-danger chances4
    78All attempts (Corsi)78
    Adjusted for score: CGY 48% · ANA 52%
    Faceoffs · ANA won54%off44%neu55%def
    Source · NHL play-by-play · XGBoost xG
    How the game was won

    The danger ladder

    shotsgoalsexpected
    High dangerslot & crease
    CGY0 / 5 · 1.20 xG
    ANA0 / 4 · 1.18 xG
    Medium dangermid-range
    CGY2 / 23 · 2.73 xG
    ANA2 / 29 · 3.10 xG
    Low dangerperimeter & point
    CGY0 / 50 · 0.89 xG
    ANA0 / 45 · 0.48 xG

    CGY went 0-for-5 from high danger on 1.20 expected goals — 1.2 left on the table.

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

    Finishing vs expected

    expectedactual
    CGY
    2 G · 4.83 xG · -2.8
    ANA
    3 G · 4.77 xG · -1.8
    0123456

    CGY finished -2.8 against expected, ANA -1.8.

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

    Shot diet

    goalsshots
    CGY
    SNAP1/30
    WRIST0/8
    TIP IN1/11
    SLAP0/6
    BACKHAND0/4
    BAT0/1
    DEFLECTED0/1
    POKE0/0
    OTHER0/17
    ANA
    SNAP0/15
    WRIST0/14
    TIP IN0/9
    SLAP1/8
    BACKHAND0/6
    BAT1/2
    DEFLECTED0/1
    POKE0/1
    OTHER0/22
    CGY
    ANA
    Off the rush
    2 G on 35
    3.11 xG
    1 G on 32
    3.03 xG
    Off rebounds
    0 G on 6
    1.10 xG
    1 G on 10
    1.29 xG

    Snap shots carried the volume: CGY went 1-for-30, ANA 0-for-15. CGY 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 · 34/36 · .944
    +2.8
    saved above expected
    A+
    the night
    By dangerG/attxGsaved
    High danger0/41.2+1.2
    Medium2/293.1+1.1
    Low0/450.5+0.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

    L. Dostal
    ANA · 32/34 · .941
    +2.8
    saved above expected
    A+
    the night
    By dangerG/attxGsaved
    High danger0/51.2+1.2
    Medium2/232.7+0.7
    Low0/500.9+0.9

    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

    123 shots · press play to watch the game back

    Where the shots came from

    NHL play-by-play coordinates
    CGY
    64 shots
    3
    Final
    123 shots
    ANA
    59 shots
    4
    CGY attackANA attack
    CGY ANA Goal

    Shootout goals are not shots and are not drawn; the scoreboard above counts goals from the shot log.

    Each club shoots toward its own end — CGY left, ANA 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
    C. Gauthier
    #61 · L · ANA
    2 G · 0 A · 9 SOG · 20:33 on ice · +1
    J. LaCombe
    #2 · D · ANA
    0 G · 1 A · 4 SOG · 25:07 on ice
    K. Bahl
    #7 · D · CGY
    0 G · 1 A · 0 SOG · 22:49 on ice
    Ranked from the box score — points first · Backcheck
    What the model said beforehand

    Before the game

    Written Sun, Mar 1
    Open the pre-game read
    Written from the numbers

    The read

    Edited for clarity
    ◆ By the ModelJul 12, 5:06 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 a 2.5–2.9 goal spread favoring Anaheim, with the Ducks holding 57% win probability. The prediction hinges on Anaheim's territorial dominance and Calgary's luck running dry.

    Anaheim has earned this lean. The Ducks have posted an 8-2-0 record over their last ten games, out-shooting Calgary in the underlying metrics across the board. At 5v5, Anaheim generates 52.0% expected goals and controls 52.0% of shot volume—the kind of sustained advantage that typically predicts outcomes. Calgary sits at 47.0% xG and 49.0% Corsi, a frame that corresponds with their -5 goal differential over the same ten-game stretch.

    The regression angle matters more than the headline numbers suggest. Both teams are running cold on PDO—Calgary at 0.985, Anaheim at 0.981. But the upside diverges. Anaheim, generating 52.0% expected goals, has room to improve toward their underlying output. Calgary, at 47.0% xG, faces a narrower ceiling even with positive regression.

    The matchup tilts toward Anaheim on depth. Blake Coleman leads Calgary's scoring at 16 goals and 12 assists with a 0.89 expected goals-per-60 rate, backed by 11.4% shooting efficiency and 2 high-danger chances converted. Matt Coronato adds depth at 10 goals and 16 assists (0.80 xG/60, 6.6% shooting), though he represents Calgary's defensive liability. On the other side, Beckett Sennecke (1.03 xG/60, 20 goals, 19 assists, 8 HD goals, 13.5% shooting) is Anaheim's primary engine, while Cutter Gauthier (0.99 xG/60, 25 goals, 16 assists, 2 HD goals, 12.9% shooting) adds a complementary scoring threat.

    Calgary's task is to neutralize Sennecke's scoring pressure while preventing Gauthier from exploiting Mason McTavish's defensive vulnerabilities on the opposite end. Anaheim can exploit Coronato on Calgary's back line.

    One tactical wrinkle: L. Dostal appears headed for a back-to-back assignment. Monitor Anaheim's goaltender workload—a tired starter or a switch to the backup would materially shift the projection.

    The Ducks have the model's edge. Expect territorial control and a likely ANA victory.

    What the model said beforehand

    The model's lean

    ANA 57%
    57%
    ANA
    Model favorite
    43%
    57%
    CGY50ANA

    ANA by 14 points of win probability — a modest lean. Projected score CGY 2.5–2.9 ANA; 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
    CGY← edge
    edge →ANA
    47.0%52.0%
    49.0%52.0%
    2.362.80
    2.662.59
    1.762.09
    2.152.32
    0.9850.981

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

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

    Keys to the game

    Where the edges live
    • The Ducks own the underlying play — 52.0% 5v5 xG vs 47.0%.
    • The Ducks drive Corsi at 52.0% — expect territorial tilt.
    Regression watch
    • The Ducks' PDO is 0.981 — running cold, due for positive regression.
    • The Flames' PDO is 0.985 — running cold, due for positive regression.
    Things to watch
    • The Ducks own the underlying play — 52.0% 5v5 xG vs 47.0%.
    • The Ducks drive Corsi at 52.0% — expect territorial tilt.
    • L. Dostal is on a back-to-back — watch for a backup start or a tired starter.
    • The Ducks are the hotter team by points pace (8-2-0 in their last 10).
    • The Flames are underwater at -5 goal differential over their last 10.
    • The Ducks' PDO is 0.981 — running cold, due for positive regression.
    Last game's lineup · confirmed at warm-up

    Lineups

    NHL box score
    CGY
    Expected in goal
    D. Wolf
    2 days rest.971 last start
    Backup Dustin Wolf · -1.8 GSAx this season

    No completed game on file for this club yet.

    ANA
    Expected in goal
    L. Dostal
    back-to-back.879 last start
    Backup Lukas Dostal · -2.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.

    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
    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
    ANA
    Beckett Sennecke20G 19A
    1.03 xG/60 · 8 HD · 13.5% sh
    Cutter Gauthier25G 16A
    0.99 xG/60 · 2 HD · 12.9% sh
    Keep going

    Where to next