Motion-blurred skater in a Seattle Kraken sweater
Breakdown · CGY at SEA

Kraken pull away from the Flames

The verdict · earned

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

CGY 1 · SEA 4
◆ By the ModelJul 12, 11:24 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

Seattle won 4-1, but the game's real victor was N. Kokko. The goalie made the difference: 26/27 saves, 0.963 SV%, stopping 1.75 goals above expected. D. Cooley stopped 17/20 at 0.850 SV% (0.51 above expected), which was competent but couldn't stem Calgary's waste. The Flames underperformed their xG by 1.75 goals—quality chances went unconverted.

Seattle's edge was structural. They controlled 56% of 5v5 expected goals (3.51–2.75) and dominated high-danger chances 5–4. Yet Calgary outshot them 27–21. The discrepancy reveals what happened: Calgary had volume; Seattle had precision. On the rush specifically, Seattle was lethal—3 goals on 29 rush chances, a 10% conversion rate that punctures close games.

The third period broke open at 18:31 when Jordan Eberle uncorked a wrist shot from the wing. After that, the Flames had no answers.

Kokko's dominance masks what might otherwise read as a comfortable win. Calgary's underlying numbers (2.75 xG) are respectable—they weren't outplayed wholesale. They lost because their goalie gave up what he shouldn't have, and Seattle's goalie stopped what he had to. That's how 4-1 games happen.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Apr 11
CGY
1
SEA
4

Kraken pull away from the Flames

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

The Kraken earned this one.

Expected goals · chance value
CGY
2.75
SEA
3.51
44% of the chances56%

The board read CGY 1, SEA 4. The chances read CGY 2.8, SEA 3.5.

Our xG model · NHL play-by-play · all situations
Luck check
SEA
+0.5
goals above expected
SEA3.51 expected · 4 scored
Expected
Scored
CGY2.75 expected · 1 scored
Expected
Scored

The Flames left 1.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. P2 01:11CGYH. Brzustewicz1–0
  2. P2 02:05SEAF. Gaudreau1–1
  3. P2 13:16SEAC. Stephenson1–2
  4. P2 19:55SEAM. Beniers1–3
  5. P3 18:31SEAJ. EberleEN1–4
NHL play-by-play · chance value from our xG model
Where the shots came from
CGY
41 shots
1
Final
78 shots
SEA
37 shots
4
CGY attackSEA attack
CGY SEA Goal
41
shots · 1 in
37
shots · 4 in
Every unblocked shot · press play to replay it
Chances by danger
CGYSEA
0 / 4
1.08 xG
High danger
1 / 5
1.53 xG
1 / 8
1.06 xG
Medium
2 / 14
1.61 xG
0 / 41
0.61 xG
Low
1 / 36
0.37 xG

The Flames went 0 for 4 from the slot.

Danger tiers by our xG model · high ≥ 20% chance
In the net
A
N. Kokko
+1.8
SEA · 26/27
B
D. Cooley
+0.5
CGY · 17/20
The numbers, checked
BACKCHECK

