{
  "id": 119294,
  "title": "Updated Injury Data File and Play Data Table, Negative PlayerDay values",
  "url": "/competitions/nfl-playing-surface-analytics/discussion/119294",
  "author_name": "Addison Howard",
  "post_date": "2019-11-28T00:09:10.561000",
  "votes": 3,
  "comment_count": 4,
  "views": 0,
  "content": "<p>Hi All,</p>\n\n<p>The tables on the Data page have been updated to reflect some inconsistencies. The datasets themselves remained unchanged.</p>\n\n<p>We'll also note that, as brought up already, that some PlayerDay values appear negative. This is not a mistake. The GameID field is a unique identifier of player games but does not strictly reflect the order in which the games were played.  The PlayerDay is an integer sequence that provides an accurate timeline for player game participation.  In order to generate an accurate timeline of an individual player’s game participation, the PlayerDay variable should be used.  The interval between days in the PlayerDay field for an individual player accurately reflects the interval in days between that player’s participation in games.  Every player has a PlayerDay = 1 (note that this date is not the same for all players).  Some players may have negative values for PlayerDay, which simply indicates participation in a game that occurred before their individually assigned PlayerDay = 1. </p>\n\n<p>The above description has also been added to the Data table.</p>\n\n<p>Thank you!</p>\n\n<p>Addison</p>",
  "messages": [
    {
      "id": 682897,
      "postDate": "2019-11-28T00:09:10.560Z",
      "content": "<p>Hi All,</p>\n\n<p>The tables on the Data page have been updated to reflect some inconsistencies. The datasets themselves remained unchanged.</p>\n\n<p>We'll also note that, as brought up already, that some PlayerDay values appear negative. This is not a mistake. The GameID field is a unique identifier of player games but does not strictly reflect the order in which the games were played.  The PlayerDay is an integer sequence that provides an accurate timeline for player game participation.  In order to generate an accurate timeline of an individual player’s game participation, the PlayerDay variable should be used.  The interval between days in the PlayerDay field for an individual player accurately reflects the interval in days between that player’s participation in games.  Every player has a PlayerDay = 1 (note that this date is not the same for all players).  Some players may have negative values for PlayerDay, which simply indicates participation in a game that occurred before their individually assigned PlayerDay = 1. </p>\n\n<p>The above description has also been added to the Data table.</p>\n\n<p>Thank you!</p>\n\n<p>Addison</p>",
      "rawMarkdown": "Hi All,\n\nThe tables on the Data page have been updated to reflect some inconsistencies. The datasets themselves remained unchanged.\n\nWe'll also note that, as brought up already, that some PlayerDay values appear negative. This is not a mistake. The GameID field is a unique identifier of player games but does not strictly reflect the order in which the games were played.  The PlayerDay is an integer sequence that provides an accurate timeline for player game participation.  In order to generate an accurate timeline of an individual player’s game participation, the PlayerDay variable should be used.  The interval between days in the PlayerDay field for an individual player accurately reflects the interval in days between that player’s participation in games.  Every player has a PlayerDay = 1 (note that this date is not the same for all players).  Some players may have negative values for PlayerDay, which simply indicates participation in a game that occurred before their individually assigned PlayerDay = 1. \n\nThe above description has also been added to the Data table.\n\nThank you!\n\nAddison\n",
      "votes": 3
    },
    {
      "id": 687834,
      "postDate": "2019-12-04T22:36:29.023Z",
      "content": "<p>The PlayerDay = 1 corresponds to the game where the GameID = XXXXX-1, with XXXXX representing the PlayerKey.    For the vast majority of player records, GameID = XXXXX-1 corresponds to the first game the player participated in (in calendar time), but there are situations in which the order of the GameIDs is not strictly sequential with calendar time.  The PlayerDay is a timeline, built from the calendar of actual game occurrence, in which the PlayerDay = 1 corresponds to the game  with the smallest GameID for each player (i.e. GameID = XXXXX-1).   In those cases where a player's GameIDs do not accurately represent the calendar sequence of the games (I believe there are 17 players that this anomaly pertains to), the PlayerDay values for games that occurred PRIOR to GameID = XXXXX-1 will be negative values (because those games actually occurred prior to the date that correspond to PlayerDay = 1 for that player).    As you suggest, it is valid to transform a set of player days for the players with negative values for PlayerDay by shifting them to the right by adding (1 + numpy.absolute(the_minimum_value)) to that individual player's PlayerDays, generating a new timeline for that player that starts at 1 rather than some negative value.  In retrospect, this transformation of PlayerDay should have been applied prior to the release of the dataset.  </p>",
      "rawMarkdown": "The PlayerDay = 1 corresponds to the game where the GameID = XXXXX-1, with XXXXX representing the PlayerKey.    For the vast majority of player records, GameID = XXXXX-1 corresponds to the first game the player participated in (in calendar time), but there are situations in which the order of the GameIDs is not strictly sequential with calendar time.  The PlayerDay is a timeline, built from the calendar of actual game occurrence, in which the PlayerDay = 1 corresponds to the game  with the smallest GameID for each player (i.e. GameID = XXXXX-1).   In those cases where a player's GameIDs do not accurately represent the calendar sequence of the games (I believe there are 17 players that this anomaly pertains to), the PlayerDay values for games that occurred PRIOR to GameID = XXXXX-1 will be negative values (because those games actually occurred prior to the date that correspond to PlayerDay = 1 for that player).    As you suggest, it is valid to transform a set of player days for the players with negative values for PlayerDay by shifting them to the right by adding (1 + numpy.absolute(the_minimum_value)) to that individual player's PlayerDays, generating a new timeline for that player that starts at 1 rather than some negative value.  In retrospect, this transformation of PlayerDay should have been applied prior to the release of the dataset.  ",
      "replies": [
        {
          "id": 687986,
          "postDate": "2019-12-05T05:01:36.373Z",
          "content": "<p>Thank you, Sam, for the thorough answer!</p>",
          "rawMarkdown": "Thank you, Sam, for the thorough answer!"
        }
      ]
    },
    {
      "id": 683699,
      "postDate": "2019-11-28T17:11:02.683Z",
      "content": "<p>Can you say more about the negative PlayerDay values? I don't understand how players participate in a game before being assigned a 1 to indicate their first game. Is it valid to transform a set of PlayerDays for one player by shifting them to a positive range?</p>",
      "rawMarkdown": "Can you say more about the negative PlayerDay values? I don't understand how players participate in a game before being assigned a 1 to indicate their first game. Is it valid to transform a set of PlayerDays for one player by shifting them to a positive range?"
    },
    {
      "id": 689496,
      "postDate": "2019-12-07T01:19:07.373Z",
      "rawMarkdown": "",
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 687834,
      "author_name": "Sam Huddleston",
      "author_url": "",
      "post_date": "2019-12-04T22:36:29.023000",
      "content": "<p>The PlayerDay = 1 corresponds to the game where the GameID = XXXXX-1, with XXXXX representing the PlayerKey.    For the vast majority of player records, GameID = XXXXX-1 corresponds to the first game the player participated in (in calendar time), but there are situations in which the order of the GameIDs is not strictly sequential with calendar time.  The PlayerDay is a timeline, built from the calendar of actual game occurrence, in which the PlayerDay = 1 corresponds to the game  with the smallest GameID for each player (i.e. GameID = XXXXX-1).   In those cases where a player's GameIDs do not accurately represent the calendar sequence of the games (I believe there are 17 players that this anomaly pertains to), the PlayerDay values for games that occurred PRIOR to GameID = XXXXX-1 will be negative values (because those games actually occurred prior to the date that correspond to PlayerDay = 1 for that player).    As you suggest, it is valid to transform a set of player days for the players with negative values for PlayerDay by shifting them to the right by adding (1 + numpy.absolute(the_minimum_value)) to that individual player's PlayerDays, generating a new timeline for that player that starts at 1 rather than some negative value.  In retrospect, this transformation of PlayerDay should have been applied prior to the release of the dataset.  </p>",
      "votes": 0,
      "replies": [
        {
          "id": 687986,
          "author_name": "JohnM",
          "author_url": "",
          "post_date": "2019-12-05T05:01:36.373000",
          "content": "<p>Thank you, Sam, for the thorough answer!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 683699,
      "author_name": "JohnM",
      "author_url": "",
      "post_date": "2019-11-28T17:11:02.683000",
      "content": "<p>Can you say more about the negative PlayerDay values? I don't understand how players participate in a game before being assigned a 1 to indicate their first game. Is it valid to transform a set of PlayerDays for one player by shifting them to a positive range?</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 689496,
      "author_name": "",
      "author_url": "",
      "post_date": "2019-12-07T01:19:07.373000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "682897": "Hi All,\n\nThe tables on the Data page have been updated to reflect some inconsistencies. The datasets themselves remained unchanged.\n\nWe'll also note that, as brought up already, that some PlayerDay values appear negative. This is not a mistake. The GameID field is a unique identifier of player games but does not strictly reflect the order in which the games were played.  The PlayerDay is an integer sequence that provides an accurate timeline for player game participation.  In order to generate an accurate timeline of an individual player’s game participation, the PlayerDay variable should be used.  The interval between days in the PlayerDay field for an individual player accurately reflects the interval in days between that player’s participation in games.  Every player has a PlayerDay = 1 (note that this date is not the same for all players).  Some players may have negative values for PlayerDay, which simply indicates participation in a game that occurred before their individually assigned PlayerDay = 1. \n\nThe above description has also been added to the Data table.\n\nThank you!\n\nAddison\n",
    "687834": "The PlayerDay = 1 corresponds to the game where the GameID = XXXXX-1, with XXXXX representing the PlayerKey.    For the vast majority of player records, GameID = XXXXX-1 corresponds to the first game the player participated in (in calendar time), but there are situations in which the order of the GameIDs is not strictly sequential with calendar time.  The PlayerDay is a timeline, built from the calendar of actual game occurrence, in which the PlayerDay = 1 corresponds to the game  with the smallest GameID for each player (i.e. GameID = XXXXX-1).   In those cases where a player's GameIDs do not accurately represent the calendar sequence of the games (I believe there are 17 players that this anomaly pertains to), the PlayerDay values for games that occurred PRIOR to GameID = XXXXX-1 will be negative values (because those games actually occurred prior to the date that correspond to PlayerDay = 1 for that player).    As you suggest, it is valid to transform a set of player days for the players with negative values for PlayerDay by shifting them to the right by adding (1 + numpy.absolute(the_minimum_value)) to that individual player's PlayerDays, generating a new timeline for that player that starts at 1 rather than some negative value.  In retrospect, this transformation of PlayerDay should have been applied prior to the release of the dataset.  ",
    "683699": "Can you say more about the negative PlayerDay values? I don't understand how players participate in a game before being assigned a 1 to indicate their first game. Is it valid to transform a set of PlayerDays for one player by shifting them to a positive range?",
    "689496": ""
  }
}