xJawn NHL expected goals

← Players

Oliver Ekman-Larsson

D · Toronto Maple Leafs · career →

78 GP · 1,364 min 5v5
2025-26 · 5v5
Adjusts with rink filters
on-ice for◀ 5v5 offense
on-ice against5v5 defense ▶
How to read this map

One rink, both ends while Oliver Ekman-Larsson is on the ice: what the team generates on the left, what it concedes on the right. Every attempt is a Gaussian bump of height = its model xG, summed per 60 minutes of ice time (a player's exposure is time, not games). The controls switch the surface (xG heatmapvs league, the league baseline per team-hour at the same strength) and the markers: × goal · on net · missed · small blocked — and own shots narrows the left end's markers to attempts Oliver Ekman-Larsson took.

The page opens at 5v5; empty-net attempts are excluded throughout. On-ice membership comes from the shift charts; attempts without usable shift coverage are absent from both ends. Blocked-shot membership cannot be cross-checked against the play-by-play, so treat blocked-marker detail as softer than the rest.

Observed production

5v5 · on-ice
for against
axis spans ±118% of the defenseman cohort average · centre = average · right = more
Goalson-ice
71 90th pctl70 96th pctl
Shotson-ice
594 70th pctl690 94th pctl
Attemptson-ice
1,225 67th pctl1,387 88th pctl
xGon-ice
53.1 67th pctl58.4 78th pctl
xGF%share of on-ice xG
47.6%33rd pctl
0% 50% = even split · gray = cohort middle 50% / 90% 100%

Percentiles rank against the other defensemen over the display floor at the selected strength — a non-strength filter (rush, period, …) moves the bars but keeps that strength's spread as the backdrop.

Rolling on-ice xGF%

5v5 · on-ice
Per-game chance share while on the ice, smoothed. drag the slider to set the window

Model estimates

🔒 full season · not filtered
Season-long ratings — the filters above don't apply here. goals/60 vs cohort average · bar grows from average
Shootingfinishing · goals/60
+0.0695th pctl
↳ attempts
5,42997th pctl
↳ shooting talent
+0.3099th pctl
own attempts × per-shot logit
OffenseRAPM · team xGF/60 impact
-0.1035th pctl
DefenseRAPM · team xGA/60 impact (sign-flipped)
+0.1284th pctl
GAA/60goals above average / 60 · comprehensive
Shooting +0.06 goals/60Offense -0.10 goals/60Defense +0.12 goals/60
+0.0973rd pctl
the three rows above, stacked — shooting + offense + defense
−0.46average+0.46

Ranked against defensemen; the band behind each bar is that cohort's spread (p5–p95, middle half brighter, dashed median), so where a bar lands against its band is the rank — the ordinal beside it makes that exact. The per-shot rating is quality only: it says nothing about how many attempts a player generates or faces, which is what the attempts sub-row is for.

Usage & context

descriptive · not modeled
The job the coach handed Oliver Ekman-Larsson, not how well it went. Not a modeled component: each is its own metric (minutes, a rate, a TOI share, or opponents'/teammates' net xG-RAPM), shown with a cohort percentile only where one exists, never added together. Not a grade. The deployment rows are measured over the same 5v5 stints the isolate is fit on (regular season + playoffs); ice time and the penalty rates are all situations, every game — penalties create non-5v5 time, so a 5v5 denominator would inflate every rate.
Time on iceall situations · min per game
20:33per game
Penalties takenminor penalties / 60
1.16per 60 · all situations
Penalties drawnminor penalties / 60
0.60per 60 · all situations
Zone startsOZS% · O-zone start share
56%offensive / (off + def)
Score stateTOI by game state
trail 40%tied 34%lead 26%
trails a lot
Competition (QoC)opponents' net xG-RAPM
+0.009xG/60
Teammates (QoT)teammates' net xG-RAPM
-0.008xG/60
On-the-flyshare of 5v5 TOI
64%of 5v5 TOI
0cohort average100 pctl

A skater absent from the fit counts as exactly cohort average (0) in QoC/QoT — the same claim ridge shrinkage makes. Penalty rates are descriptive only: taken-rate includes defensively correct penalties, and neither side is opponent- or deployment-adjusted. Nothing here is priced in goals.

Full table · all numbers
FamilyStatValue (current slice)
Observed ◆ filtered Goals on-ice for / against 71 / 70
Observed ◆ filtered xG on-ice for / against 53.1 / 58.4
Observed ◆ filtered Shots on-ice for / against 594 / 690
Observed ◆ filtered Attempts on-ice for / against 1,225 / 1,387
Observed ◆ filteredxGF% 47.6%
Modeled 🔒 season Shooting — finishing · goals/60 +0.06 95th pctl
Modeled 🔒 season ↳ attempts (own attempts) 5,429 97th pctl
Modeled 🔒 season ↳ shooting talent (per-shot logit) +0.30 99th pctl
Modeled 🔒 season Offense — RAPM · team xGF/60 impact -0.10 35th pctl
Modeled 🔒 season Defense — RAPM · team xGA/60 impact (sign-flipped) +0.12 84th pctl
Modeled 🔒 seasonGAA/60 +0.09 73rd pctl
ContextTime on ice — all situations · min per game 20:33 (66th pctl)
ContextPenalties taken — minor penalties / 60 1.16 (86th pctl)
ContextPenalties drawn — minor penalties / 60 0.60 (76th pctl)
ContextZone starts — OZS% · O-zone start share 56% (79th pctl)
ContextScore state — TOI by game state trail 40%, tied 34%, lead 26%
ContextCompetition (QoC) — opponents' net xG-RAPM +0.009 (63rd pctl)
ContextTeammates (QoT) — teammates' net xG-RAPM -0.008 (42nd pctl)
ContextOn-the-fly — share of 5v5 TOI 64%

Observed values reflect the active rink filters; modeled values are fixed at their full-season fit.

On-ice numbers pair the regular-season shot set with shift-chart membership; skaters and goalies under the display floors are fit but not shown. Modeled rows come from the value artifact keyed to RAPM fit rapm__c5b9b663 on flat__joint_structure_xg__4f64c88b (the joint-xg structural baseline), with ratings from joint__baseline_xg__42ccb89b (as of 2026-06-14) — separate surfaces from the box-score xG model badged in the footer.