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

Flames hold off the Flyers

The verdict · stolen

The Flames stole one. They lost the expected-goals battle 1.91–2.19 and won anyway.

CGY 2 · PHI 1
◆ By the ModelJul 11, 2:26 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 2-1 victory masked an essentially even game underneath. Expected goals split 2.19–1.91 in Calgary's favor—a 53–47 edge—while the Flyers held 46% of shot attempts (18–21 on goal). High-danger chances broke 3–2. Yet Philadelphia scored once on 1.91 xG, underperforming by 1.19.

D. Wolf made the difference. The Calgary goaltender made 17 of 18 saves for a 0.944 SV%, exceeding his expected save percentage by 1.19 goals—the exact shortfall the Flyers faced. A. Kolosov made 19 of 21 saves (0.905 SV%) in the loss.

The turning point arrived in the third period at 14:20, when Travis Konecny fired a wrist shot from the top of the circles. It was the moment Philadelphia needed, but Calgary survived.

J. Huberdeau carried the attack for Calgary with two goals in 18:27. M. Weegar (1 assist, 25:59) and J. Hanley (1 assist, 22:01) added to the effort.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Nov 2
CGY
2
PHI
1

Flames hold off the Flyers

Chances 1.9 – 2.2Did they deserve it? →
Did they deserve it?

Dead even on chances. The Flames took it anyway.

Expected goals · chance value
CGY
1.91
PHI
2.19
47% of the chances53%

The board read CGY 2, PHI 1. The chances read CGY 1.9, PHI 2.2.

Our xG model · NHL play-by-play · all situations
Luck check
CGY
+0.1
goals above expected
CGY1.91 expected · 2 scored
Expected
Scored
PHI2.19 expected · 1 scored
Expected
Scored

Both sides finished close to what their chances were worth. This one was earned on the ice.

PDO = sh% + sv% · drifts to 1.000 over a season
Every goal, in order
  1. P2 02:15CGYJ. Huberdeau1–0
  2. P3 07:06CGYJ. Huberdeau2–0
  3. P3 14:20PHIT. Konecny2–1
NHL play-by-play · chance value from our xG model
Where the shots came from
CGY
30 shots
2
Final
62 shots
PHI
32 shots
1
CGY attackPHI attack
CGY PHI Goal
30
shots · 2 in
32
shots · 1 in
Every unblocked shot · press play to replay it
Chances by danger
CGYPHI
0 / 2
0.61 xG
High danger
0 / 3
0.77 xG
1 / 9
0.85 xG
Medium
0 / 9
0.90 xG
1 / 36
0.45 xG
Low
1 / 40
0.52 xG

The Flyers went 0 for 3 from the slot.

Danger tiers by our xG model · high ≥ 20% chance
In the net
B+
D. Wolf
+1.2
CGY · 17/18
C
A. Kolosov
−0.1
PHI · 19/21
The numbers, checked
BACKCHECK

