NHL shot data
Explore shot locations, outcomes, distance, angle, and game situations. Observed shot analytics with versioned xG estimates where available.
118 matching attempts. Season coverage: 1328 published games / 1328 collected games. Last source refresh: Oct 4, 2026 04:38.
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 |
|---|---|---|---|---|---|---|---|
| 2020-01-18 CGY at OTT | 1 REG 02:28 | CGY M. Giordano | Saved shot | 41.1 | 71.6 | EV | 0.006 |
| 2020-01-18 CGY at OTT | 1 REG 02:47 | CGY M. Jankowski | Block | 19.3 | 21.3 | EV | N/A |
| 2020-01-18 CGY at OTT | 1 REG 03:28 | CGY T. Hamonic | Saved shot | 50.2 | 44.2 | EV | 0.010 |
| 2020-01-18 CGY at OTT | 1 REG 03:48 | CGY M. Tkachuk | Miss | 23.3 | 46.7 | EV | 0.066 |
| 2020-01-18 CGY at OTT | 1 REG 03:56 | CGY M. Tkachuk | Saved shot | 6.3 | 108.4 | EV | 0.054 |
| 2020-01-18 CGY at OTT | 1 REG 05:59 | CGY R. Andersson | Block | 14.2 | 39.3 | EV | N/A |
| 2020-01-18 CGY at OTT | 1 REG 06:30 | CGY T. Rieder | Block | 9.2 | 49.4 | EV | N/A |
| 2020-01-18 CGY at OTT | 1 REG 07:03 | CGY T. Hamonic | Block | 43.0 | 30.7 | EV | N/A |
| 2020-01-18 CGY at OTT | 1 REG 07:05 | CGY T. Hamonic | Miss | 46.7 | 43.3 | EV | 0.006 |
| 2020-01-18 CGY at OTT | 1 REG 07:15 | OTT B. Tkachuk | Goal | 37.9 | 77.8 | EV | 0.009 |
| 2020-01-18 CGY at OTT | 1 REG 08:31 | CGY M. Lucic | Saved shot | 32.3 | 16.2 | EV | 0.021 |
| 2020-01-18 CGY at OTT | 1 REG 08:49 | CGY O. Kylington | Block | 38.0 | 0.0 | EV | N/A |
| 2020-01-18 CGY at OTT | 1 REG 08:50 | CGY M. Lucic | Saved shot | 23.0 | 2.5 | EV | 0.049 |
| 2020-01-18 CGY at OTT | 1 REG 08:52 | CGY D. Dube | Saved shot | 12.7 | 45.0 | EV | 0.173 |
| 2020-01-18 CGY at OTT | 1 REG 10:06 | OTT R. Hainsey | Block | 23.0 | 2.5 | EV | N/A |
| 2020-01-18 CGY at OTT | 1 REG 10:38 | CGY E. Lindholm | Miss | 33.6 | 22.8 | EV | 0.098 |
| 2020-01-18 CGY at OTT | 1 REG 11:47 | CGY S. Monahan | Miss | 24.1 | 4.8 | EV | 0.065 |
| 2020-01-18 CGY at OTT | 1 REG 12:10 | CGY T. Hamonic | Miss | 66.3 | 33.9 | EV | 0.002 |
| 2020-01-18 CGY at OTT | 1 REG 12:39 | CGY M. Giordano | Saved shot | 48.1 | 45.0 | EV | 0.008 |
| 2020-01-18 CGY at OTT | 1 REG 12:42 | CGY D. Dube | Saved shot | 22.1 | 5.2 | EV | 0.049 |
| 2020-01-18 CGY at OTT | 1 REG 12:48 | CGY M. Giordano | Miss | 61.7 | 24.9 | EV | 0.015 |
| 2020-01-18 CGY at OTT | 1 REG 12:58 | CGY M. Giordano | Block | 45.9 | 20.4 | EV | N/A |
| 2020-01-18 CGY at OTT | 1 REG 13:00 | CGY D. Ryan | Block | 33.2 | 43.8 | EV | N/A |
| 2020-01-18 CGY at OTT | 1 REG 13:27 | OTT A. Anisimov | Saved shot | 14.9 | 42.3 | EV | 0.117 |
| 2020-01-18 CGY at OTT | 1 REG 13:53 | CGY M. Tkachuk | Saved shot | 33.2 | 21.2 | EV | 0.067 |
| 2020-01-18 CGY at OTT | 1 REG 13:59 | CGY N. Hanifin | Saved shot | 55.6 | 8.3 | EV | 0.020 |
| 2020-01-18 CGY at OTT | 1 REG 14:11 | CGY M. Tkachuk | Saved shot | 7.8 | 50.2 | EV | 0.093 |
| 2020-01-18 CGY at OTT | 1 REG 14:12 | CGY M. Tkachuk | Saved shot | 6.3 | 71.6 | EV | 0.029 |
| 2020-01-18 CGY at OTT | 1 REG 15:00 | CGY S. Monahan | Saved shot | 29.0 | 0.0 | EV | 0.133 |
| 2020-01-18 CGY at OTT | 1 REG 15:43 | OTT M. Reilly | Miss | 55.9 | 24.3 | EV | 0.019 |
| 2020-01-18 CGY at OTT | 1 REG 17:03 | CGY E. Lindholm | Block | 16.2 | 21.8 | EV | N/A |
| 2020-01-18 CGY at OTT | 1 REG 17:12 | CGY T. Brodie | Block | 12.8 | 38.7 | EV | N/A |
| 2020-01-18 CGY at OTT | 1 REG 17:19 | CGY M. Tkachuk | Saved shot | 44.4 | 22.5 | EV | 0.025 |
| 2020-01-18 CGY at OTT | 1 REG 17:30 | CGY T. Hamonic | Saved shot | 64.9 | 33.7 | EV | 0.007 |
| 2020-01-18 CGY at OTT | 1 REG 17:52 | CGY D. Ryan | Miss | 21.2 | 19.3 | EV | 0.069 |
| 2020-01-18 CGY at OTT | 1 REG 18:06 | OTT C. White | Block | 14.8 | 28.3 | EV | N/A |
| 2020-01-18 CGY at OTT | 1 REG 18:35 | OTT T. Chabot | Saved shot | 24.0 | 45.0 | EV | 0.029 |
| 2020-01-18 CGY at OTT | 1 REG 18:55 | CGY M. Giordano | Miss | 34.2 | 20.6 | EV | 0.095 |
| 2020-01-18 CGY at OTT | 2 REG 00:22 | OTT R. Hainsey | Block | 17.5 | 13.2 | EV | N/A |
| 2020-01-18 CGY at OTT | 2 REG 02:06 | OTT D. Batherson | Saved shot | 12.2 | 35.0 | EV | 0.097 |
| 2020-01-18 CGY at OTT | 2 REG 03:11 | CGY E. Lindholm | Miss | 17.0 | 0.0 | PP | 0.102 |
| 2020-01-18 CGY at OTT | 2 REG 03:40 | CGY M. Tkachuk | Block | 36.8 | 45.0 | PP | N/A |
| 2020-01-18 CGY at OTT | 2 REG 04:44 | CGY M. Backlund | Block | 25.0 | 2.3 | PP | N/A |
| 2020-01-18 CGY at OTT | 2 REG 04:58 | CGY R. Andersson | Saved shot | 36.7 | 29.4 | EV | 0.067 |
| 2020-01-18 CGY at OTT | 2 REG 05:23 | CGY T. Rieder | Saved shot | 22.2 | 7.8 | EV | 0.144 |
| 2020-01-18 CGY at OTT | 2 REG 06:41 | OTT C. White | Saved shot | 29.4 | 72.2 | EV | 0.013 |
| 2020-01-18 CGY at OTT | 2 REG 07:11 | CGY E. Lindholm | Saved shot | 39.6 | 45.0 | PP | 0.027 |
| 2020-01-18 CGY at OTT | 2 REG 08:28 | CGY N. Hanifin | Saved shot | 58.5 | 16.9 | PP | 0.030 |
| 2020-01-18 CGY at OTT | 2 REG 08:40 | CGY M. Backlund | Saved shot | 34.1 | 49.8 | PP | 0.046 |
| 2020-01-18 CGY at OTT | 2 REG 08:43 | CGY M. Lucic | Saved shot | 7.6 | 23.2 | PP | 0.511 |
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.