Hockey Terminal
Be a GM

← All players

Photo of Josh Norris

Josh Norris

#9 · Centre · Buffalo Sabres

Born May 5, 1999 in Oxford, Michigan, USA (age 27) · 6'2", 196 lb · Shoots left · Drafted 19th overall in 2017 by SJS (round 1)

Compare with a similar player

The forwards closest to him in points in 2021-22. Pick one to see the two side by side, or choose someone else.

Nikolaj Ehlers WPG · 55 P in 62 GP Carter Verhaeghe FLA · 55 P in 78 GP Andrew Mangiapane CGY · 55 P in 82 GP Ryan Strome NYR · 54 P in 74 GP Patrik Laine CBJ · 56 P in 56 GP

Career

Regular season games only. Pick a season to see its game log below. Cap hit is what he counted against the salary cap that season, where it is known.

020402019-20: 0 points019-202020-21: 35 points3520-212021-22: 55 points5521-222022-23: 3 points322-232023-24: 30 points3023-242024-25: 35 points3524-252025-26: 34 points3425-262026-27: 1 points126-27

Points by season. The darker bar is the season shown below.

Season Team GP G A P +/- PIM Shots Hits P/GP Cap hit
2019-20 OTT 3 0 0 0 2 0 9 3 0.00 $925K
2020-21 OTT 56 17 18 35 -12 13 96 72 0.63 $925K
2021-22 OTT 66 35 20 55 -7 16 172 79 0.83 $925K
2022-23 OTT 8 2 1 3 -1 6 15 7 0.38 $7.95M
2023-24 OTT 50 16 14 30 -6 22 115 86 0.60 $7.95M
2024-25 OTT 53 20 13 33 -5 34 94 133 0.62 $7.95M
2024-25 BUF 3 1 1 2 -1 10 2 2 0.67
2025-26 BUF 44 13 21 34 11 28 69 24 0.77 $7.95M
2026-27 BUF 5 0 1 1 -3 0 5 6 0.20 $7.95M
8 seasons Career 288 104 89 193 -22 129 577 412 0.67

Playoffs

Playoff games only. Pick a season to see that year's bracket.

Season Team GP G A P +/- PIM Shots Hits P/GP
2025-26 BUF 10 1 2 3 2 6 16 25 0.30
1 season Playoffs 10 1 2 3 2 6 16 25 0.30

2021-22 season totals

GP G A P +/- PIM Shots Hits P/GP Shooting % Avg TOI
66 35 20 55 -7 16 172 79 0.83 20.3 18:35

Contract

$925KCap hitends in 2022, then RFA
$17KCap dollars per point55 points in 66 games
$105KCap dollars per goal above replacement8.8 goals above replacement
$7.1MWorth at the going ratewhat teams paid for a season like his
+$6.1MValueworth minus cap hit; below zero is overpaid

His cap hit for the whole season, set against what he did in the regular season. Lower is better value. In a season still being played the cost per point starts high and falls as the games add up. Value is coloured by where it ranks among the 716 ranked skaters whose contract is known. How value is worked out.

The contract

Signed by the Ottawa Senators on May 27, 2019, as an entry-level contract: 3 years and $4.9M, beginning in 2019-20. It runs through 2021-22, so this is its last season, after which he is a restricted free agent.

Season Cap hit Base salary Signing bonus Performance bonuses Paid in all Clause
2019-20 $925K $833K $93K $425K $925K
2020-21 $925K $833K $93K $850K $925K
2021-22 $925K $833K $93K $850K $925K

Each season of the contract, with this one marked. The cap hit is the same every year; what he is paid is not. The pay is as written when the contract was recorded in October 2024, so a later change, such as the rise in the lowest salary for 2026-27, is not shown.

Contracts he has signed

Signed Signed by Kind Seasons Years In all Cap hit
Jul 14, 2022 Ottawa Senators New contract 2022-23 to 2029-30 8 $63.6M $7.95M
May 27, 2019 Ottawa Senators Entry-level 2019-20 to 2021-22 3 $4.9M $925K

Every contract on record for him, newest first, with the team that signed him to it and the day it was signed. The one covering 2021-22 is marked. An extension is signed while the contract before it is still running, often a year ahead. A row with no team or date is a contract known only by its cap hit, most often one signed since October 2024.

2021-22 analytics

Rating

+8.8Goals above replacement101st of 723 skaters, 82nd of 481 forwards
+1.5Wins above replacementgoals above replacement divided by six
+5.4Goals above averagethe five parts below added up

Each number is coloured by where it ranks among the 481 ranked forwards: green is in the top fifth and red the bottom fifth, with paler shades in between and amber for the middle. Hover over a tile for its percentile.

Even-strength offence+1.5 70th percentileEven-strength defence-0.7 29th percentilePower play+2.5 95th percentilePenalty kill+0.0 57th percentilePenalties+2.1 93rd percentile

