Motion-blurred skater in a Vancouver Canucks sweater
Breakdown · CGY at VAN

Canucks pull away from the Flames

The verdict · stolen

The Canucks stole one. They lost the expected-goals battle 2.80–2.27 and won anyway.

CGY 1 · VAN 5
◆ By the ModelJun 16, 2:20 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

Vancouver's 5–1 rout of Calgary masks a profound imbalance: the Flames dominated expected goals 55–45 at 5v5, yet the Canucks outscored them by four. The scoreboard and the underlying play diverged sharply.

This was goaltending's doing. T. Demko (VAN) stopped 1.80 goals above expected, a standout salvage operation on 18 shots faced. D. Wolf (CGY) surrendered 2.73 goals above expected—a cavernous gap between his 0.808 save percentage and the chances he faced. Demko's interventions tilted a game Calgary nearly controlled.

The Canucks held 59% of shot attempts (26–18 on goal), a clean volume edge, yet expected goals told a different story: their chances weren't dangerous. High-danger opportunities tied at 4–4. Vancouver still escaped with a rout, powered by finishing that outpaced reality—they overperformed their xG by 2.73 goals. Calgary's failure mirrored the inverse: underperformance by 1.80 goals. Low-danger conversions carried the weight.

Brock Boeser's snap shot from the top of the circles (P3, 17:06) proved pivotal, inflecting a tighter contest into a blowout.

The Canucks' offensive edge came on the rush: four goals from 25 chances, a tactical advantage Calgary couldn't neutralize. Net-front crashes paid dividends too—Vancouver created four rebound opportunities and converted one, disciplined work in tight space. F. Chytil's two goals (16:25) led the assault, with C. Garland (18:22) and J. Farabee (17:53) providing secondary support.

Calgary's breakdown runs deeper than the final margin suggests. The Flames controlled play, generated quality chances, and still exited with one goal. When a team outplays its opponent at the shot-quality level and loses decisively anyway, the culprit isn't dominance—it's execution failure. Vancouver made their moments count. Calgary wasted theirs. Demko's brilliance widened the canyon.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Oct 9
CGY
1
VAN
5

Canucks pull away from the Flames

Chances 2.8 – 2.3Did they deserve it? →
Did they deserve it?

The Flames deserved better.

Expected goals · chance value
CGY
2.80
VAN
2.27
55% of the chances45%

The board read CGY 1, VAN 5. The chances read CGY 2.8, VAN 2.3.

Our xG model · NHL play-by-play · all situations
Luck check
VAN
+2.7
goals above expected
VAN2.27 expected · 5 scored
Expected
Scored
CGY2.80 expected · 1 scored
Expected
Scored

The Canucks scored 2.7 more than their chances were worth. That does not repeat.

PDO = sh% + sv% · drifts to 1.000 over a season
Every goal, in order
  1. P1 14:53VANK. Sherwood0–1
  2. P3 02:54VANF. Chytil0–2
  3. P3 08:53VANF. Chytil0–3
  4. P3 11:43VANJ. Lekkerimäki0–4
  5. P3 13:06CGYM. Frost1–4
  6. P3 17:06VANB. Boeser1–5
NHL play-by-play · chance value from our xG model
Where the shots came from
CGY
36 shots
1
Final
74 shots
VAN
38 shots
5
CGY attackVAN attack
CGY VAN Goal
36
shots · 1 in
38
shots · 5 in
Every unblocked shot · press play to replay it
Chances by danger
CGYVAN
0 / 4
0.91 xG
High danger
1 / 4
0.87 xG
1 / 12
1.47 xG
Medium
1 / 9
0.79 xG
0 / 39
0.42 xG
Low
3 / 33
0.61 xG

The Flames went 0 for 4 from the slot.

Danger tiers by our xG model · high ≥ 20% chance
In the net
A
T. Demko
+1.8
VAN · 17/18
F
D. Wolf
−2.7
CGY · 21/26
The numbers, checked
BACKCHECK