Kraken 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 12–6no goals
    2ndshots 4–8
    1. 01:11CGYH. Brzustewicz(M. Coronato, O. Maatta)1–0
    2. 02:05SEAF. Gaudreau(K. Kakko, J. McCann)1–1
    3. 13:16SEAC. Stephenson(V. Dunn, J. Schwartz)1–2
    4. 19:55SEAM. Beniers(R. Evans, J. Oleksiak)1–3
    3rdshots 11–7
    1. 18:31SEAJ. Eberleempty net(R. Evans)1–4

    score reads CGY–SEA

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

    The numbers

    XGBoost xG · NHL play-by-play
    3.51
    SEA chances
    Goals their shots were worth
    +0.5
    Finishing
    Goals above what those chances were worth
    1.054
    SEA puck luck
    Above 1.000 — the bounces went their way
    50.9%
    Shot attempts
    Over half — they had the puck more
    Split by club

    Who controlled the game

    2.75Expected goals3.51
    SEA 56% of the chance quality
    27Shots on goal21
    4High-danger chances5
    53All attempts (Corsi)55
    Adjusted for score: CGY 52% · SEA 48%
    Faceoffs · SEA won50%off29%neu57%def
    Source · NHL play-by-play · XGBoost xG
    How the game was won

    The danger ladder

    shotsgoalsexpected
    High dangerslot & crease
    CGY0 / 4 · 1.08 xG
    SEA1 / 5 · 1.53 xG
    Medium dangermid-range
    CGY1 / 8 · 1.06 xG
    SEA2 / 14 · 1.61 xG
    Low dangerperimeter & point
    CGY0 / 41 · 0.61 xG
    SEA1 / 36 · 0.37 xG

    CGY went 0-for-4 from high danger on 1.08 expected goals — 1.1 left on the table.

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

    Finishing vs expected

    expectedactual
    CGY
    1 G · 2.75 xG · -1.8
    SEA
    4 G · 3.51 xG · +0.5
    012345

    CGY finished -1.8 against expected, SEA +0.5.

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

    Shot diet

    goalsshots
    CGY
    WRIST1/34
    TIP IN0/2
    SNAP0/1
    BACKHAND0/2
    SLAP0/2
    OTHER0/12
    SEA
    WRIST4/21
    TIP IN0/7
    SNAP0/5
    BACKHAND0/3
    SLAP0/1
    OTHER0/18
    CGY
    SEA
    Off the rush
    0 G on 24
    2.26 xG
    3 G on 29
    2.59 xG
    Off rebounds
    1 G on 2
    0.30 xG
    0 G on 1
    0.27 xG

    Wrist shots carried the volume: CGY went 1-for-34, SEA 4-for-21. SEA scored 3 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 · 17/20 · .850
    +0.5
    saved above expected
    B
    the night
    By dangerG/attxGsaved
    High danger1/51.5+0.5
    Medium2/141.6-0.4
    Low1/360.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

    N. Kokko
    SEA · 26/27 · .963
    +1.8
    saved above expected
    A
    the night
    By dangerG/attxGsaved
    High danger0/41.1+1.1
    Medium1/81.1+0.1
    Low0/410.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

    78 shots · press play to watch the game back

    Where the shots came from

    NHL play-by-play coordinates
    CGY
    41 shots
    1
    Final
    78 shots
    SEA
    37 shots
    4
    CGY attackSEA attack
    CGY SEA Goal

    Each club shoots toward its own end — CGY left, SEA 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. Evans
    #41 · D · SEA
    0 G · 2 A · 0 SOG · 19:26 on ice · +2
    O. Maatta
    #3 · D · CGY
    0 G · 1 A · 0 SOG · 23:06 on ice · -1
    M. Beniers
    #10 · C · SEA
    1 G · 0 A · 3 SOG · 21:16 on ice · +1
    Ranked from the box score — points first · Backcheck
    What the model said beforehand

    Before the game

    Written Sat, Apr 11
    Open the pre-game read
    Written from the numbers

    The read

    Edited for clarity
    ◆ By the ModelJul 12, 11:23 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 sees no clear favorite here. MoneyPuck projects a 2.4–2.5 goal game with the Kraken at 52% win probability—a genuine coin flip by any measure.

    Calgary's recent form suggests they should be favored. The Flames are 5-3-2 in their last 10 games, while Seattle's trailing at -19 goal differential over the same span. But season-long underlying metrics complicate that story. Calgary owns a 49.0% Corsi and 47.0% xG%, outpacing Seattle in both measures, and they'll likely win the territorial battle. Yet their 0.985 PDO reveals they're running cold—shooting and save percentages both depressed from sustainable levels. That kind of luck reverses.

    Seattle has the opposite problem. At 1.011, their PDO is inflated. They're outperforming expected performance, and regression looms.

    Both teams have goaltending questions. J. Daccord and D. Wolf are each on back-to-backs. Watch for tired starters or unexpected lineup changes—fresh legs at the blue paint could shift momentum in a tight game.

    The focal point is the star-power matchup: Blake Coleman for Calgary versus Shane Wright for Seattle. Coleman's 0.89 expected goals per 60 and 11.4% shooting efficiency (16 goals) signal an elite converter; Wright generates fewer chances (0.77 xG/60) but lands in high-danger areas (4 this season) at 10.4% efficiency (8 goals). Matt Coronato provides Calgary secondary scoring (10 goals at 6.6% shooting), and Berkly Catton does the same for Seattle (6 goals at 8.8%, with 5 high-danger chances) to round out the skill tiers.

    Calgary's defensive liability is Coronato. Seattle's is Chandler Stephenson. Both teams have yet to cash a high-danger or rebound goal—0% on both—so whoever first breaks through those scoring droughts controls the tilt.

    What the model said beforehand

    The model's lean

    SEA 52%
    52%
    SEA
    Model favorite
    48%
    52%
    CGY50SEA

    SEA by 4 points of win probability — effectively a coin flip. Projected score CGY 2.4–2.5 SEA; 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 →SEA
    47.0%46.0%
    49.0%45.0%
    2.362.13
    2.662.51
    1.761.87
    2.151.95
    0.9851.011

    The season numbers split 3–3 — no clear process edge — and the luck row (0.985 vs 1.011) says SEA has been getting the bounces, which tends not to last.

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

    Keys to the game

    Where the edges live
    • The Flames drive Corsi at 49.0% — expect territorial tilt.
    Regression watch
    • The Flames' PDO is 0.985 — running cold, due for positive regression.
    Things to watch
    • The Flames drive Corsi at 49.0% — expect territorial tilt.
    • J. Daccord is on a back-to-back — watch for a backup start or a tired starter.
    • D. Wolf is on a back-to-back — watch for a backup start or a tired starter.
    • The Flames are the hotter team by points pace (5-3-2 in their last 10).
    • The Kraken are underwater at -19 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. Wolf
    back-to-back.950 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.

    SEA
    Expected in goal
    J. Daccord
    back-to-back.914 last start
    Backup Joey Daccord · -6.2 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
    SEA
    Shane Wright8G 10A
    0.77 xG/60 · 4 HD · 10.4% sh
    Berkly Catton6G 8A
    0.68 xG/60 · 5 HD · 8.8% sh
    Keep going

    Where to next