The goals he added to his team's goal difference, compared with a spare-part player given the same ice time. Each part is measured against the league, so zero is an average skater, and the rank beside it is among forwards. A full season is about two-thirds the player and one-third chance. Before 2023-24 the NHL timed events less exactly, and differently from rink to rink, so expected goals for this season are rougher than for recent ones.

-202468102019-202020-212021-222022-232023-242024-252025-262026-27Goals above replacementGoals above replacement, by season

On the ice

What happened at five-on-five while he was on the ice. What these numbers mean

49.8Corsi for %873 attempts for, 879 against
+2.6CF% relative to teamagainst the team without him
47.9Expected goals for %38.7 expected for, 42.2 against
+1.7xGF% relative to teamagainst the team without him
49.1Fenwick for %unblocked attempts
52.3Goals for %45 for, 41 against
101.4PDO9.7% shooting + 91.8% saves
172Attempts takenhis own shot attempts

Each share is coloured by where it ranks among the 636 skaters who played enough to be ranked: green is in the top fifth and red the bottom fifth, with paler shades in between and amber for the middle. Hover over a tile for its percentile. PDO and attempts taken are left plain, since neither is good or bad on its own.

Who he played with

Forward lineGPTimeCF%xGF%Goals
Josh Norris · Drake Batherson · Brady Tkachuk36367:4949.147.626-16
Connor Brown · Josh Norris · Brady Tkachuk20118:2955.056.16-6
Mathieu Joseph · Josh Norris · Brady Tkachuk862:3360.466.03-1
Zachary Sanford · Josh Norris · Brady Tkachuk1358:0246.741.02-3

The lines he spent the most time in at five-on-five, with the team's share of the shot attempts and expected goals, and the goals for and against, while they were out. The two shares are coloured as above, against the league's lines that played a fair amount together. Hover over one for its percentile.

Chances and finishing

Expected goals adds up how likely each of his shots was to go in, judged by where it came from, what kind of shot it was and whether it was a rebound. All situations, leaving out shots at an empty net. Before 2023-24 the NHL timed events less exactly, and differently from rink to rink, so expected goals for this season are rougher than for recent ones.

34Goalsnot counting empty-netters
22.3Expected goalsfrom 242 unblocked attempts
+11.7Goals above expectedgoals minus expected goals
Chances created 1.09 expected goals per 60 minutes85th
Shot quality 9.2% chance per attempt77th
Finishing +11.7 goals above expected98thOne season of finishing is mostly luck.

Each bar shows the share of forwards he is ahead of, among the 451 who played 300 minutes or more this season.

0102030Game 20Game 40Game 60Goals 34Expected 22.3

His goals and his expected goals as the season went on. When the goals line pulls away above, he is scoring more than his chances were worth; below, less.

Where he shot from

Every attempt he took this season, in all situations, attacking the net on the right. Darker red means more attempts from that spot, and each dot is a goal. "Show every shot" switches to a dot for each attempt, bigger for a better chance. Click a goal for its details.

Game log

