• Who We Are
  • What We Do
  • Work With Us
    • Contact Us
    • Join Our Team
  • Who We Are
  • What We Do
  • Work With Us
    • Contact Us
    • Join Our Team

BIG DATA CUP 2027

Data and Documentation

Back to Overview
  The dataset combines 3D goalie pose with puck position and velocity, synchronized frame by frame. SPL's supplied documentation describes 81 shots from one goalie (P0001), recorded August 6, 2026, at 60 Hz.

Data and Supporting Materials

The full dataset release is forthcoming in SPL-Open-Data. The file below is one sample shot, not the full dataset.
  • Download sample shot JSON
  • Download SPL's original README
Shot files are organized by session and participant, for example data/2026-08-06/P0001/HK_GL_P0001_S0001.json. Participant IDs remain consistent across sessions; shot IDs increase chronologically within a session.

Coordinate System and Units

Positions use [x, y, z] in feet, with the origin at center ice. Positive x points toward the goal used in this session, whose goal line is at x = 89 feet. Positive y is upward in the diagram; positive z is above the ice, with z = 0 at the ice surface. Velocity components use feet per second.
Rink coordinates: origin at center ice, positive x toward the right goal, positive y toward the top of the rink diagram; goal line at x equals 89 feet.
Coordinate-system diagram supplied by SPL
 

Combined Shot Data Dictionary

Field Definition
metadata.session_date Session date (YYYY-MM-DD).
metadata.participant_id Consistent goalie identifier across sessions.
metadata.shot_number Chronological shot identifier within the session.
metadata.duration__s Shot duration in seconds.
metadata.goalie_sampling_rate__hz / metadata.puck_sampling_rate__hz Nominal sampling rates; both are 60 Hz.
tracking Chronological array of synchronized frames.
tracking[].frame Shot-local frame index, starting at zero.
tracking[].time Elapsed time since the first shot frame, in milliseconds.
tracking[].data.puck [x, y, z] puck position in feet; null when not detected.
tracking[].data.puck_velocity [vx, vy, vz] puck velocity in feet per second; null when unavailable.
tracking[].data.goalie 19 named keypoints, each with [x, y, z] coordinates in feet; null when unavailable.

Goalie Keypoints

NOSE, LEFT_EYE, RIGHT_EYE, RIGHT_EAR, LEFT_EAR, LEFT_SHOULDER, RIGHT_SHOULDER, LEFT_ELBOW, RIGHT_ELBOW, LEFT_WRIST, RIGHT_WRIST, LEFT_HIP, RIGHT_HIP, LEFT_KNEE, RIGHT_KNEE, LEFT_ANKLE, RIGHT_ANKLE, MID_HIP, NECK. MID_HIP is the midpoint of the hips. The remaining names identify the corresponding body landmarks. See the original README for the full marker table.

Sample Frame

The following is the metadata and first frame from the supplied sample. Download the JSON above for the complete shot.
{
  "metadata": {
    "session_date": "2026-08-06",
    "participant_id": "P0001",
    "shot_number": "S0001",
    "duration__s": 7.333,
    "goalie_sampling_rate__hz": 60,
    "puck_sampling_rate__hz": 60
  },
  "tracking": [
    {
      "frame": 0,
      "time": 0,
      "data": {
        "puck": [
          91.768,
          -27.53,
          0.054
        ],
        "puck_velocity": [
          -20.647,
          4.145,
          0.695
        ],
        "goalie": {
          "NOSE": [
            87.573,
            -3.167,
            4.402
          ],
          "LEFT_EYE": [
            87.662,
            -3.205,
            4.558
          ],
          "RIGHT_EYE": [
            87.552,
            -3.049,
            4.577
          ],
          "RIGHT_EAR": [
            87.462,
            -2.715,
            4.593
          ],
          "LEFT_EAR": [
            87.524,
            -2.687,
            4.647
          ],
          "LEFT_SHOULDER": [
            88.379,
            -2.862,
            3.879
          ],
          "RIGHT_SHOULDER": [
            86.992,
            -2.523,
            4.157
          ],
          "LEFT_ELBOW": [
            88.426,
            -3.011,
            2.781
          ],
          "RIGHT_ELBOW": [
            86.079,
            -2.308,
            3.123
          ],
          "LEFT_WRIST": [
            88.345,
            -3.451,
            2.378
          ],
          "RIGHT_WRIST": [
            86.29,
            -2.881,
            2.283
          ],
          "LEFT_HIP": [
            87.848,
            -2.422,
            2.343
          ],
          "RIGHT_HIP": [
            87.254,
            -1.443,
            2.579
          ],
          "LEFT_KNEE": [
            87.402,
            -2.749,
            1.302
          ],
          "RIGHT_KNEE": [
            86.408,
            -2.062,
            1.333
          ],
          "LEFT_ANKLE": [
            88.47,
            -2.859,
            0.297
          ],
          "RIGHT_ANKLE": [
            85.937,
            -1.068,
            0.432
          ],
          "MID_HIP": [
            87.551,
            -1.932,
            2.461
          ],
          "NECK": [
            87.685,
            -2.692,
            4.018
          ]
        }
      }
    }
  ]
}

Processing, Alignment, and Missing Values

According to SPL's README, goalie keypoints were smoothed using a robust Savitzky–Golay filter (third-order polynomial, 11-frame window). Each goalie frame is matched to the closest puck measurement within 8 milliseconds; puck values are not interpolated. A null value means an observation is unavailable; it is different from [0, 0, 0]. Puck detections can be absent when the puck is occluded or outside the camera view. Preserve the supplied observations and document any interpolation, filtering, or reconstruction you perform.

Orientation Video

This short video shows shot S0011 reconstructed from tracking data alongside overhead, bench-wall, and stands-wall camera views. It provides context for the tracking; it is not a release of the full session videos. Open or download the orientation video
 

Shot Animation

Animated reconstruction of goalie keypoints during sample shot S0001.
Sample shot animation supplied by SPL
  SPL plans to include animation code with its repository release. The original README describes animate_shot() and camera options. That script is not included in this sample download.

Data Use

Consult the SPL repository for applicable data-use and attribution terms accompanying the release.
Stathletes