Hockey Terminal
Be a GM

← All players

Photo of Stephen Johns

Stephen Johns

#28 · Defence · Dallas Stars

Born Apr 18, 1992 in Ellwood City, Pennsylvania, USA · 6'4", 225 lb · Shoots right · Drafted 60th overall in 2010 by CHI (round 2)

Compare with a similar player

The defencemen closest to him in points in 2019-20. Pick one to see the two side by side, or choose someone else.

Sami Niku WPG · 5 P in 17 GP Ville Heinola WPG · 5 P in 8 GP Niklas Hjalmarsson ARI · 5 P in 27 GP Jarred Tinordi NSH · 5 P in 28 GP Libor Hajek NYR · 5 P in 28 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.

0510152015-16: 3 points315-162016-17: 10 points1016-172017-18: 15 points1517-182019-20: 5 points519-20

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

Season Team GP G A P +/- PIM Shots Hits P/GP Cap hit
2015-16 DAL 14 1 2 3 -6 6 13 55 0.21
2016-17 DAL 61 4 6 10 -10 36 91 159 0.16 $725K
2017-18 DAL 75 8 7 15 10 41 121 201 0.20 $725K
2019-20 DAL 17 2 3 5 0 10 30 50 0.29 $2.35M
4 seasons Career 167 15 18 33 -6 93 255 465 0.20

Playoffs

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

Season Team GP G A P +/- PIM Shots Hits P/GP
2015-16 DAL 13 0 0 0 0 6 6 41 0.00
2019-20 DAL 1 0 0 0 -2 0 1 2 0.00
2 seasons Playoffs 14 0 0 0 -2 6 7 43 0.00

2019-20 season totals

GP G A P +/- PIM Shots Hits P/GP Shooting % Avg TOI
17 2 3 5 0 10 30 50 0.29 6.7 17:40

Contract

$2.35MCap hitends in 2021, then UFA
$470KCap dollars per point5 points in 17 games
$4.987MCap dollars per goal above replacement0.5 goals above replacement

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.

The contract

Who signed him to it, and when, are not on record. It runs through 2020-21, with 1 season left after this one, and he is then an unrestricted free agent.

Season Cap hit
2019-20 $2.35M
2020-21 $2.35M

Each season left on the contract. Only its cap hit and its end are known: how the pay is split by season, and any signing bonus, are not.

Contracts he has signed

Signed Signed by Kind Seasons Years In all Cap hit
2019-20 to 2020-21 $2.35M
2016-17 to 2017-18 $725K

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 2019-20 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.

2019-20 analytics

Regular season Playoffs

Rating

+0.5Goals above replacementsix goals are worth about one win
+0.1Wins above replacementgoals above replacement divided by six
-0.5Goals above averagethe five parts below added up
Even-strength offence-0.6Even-strength defence+0.5Power play+0.0Penalty kill+0.0Penalties-0.5

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. A full season is about two-thirds the player and one-third chance. He has played fewer than 20 games, too few to be ranked. 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.

024682015-162016-172017-182019-20Goals 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

50.6Corsi for %246 attempts for, 240 against
-1.9CF% relative to teamagainst the team without him
51.5Expected goals for %10.0 expected for, 9.5 against
-3.6xGF% relative to teamagainst the team without him
49.9Fenwick for %unblocked attempts
55.6Goals for %10 for, 8 against
102.0PDO8.1% shooting + 93.8% saves
54Attempts takenhis own shot attempts

These are left plain: he has not been on the ice enough to be ranked. That takes at least 200 shot attempts with him out there, about six or seven games, and a quarter of what the busiest skater has. Over a game or two these numbers are mostly chance.

Who he played with

Defence pairGPTimeCF%xGF%Goals
Stephen Johns · Miro Heiskanen15202:1053.653.36-3
Stephen Johns · Esa Lindell1631:2350.039.01-2
Andrej Sekera · Stephen Johns425:1035.451.51-0
Stephen Johns · Jamie Oleksiak1316:5248.157.52-3

The pairs 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 pairs 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.

2Goalsnot counting empty-netters
1.1Expected goalsfrom 43 unblocked attempts
+0.9Goals above expectedgoals minus expected goals
Chances created 0.23 expected goals per 60 minutes63rd
Shot quality 2.6% chance per attempt28th
Finishing +0.9 goals above expected69thOne season of finishing is mostly luck.

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

00.511.52Goals 2Expected 1.1

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. There is a dot for each attempt, bigger for a better chance. "Show as heat map" shades the ice by where the attempts came from. Click a goal for its details.

Game log

Date Opponent Result G A P +/- PIM Shots Hits TOI
Mar 10, 2020 vs NYR L 2-4 0 0 0 -1 0 0 3 16:40
Mar 7, 2020 vs NSH L 0-1 0 0 0 0 0 3 4 17:57
Mar 5, 2020 @ NSH L 0-2 0 0 0 0 2 1 3 19:01
Mar 3, 2020 vs EDM L 1-2 (OT) 0 0 0 0 2 2 5 15:08
Feb 23, 2020 vs CHI W 2-1 0 0 0 1 0 2 1 18:29
Feb 21, 2020 vs STL L 1-5 0 0 0 -4 0 2 3 20:35
Feb 19, 2020 vs ARI W 3-2 0 0 0 0 0 2 2 18:30
Feb 16, 2020 @ OTT L 3-4 (OT) 1 0 1 0 0 5 0 23:25
Feb 15, 2020 @ MTL W 4-3 (OT) 0 0 0 0 0 1 1 22:06
Feb 13, 2020 @ TOR W 3-2 0 0 0 -1 0 1 3 19:26
Feb 11, 2020 vs CAR W 4-1 0 1 1 0 0 1 2 16:20
Feb 8, 2020 @ STL W 3-2 (OT) 0 0 0 1 0 2 5 17:14
Feb 7, 2020 vs MIN L 2-3 0 0 0 0 0 2 4 14:22
Feb 3, 2020 @ NYR W 5-3 1 1 2 3 0 2 8 13:53
Feb 1, 2020 @ NJD W 3-2 (OT) 0 1 1 2 4 0 2 14:50
Jan 27, 2020 vs TBL W 3-2 (OT) 0 0 0 0 0 2 2 13:53
Jan 18, 2020 @ MIN L 0-7 0 0 0 -1 2 2 2 18:29