NHL shot data
Explore shot locations, outcomes, distance, angle, and game situations. Observed shot analytics with versioned xG estimates where available.
105 matching attempts. Season coverage: 1406 published games / 1406 collected games. Last source refresh: Oct 4, 2026 03:58.
xG V1 is a 0–1 goal probability for scored unblocked, non-empty-net regular-season attempts. N/A means excluded or not yet scored; hover for the reason. CSV includes the scoring status and model version.
| Date / game | Period / time | Team / shooter | Outcome | Distance (ft) | Angle (°) | Strength | xG |
|---|---|---|---|---|---|---|---|
| 2016-12-31 ARI at CGY | 1 REG 01:10 | ARI J. McGinn | Miss | 16.4 | 37.6 | EV | 0.077 |
| 2016-12-31 ARI at CGY | 1 REG 01:16 | ARI O. Ekman-Larsson | Saved shot | 57.0 | 1.0 | EV | 0.019 |
| 2016-12-31 ARI at CGY | 1 REG 01:25 | ARI P. Holland | Block | 34.5 | 22.1 | EV | N/A |
| 2016-12-31 ARI at CGY | 1 REG 01:47 | ARI B. Perlini | Saved shot | 20.4 | 11.3 | EV | 0.067 |
| 2016-12-31 ARI at CGY | 1 REG 01:48 | ARI B. Perlini | Saved shot | 19.0 | 3.0 | EV | 0.030 |
| 2016-12-31 ARI at CGY | 1 REG 03:13 | CGY M. Stajan | Block | 22.0 | 2.6 | EV | N/A |
| 2016-12-31 ARI at CGY | 1 REG 04:46 | CGY A. Chiasson | Miss | 9.4 | 32.0 | PP | 0.095 |
| 2016-12-31 ARI at CGY | 1 REG 05:08 | CGY T. Brodie | Miss | 55.2 | 5.2 | PP | 0.028 |
| 2016-12-31 ARI at CGY | 1 REG 05:44 | CGY M. Frolik | Block | 18.0 | 3.2 | PP | N/A |
| 2016-12-31 ARI at CGY | 1 REG 06:08 | CGY M. Frolik | Goal | 13.0 | 4.4 | PP | 0.174 |
| 2016-12-31 ARI at CGY | 1 REG 06:35 | ARI B. Perlini | Saved shot | 45.8 | 53.9 | EV | 0.008 |
| 2016-12-31 ARI at CGY | 1 REG 06:41 | ARI T. DeAngelo | Block | 34.0 | 1.7 | EV | N/A |
| 2016-12-31 ARI at CGY | 1 REG 07:15 | ARI J. McGinn | Saved shot | 41.4 | 37.1 | EV | 0.019 |
| 2016-12-31 ARI at CGY | 1 REG 07:34 | CGY J. Gaudreau | Block | 38.3 | 40.8 | EV | N/A |
| 2016-12-31 ARI at CGY | 1 REG 07:45 | CGY D. Hamilton | Miss | 54.6 | 41.3 | EV | 0.008 |
| 2016-12-31 ARI at CGY | 1 REG 08:08 | ARI T. DeAngelo | Block | 30.1 | 15.4 | PP | N/A |
| 2016-12-31 ARI at CGY | 1 REG 08:35 | ARI O. Ekman-Larsson | Saved shot | 42.2 | 31.4 | PP | 0.044 |
| 2016-12-31 ARI at CGY | 1 REG 09:03 | CGY L. Bouma | Saved shot | 33.5 | 26.6 | SH | 0.068 |
| 2016-12-31 ARI at CGY | 1 REG 09:14 | CGY D. Wideman | Block | 21.2 | 19.3 | SH | N/A |
| 2016-12-31 ARI at CGY | 1 REG 09:54 | ARI M. Stone | Miss | 36.9 | 32.8 | EV | 0.054 |
| 2016-12-31 ARI at CGY | 1 REG 10:29 | ARI T. Rieder | Saved shot | 29.0 | 2.0 | SH | 0.171 |
| 2016-12-31 ARI at CGY | 1 REG 10:58 | CGY D. Hamilton | Saved shot | 55.0 | 27.0 | PP | 0.034 |
| 2016-12-31 ARI at CGY | 1 REG 12:04 | CGY S. Bennett | Block | 21.6 | 13.4 | EV | N/A |
| 2016-12-31 ARI at CGY | 1 REG 12:09 | CGY D. Wideman | Goal | 64.0 | 29.0 | EV | 0.014 |
| 2016-12-31 ARI at CGY | 1 REG 12:29 | ARI A. Duclair | Miss | 25.0 | 36.9 | EV | 0.084 |
| 2016-12-31 ARI at CGY | 1 REG 12:38 | CGY L. Bouma | Goal | 10.0 | 0.0 | EV | 0.176 |
| 2016-12-31 ARI at CGY | 1 REG 13:09 | ARI J. McGinn | Miss | 18.0 | 33.7 | EV | 0.051 |
| 2016-12-31 ARI at CGY | 1 REG 13:35 | ARI T. Rieder | Miss | 38.9 | 46.0 | EV | 0.015 |
| 2016-12-31 ARI at CGY | 1 REG 13:53 | ARI O. Ekman-Larsson | Saved shot | 50.7 | 14.9 | EV | 0.022 |
| 2016-12-31 ARI at CGY | 1 REG 15:42 | CGY M. Backlund | Goal | 23.2 | 7.4 | PP | 0.072 |
| 2016-12-31 ARI at CGY | 1 REG 14:43 | CGY K. Versteeg | Block | 31.1 | 5.5 | PP | N/A |
| 2016-12-31 ARI at CGY | 1 REG 14:53 | CGY K. Versteeg | Saved shot | 25.8 | 54.5 | PP | 0.092 |
| 2016-12-31 ARI at CGY | 1 REG 15:17 | CGY D. Hamilton | Saved shot | 42.7 | 20.6 | PP | 0.066 |
| 2016-12-31 ARI at CGY | 1 REG 16:21 | CGY G. Hathaway | Saved shot | 49.9 | 32.7 | EV | 0.016 |
| 2016-12-31 ARI at CGY | 1 REG 17:58 | ARI L. Crouse | Miss | 28.0 | 34.8 | EV | 0.055 |
| 2016-12-31 ARI at CGY | 1 REG 19:16 | ARI T. DeAngelo | Saved shot | 27.0 | 51.0 | PP | 0.075 |
| 2016-12-31 ARI at CGY | 1 REG 19:27 | ARI T. DeAngelo | Block | 30.1 | 15.4 | PP | N/A |
| 2016-12-31 ARI at CGY | 1 REG 19:53 | ARI T. Rieder | Miss | 21.0 | 2.7 | PP | 0.078 |
| 2016-12-31 ARI at CGY | 2 REG 00:27 | ARI O. Ekman-Larsson | Saved shot | 53.9 | 15.1 | PP | 0.051 |
| 2016-12-31 ARI at CGY | 2 REG 00:33 | ARI M. Hanzal | Miss | 13.2 | 8.7 | PP | 0.103 |
| 2016-12-31 ARI at CGY | 2 REG 01:05 | ARI P. Holland | Saved shot | 22.5 | 32.3 | EV | 0.028 |
| 2016-12-31 ARI at CGY | 2 REG 02:19 | ARI T. Rieder | Miss | 25.8 | 35.5 | SH | 0.160 |
| 2016-12-31 ARI at CGY | 2 REG 02:46 | CGY M. Frolik | Saved shot | 31.1 | 42.4 | PP | 0.109 |
| 2016-12-31 ARI at CGY | 2 REG 03:03 | CGY M. Tkachuk | Saved shot | 38.2 | 6.0 | PP | 0.083 |
| 2016-12-31 ARI at CGY | 2 REG 03:53 | ARI P. Holland | Saved shot | 38.9 | 60.8 | EV | 0.006 |
| 2016-12-31 ARI at CGY | 2 REG 04:47 | ARI M. Hanzal | Saved shot | 9.2 | 49.4 | PP | 0.102 |
| 2016-12-31 ARI at CGY | 2 REG 05:41 | ARI A. Goligoski | Block | 19.0 | 3.0 | PP | N/A |
| 2016-12-31 ARI at CGY | 2 REG 06:12 | CGY G. Hathaway | Block | 34.1 | 58.2 | SH | N/A |
| 2016-12-31 ARI at CGY | 2 REG 06:45 | ARI J. McGinn | Saved shot | 38.1 | 76.3 | EV | 0.013 |
| 2016-12-31 ARI at CGY | 2 REG 06:51 | ARI J. Martinook | Saved shot | 9.0 | 0.0 | EV | 0.166 |
About this dataset
Shootouts are excluded. Unblocked attempts include goals, saved shots, and misses. All attempts also include blocks. Empty-net attempts remain included and are labelled in the CSV.
Coordinates are normalized toward the attacking net. Older NHL data may require direction inferred from a strong period-wide shot consensus; orientation_source records this. Missing or ambiguous locations produce blank distance and angle. Player IDs remain available when names are unknown.
The rebound flag means a same-team saved shot immediately preceded the attempt within three seconds. Historical NHL final shot totals may differ from the event feed. Coverage describes collected and published games, not a guarantee that the upstream summary contains every NHL game.