Flames hold off the Flyers

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 10–3no goals
    2ndshots 7–6
    1. 02:15CGYJ. Huberdeau(Y. Sharangovich, B. Pachal)1–0
    3rdshots 4–9
    1. 07:06CGYJ. Huberdeau(M. Weegar, J. Hanley)2–0
    2. 14:20PHIT. Konecny(N. Cates)2–1

    score reads CGY–PHI

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

    The numbers

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

    Who controlled the game

    1.91Expected goals2.19
    PHI 53% of the chance quality
    21Shots on goal18
    2High-danger chances3
    47All attempts (Corsi)52
    Adjusted for score: CGY 45% · PHI 55%
    Faceoffs · PHI won53%off47%neu43%def
    Source · NHL play-by-play · XGBoost xG
    How the game was won

    The danger ladder

    shotsgoalsexpected
    High dangerslot & crease
    CGY0 / 2 · 0.61 xG
    PHI0 / 3 · 0.77 xG
    Medium dangermid-range
    CGY1 / 9 · 0.85 xG
    PHI0 / 9 · 0.90 xG
    Low dangerperimeter & point
    CGY1 / 36 · 0.45 xG
    PHI1 / 40 · 0.52 xG

    PHI went 0-for-9 from medium danger on 0.90 expected goals — 0.9 left on the table.

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

    Finishing vs expected

    expectedactual
    CGY
    2 G · 1.91 xG · +0.1
    PHI
    1 G · 2.19 xG · -1.2
    0123

    CGY finished +0.1 against expected, PHI -1.2.

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

    Shot diet

    goalsshots
    CGY
    WRIST1/18
    SNAP0/3
    TIP IN1/4
    SLAP0/3
    BACKHAND0/1
    POKE0/1
    OTHER0/17
    PHI
    WRIST1/24
    SNAP0/5
    TIP IN0/2
    SLAP0/1
    BACKHAND0/0
    POKE0/0
    OTHER0/20
    CGY
    PHI
    Off the rush
    1 G on 19
    1.14 xG
    0 G on 19
    1.49 xG
    Off rebounds
    0 G on 0
    0.00 xG
    1 G on 2
    0.29 xG

    Wrist shots carried the volume: CGY went 1-for-18, PHI 1-for-24.

    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. Wolf
    CGY · 17/18 · .944
    +1.2
    saved above expected
    B+
    the night
    By dangerG/attxGsaved
    High danger0/30.8+0.8
    Medium0/90.9+0.9
    Low1/400.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

    A. Kolosov
    PHI · 19/21 · .905
    -0.1
    saved above expected
    C
    the night
    By dangerG/attxGsaved
    High danger0/20.6+0.6
    Medium1/90.8-0.1
    Low1/360.5-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

    62 shots · press play to watch the game back

    Where the shots came from

    NHL play-by-play coordinates
    CGY
    30 shots
    2
    Final
    62 shots
    PHI
    32 shots
    1
    CGY attackPHI attack
    CGY PHI Goal

    Each club shoots toward its own end — CGY left, PHI 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
    J. Huberdeau
    #10 · L · CGY
    2 G · 0 A · 2 SOG · 18:27 on ice · +2
    M. Weegar
    #52 · D · CGY
    0 G · 1 A · 2 SOG · 25:59 on ice
    J. Hanley
    #44 · D · CGY
    0 G · 1 A · 0 SOG · 22:01 on ice
    Ranked from the box score — points first · Backcheck
    What the model said beforehand

    Before the game

    Written Sun, Nov 2
    Open the pre-game read
    Written from the numbers

    The read

    Edited for clarity
    ◆ By the ModelJul 11, 2:24 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

    The model projects a 2.3–2.6 CGY–PHI game with the Flyers at 55% win probability, and the underlying numbers justify the pick. Philadelphia owns the shot quality battle at 51.0% 5v5 expected goals percentage versus Calgary's 47.0%, suggesting the Flyers should sustain pressure despite nearly identical possession metrics (49.0% Corsi for Calgary, 48.0% for Philadelphia). The edge, then, is in shot creation, not puck movement.

    Form tilts Philadelphia further ahead. The Flyers have gone 6-3-1 in their last ten games while the Flames sit underwater at minus-13 goal differential over the same stretch—a sharp divergence in traction.

    The regression angle complicates Calgary's near-term outlook. The Flames' PDO of 0.985 means they're running below neutral, the kind of small-sample penalty that typically corrects. Philadelphia's PDO of 1.008 sits slightly warm, making the xG advantage all the more credible: they're not hiding behind lucky bounces.

    Watch the goaltending situation. D. Vladar faces a back-to-back, opening the door to a backup start or a tired starter. D. Cooley is also on a back-to-back with the same exposure.

    The Flames will lean on Blake Coleman (16 goals, 0.89 xG per 60 minutes, 2 high-danger goals) and Matt Coronato (10 goals, 0.80 xG per 60, 6.6% shooting percentage). Owen Tippett leads Philadelphia at 19 goals and 0.88 xG per 60 with 2 high-danger goals, while Christian Dvorak (12 goals, 0.81 xG per 60, 3 high-danger goals) operates as a secondary threat.

    What the model said beforehand

    The model's lean

    PHI 55%
    55%
    PHI
    Model favorite
    45%
    55%
    CGY50PHI

    PHI by 10 points of win probability — a modest lean. Projected score CGY 2.3–2.6 PHI; 19% 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 →PHI
    47.0%51.0%
    49.0%48.0%
    2.362.26
    2.662.20
    1.761.96
    2.151.82
    0.9851.008

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

    Source · NHL stats API + our xG · 5v5
    Form · Last 10
    CGY
    1-7-2
    -13 GD · 1d rest
    PHI
    6-3-1
    +4 GD · 1d rest
    0.985
    CGY PDO
    Luck gauge · drifts to 1.000
    1.008
    PHI PDO
    Luck gauge · drifts to 1.000
    What decides it

    Keys to the game

    Where the edges live
    • The Flyers own the underlying play — 51.0% 5v5 xG vs 47.0%.
    Regression watch
    • The Flames' PDO is 0.985 — running cold, due for positive regression.
    Things to watch
    • The Flyers own the underlying play — 51.0% 5v5 xG vs 47.0%.
    • D. Vladar is on a back-to-back — watch for a backup start or a tired starter.
    • D. Cooley is on a back-to-back — watch for a backup start or a tired starter.
    • The Flyers are the hotter team by points pace (6-3-1 in their last 10).
    • The Flames are underwater at -13 goal differential over their last 10.
    • The Flames' PDO is 0.985 — running cold, due for positive regression.
    Last game's lineup · confirmed at warm-up

    Lineups

    NHL box score
    CGY
    Expected in goal
    D. Cooley
    back-to-back1.000 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.

    PHI
    Expected in goal
    D. Vladar
    back-to-back.789 last start
    Backup Dan Vladar · +13.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
    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
    PHI
    Owen Tippett19G 18A
    0.88 xG/60 · 2 HD · 12.1% sh
    Christian Dvorak12G 21A
    0.81 xG/60 · 3 HD · 11.2% sh
    Keep going

    Where to next