The following data is provided for NFL seasons 2016 to 2017.  

Each dataset can be merged on the game, play or player level using the provided key variables. `GameKey` provides a unique identifier for a specific game which is unique across NFL seasons.  `PlayID` identifies a unique play within a specified `GameKey`.  `GSISID` provides a unique identifier for a player across all seasons.  

## File descriptions

- **Game Data**: Game level data that specifies the type of season (pre, reg, post), week, and hosting city and team.  Each game is uniquely identified across all seasons using `GameKey`.

- **Play Information**: Play level data that describes the type of play, possession team, score and a brief narrative of each play.  Plays are uniquely identified using a its `PlayID` along with the corresponding `GameKey`.  `PlayIDs` are not unique.  

- **Player Punt Data**: Player level data that specifies the traditional football position for each player.  Each player is identified using his `GSISID`.

- **Play Player Role Data**: Play and player level data that specifies a punt specific player role.  This dataset will specify each player that played in each play.  A player’s role in a play is uniquely defined by the `Gamekey PlayID` and `GSISID`.  

- **Video Review**: Injury level data that provides a detailed description of the concussion-producing event.  Video Review data are only available in cases in which the injury play can be identified.  Each video review case can be identified using a combination of `GameKey`, `PlayID`, and `GSISID`.  A brief narrative of the play events is provided.

