{
  "id": 392095,
  "title": "Is the role of the player position useful data?",
  "url": "/competitions/nfl-player-contact-detection/discussion/392095",
  "author_name": "",
  "post_date": "2023-03-03T17:25:05.048048400Z",
  "votes": 8,
  "comment_count": 2,
  "views": 0,
  "content": "<h1>Introduction</h1>\n<p>I noticed that many of the public note books ignore the \"position\" in the player_tracking data.<br>\nThese character data (e.g. QB, CB, DE…) were useful data by using knowledge of the NFL domain.<br>\nI will share my usage.</p>\n<h1>What is the NFL position?</h1>\n<p>The NFL is played by 11 players vs 11 players.<br>\nEach team has three different units.</p>\n<ol>\n<li>Offence Team<br>\nThe team that attacks to move the ball forward and score points.</li>\n<li>Defence Team<br>\nThe team that tries to keep the offense out of the end zone.</li>\n<li>Special Team<br>\nThe team that specializes in punting, field goals, and kickoffs.</li>\n</ol>\n<p>These unit have distinct roles, each appearing on the field when needed.</p>\n<p>NFL is a very organized sport, and players on each unit are considered to have different roles.<br>\nI assumed that each player plays differently, which affects their danger (contact probability).<br>\nBecause do you think a front line defender and a kicker would be put in the same danger?</p>\n<h1>How to use</h1>\n<p>I classified the positions into five groups in terms of player roles.<br>\nI saw the front line players are blocking the opposing players, and behind player are waiting for the ball to come.<br>\nSo I assumed that the same unit members would have different roles in the front and in the back.<br>\nThis figure is a simplified representation of each player's position when the Home team on the left is the offense and the Away team on the right is the defense.<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F10163579%2Fa4abc2c7505a5f72ea78aad9301e0248%2FNFL-position.001.jpeg?generation=1677860871145422&amp;alt=media\" alt=\"\"></p>\n<p>The positions are divided into groups as shown in the next figure.<br>\nThe direction to the opposing team is defined as \"front\".</p>\n<ol>\n<li>Offence_Front</li>\n<li>Offence_Back</li>\n<li>Deffence_Back</li>\n<li>Defence_Front</li>\n<li>Special_Team<br>\nThe Special_Team player is not in the field in the figure because it is not turn to play.</li>\n</ol>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F10163579%2F15fc0aedf990a551b03fda291d51fd4b%2FNFL-position.002.jpeg?generation=1677860933592393&amp;alt=media\" alt=\"\"></p>\n<p>The tracking data in training contained 28 unique characters as positions.<br>\nThese positions classified into 5 groups with knowledge of the NFL domain.<br>\nI decided on the following, but I do not think it is correct.<br>\nSome positions have different roles and names depending on the situation.</p>\n<ul>\n<li>CB : Defence_Front</li>\n<li>DE : Defence_Front</li>\n<li>FS : Defence_Back</li>\n<li>TE : Offence_Front</li>\n<li>ILB : Defence_Front</li>\n<li>OLB : Defence_Front</li>\n<li>T : Offence_Front</li>\n<li>G : Offence_Front</li>\n<li>C : Offence_Front</li>\n<li>QB : Offence_Back</li>\n<li>WR : Offence_Front</li>\n<li>RB : Offence_Back</li>\n<li>NT : Defence_Front</li>\n<li>DT : Defence_Front</li>\n<li>MLB : Defence_Back</li>\n<li>SS : Defence_Back</li>\n<li>OT : Offence_Front</li>\n<li>LB : Defence_Front</li>\n<li>OG : Offence_Front</li>\n<li>SAF : Defence_Back</li>\n<li>DB : Defence_Back</li>\n<li>LS : Special_Teams</li>\n<li>K : Special_Teams</li>\n<li>P : Special_Teams</li>\n<li>FB : Offence_Back</li>\n<li>S : Defence_Back</li>\n<li>DL : Defence_Front</li>\n<li>HB : Offence_Back</li>\n</ul>\n<h1>Evaluation　</h1>\n<p>I have confirmed model with this data improves performance.<br>\nAs an example, I show the results applied to <a href=\"https://www.kaggle.com/code/columbia2131/nfl-player-contact-detection-simple-xgb-baseline\" target=\"_blank\">this public notebook using XGB</a>.</p>\n<table>\n<thead>\n<tr>\n<th>Model</th>\n<th>Private</th>\n<th>Public</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Original</td>\n<td>0.57012</td>\n<td>0.58308</td>\n</tr>\n<tr>\n<td>Add-position</td>\n<td>0.58933</td>\n<td>0.59609</td>\n</tr>\n</tbody>\n</table>\n<p>I have used this data for other models (with images, with table), all of which have improved score.</p>\n<h1>Finally</h1>\n<p>This was my first time participating in the competition.<br>\nThe result was 52nd place, which is a good start.<br>\nI hope to do my best to win a medal again next time.<br>\nI love Kaggle!!!</p>",
  "messages": [
    {
      "id": "2167741",
      "postDate": "03/03/2023 17:25:05",
      "content": "<h1>Introduction</h1>\n<p>I noticed that many of the public note books ignore the \"position\" in the player_tracking data.<br>\nThese character data (e.g. QB, CB, DE…) were useful data by using knowledge of the NFL domain.<br>\nI will share my usage.</p>\n<h1>What is the NFL position?</h1>\n<p>The NFL is played by 11 players vs 11 players.<br>\nEach team has three different units.</p>\n<ol>\n<li>Offence Team<br>\nThe team that attacks to move the ball forward and score points.</li>\n<li>Defence Team<br>\nThe team that tries to keep the offense out of the end zone.</li>\n<li>Special Team<br>\nThe team that specializes in punting, field goals, and kickoffs.</li>\n</ol>\n<p>These unit have distinct roles, each appearing on the field when needed.</p>\n<p>NFL is a very organized sport, and players on each unit are considered to have different roles.<br>\nI assumed that each player plays differently, which affects their danger (contact probability).<br>\nBecause do you think a front line defender and a kicker would be put in the same danger?</p>\n<h1>How to use</h1>\n<p>I classified the positions into five groups in terms of player roles.<br>\nI saw the front line players are blocking the opposing players, and behind player are waiting for the ball to come.<br>\nSo I assumed that the same unit members would have different roles in the front and in the back.<br>\nThis figure is a simplified representation of each player's position when the Home team on the left is the offense and the Away team on the right is the defense.<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F10163579%2Fa4abc2c7505a5f72ea78aad9301e0248%2FNFL-position.001.jpeg?generation=1677860871145422&amp;alt=media\" alt=\"\"></p>\n<p>The positions are divided into groups as shown in the next figure.<br>\nThe direction to the opposing team is defined as \"front\".</p>\n<ol>\n<li>Offence_Front</li>\n<li>Offence_Back</li>\n<li>Deffence_Back</li>\n<li>Defence_Front</li>\n<li>Special_Team<br>\nThe Special_Team player is not in the field in the figure because it is not turn to play.</li>\n</ol>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F10163579%2F15fc0aedf990a551b03fda291d51fd4b%2FNFL-position.002.jpeg?generation=1677860933592393&amp;alt=media\" alt=\"\"></p>\n<p>The tracking data in training contained 28 unique characters as positions.<br>\nThese positions classified into 5 groups with knowledge of the NFL domain.<br>\nI decided on the following, but I do not think it is correct.<br>\nSome positions have different roles and names depending on the situation.</p>\n<ul>\n<li>CB : Defence_Front</li>\n<li>DE : Defence_Front</li>\n<li>FS : Defence_Back</li>\n<li>TE : Offence_Front</li>\n<li>ILB : Defence_Front</li>\n<li>OLB : Defence_Front</li>\n<li>T : Offence_Front</li>\n<li>G : Offence_Front</li>\n<li>C : Offence_Front</li>\n<li>QB : Offence_Back</li>\n<li>WR : Offence_Front</li>\n<li>RB : Offence_Back</li>\n<li>NT : Defence_Front</li>\n<li>DT : Defence_Front</li>\n<li>MLB : Defence_Back</li>\n<li>SS : Defence_Back</li>\n<li>OT : Offence_Front</li>\n<li>LB : Defence_Front</li>\n<li>OG : Offence_Front</li>\n<li>SAF : Defence_Back</li>\n<li>DB : Defence_Back</li>\n<li>LS : Special_Teams</li>\n<li>K : Special_Teams</li>\n<li>P : Special_Teams</li>\n<li>FB : Offence_Back</li>\n<li>S : Defence_Back</li>\n<li>DL : Defence_Front</li>\n<li>HB : Offence_Back</li>\n</ul>\n<h1>Evaluation　</h1>\n<p>I have confirmed model with this data improves performance.<br>\nAs an example, I show the results applied to <a href=\"https://www.kaggle.com/code/columbia2131/nfl-player-contact-detection-simple-xgb-baseline\" target=\"_blank\">this public notebook using XGB</a>.</p>\n<table>\n<thead>\n<tr>\n<th>Model</th>\n<th>Private</th>\n<th>Public</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Original</td>\n<td>0.57012</td>\n<td>0.58308</td>\n</tr>\n<tr>\n<td>Add-position</td>\n<td>0.58933</td>\n<td>0.59609</td>\n</tr>\n</tbody>\n</table>\n<p>I have used this data for other models (with images, with table), all of which have improved score.</p>\n<h1>Finally</h1>\n<p>This was my first time participating in the competition.<br>\nThe result was 52nd place, which is a good start.<br>\nI hope to do my best to win a medal again next time.<br>\nI love Kaggle!!!</p>",
      "rawMarkdown": "# Introduction\nI noticed that many of the public note books ignore the \"position\" in the player_tracking data.\nThese character data (e.g. QB, CB, DE...) were useful data by using knowledge of the NFL domain.\nI will share my usage.\n\n# What is the NFL position?\nThe NFL is played by 11 players vs 11 players.\nEach team has three different units.\n\n1. Offence Team\nThe team that attacks to move the ball forward and score points.\n2. Defence Team\nThe team that tries to keep the offense out of the end zone.\n3. Special Team\nThe team that specializes in punting, field goals, and kickoffs.\n\nThese unit have distinct roles, each appearing on the field when needed.\n\nNFL is a very organized sport, and players on each unit are considered to have different roles.\nI assumed that each player plays differently, which affects their danger (contact probability).\nBecause do you think a front line defender and a kicker would be put in the same danger?\n\n# How to use\nI classified the positions into five groups in terms of player roles.\nI saw the front line players are blocking the opposing players, and behind player are waiting for the ball to come.\nSo I assumed that the same unit members would have different roles in the front and in the back.\nThis figure is a simplified representation of each player's position when the Home team on the left is the offense and the Away team on the right is the defense.\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F10163579%2Fa4abc2c7505a5f72ea78aad9301e0248%2FNFL-position.001.jpeg?generation=1677860871145422&alt=media)\n\nThe positions are divided into groups as shown in the next figure.\nThe direction to the opposing team is defined as \"front\".\n1. Offence_Front\n2. Offence_Back\n3. Deffence_Back\n4. Defence_Front\n5. Special_Team\nThe Special_Team player is not in the field in the figure because it is not turn to play.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F10163579%2F15fc0aedf990a551b03fda291d51fd4b%2FNFL-position.002.jpeg?generation=1677860933592393&alt=media)\n\nThe tracking data in training contained 28 unique characters as positions.\nThese positions classified into 5 groups with knowledge of the NFL domain.\nI decided on the following, but I do not think it is correct.\nSome positions have different roles and names depending on the situation.\n\n- CB : Defence_Front\n- DE : Defence_Front\n- FS : Defence_Back\n- TE : Offence_Front\n- ILB : Defence_Front\n- OLB : Defence_Front\n- T : Offence_Front\n- G : Offence_Front\n- C : Offence_Front\n- QB : Offence_Back\n- WR : Offence_Front\n- RB : Offence_Back\n- NT : Defence_Front\n- DT : Defence_Front\n- MLB : Defence_Back\n- SS : Defence_Back\n- OT : Offence_Front\n- LB : Defence_Front\n- OG : Offence_Front\n- SAF : Defence_Back\n- DB : Defence_Back\n- LS : Special_Teams\n- K : Special_Teams\n- P : Special_Teams\n- FB : Offence_Back\n- S : Defence_Back\n- DL : Defence_Front\n- HB : Offence_Back\n\n# Evaluation　\nI have confirmed model with this data improves performance.\nAs an example, I show the results applied to [this public notebook using XGB](https://www.kaggle.com/code/columbia2131/nfl-player-contact-detection-simple-xgb-baseline).\n\n\n| Model | Private | Public |\n| --- | ------- | ------- |\n| Original | 0.57012 | 0.58308 |\n| Add-position | 0.58933 | 0.59609 |\n\n\nI have used this data for other models (with images, with table), all of which have improved score.\n\n# Finally\nThis was my first time participating in the competition.\nThe result was 52nd place, which is a good start.\nI hope to do my best to win a medal again next time.\nI love Kaggle!!!",
      "votes": null
    },
    {
      "id": "2168236",
      "postDate": "03/04/2023 03:20:30",
      "content": "<p>I found the position was quite useful feature. The boost to the stronger models was expectedly more modest compared to the XGB public notebook you mentioned.</p>",
      "rawMarkdown": "I found the position was quite useful feature. The boost to the stronger models was expectedly more modest compared to the XGB public notebook you mentioned.",
      "votes": null
    },
    {
      "id": "2168491",
      "postDate": "03/04/2023 09:33:33",
      "content": "<p>Thank you.<br>\nI also think the impact of this is small on stronger models. I just think the position is data that cannot be ignored. There may be a better use for it.</p>",
      "rawMarkdown": "Thank you.\nI also think the impact of this is small on stronger models. I just think the position is data that cannot be ignored. There may be a better use for it.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 2168236,
      "author_name": "dmytropoplavskiy",
      "author_url": "",
      "post_date": "03/04/2023 03:20:30",
      "content": "<p>I found the position was quite useful feature. The boost to the stronger models was expectedly more modest compared to the XGB public notebook you mentioned.</p>",
      "votes": null,
      "replies": [
        {
          "id": 2168491,
          "author_name": "sunagimon",
          "author_url": "",
          "post_date": "03/04/2023 09:33:33",
          "content": "<p>Thank you.<br>\nI also think the impact of this is small on stronger models. I just think the position is data that cannot be ignored. There may be a better use for it.</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "2167741": "# Introduction\nI noticed that many of the public note books ignore the \"position\" in the player_tracking data.\nThese character data (e.g. QB, CB, DE...) were useful data by using knowledge of the NFL domain.\nI will share my usage.\n\n# What is the NFL position?\nThe NFL is played by 11 players vs 11 players.\nEach team has three different units.\n\n1. Offence Team\nThe team that attacks to move the ball forward and score points.\n2. Defence Team\nThe team that tries to keep the offense out of the end zone.\n3. Special Team\nThe team that specializes in punting, field goals, and kickoffs.\n\nThese unit have distinct roles, each appearing on the field when needed.\n\nNFL is a very organized sport, and players on each unit are considered to have different roles.\nI assumed that each player plays differently, which affects their danger (contact probability).\nBecause do you think a front line defender and a kicker would be put in the same danger?\n\n# How to use\nI classified the positions into five groups in terms of player roles.\nI saw the front line players are blocking the opposing players, and behind player are waiting for the ball to come.\nSo I assumed that the same unit members would have different roles in the front and in the back.\nThis figure is a simplified representation of each player's position when the Home team on the left is the offense and the Away team on the right is the defense.\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F10163579%2Fa4abc2c7505a5f72ea78aad9301e0248%2FNFL-position.001.jpeg?generation=1677860871145422&alt=media)\n\nThe positions are divided into groups as shown in the next figure.\nThe direction to the opposing team is defined as \"front\".\n1. Offence_Front\n2. Offence_Back\n3. Deffence_Back\n4. Defence_Front\n5. Special_Team\nThe Special_Team player is not in the field in the figure because it is not turn to play.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F10163579%2F15fc0aedf990a551b03fda291d51fd4b%2FNFL-position.002.jpeg?generation=1677860933592393&alt=media)\n\nThe tracking data in training contained 28 unique characters as positions.\nThese positions classified into 5 groups with knowledge of the NFL domain.\nI decided on the following, but I do not think it is correct.\nSome positions have different roles and names depending on the situation.\n\n- CB : Defence_Front\n- DE : Defence_Front\n- FS : Defence_Back\n- TE : Offence_Front\n- ILB : Defence_Front\n- OLB : Defence_Front\n- T : Offence_Front\n- G : Offence_Front\n- C : Offence_Front\n- QB : Offence_Back\n- WR : Offence_Front\n- RB : Offence_Back\n- NT : Defence_Front\n- DT : Defence_Front\n- MLB : Defence_Back\n- SS : Defence_Back\n- OT : Offence_Front\n- LB : Defence_Front\n- OG : Offence_Front\n- SAF : Defence_Back\n- DB : Defence_Back\n- LS : Special_Teams\n- K : Special_Teams\n- P : Special_Teams\n- FB : Offence_Back\n- S : Defence_Back\n- DL : Defence_Front\n- HB : Offence_Back\n\n# Evaluation　\nI have confirmed model with this data improves performance.\nAs an example, I show the results applied to [this public notebook using XGB](https://www.kaggle.com/code/columbia2131/nfl-player-contact-detection-simple-xgb-baseline).\n\n\n| Model | Private | Public |\n| --- | ------- | ------- |\n| Original | 0.57012 | 0.58308 |\n| Add-position | 0.58933 | 0.59609 |\n\n\nI have used this data for other models (with images, with table), all of which have improved score.\n\n# Finally\nThis was my first time participating in the competition.\nThe result was 52nd place, which is a good start.\nI hope to do my best to win a medal again next time.\nI love Kaggle!!!",
    "2168236": "I found the position was quite useful feature. The boost to the stronger models was expectedly more modest compared to the XGB public notebook you mentioned.",
    "2168491": "Thank you.\nI also think the impact of this is small on stronger models. I just think the position is data that cannot be ignored. There may be a better use for it."
  },
  "source": "meta"
}