xJawn NHL expected goals

← Players

Arturs Silovs

G · Pittsburgh Penguins

39 GP · 1,791 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 Arturs Silovs 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.

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 ±120% of the goalie cohort average · centre = average · right = more
Goalson-ice
93 70th pctl89 69th pctl
Shotson-ice
811 56th pctl814 58th pctl
Attemptson-ice
1,745 58th pctl1,738 59th pctl
xGon-ice
81.4 62nd pctl79.5 61st pctl
xGF%share of on-ice xG
50.6%59th pctl
0% 50% = even split · gray = cohort middle 50% / 90% 100%

Percentiles rank against the other goalies 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. per-shot logit margin vs cohort average · bar grows from average
Savingjoint fit · per-shot logit
-0.0420th pctl
↳ attempts
3,93714th pctl
↳ saving talent
-0.0420th pctl
shots faced × per-shot logit
−0.21average+0.21

Ranked against goalies; 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
How much Arturs Silovs played, not how well. Not a modeled component and not a grade — the modeled read is the Saving row above.
Time on iceall situations · min per game
57:27per game
0cohort average100 pctl

Deployment and discipline reads are skater-only: the RAPM usage fit runs on 5v5 skater stints and the penalty denominator counts skaters, so neither describes a goalie.

Full table · all numbers
FamilyStatValue (current slice)
Observed ◆ filtered Goals on-ice for / against 93 / 89
Observed ◆ filtered xG on-ice for / against 81.4 / 79.5
Observed ◆ filtered Shots on-ice for / against 811 / 814
Observed ◆ filtered Attempts on-ice for / against 1,745 / 1,738
Observed ◆ filteredxGF% 50.6%
Modeled 🔒 season Saving — joint fit · per-shot logit -0.04 20th pctl
Modeled 🔒 season ↳ attempts (shots faced) 3,937 14th pctl
Modeled 🔒 season ↳ saving talent (per-shot logit) -0.04 20th pctl
ContextTime on ice — all situations · min per game 57:27 (58th pctl)

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.