- **NGS**:  Next Gen Stats – player level data that describes the movement of each player during a play.  NGS data is processed by BIOCORE to produce relevant speed and direction data.  The NGS data is identified using `GameKey`, `PlayID`, and `GSISID`.  Player data for each play is provided as a function of time (Time) for the duration of the play.
![](https://storage.googleapis.com/kaggle-media/competitions/NFL%20player%20safety%20analytics/key_variables.jpg)
## Variable descriptions

### Game data

- Season_Year: NFL Season (YYYY) 
- Season_Type: Preseason (Pre), Regular season (Reg), Post season (Post)
- GameKey: Numeric game identifier, unique across seasons (####)
- Game_Date: Date of game (MM/DD/YYYY)
- Week: Week number, defined within Season_Type (##)
- Game_Day: Day of the week (text)
- Game_Site: Hosting city (text)
- Start_Time: Time at start of game (24:00:00)
- Home_Team: Long format of hosting team (text)
- HomeTeamCode Team abbreviation (ABC)
- Visit_Team: Long format of visiting team (text)
- VisitTeamCode: Team abbreviation (ABC)
- Stadium: Stadium Name (text)
- StadiumType: Indoor, outdoor or closure type - semi categorical (text)
- Turf: Natural or type of synthetic turf (text)
- GameWeather: Description of indoor weather, same as "OutdoorWeather" for open stadiums (text)
- Temperature: Stadium temperature (Degrees F)
- OutdoorWeather: Description of outdoor weather (free-form text)

### Play Information

- Season_Year: NFL Season (YYYY)
- Season_Type: Preseason (Pre), Regular Season (Reg), Post Season (Post)
- GameKey: Numeric game identifier, unique across seasons (#####)
- Game_Date: Date of game (MM/DD/YYYY)
- Week: Week number, week is defined within Season_Type (##)
- PlayID: Numeric play identifier, not unique across games, requires `GameKey` (####)
- Game_Clock: Game clock at start of play (mm:ss)
- YardLine: Play level line of srimmage (ABC - ##)
- Quarter: First quarter, Second quarter, Third quarter, Fourth quarter, Overtime (1, 2, 3, 4, 5)
- Play_Type: Rushing / run play (Rush), Passing play (Pass), Kickoff play (Kickoff), Punt play (Punt), Extra Point (Extra Point), Field Goal (Field Goal)
- Poss_Team : Identifies team with possession (Same as "Team")
- Home_Team_Visit_Team: Abbreviation for Home - Visiting Team, use with "Score_Home_Visiting" (ABC-ABC)
- Score_Home_Visiting: Current score for Home - Visiting Team, play level game score (##-##)
- PlayDescription: Description of play events, searchable for specific events (Free form)


### Player Punt Data

Player punt data assigns each player their typical football position.

- GSISID: Unique player identification, unique across seasons (#####)
- Position: Typical player position - not punt specific (ABC)
- Number: Player jersey number (##)


### Play Player Role Data

Player Play Role data assigns each player a punt-specific role.  These roles may differ by player between plays.  This table also defines all players in each punt play.  See the Appendix for a diagram of the Role definitions.  


- Season_Year: NFL Season (YYYY)
- GameKey: Numeric game identifier, unique across seasons (#####)
- PlayID: Numeric play identifier, not unique across games, requires `Gamekey`(####)
- GSISID: Unique player identification, unique across seasons (#####)
- Role: Punt specific player information (see diagram in appendix) (ABC)


### Video Review

The Video Review database contains play and player information for each identifiable play that was associated with a concussion.  For each injured player, the Primary Exposure is the impact that is observed to be markedly more severe than any other exposure during that play and was considered to be the primary source of the concussion.  In some cases, the injury producing play can be identified, but the “Primary” event (helmet to helmet, helmet to body) cannot be identified.  The “Primary Impact” will be listed as Unclear if the video coverage was adequate to observe all the events experienced by the player, but the competing exposures could not be differentiated to identify a primary.  For plays in which the video coverage was not sufficient to visualize the player’s exposures, the primary exposure will be listed as Indeterminate.  The data provided in the video review dataset will be only those for the primary impact.

Within the video review database, the prefix “Player” indicates the concussed player and “Partner” indicates the collision partner when applicable.  If both the player and partner are concussed, then each player will be listed as a player.  

- Season_Year: NFL Season (####)
- GameKey: Numeric game identifier, unique across seasons (#####)
- PlayID: Numeric play identifier, not unique across games, requires `GameKey` (####)
- GSISID: Unique player identification, unique across seasons (#####)
- Player_Activity_Derived: Player activity during primary injury causing event
    - Blocked: Player was blocked
    - Blocking: Player was blocking
    - Tackled: Player was tackled
    - Tackling: Player was tackling
    - Diving/Leaping: Player was diving or leaping
    - Other: Other activity
- Turnover_Related: Identifies concussions that were related to a turnover during the play
    - Yes: Concussion causing event related to a turnover
    - No: Turnover had no relation to concussion
    - NA: Not applicable
- Primary_Impact_Type: Categorical variable defining the impacting source that caused the concussion
    - Helmet-to-body: Helmet to partner's body impact
    - Helmet-to-ground: Helmet to ground impact
    - Helmet-to-helmet: Helmet to helmet impact
    - Indeterminate: Primary exposure could not be visualized
    - Unclear: Primary exposure could not be differentiated from other contacts
    - Unidentifiable: Injury play could not be identified
- Primary_Partner_GSISID: Unique player identification, impacting player involved with primary helmet impact (not applicable for helmet to ground impacts) (#####)
- Primary_Partner_Activity_Derived:
    - Blocked: Partner was blocked
    - Blocking: Partner was blocking
    - Tackled: Partner was tackled
    - Tackling: Partner was tackling
    - Diving/Leaping: Partner was diving or leaping
    - Other: Other activity
- Friendly_Fire: Friendly fire occurs when the primary impact results from contact between two players on the same team 
    - Yes: Player and partner on same team
    - No: Player and partner on different teams
    - Indeterminate: Primary exposure could not be visualized
    - Unclear: Primary exposure could not be differentiated from other contacts
    - Unidentifiable: Injury play could not be identified
    - NA: Not applicable, e.g. helmet to ground impact


### NGS (Next Gen Stats)

The NGS datasets contains player position and direction data for each player during the entire course of the play. The NGS dataset is the only dataset that contains `Time `as a variable. Speed can be calculated from the provided time, and X, Y position coordinates of the player. 

When processing NGS data, it is recommended to calculate velocity direction using the x, y position data and use those calculated velocities for any analyses.  If acceleration is desired, differentiating the NGS velocity data is recommended. The NGS data is in units of yards, so the final analyses should be converted to meters.  The origin for the x and y coordinates is defined as the corner of the home endzone and home sideline (Figure 1).  The angles defined by orientation and direction are referenced from the y-axis of the coordinate system.  

- Season_Year: NFL Season (####) 
- GameKey: Numeric game identifier, unique across seasons (#####)
- PlayID: Numeric play identifier, not unique across games, requires `GameKey` (####)
- GSISID: Unique player identification, unique across seasons (#####)
- Time: Time of day at start, does not equal game clock, should be set to zero at start of play (MM/DD/YYYY HH:MM:SS)
- x: Player position along the long axis of the field (yards), 0 - 120 yards (numeric)
- y: Player position along the short axis of the field (yards), 0 - 53.3 yards (numeric)
- dis: Distance traveled from prior time point, distance in yards (numeric)
- o: Orientation - angle that the player is facing (deg), 0 - 360 degrees (numeric)
- dir: Direction - angle of player motion (deg), 0 - 360 degrees (numeric)
- Event: Play details as a function of time during the play (text)
**Figure 1: Coordinate system and origin (bottom left) used with the NGS position data**.
![](https://storage.googleapis.com/kaggle-media/competitions/NFL%20player%20safety%20analytics/fig1.jpg)
**Appendix 1: Punt Player Position (Role)**
Punt Coverage
![](https://storage.googleapis.com/kaggle-media/competitions/NFL%20player%20safety%20analytics/punt_coverage.png)
**Appendix 2: Punt Player Position (Role)**
Punt Return
![](https://storage.googleapis.com/kaggle-media/competitions/NFL%20player%20safety%20analytics/punt_return.png)