Data and methodology
Source
The viewer uses the NFL Big Data Bowl 2026 competition files. Player position, speed,
direction, and orientation come from Next Gen Stats RFID tracking sampled at 10 Hz. The competition files split each play into pre-throw input frames, post-throw output frames, and play metadata.
Data coverage
Tracking is partial rather than full 22-player tracking. It covers the quarterback, targeted receiver, other route runners, and defenders in coverage. Linemen are generally absent because they are outside the competition task.
The build contains tracked 2023 dropback plays with tracking and additional 2024 plays with metadata only. Metadata-only plays appear in Plays but do not have an animation.
Orientation and movement
o is the direction a player's chest faces. dir is the direction the
player is moving. Both use compass degrees, clockwise from 0°. A backpedaling defender can
face one direction while moving in the opposite direction.
Play events
The source does not provide snap, throw, or catch event markers. The viewer uses:
- Snap (approx.): the first input frame. It can include brief pre-snap motion.
- Throw: the final input frame.
- Ball arrives: the final output frame, whether the pass is caught, incomplete, intercepted, or out of bounds.
Coordinate system
The source field is 120 yards long, including end zones, and 53.3 yards wide. Plays are
normalized so the offense moves right. Leftward plays are rotated around midfield: x → 120 − x, y → 53.3 − y, and both heading angles rotate 180°.
Canvas y-coordinates grow downward, so the renderer also flips y at draw time. This keeps 0° pointing toward the top of the screen.
After normalization, player coordinates outside x 0–120 or y 0–53.3 are clamped to the field. Only corrected frames retain the normalized,
pre-clamp value. The quality report counts affected rows and distinct plays on each axis.
Ball flight
The source has a landing point, not an in-flight ball position. The gold arc is a synthetic path from the quarterback at release to the landing point. It is a visual guide, not measured ball tracking.
Post-throw movement
Output frames contain x, y, and frame_id. Post-throw
speed and movement direction are finite differences between frames. Body orientation is not
shown after the throw because it is absent from the output data.
Quality report
These counts come from the current pipeline build.
Analytics
- xComp and CPOE
- xComp is a limited catchability estimate based on pass length and receiver separation at the throw. It does not grade quarterback decisions. Graded attempts publish the held-out xComp; CPOE is the actual completion result minus that same rounded value. Player CPOE appears only above the role's sample threshold.
- Role EPA rates
- Passers use offensive EPA per tracked dropback. Receivers use offensive EPA per tracked target. Defenders use the negative of offensive EPA per coverage snap, so positive is better defense. Primary-defender EPA per target is a separate, narrower slice. Rankings require 100 dropbacks, 25 targets, or 50 coverage snaps.
- Yards after catch
pre_penalty_yards_gained − pass_lengthon completed passes.- Pass yards
- Pre-penalty yards gained on completed tracked passes.
- Open at throw
- Target separation of at least 5 yards at the throw. This describes spacing, not quarterback decision quality.
- Receiver separation
- The target's frame-by-frame distance from the nearest tracked defender. Defenders without a current frame are excluded.
- Tracked influence
- A nearest-player surface projected 0.6 seconds from current velocity. It covers only the tracked subset, not all 22 players.
- Straight-line comparison
- A constant-velocity path projected from the final five pre-throw frames. It is a visual reference beside the recorded path, not a scored model.
- Time to throw
- Seconds from the first input frame to the final input frame, at 10 frames per second. The first frame is only an approximate snap.
- Contested catch rate
- Catches per target with less than 1.5 yards of separation at the throw. Receiver rates require at least 15 contested targets.
- Coverage tightness
- Average target separation when the defender is the nearest tracked defender at the throw. Rankings require at least 20 such plays; lower values mean less separation.
- Completion and interception rates
- Plays with an unknown pass result are excluded from both numerator and denominator.
Limits
- Team, matrix, leaderboard, and player analytics use tracked 2023 passing plays. The library also keeps 2024 metadata-only rows.
- Player age is calculated at September 1, 2023. Generated files do not contain exact birth dates.
- EPA and win-probability values come from the source files and are not recomputed.
pass_resultcontains C, I, or IN. Sacks and scrambles are identified throughdropback_type.- Partial tracking cannot describe line play or full-field control.
- Player route plots are aligned at midfield, so they compare shape rather than absolute field position.