Team Stats
2020–21 Regular Season*
* 56-game season, played in realigned divisions during the COVID-19 pandemic.
All-time is where 2020–21 ranks among Sabres regular seasons, as a percentile: GF, GA and DIFF since 1970–71 (55 seasons), PP% and PK% since 1977–78 (48), FO% since 1997–98 (28), S% (5v5) and SV% (5v5) since 2009–10 (17). GF, GA and DIFF are relative to each season's league scoring. Higher is better, GA included.
Skater Scatter
Any two stats, one dot per skater. What is xG?
Dot size is ice time per game. Above the dashed line: more Goals than xG. Shaded: ±1 SD of finishing luck. Dotted ring: goals more than 2 SD from xG, past finishing luck.
32 skaters shown, 1 off the plot (no xG or Goals value).
More cuts on the Stats Playground scatter.
Goalies: Goals Against vs xGA
Green: fewer goals against than expected. Red: more.
56 games.
Expected Goals
Season-to-date xG against goals, game by game. What is xG?
Running total, all situations. Ticks under the axis: green won, red lost.
Win DNA
Yes-or-no box-score traits, and how often the Sabres won with and without each. Correlation, not cause.
How this is measured
Every counting stat runs higher in a win (you score more when you win), so each game gets a yes-or-no question instead, and the win rate when yes is set against the win rate when no. The gap is the lift, in percentage points. A trait can be a symptom of a good night as much as a reason for one. Shot-attempt share (CF%) is left out: in a single game the trailing team piles up attempts, so out-attempting the opponent has gone with a lower win rate.
The wider the gap on an axis, the more that trait separates a win from a loss.
The totals the table above deliberately doesn't lead with. Goals and points from both positions climb in wins, but the defense's share of the offense barely moves, which is why the question is who else scored, not whether the D did.
Goal Differential Breakdown
Buffalo finished -62 over 56 games. Biggest pieces: even-strength shot volume -17.8, finishing -12.5.
| COMPONENT | GOALS | NOISE (ONE SD) | REPEATS |
|---|---|---|---|
| Even-strength shot volume | -17.8 | ±3.7 | Usually |
| Even-strength shot quality | -6.0 | n/a | Usually |
| Penalty differential | +1.0 | n/a | Sometimes |
| Power play efficiency | -2.8 | n/a | Usually |
| Penalty kill efficiency | -5.4 | n/a | Usually |
| Finishing | -12.5 | ±10.8 | Sometimes |
| Goaltending | -11.4 | ±12.0 | Sometimes |
| Goalie pulled | -7.0 | n/a | Not a skill |
| Unmodeled | -0.1 | n/a | n/a |
| Goal differential | -62 | n/a | n/a |
Repeats asks whether a team doing this in one half of a season keeps doing it in the other, league-wide.
How this is measured
- Even-strength shot volume
- Out-attempting opponents at even strength, with every unblocked attempt priced at the league's average even-strength shot for the season.
- Even-strength shot quality
- Getting better chances than opponents at even strength, beyond the attempt count.
- Penalty differential
- Discipline plus drawing: minutes up a skater minus minutes down, priced at the league's net xG per power-play minute.
- Power play efficiency
- Net xG on the power play above or below league-rate conversion of Buffalo's own power-play minutes, shorthanded chances conceded included.
- Penalty kill efficiency
- Net xG on the penalty kill above or below league-rate cost of Buffalo's own shorthanded minutes, shorthanded chances created included. Positive means fewer net chances conceded than the league would have.
- Finishing
- Goals scored above or below what Buffalo's chances were worth, goalie in the net.
- Goaltending
- Goals allowed below or above what opponents' chances were worth, goalie in the net.
- Goalie pulled
- Net goals with a goalie pulled: into an empty net, or by the extra attacker. Follows who was trailing late, not a skill of its own.
- Unmodeled
- Goals on shots the model could not score, plus any goal the shot list is missing.
- 134 for, 196 against, regulation and overtime; the rows sum to the goal differential before rounding.
- Built from 56 of 56 games with xG data; the official goal differential was -62.
- Even-strength volume is priced at the league's average even-strength attempt for the season (0.0582 xG in 2020-21), and penalty differential at the league's net xG per power-play minute (0.077), both measured over every game in the league with the same model. Over the games covered, Buffalo's own games averaged 0.0622 xG per even-strength attempt; quality is what remains of the even-strength xG gap after volume.
- Power-play and shorthanded minutes are read from the situation code on each play, both goalies in, which runs slightly above the official power-play figure because a penalty that expires between two plays is credited to the earlier state. The league rate per minute is priced on the same clock, so the two cancel.
- Regulation and overtime goals only. A shootout's deciding goal is not a shot the model sees and is left out.
- Shots at an empty net, and shots by a team with its own goalie pulled, count only as actual goals in the goalie-pulled bar. Both depend on who was trailing late, so they stay out of finishing, goaltending, special teams and even strength.
- Goaltending leaves out shots taken while the opponent's goalie was pulled; those count only under Goalie pulled. The Goalies table's GSAx counts every shot faced, so it reads -15.2 against -11.4 here.
- Whiskers on finishing and goaltending are one standard deviation of shot-outcome noise, each shot a coin flip weighted at its xG. The volume whisker is a Poisson approximation from the attempt counts. Quality, the three special-teams bars, goalie pulled and unmodeled carry no whisker.
- Repeats asks how much of a component carries from one half of a team's season to the other, measured league-wide over 2016-17 to 2025-26 (314 team-seasons) with the same model: a split-half correlation, corrected to full-season length. Usually is 0.6 and above, sometimes 0.3 to 0.6, rarely below 0.3. Even a full season of finishing is about one third signal and two thirds shot-outcome luck.
Line Combinations
Lines and pairs at 5v5 this season, summed over every game together. 56 of 56 games have shift data.
What do TOI, CF, xG% etc. mean?
- GP
- Games in which this exact line/pair shared the ice together at 5v5.
- TOI
- Time on ice together at 5v5, meaning the whole line/pair on the ice at once, not any one player's own total. Only the seconds that exact pair or trio was the unit count, which is why a pair's TOI and xG% here differ slightly from the WOWY table, where together counts every 5v5 second the two share, whoever else is on the ice.
- xGF / xGA
- Expected goals for/against while this combo was on the ice, from this site's own xG model.
- xG%
- Share of on-ice expected goals this combo earned: xGF / (xGF + xGA). The single best read on who controlled play.
- GF / GA
- Actual goals for/against while this combo was on the ice together.
- CF / CA (Corsi For / Against, Shot Attempts)
- "Corsi" is just the hockey-analytics name for total shot attempts: shots on goal, missed shots, and blocked shots combined, a volume proxy for who had the puck more. CF is this combo's own attempts, CA is the opponent's.
- CF%
- Share of on-ice shot attempts (Corsi) this combo earned: CF / (CF + CA).
- CF% Rel
- This combo's CF% minus the team's own CF% in the minutes this exact combo was NOT on the ice. Positive means the combo lifted the team's play; negative means it dragged it down.
- xGF% Rel
- This combo's xG% minus the team's own xG% in the minutes this exact combo was NOT on the ice. Positive means the combo lifted the team's expected-goals share; negative means it dragged it down.
- FF / FA
- Unblocked shot attempts (also called Fenwick): shots on goal plus misses, excluding blocks. One layer closer to real scoring chances than CF/CA.
- SF / SA
- Shots on goal for/against while this combo was on the ice together.
- Minimum Ice Time
- Drag the slider on each table down to see combos with less shared ice time. Their percentages get noisier the lower you go, since a combo that barely played together can swing to 100% or 0% off a single shot.
| Line | GP | TOI ▾ | xGF | xGA | xG% | GF | GA | CF | CA | CF% | CF% Rel | xGF% Rel | FF | FA | SF | SA |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Asplund–Thompson–Mittelstadt | 17 | 176:59 | 6.33 | 6.29 | 50.1% | 5 | 6 | 132 | 171 | 43.6% | -3.3% | 5.6% | 112 | 148 | 89 | 113 |
| Skinner–Reinhart–Olofsson | 18 | 149:25 | 4.79 | 5.52 | 46.5% | 8 | 6 | 140 | 148 | 48.6% | 2.0% | 1.7% | 105 | 117 | 82 | 82 |
| Okposo–Eakin–Rieder | 20 | 136:17 | 3.65 | 7.36 | 33.2% | 3 | 8 | 101 | 147 | 40.7% | -6.3% | -12.5% | 78 | 121 | 59 | 88 |
| Sheahan–Skinner–Lazar | 17 | 128:11 | 3.01 | 3.30 | 47.7% | 4 | 4 | 104 | 114 | 47.7% | 1.0% | 2.9% | 84 | 90 | 51 | 60 |
| Line | GP | TOI ▾ | xGF | xGA | xG% | GF | GA | CF | CA | CF% | CF% Rel | xGF% Rel | FF | FA | SF | SA |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Jokiharju–Dahlin | 35 | 432:19 | 14.35 | 13.50 | 51.5% | 18 | 17 | 374 | 391 | 48.9% | 2.6% | 7.8% | 293 | 318 | 233 | 227 |
| Miller–Dahlin | 27 | 269:25 | 7.58 | 7.16 | 51.4% | 4 | 18 | 230 | 220 | 51.1% | 4.9% | 7.0% | 168 | 179 | 114 | 131 |
| Ristolainen–Bryson | 23 | 261:45 | 5.49 | 10.09 | 35.2% | 9 | 11 | 187 | 256 | 42.2% | -4.9% | -10.7% | 142 | 211 | 92 | 158 |
| Ristolainen–Samuelsson | 12 | 171:15 | 5.18 | 6.67 | 43.7% | 2 | 12 | 122 | 184 | 39.9% | -7.3% | -1.3% | 99 | 149 | 78 | 112 |
| Miller–Montour | 28 | 146:46 | 3.27 | 4.09 | 44.4% | 3 | 5 | 112 | 139 | 44.6% | -2.2% | -0.6% | 89 | 101 | 68 | 69 |
| McCabe–Ristolainen | 10 | 138:38 | 4.12 | 3.93 | 51.2% | 8 | 4 | 127 | 103 | 55.2% | 8.9% | 6.5% | 95 | 81 | 66 | 62 |
| Montour–Jokiharju | 17 | 127:42 | 4.40 | 5.10 | 46.3% | 4 | 3 | 110 | 134 | 45.1% | -1.7% | 1.4% | 86 | 99 | 65 | 69 |
| Montour–Dahlin | 23 | 124:33 | 3.99 | 5.36 | 42.7% | 2 | 5 | 104 | 120 | 46.4% | -0.3% | -2.4% | 86 | 95 | 68 | 69 |
With or Without You
Buffalo's 5v5 CF% and xGF% with Dahlin on the ice, with and without each teammate. Δ is together minus apart. That gap is always measured from the named player's side, so the same pair can read positive on one player's table and negative on the other's. 2020–21 regular season, minimum 20:00 together. Together counts every 5v5 second the two share, whoever else is on the ice, so a pair's time and xGF% here differ slightly from the Line Combinations table, which counts only the seconds that exact pair or trio was the unit. 56 of 56 games have shift data.
| Teammate | TOGETHER | DAHLIN APART | IMPACT | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| TOI Together ▾ | CF% | xGF% | CF% | xGF% | Δ CF% | Δ xGF% | ||||
| Jokiharju | 433:41 | 49.1% | 51.6% | 48.6% | 46.1% | +0.5 | +5.5 | |||
| Reinhart | 316:52 | 50.8% | 46.2% | 47.9% | 49.6% | +2.9 | -3.4 | |||
| Olofsson | 289:26 | 48.0% | 41.6% | 49.2% | 51.4% | -1.2 | -9.8 | |||
| Miller | 271:02 | 50.9% | 51.2% | 48.1% | 47.7% | +2.8 | +3.5 | |||
| Skinner | 234:40 | 53.6% | 54.9% | 47.3% | 46.6% | +6.3 | +8.3 | |||
| Mittelstadt | 191:34 | 48.3% | 54.4% | 48.9% | 47.1% | -0.6 | +7.3 | |||
| Hall | 187:47 | 54.3% | 48.2% | 47.4% | 48.7% | +6.9 | -0.5 | |||
| Sheahan | 181:07 | 47.4% | 52.2% | 49.2% | 47.7% | -1.8 | +4.5 | |||
| Cozens | 170:39 | 48.9% | 44.8% | 48.8% | 49.6% | +0.1 | -4.8 | |||
| Thompson | 169:44 | 44.9% | 51.8% | 49.7% | 47.7% | -4.8 | +4.1 | |||
| Eichel | 144:36 | 53.0% | 45.0% | 48.1% | 49.0% | +4.9 | -4.0 | |||
| Eakin | 142:59 | 44.2% | 44.3% | 49.6% | 49.2% | -5.4 | -4.9 | |||
| Rieder | 142:00 | 47.4% | 45.6% | 49.1% | 49.0% | -1.7 | -3.4 | |||
| Staal | 134:53 | 49.6% | 41.0% | 48.7% | 50.2% | +0.9 | -9.2 | |||
| Asplund | 126:21 | 47.7% | 56.0% | 49.0% | 47.3% | -1.3 | +8.7 | |||
| Montour | 125:20 | 45.7% | 42.0% | 49.3% | 49.7% | -3.6 | -7.7 | |||
| Okposo | 118:19 | 44.3% | 44.2% | 49.4% | 49.1% | -5.1 | -4.9 | |||
| Lazar | 103:25 | 46.1% | 46.3% | 49.1% | 48.8% | -3.0 | -2.5 | |||
| Ristolainen | 85:24 | 45.5% | 37.2% | 49.2% | 50.1% | -3.7 | -12.9 | |||
| Bjork | 77:17 | 44.3% | 60.2% | 49.2% | 47.7% | -4.9 | +12.5 | |||
| Ruotsalainen | 75:26 | 47.1% | 49.9% | 49.0% | 48.4% | -1.9 | +1.5 | |||
| Caggiula | 51:23 | 51.9% | 67.2% | 48.6% | 47.5% | +3.3 | +19.7 | |||
| Fogarty | 30:57 | 51.4% | 46.2% | 48.8% | 48.6% | +2.6 | -2.4 | |||
Shift Profile
Shift length and on-ice results, 2020–21 regular season. Empty-net goals against are left out. 56 of 56 games have shift data.
What do Short %, Hemmed-In Shifts, Long-Change Gap etc. mean?
- GP (shifts)
- Games in which the NHL shift chart has rows for this skater. It can read lower than the games played in the Skaters table, because a game with no usable shift chart is left out of every column here.
- Short / Long
- "Short" is a skater's shifts under 0:45; "Long" is their shifts of 1:00 or more. Short % / Long % is the share of all their shifts that fall in that range.
- CF% (short) / CF% (long)
- Shot-attempt share (Corsi) specifically during a skater's own short shifts versus their own long shifts. Compares whether they generate or allow more when the shift is quick versus when it drags on.
- GF-GA (long)
- Goals for minus goals against specifically during a skater's shifts of 1:00 or more. A single-game or short-series number here is a very small sample; look for it to hold up across a season.
- PP Shifts / PK Shifts
- Number of shifts a skater started while their team had a power play or was shorthanded, tagged by the strength in effect at the moment they stepped on the ice.
- Long-Change Gap
- This skater's average 2nd-period shift length minus the average of their 1st and 3rd. Positive means their shifts really do run longer in the 2nd, but that period is the "long change" (the bench sits at center ice, so whichever team is defending the far end can't change on the fly as easily), so a positive gap isn't automatically fatigue.
- Hemmed-In Shifts
- Even-strength shifts in which the unit was on for more than 60 seconds of unbroken play: no whistle came, so they could not change. The number in parentheses is how many of those only ended at a whistle. Most of such a shift is ordinary play: the first minute looks like any other stretch of the game, and only the time past it tilts hard toward the defending end (the game page counts that as pinned time). Shift length is an outcome here, not a cause, so this column says nothing about why a goal went in.
- Short-Rest Shifts
- Even-strength shifts a skater started after less than 45 seconds on the bench, same period only (an intermission is a full rest). Power-play and penalty-kill units legitimately take long shifts and short rests, so both of these columns leave them out.
| Player | GP (shifts) | Shifts ▾ | Avg Shift | Short % | Long % | CF% (short) | CF% (long) | GF-GA (long) | PP Shifts | PK Shifts | Long-Change Gap | Hemmed-In Shifts | Short-Rest Shifts |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| R. Dahlin | 56 | 1242 | 0:58 | 29.5% | 44.6% | 41.6% | 60.3% | +9 | 125 | 37 | +6s | 262 (49 to whistle) | 73 |
| S. Reinhart | 54 | 1195 | 0:53 | 37.1% | 33.0% | 49.3% | 61.3% | +4 | 127 | 26 | +2s | 198 (38 to whistle) | 67 |
| R. Ristolainen | 49 | 1193 | 0:55 | 35.1% | 35.1% | 45.3% | 40.0% | +2 | 114 | 132 | +4s | 185 (41 to whistle) | 53 |
| V. Olofsson | 56 | 1158 | 0:50 | 41.7% | 28.2% | 50.7% | 63.4% | +8 | 136 | 24 | +1s | 149 (31 to whistle) | 37 |
| C. Miller | 48 | 1022 | 0:51 | 40.3% | 31.2% | 43.7% | 47.9% | +4 | 73 | 80 | +4s | 171 (41 to whistle) | 41 |
| J. Skinner | 53 | 990 | 0:47 | 47.2% | 25.6% | 52.2% | 52.4% | -1 | 105 | 16 | +2s | 148 (29 to whistle) | 45 |
| R. Sheahan | 53 | 982 | 0:43 | 54.9% | 17.2% | 40.0% | 28.9% | -1 | 20 | 178 | +2s | 79 (16 to whistle) | 31 |
| H. Jokiharju | 46 | 974 | 0:52 | 37.1% | 33.8% | 40.5% | 47.4% | +2 | 34 | 71 | +3s | 169 (39 to whistle) | 53 |
| B. Montour | 38 | 879 | 0:53 | 34.0% | 36.2% | 45.0% | 41.7% | -4 | 39 | 100 | +1s | 185 (46 to whistle) | 60 |
| C. Eakin | 46 | 848 | 0:42 | 55.1% | 14.2% | 40.0% | 27.1% | -4 | 28 | 125 | +2s | 65 (13 to whistle) | 24 |
| C. Mittelstadt | 41 | 845 | 0:46 | 48.5% | 22.8% | 48.7% | 57.0% | 0 | 93 | 36 | +1s | 98 (20 to whistle) | 30 |
| J. Bryson | 38 | 823 | 0:53 | 35.0% | 31.6% | 42.7% | 36.1% | +2 | 38 | 96 | +7s | 122 (32 to whistle) | 23 |
| T. Hall | 37 | 816 | 0:51 | 42.4% | 30.1% | 48.7% | 68.6% | +8 | 92 | 16 | +2s | 124 (24 to whistle) | 47 |
| D. Cozens | 41 | 755 | 0:47 | 45.2% | 24.0% | 48.6% | 49.3% | -5 | 82 | 15 | +3s | 94 (26 to whistle) | 26 |
| T. Rieder | 44 | 748 | 0:43 | 54.3% | 15.5% | 40.2% | 29.5% | -3 | 20 | 110 | +2s | 62 (10 to whistle) | 16 |
| T. Thompson | 38 | 699 | 0:45 | 48.1% | 19.9% | 49.1% | 45.5% | -1 | 77 | 13 | +3s | 85 (16 to whistle) | 18 |
| K. Okposo | 35 | 651 | 0:45 | 49.9% | 18.7% | 46.8% | 38.3% | -1 | 45 | 53 | +4s | 70 (15 to whistle) | 23 |
| E. Staal | 32 | 636 | 0:47 | 44.8% | 23.4% | 54.0% | 55.4% | -1 | 62 | 17 | +1s | 79 (17 to whistle) | 19 |
| C. Lazar | 33 | 624 | 0:43 | 54.6% | 17.1% | 39.9% | 27.9% | -5 | 13 | 118 | -1s | 56 (9 to whistle) | 19 |
| R. Asplund | 28 | 481 | 0:45 | 46.6% | 18.3% | 47.7% | 35.7% | -3 | 4 | 39 | +3s | 58 (13 to whistle) | 14 |
| J. Eichel | 21 | 479 | 0:54 | 36.1% | 33.6% | 50.3% | 70.9% | +6 | 52 | 13 | +2s | 83 (12 to whistle) | 32 |
| M. Irwin | 24 | 462 | 0:51 | 42.0% | 29.7% | 40.9% | 35.3% | -2 | 9 | 59 | +4s | 78 (20 to whistle) | 17 |
| A. Bjork | 15 | 309 | 0:50 | 42.1% | 31.7% | 43.8% | 38.2% | -1 | 9 | 36 | +4s | 65 (19 to whistle) | 12 |
| J. McCabe | 13 | 308 | 0:49 | 44.8% | 24.7% | 53.3% | 39.9% | 0 | 12 | 33 | +1s | 44 (8 to whistle) | 25 |
| A. Ruotsalainen | 17 | 307 | 0:46 | 44.6% | 24.8% | 46.3% | 42.6% | -2 | 32 | 6 | +5s | 51 (21 to whistle) | 11 |
| M. Samuelsson | 12 | 249 | 0:52 | 40.2% | 30.9% | 42.7% | 34.8% | -2 | 1 | 29 | +3s | 36 (11 to whistle) | 1 |
| W. Borgen | 10 | 212 | 0:46 | 50.0% | 21.2% | 42.9% | 36.6% | -3 | 4 | 22 | -1s | 26 (7 to whistle) | 7 |
| D. Caggiula | 11 | 178 | 0:46 | 43.8% | 20.2% | 44.7% | 42.3% | -2 | 8 | 14 | -4s | 23 (3 to whistle) | 3 |
| S. Fogarty | 9 | 147 | 0:43 | 50.3% | 16.3% | 41.1% | 25.0% | -1 | 4 | 7 | -1s | 20 (5 to whistle) | 6 |
| B. Davidson | 6 | 126 | 0:44 | 55.6% | 15.9% | 53.4% | 40.0% | -2 | 2 | 12 | +2s | 7 (2 to whistle) | 5 |
| B. Murray | 2 | 27 | 0:47 | 37.0% | 11.1% | 58.3% | 28.6% | 0 | 1 | 0 | +6s | 3 | 0 |
| C. Smith | 1 | 12 | 0:40 | 66.7% | 0.0% | 28.6% | – | 0 | 0 | 0 | +1s | 0 | 0 |
| J. Dea | 1 | 8 | 0:42 | 50.0% | 12.5% | 40.0% | 0.0% | -1 | 1 | 1 | -4s | 0 | 0 |
Skaters
| Player | No. | GP | G | A | PTS ▾ | +/- | PIM | PP | SH | GWG | SOG | G/60 | A/60 | P/60 | SOG/60 | S% | FO% | TOI/G | xG | xG/60 | GAx |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sam Reinhart | 23 | 54 | 25 | 15 | 40 | -28 | 10 | 10 | 0 | 5 | 130 | 1.42 | 0.85 | 2.27 | 7.39 | 19.2% | 45.6% | 19:32 | 15.6 | 0.89 | +9.4 |
| Victor Olofsson | 71 | 56 | 13 | 19 | 32 | -23 | 6 | 7 | 0 | 0 | 129 | 0.80 | 1.17 | 1.97 | 7.95 | 10.1% | 50.0% | 17:24 | 12.1 | 0.75 | +0.9 |
| Rasmus Dahlin | 26 | 56 | 5 | 18 | 23 | -36 | 26 | 1 | 0 | 0 | 115 | 0.25 | 0.89 | 1.14 | 5.70 | 4.3% | 0.0% | 21:36 | 6.8 | 0.34 | -1.8 |
| Casey Mittelstadt | 37 | 41 | 10 | 12 | 22 | -10 | 10 | 3 | 1 | 2 | 61 | 0.92 | 1.11 | 2.03 | 5.62 | 16.4% | 49.0% | 15:53 | 8.0 | 0.73 | +2.0 |
| Taylor Hall | 4 | 37 | 2 | 17 | 19 | -21 | 24 | 1 | 0 | 0 | 88 | 0.17 | 1.48 | 1.65 | 7.64 | 2.3% | 18.2% | 18:41 | 10.0 | 0.87 | -8.0 |
| Rasmus Ristolainen | 55 | 49 | 4 | 14 | 18 | -18 | 36 | 1 | 0 | 0 | 73 | 0.22 | 0.77 | 0.99 | 4.01 | 5.5% | 0.0% | 22:17 | 3.8 | 0.21 | +0.2 |
| Jack Eichel | 9 | 21 | 2 | 16 | 18 | -9 | 6 | 1 | 0 | 1 | 61 | 0.28 | 2.23 | 2.51 | 8.50 | 3.3% | 49.7% | 20:30 | 6.3 | 0.87 | -4.2 |
| Jeff Skinner | 53 | 53 | 7 | 7 | 14 | -11 | 14 | 1 | 0 | 0 | 111 | 0.55 | 0.55 | 1.09 | 8.65 | 6.3% | 46.7% | 14:31 | 11.7 | 0.91 | -4.7 |
| Brandon Montour | 62 | 38 | 5 | 9 | 14 | -13 | 24 | 0 | 2 | 0 | 72 | 0.38 | 0.69 | 1.08 | 5.54 | 6.9% | 0.0% | 20:32 | 3.5 | 0.27 | +1.5 |
| Tage Thompson | 72 | 38 | 8 | 6 | 14 | -6 | 17 | 2 | 0 | 0 | 96 | 0.91 | 0.68 | 1.59 | 10.93 | 8.3% | 25.0% | 13:52 | 11.1 | 1.26 | -3.1 |
| Kyle Okposo | 21 | 35 | 2 | 11 | 13 | -1 | 0 | 0 | 1 | 0 | 45 | 0.25 | 1.36 | 1.61 | 5.56 | 4.4% | 54.2% | 13:53 | 4.3 | 0.54 | -2.3 |
| Riley Sheahan | 8 | 53 | 4 | 9 | 13 | -8 | 8 | 0 | 1 | 0 | 44 | 0.34 | 0.77 | 1.11 | 3.74 | 9.1% | 50.9% | 13:18 | 3.4 | 0.29 | +0.6 |
| Dylan Cozens | 24 | 41 | 4 | 9 | 13 | -15 | 16 | 1 | 0 | 0 | 62 | 0.41 | 0.92 | 1.33 | 6.32 | 6.5% | 47.5% | 14:21 | 6.6 | 0.67 | -2.6 |
| Colin Miller | 33 | 48 | 4 | 8 | 12 | -20 | 27 | 1 | 0 | 0 | 64 | 0.28 | 0.56 | 0.83 | 4.44 | 6.3% | 0.0% | 18:00 | 2.8 | 0.19 | +1.2 |
| Rasmus Asplund | 74 | 28 | 7 | 4 | 11 | +1 | 0 | 0 | 0 | 2 | 34 | 1.17 | 0.67 | 1.83 | 5.67 | 20.6% | 35.3% | 12:51 | 4.2 | 0.71 | +2.8 |
| Eric Staal | 12 | 32 | 3 | 7 | 10 | -20 | 8 | 1 | 0 | 0 | 59 | 0.36 | 0.84 | 1.21 | 7.11 | 5.1% | 48.0% | 15:34 | 5.3 | 0.64 | -2.3 |
| Curtis Lazar | 27 | 33 | 5 | 4 | 9 | -4 | 0 | 0 | 0 | 1 | 35 | 0.67 | 0.53 | 1.20 | 4.68 | 14.3% | 50.7% | 13:37 | 4.8 | 0.64 | +0.2 |
| Jacob Bryson | 78 | 38 | 1 | 8 | 9 | -1 | 12 | 0 | 0 | 0 | 24 | 0.08 | 0.66 | 0.75 | 1.99 | 4.2% | 0.0% | 19:03 | 1.5 | 0.13 | -0.5 |
| Henri Jokiharju | 10 | 46 | 3 | 5 | 8 | -11 | 4 | 0 | 0 | 0 | 50 | 0.21 | 0.35 | 0.57 | 3.55 | 6.0% | 0.0% | 18:23 | 1.9 | 0.14 | +1.1 |
| Cody Eakin | 20 | 46 | 3 | 4 | 7 | -9 | 14 | 0 | 0 | 0 | 39 | 0.30 | 0.40 | 0.71 | 3.93 | 7.7% | 54.3% | 12:56 | 4.3 | 0.44 | -1.3 |
| Tobias Rieder | 13 | 44 | 5 | 2 | 7 | -9 | 2 | 0 | 0 | 0 | 63 | 0.56 | 0.22 | 0.78 | 7.01 | 7.9% | 12.5% | 12:15 | 5.7 | 0.63 | -0.7 |
| Anders Bjork | 15 | 15 | 3 | 3 | 6 | -5 | 4 | 0 | 0 | 0 | 19 | 0.70 | 0.70 | 1.41 | 4.46 | 15.8% | 0.0% | 17:02 | 2.3 | 0.54 | +0.7 |
| Arttu Ruotsalainen | – | 17 | 5 | 1 | 6 | -9 | 8 | 0 | 0 | 0 | 28 | 1.26 | 0.25 | 1.51 | 7.07 | 17.9% | 40.0% | 13:59 | 2.9 | 0.72 | +2.2 |
| Steven Fogarty | 17 | 9 | 1 | 2 | 3 | +2 | 8 | 0 | 0 | 0 | 5 | 0.57 | 1.14 | 1.71 | 2.84 | 20.0% | 58.3% | 11:44 | 0.4 | 0.22 | +0.6 |
| Jake McCabe | 19 | 13 | 1 | 2 | 3 | +2 | 9 | 0 | 0 | 0 | 15 | 0.24 | 0.48 | 0.72 | 3.61 | 6.7% | 0.0% | 19:11 | 0.8 | 0.20 | +0.2 |
| Drake Caggiula | 91 | 11 | 2 | 1 | 3 | -5 | 4 | 0 | 0 | 0 | 15 | 0.89 | 0.44 | 1.33 | 6.64 | 13.3% | 100.0% | 12:19 | 1.4 | 0.61 | +0.6 |
| Matt Irwin | 44 | 24 | 0 | 2 | 2 | -10 | 19 | 0 | 0 | 0 | 27 | 0.00 | 0.31 | 0.31 | 4.15 | 0.0% | 0.0% | 16:15 | 1.4 | 0.22 | -1.4 |
| Mattias Samuelsson | 23 | 12 | 0 | 2 | 2 | -8 | 4 | 0 | 0 | 0 | 10 | 0.00 | 0.55 | 0.55 | 2.77 | 0.0% | 0.0% | 18:02 | 0.3 | 0.07 | -0.2 |
| Brandon Davidson | 88 | 6 | 0 | 0 | 0 | -4 | 4 | 0 | 0 | 0 | 7 | 0.00 | 0.00 | 0.00 | 4.56 | 0.0% | 0.0% | 15:20 | 0.1 | 0.08 | -0.1 |
| Jean-Sebastien Dea | 38 | 1 | 0 | 0 | 0 | -1 | 2 | 0 | 0 | 0 | 2 | 0.00 | 0.00 | 0.00 | 21.62 | 0.0% | 0.0% | 5:33 | 0.3 | 2.92 | -0.3 |
| Will Borgen | 3 | 10 | 0 | 0 | 0 | -4 | 4 | 0 | 0 | 0 | 7 | 0.00 | 0.00 | 0.00 | 2.58 | 0.0% | 0.0% | 16:16 | 0.3 | 0.10 | -0.3 |
| Brett Murray | 81 | 2 | 0 | 0 | 0 | +1 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.00 | 0.00 | 2.82 | 0.0% | 0.0% | 10:38 | 0.1 | 0.34 | -0.1 |
| C.J. Smith | 49 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | – | 0.0% | 7:57 | – | – | – |
| Total | – | – | 134 | 217 | 351 | 330 | 30 | 5 | 11 | 1591 | – | – | – | – | 8.4% | – | – | – | – | – |
Goalies
| Player | No. | GP | W ▾ | L | OTL | GAA | SV% | SO | xGA | GSAx |
|---|---|---|---|---|---|---|---|---|---|---|
| Linus Ullmark | 35 | 20 | 9 | 6 | 3 | 2.63 | .917 | 0 | 51.6 | +2.6 |
| Dustin Tokarski | 31 | 13 | 2 | 8 | 2 | 3.54 | .904 | 0 | 39.0 | -4.0 |
| Michael Houser | 32 | 4 | 2 | 2 | 0 | 3.46 | .901 | 0 | 11.7 | -2.3 |
| Carter Hutton | 40 | 13 | 1 | 10 | 1 | 3.47 | .886 | 0 | 33.1 | -5.9 |
| Ukko-Pekka Luukkonen | 1 | 4 | 1 | 3 | 0 | 3.88 | .906 | 0 | 13.8 | -0.2 |
| Jonas Johansson | 34 | 7 | 0 | 5 | 1 | 3.79 | .884 | 0 | 18.6 | -5.4 |
| Total | – | – | 15 | 34 | 7 | – | – | 0 | – | – |
A goalie is credited a game played for any appearance, relief included, so GP sums above the team's own games played by the number of relief outings. The Total row leaves GP out for that reason.
xG by Game
| Date ▴ | Opponent | Score | xG For | xG Against | xG Diff | Goal Diff | GD vs xG Diff |
|---|---|---|---|---|---|---|---|
| Jan 14 | vs WSH | 4-6 | 2.12 | 3.30 | -1.18 | -2 | -0.82 |
| Jan 15 | vs WSH | 1-2 | 2.80 | 1.63 | +1.17 | -1 | -2.17 |
| Jan 18 | @ PHI | 6-1 | 2.87 | 1.67 | +1.20 | +5 | +3.80 |
| Jan 19 | @ PHI | 0-3 | 2.86 | 2.34 | +0.52 | -3 | -3.52 |
| Jan 22 | @ WSH | 3-4 | 2.66 | 1.91 | +0.75 | 0 | -0.75 |
| Jan 24 | @ WSH | 4-3 | 3.57 | 3.25 | +0.32 | 0 | -0.32 |
| Jan 26 | vs NYR | 3-2 | 3.06 | 2.82 | +0.24 | +1 | +0.76 |
| Jan 28 | vs NYR | 2-3 | 1.06 | 3.13 | -2.07 | -1 | +1.07 |
| Jan 30 | vs NJD | 4-3 | 2.53 | 3.44 | -0.91 | 0 | +0.91 |
| Jan 31 | vs NJD | 3-5 | 3.06 | 5.52 | -2.46 | -2 | +0.46 |
| Feb 15 | vs NYI | 1-3 | 1.61 | 2.19 | -0.58 | -2 | -1.42 |
| Feb 16 | vs NYI | 0-3 | 2.74 | 3.44 | -0.70 | -3 | -2.30 |
| Feb 18 | @ WSH | 1-3 | 2.10 | 3.50 | -1.40 | -2 | -0.60 |
| Feb 20 | @ NJD | 3-2 | 3.12 | 1.95 | +1.17 | +1 | -0.17 |
| Feb 22 | @ NYI | 2-3 | 2.81 | 2.82 | -0.01 | -1 | -0.99 |
| Feb 23 | @ NJD | 4-1 | 4.43 | 2.94 | +1.49 | +3 | +1.51 |
| Feb 25 | vs NJD | 3-4 | 2.95 | 5.00 | -2.05 | -1 | +1.05 |
| Feb 27 | vs PHI | 0-3 | 2.99 | 3.49 | -0.50 | -3 | -2.50 |
| Feb 28 | vs PHI | 0-3 | 2.42 | 3.78 | -1.36 | -3 | -1.64 |
| Mar 2 | @ NYR | 2-3 | 2.32 | 2.80 | -0.48 | -1 | -0.52 |
| Mar 4 | @ NYI | 2-5 | 1.69 | 3.60 | -1.91 | -3 | -1.09 |
| Mar 6 | @ NYI | 2-5 | 3.02 | 3.41 | -0.39 | -3 | -2.61 |
| Mar 7 | @ NYI | 2-5 | 2.17 | 3.53 | -1.36 | -3 | -1.64 |
| Mar 9 | @ PHI | 4-5 | 2.06 | 3.08 | -1.02 | 0 | +1.02 |
| Mar 11 | vs PIT | 2-5 | 1.87 | 2.38 | -0.51 | -3 | -2.49 |
| Mar 13 | vs PIT | 0-3 | 1.88 | 4.76 | -2.88 | -3 | -0.12 |
| Mar 15 | vs WSH | 0-6 | 2.96 | 2.18 | +0.78 | -6 | -6.78 |
| Mar 16 | @ NJD | 2-3 | 3.58 | 3.11 | +0.47 | -1 | -1.47 |
| Mar 18 | vs BOS | 1-4 | 2.07 | 2.80 | -0.73 | -3 | -2.27 |
| Mar 22 | @ NYR | 3-5 | 1.67 | 5.30 | -3.63 | -2 | +1.63 |
| Mar 24 | @ PIT | 2-5 | 2.18 | 4.43 | -2.25 | -3 | -0.75 |
| Mar 25 | @ PIT | 0-4 | 3.24 | 3.46 | -0.22 | -4 | -3.78 |
| Mar 27 | @ BOS | 2-3 | 1.34 | 2.45 | -1.11 | -1 | +0.11 |
| Mar 29 | vs PHI | 3-4 | 2.28 | 2.32 | -0.04 | -1 | -0.96 |
| Mar 31 | vs PHI | 6-1 | 2.41 | 2.81 | -0.40 | +5 | +5.40 |
| Apr 1 | vs NYR | 2-3 | 2.13 | 5.46 | -3.33 | -1 | +2.33 |
| Apr 3 | vs NYR | 3-2 | 3.16 | 2.95 | +0.21 | 0 | -0.21 |
| Apr 6 | @ NJD | 5-3 | 2.28 | 3.58 | -1.30 | +2 | +3.30 |
| Apr 8 | vs NJD | 3-6 | 1.82 | 4.36 | -2.54 | -3 | -0.46 |
| Apr 9 | vs WSH | 3-4 | 2.15 | 2.52 | -0.37 | -1 | -0.63 |
| Apr 11 | @ PHI | 5-3 | 2.03 | 3.76 | -1.73 | +2 | +3.73 |
| Apr 13 | @ BOS | 2-3 | 2.02 | 3.32 | -1.30 | 0 | +1.30 |
| Apr 15 | @ WSH | 5-2 | 5.14 | 2.66 | +2.48 | +3 | +0.52 |
| Apr 17 | vs PIT | 2-3 | 2.36 | 2.39 | -0.03 | -1 | -0.97 |
| Apr 18 | vs PIT | 4-2 | 3.25 | 2.49 | +0.76 | +2 | +1.24 |
| Apr 20 | vs BOS | 0-2 | 3.30 | 2.82 | +0.48 | -2 | -2.48 |
| Apr 22 | vs BOS | 1-5 | 2.30 | 2.13 | +0.17 | -4 | -4.17 |
| Apr 23 | vs BOS | 6-4 | 3.53 | 3.73 | -0.20 | +2 | +2.20 |
| Apr 25 | @ NYR | 3-6 | 2.40 | 3.77 | -1.37 | -3 | -1.63 |
| Apr 27 | @ NYR | 1-3 | 3.98 | 5.00 | -1.02 | -2 | -0.98 |
| Apr 29 | @ BOS | 2-5 | 2.64 | 3.00 | -0.36 | -3 | -2.64 |
| May 1 | @ BOS | 2-6 | 1.49 | 4.15 | -2.66 | -4 | -1.34 |
| May 3 | vs NYI | 4-2 | 3.47 | 2.26 | +1.21 | +2 | +0.79 |
| May 4 | vs NYI | 4-3 | 1.92 | 3.47 | -1.55 | 0 | +1.55 |
| May 6 | @ PIT | 4-8 | 1.95 | 3.80 | -1.85 | -4 | -2.15 |
| May 8 | @ PIT | 0-1 | 2.13 | 2.19 | -0.06 | -1 | -0.94 |
All situations. GD vs xG Diff is goal differential minus xG differential. Both difference columns are taken from the values printed beside them, so each row adds up as shown.