Date Opponent Result G A P +/- PIM Shots Hits TOI
Apr 29, 2022 @ PHI W 4-2 1 0 1 2 0 2 1 19:04
Apr 28, 2022 vs FLA L 0-4 0 0 0 -1 0 2 0 17:29
Apr 26, 2022 vs NJD W 5-4 (OT) 0 1 1 0 0 1 1 21:14
Apr 23, 2022 vs MTL W 6-4 1 0 1 0 0 4 2 17:55
Apr 22, 2022 @ CBJ W 2-1 (SO) 0 1 1 1 0 5 1 20:13
Apr 19, 2022 @ VAN W 4-3 (SO) 0 0 0 0 2 2 1 17:58
Apr 18, 2022 @ SEA L 2-4 0 0 0 0 0 1 0 18:17
Apr 16, 2022 vs TOR L 4-5 (OT) 0 1 1 -2 0 1 0 21:54
Apr 14, 2022 @ BOS W 3-2 1 0 1 0 0 2 1 19:59
Apr 12, 2022 @ DET W 4-1 0 1 1 1 0 2 2 17:19
Apr 10, 2022 vs WPG L 3-4 1 1 2 1 0 4 1 20:55
Apr 9, 2022 @ NYR L 1-5 0 0 0 -1 2 2 1 17:54
Apr 7, 2022 vs NSH L 2-3 1 0 1 0 0 5 4 22:19
Apr 5, 2022 @ MTL W 6-3 0 2 2 1 0 5 0 17:47
Apr 3, 2022 vs DET W 5-2 3 0 3 2 0 6 0 16:56
Apr 1, 2022 @ DET W 5-2 1 0 1 1 0 3 0 15:39
Mar 29, 2022 @ NSH L 1-4 0 1 1 -2 0 3 1 22:09
Mar 26, 2022 vs FLA L 3-4 (SO) 0 1 1 0 0 4 1 21:27
Mar 24, 2022 @ WPG W 5-2 0 1 1 1 0 2 0 17:58
Mar 22, 2022 @ NYI L 0-3 0 0 0 -1 0 0 2 19:11
Mar 19, 2022 @ MTL L 1-5 1 0 1 -1 2 2 2 17:14
Mar 18, 2022 vs PHI W 3-1 1 0 1 0 0 3 3 19:41
Mar 16, 2022 vs CBJ L 1-4 0 0 0 -1 0 0 1 19:08
Mar 14, 2022 vs ARI L 3-5 2 0 2 -1 0 5 3 20:15
Mar 12, 2022 vs CHI L 3-6 0 0 0 -2 0 0 1 15:41
Mar 10, 2022 vs SEA W 4-3 (OT) 2 0 2 0 0 3 1 17:40
Mar 8, 2022 @ STL W 4-1 1 2 3 0 0 2 0 14:40
Mar 6, 2022 @ VGK L 1-2 0 0 0 0 0 4 1 17:08
Mar 5, 2022 @ ARI L 5-8 1 0 1 -2 0 3 1 17:13
Mar 3, 2022 @ FLA L 0-3 0 0 0 -1 0 2 1 15:46
Jan 27, 2022 vs CAR L 2-3 (SO) 0 0 0 0 0 0 0 04:42
Jan 25, 2022 vs BUF W 5-0 0 0 0 0 2 2 2 19:17
Jan 23, 2022 @ CBJ W 2-1 0 0 0 0 0 1 3 18:58
Jan 22, 2022 @ WSH L 2-3 (OT) 0 0 0 -2 0 0 0 19:41
Jan 20, 2022 @ PIT L 4-6 2 0 2 0 0 6 4 18:03
Jan 18, 2022 vs BUF L 1-3 0 0 0 -1 0 2 0 21:44
Jan 15, 2022 @ EDM W 6-4 2 0 2 -1 0 2 4 19:34
Jan 13, 2022 @ CGY W 4-1 0 0 0 0 0 3 0 17:13
Dec 18, 2021 @ PHI L 3-4 (OT) 0 0 0 -1 0 2 2 18:48
Dec 16, 2021 @ TBL L 1-2 0 0 0 0 0 2 2 18:46
Dec 14, 2021 @ FLA W 8-2 2 1 3 3 2 5 0 15:34
Dec 11, 2021 vs TBL W 4-0 1 0 1 2 0 2 0 15:34
Dec 7, 2021 vs NYI L 3-5 1 0 1 -3 0 5 1 20:53
Dec 6, 2021 @ NJD W 3-2 (SO) 0 0 0 1 0 1 3 20:17
Dec 4, 2021 vs COL W 6-5 (OT) 1 1 2 1 2 3 0 20:44
Dec 2, 2021 @ CAR W 3-2 1 0 1 1 0 4 1 18:18
Dec 1, 2021 vs VAN L 2-6 0 1 1 1 0 3 1 19:32
Nov 27, 2021 @ LAK L 2-4 0 1 1 0 0 1 1 17:50
Nov 26, 2021 @ ANA L 0-4 0 0 0 -2 0 3 1 18:05
Nov 24, 2021 @ SJS L 3-6 1 0 1 1 0 4 2 18:42
Nov 22, 2021 @ COL L 5-7 1 0 1 -3 0 2 1 19:31
Nov 14, 2021 vs CGY L 0-4 0 0 0 0 0 3 0 19:15
Nov 13, 2021 vs PIT W 6-3 0 1 1 1 0 2 1 19:01
Nov 11, 2021 vs LAK L 0-2 0 0 0 -1 0 5 0 19:54
Nov 9, 2021 @ BOS L 2-3 0 0 0 -1 0 0 1 22:06
Nov 6, 2021 vs TBL L 3-5 0 1 1 -1 2 1 1 21:02
Nov 4, 2021 vs VGK L 1-5 0 0 0 0 0 2 1 16:02
Nov 2, 2021 @ MIN L 4-5 (OT) 1 1 2 0 0 4 0 18:15
Nov 1, 2021 @ CHI L 1-5 0 0 0 -2 0 2 3 17:47
Oct 29, 2021 @ DAL W 4-1 2 0 2 2 0 2 2 17:40
Oct 25, 2021 vs WSH L 5-7 1 1 2 2 0 3 3 21:56
Oct 23, 2021 vs NYR L 2-3 1 0 1 0 2 5 2 18:33
Oct 21, 2021 vs SJS L 1-2 0 0 0 1 0 2 0 21:03
Oct 17, 2021 vs DAL W 3-2 0 0 0 0 0 2 2 17:52
Oct 16, 2021 @ TOR L 1-3 1 0 1 0 0 3 2 18:39
Oct 14, 2021 vs TOR W 3-2 0 0 0 0 0 3 0 17:19