Canucks pull away from 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 6–8
  1. 14:53VANK. Sherwood(D. O'Connor)0–1
2ndshots 7–8no goals
    3rdshots 5–10
    1. 02:54VANF. Chytil0–2
    2. 08:53VANF. Chytil(A. Bains)0–3
    3. 11:43VANJ. Lekkerimäki(E. Kane, C. Garland)0–4
    4. 13:06CGYM. Frost(Y. Sharangovich, J. Farabee)1–4
    5. 17:06VANB. Boeser(E. Pettersson, J. DeBrusk)1–5

    score reads CGY–VAN

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

    The numbers

    XGBoost xG · NHL play-by-play
    2.27
    VAN chances
    Goals their shots were worth
    +2.7
    Finishing
    Goals above what those chances were worth
    1.091
    VAN puck luck
    Above 1.000 — the bounces went their way
    45.5%
    Shot attempts
    Under half — they were outshot
    Split by club

    Who controlled the game

    2.80Expected goals2.27
    CGY 55% of the chance quality
    18Shots on goal26
    4High-danger chances4
    55All attempts (Corsi)46
    Adjusted for score: CGY 59% · VAN 41%
    Faceoffs · VAN won50%off37%neu46%def
    Source · NHL play-by-play · XGBoost xG
    How the game was won

    The danger ladder

    shotsgoalsexpected
    High dangerslot & crease
    CGY0 / 4 · 0.91 xG
    VAN1 / 4 · 0.87 xG
    Medium dangermid-range
    CGY1 / 12 · 1.47 xG
    VAN1 / 9 · 0.79 xG
    Low dangerperimeter & point
    CGY0 / 39 · 0.42 xG
    VAN3 / 33 · 0.61 xG

    VAN went 3-for-33 from low danger on 0.61 expected goals — 2.4 above expected.

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

    Finishing vs expected

    expectedactual
    CGY
    1 G · 2.80 xG · -1.8
    VAN
    5 G · 2.27 xG · +2.7
    0123456

    CGY finished -1.8 against expected, VAN +2.7.

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

    Shot diet

    goalsshots
    CGY
    WRIST0/23
    SNAP1/7
    TIP IN0/2
    SLAP0/1
    DEFLECTED0/2
    BACKHAND0/1
    OTHER0/19
    VAN
    WRIST4/8
    SNAP1/23
    TIP IN0/2
    SLAP0/3
    DEFLECTED0/1
    BACKHAND0/1
    OTHER0/8
    CGY
    VAN
    Off the rush
    1 G on 20
    1.97 xG
    4 G on 25
    1.36 xG
    Off rebounds
    0 G on 2
    0.36 xG
    1 G on 4
    0.60 xG

    Wrist shots carried the volume: CGY went 0-for-23, VAN 4-for-8. VAN scored 4 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. Wolf
    CGY · 21/26 · .808
    -2.7
    saved above expected
    F
    the night
    By dangerG/attxGsaved
    High danger1/40.9-0.1
    Medium1/90.8-0.2
    Low3/330.6-2.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

    T. Demko
    VAN · 17/18 · .944
    +1.8
    saved above expected
    A
    the night
    By dangerG/attxGsaved
    High danger0/40.9+0.9
    Medium1/121.5+0.5
    Low0/390.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

    74 shots · press play to watch the game back

    Where the shots came from

    NHL play-by-play coordinates
    CGY
    36 shots
    1
    Final
    74 shots
    VAN
    38 shots
    5
    CGY attackVAN attack
    CGY VAN Goal

    Each club shoots toward its own end — CGY left, VAN 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
    F. Chytil
    #72 · C · —
    2 G · 0 A · 5 SOG · 16:25 on ice · +2
    C. Garland
    #8 · R · —
    0 G · 1 A · 1 SOG · 18:22 on ice · +2
    J. Farabee
    #86 · L · —
    0 G · 1 A · 0 SOG · 17:53 on ice · +1
    Ranked from the box score — points first · Backcheck
    What the model said beforehand

    Before the game

    Written Thu, Oct 9
    Open the pre-game read
    Written from the numbers

    The read

    Edited for clarity
    ◆ By the ModelSep 22, 12:29 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 CGY 3.2 - 3.2 VAN game with the Flames at 50% win probability. These teams are evenly matched because their play-driving numbers are nearly identical and their regression debt runs in opposite directions.

    Calgary's xG% and Corsi% are 46.5% and 49.2%; Vancouver's are 44.0% and 46.9%. Statistically, Calgary has edged ahead in puck possession and shot quality, but not by enough to separate them. Then add the variance layer: Calgary's PDO is 0.984, Vancouver's 0.974. Both are running cold, meaning Calgary's players are finishing below their expected output and Vancouver's are missing more than their shot generation should predict. One team's positive regression comes at the other's expense.

    The matchup that will decide this game lives in player execution. Blake Coleman (16G, 0.89 xG/60, 2 HD goals, 11.4% shooting) is Calgary's primary weapon, beating his expected-goal rate through volume and efficiency; Vancouver's shutdown assignment must contain him. Filip Chytil (3G 0A, 1.03 xG/60, 1 HD goal) leads Vancouver at 15.0% shooting—an unsustainable pace that regresses toward his underlying model. Calgary's defense will test whether Chytil can maintain that conversion rate.

    The secondary battle trends Calgary. Matt Coronato (0.80 xG/60, 10G 16A, 6.6% shooting) is also over-shooting his expected output, while Drew O'Connor (0.85 xG/60, 13G 11A, 3 HD goals, 11.8% shooting) sits closer to his long-run conversion. In a game this tightly calibrated, whichever team converts high-danger chances first will pull ahead.

    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

    CGY 50%
    50%
    CGY
    Model favorite
    50%
    50%
    CGY50VAN

    CGY by 0 points of win probability — effectively a coin flip. Projected score CGY 3.2–3.2 VAN; 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 →VAN
    46.5%44.0%
    49.2%46.9%
    2.852.78
    3.283.54
    2.542.56
    3.123.83
    0.9840.974

    CGY holds 5 of 6 process categories — and the luck row (0.984 vs 0.974) says CGY 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
    VAN
    0-0-0
    +0 GD · 0d rest
    0.984
    CGY PDO
    Luck gauge · drifts to 1.000
    0.974
    VAN PDO
    Luck gauge · drifts to 1.000
    What decides it

    Keys to the game

    TACTICALVAN

    Shutdown Assignment: Canucks

    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 Filip Chytil (3G, 1.03 xG/60, 1 HD goals)

    Key matchup: Neutralize Filip Chytil (3G, 1.03 xG/60, 1 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.

    WARNINGVAN

    Exploitable minutes: Victor Mancini

    Victor Mancini is on ice for 3.25 xGA/60 and 15 high-danger shots against this season.

    Hunt matchups against Victor Mancini's shifts with the top line.

    Regression watch
    • The Canucks' PDO is 0.974 — running cold, due for positive regression.
    • The Flames' PDO is 0.984 — running cold, due for positive regression.
    Things to watch
    • The Canucks' PDO is 0.974 — 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
    VAN
    Filip Chytil3G 0A
    1.03 xG/60 · 1 HD · 15.0% sh
    Drew O'Connor13G 11A
    0.85 xG/60 · 3 HD · 11.8% sh
    Keep going

    Where to next