{"cells":[{"metadata":{"trusted":true,"_uuid":"e9f4e3e768827170b3bb9b750b6180cdcd3d5e6a"},"cell_type":"markdown","source":"The objective of the Punt Analysis is to determine a potential rule change that may reduce the occurrence of concussions during punt plays.\n\nBelow is an analysis of Punting Data from the 2016 and 2017 NFL Season.\n"},{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load in \n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the \"../input/\" directory.\n# For example, running this (by clicking run or pressing Shift+Enter) will list the files in the input directory\n\nimport os\nprint(os.listdir(\"../input\"))\n\n# Any results you write to the current directory are saved as output.","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"ca35ff4200744b13f09088c5a311e62f04c04bbe"},"cell_type":"code","source":"concussed_games = pd.read_csv(\"../input/video_review.csv\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"b0d4819cbde7d17e171fc4a15cee22d0e73a45d0"},"cell_type":"code","source":"play_data = pd.read_csv(\"../input/play_information.csv\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"353c59c9e8eaad7ae880e58ef0f887addfbd01fa"},"cell_type":"code","source":"environmental_conditions = pd.read_csv(\"../input/game_data.csv\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"d571c4b185ed8a22f25e423b8f90ab1d72ab1a56"},"cell_type":"code","source":"player_data = pd.read_csv(\"../input/play_player_role_data.csv\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"398465ebaac6193ad952dd9760a6480e30994554"},"cell_type":"code","source":"injured_players = pd.read_csv(\"../input/video_review.csv\")\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"262b633ea0cf3cde662beda0ae69f1aad0d4edd3"},"cell_type":"code","source":"injured_players = injured_players.set_index(\"GSISID\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"d32eea02044068414676010afb5f02f6e4f4050e"},"cell_type":"code","source":"concussed_games = concussed_games.set_index(\"GameKey\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"99f150bd4a25f8112898b21a4c1a374a1ffa6e3c"},"cell_type":"code","source":"position_dictionary = pd.read_csv(\"../input/player_punt_data.csv\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"86f7ee82752d075bc501eaf447d7971467c1e368"},"cell_type":"code","source":"position_dictionary = position_dictionary.set_index(\"GSISID\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"afe4bbf10486369fe81dcaf057c35e5835821d22"},"cell_type":"code","source":"player_data = player_data.set_index(\"GSISID\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"f982a1cee0dab2a69500a989927ca443a5a85dce","scrolled":true},"cell_type":"code","source":"concussion_details = concussed_games.merge(play_data, left_on=[\"Gamekey\",\"PlayID\"])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"050623656d63d6cc100b25462766cc337e4aee1f","scrolled":true},"cell_type":"code","source":"concussed_games.columns","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"c3688f711ea8e5e9397e719d285ec639d367ac67"},"cell_type":"code","source":"concussed_games.drop([\"Turnover_Related\", \"Friendly_Fire\"], axis=1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"d49f3c740b87df647ba11bb419b17564b5a8a607"},"cell_type":"code","source":"play_data.columns","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"85380cd3c648b2d366734c8e7cb6d20f81636fc4"},"cell_type":"code","source":"play_data.drop([\"Game_Date\",\"Game_Clock\",\"Play_Type\",\"Score_Home_Visiting\",\"PlayDescription\"],axis=1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"1f340eca38468415612630afaeda6f6b44a0ebda"},"cell_type":"code","source":"combined = pd.merge(concussed_games,play_data, on=[\"GameKey\",\"PlayID\",\"Season_Year\"] )","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"b07c3a16471d3baa8382953cf646365667796760"},"cell_type":"code","source":"combined.columns","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"3edb78ecc68661af6d9e8cef8e18723609a81062"},"cell_type":"markdown","source":""},{"metadata":{"trusted":true,"_uuid":"226eb9b0772bf4e7f76a9d293414559a6d8f6be0"},"cell_type":"code","source":"combined.drop([\"Score_Home_Visiting\",\"PlayDescription\"],axis=1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"5658b2df2ac3d7a1b9834c77d75a4faaebc462e2"},"cell_type":"code","source":"Finished = pd.merge(combined, position_dictionary, on=\"GSISID\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"67f47695a77b536a01d8a3bb91518f3b680f50e3"},"cell_type":"code","source":"position_dictionary.columns","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"291a303bf13f984bd3dce6d387760c36cf5cfa47"},"cell_type":"code","source":"Finished.drop(\"Number\",axis=1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"906cb8c7ccadaaa0c5c9ccec01cca40f6fc83db1"},"cell_type":"code","source":"Finished = Finished.drop([\"Home_Team_Visit_Team\",\"Score_Home_Visiting\",\"PlayDescription\"],axis=1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"8ae662283c2f8fab09e1ff285cce7cf5a847d87c"},"cell_type":"code","source":"Finished.columns","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"c0b349ab658ef952cd2a1640d3f07b8b54bd9672"},"cell_type":"code","source":"NFL_Punts=Finished","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"7b06d207c76d09e6d4762b1db0749591a26c418d"},"cell_type":"markdown","source":"The Data I want to analyze is assembled. Let us analyze it."},{"metadata":{"trusted":true,"_uuid":"003ef3a5aaf8e77db58af39e2792e6b01941eae5"},"cell_type":"code","source":"import matplotlib as plt","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"5841a346706df6fdcfa7b77e59443672fced4190"},"cell_type":"code","source":"NFL_Punts.drop_duplicates(inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"ce70b02a7cd77cb1e015c533df12cb1c679c1dec"},"cell_type":"markdown","source":"Here we see the number of Punts that Result in a Concussion in the Pre-Season is 12, where the number of Regular season punts is 25.\n\nThe 4 Weeks of Preseason games results in 32% of all Punt Plays that resulted in a concussed player. (Vs. 68% across 16 active weeks)\n\nNote: There were no Punts that resulted in concussions during the 2016 or 2017 Post season."},{"metadata":{"trusted":true,"_uuid":"8ab0e9cf0d639cbd61612108707b66d3761df71e"},"cell_type":"code","source":"NFL_Punts[NFL_Punts.Play_Type == \"Punt\"].Season_Type.value_counts()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"7b336fcefe1a3afb9940cb254658bac504403d3c"},"cell_type":"code","source":"NFL_Punts[NFL_Punts.Play_Type == \"Punt\"].Season_Type.value_counts(normalize = True)\n","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"b28c74cdb9217b681a1da6459d5bfe233d0f6213"},"cell_type":"markdown","source":"We can see here that the 5 players most likely to be concussed are:\nTight End,\nInside Linebacker,\nCorner Back,\nOutside Linebacker and \nWide Reciever"},{"metadata":{"trusted":true,"_uuid":"af2f8c7ba135e447aadebc1034cc2185ae273e8d"},"cell_type":"code","source":"NFL_Punts[NFL_Punts.Play_Type == \"Punt\"].Position.value_counts()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"55f2de8b3563cbd7507b010e1fef8163b38e4198"},"cell_type":"code","source":"print(NFL_Punts[NFL_Punts.Season_Type == \"Pre\"].Week)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"387d60c7e31d6818af6a09e6beeb9d001fd37c39"},"cell_type":"code","source":"NFL_Punts[NFL_Punts.Season_Type == \"Pre\"].Week.value_counts()","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"9db9e13de6d4285fd64872a69f1d68795a4867fa"},"cell_type":"markdown","source":"Amongst the Regular Season Games, Weeks 11-16 represents 68% (17 of 25) of regular season games with Punt plays that result in concussion."},{"metadata":{"trusted":true,"_uuid":"eac17d04d1f80f4980b2693356082035ae41c0d7"},"cell_type":"code","source":"NFL_Punts[NFL_Punts.Season_Type == \"Reg\"].Week.value_counts()","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"12a5b371734569ee22b62242686caab0d50ac342"},"cell_type":"markdown","source":"Punting plays that result in concussion are twice as likely during the Second and Third Quarters of the game. Rather than a generally standard deviation."},{"metadata":{"trusted":true,"_uuid":"2fa8bd897887cf10f78a3a0ec42265fd2fd0e535"},"cell_type":"code","source":"NFL_Punts[NFL_Punts.Play_Type == \"Punt\"].Quarter.value_counts()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"70d295d58dc8ed0946ea904a067d2fcc932ab08d"},"cell_type":"code","source":"play_data.Quarter.value_counts(normalize=True)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"a407214dd4a1c1fbe828550537ce8e86bc2da02d"},"cell_type":"markdown","source":"Concussions during punt play are the result of one of these 4 activities, Blicking, Being Blocked, Tackling or Being Tackled.\n\nIn Tackling, Wide Recievers are most likely to suffer concussions during punts.\nIn being Blocked, Tight Ends are most likely to suffer concussions during punts\n"},{"metadata":{"trusted":true,"_uuid":"aef9c473b40dab5c5a2c6c4d31243fa2a21a891d"},"cell_type":"code","source":"NFL_Punts[NFL_Punts.Play_Type == \"Punt\"].Primary_Partner_Activity_Derived.value_counts()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"93c7ea4c62acc2142243dea81f61c5d05fbe1e26"},"cell_type":"code","source":"NFL_Punts[NFL_Punts.Primary_Partner_Activity_Derived == \"Blocked\"].Position.value_counts()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"81b4588fc88386ec6b91d7606d3fe14d4d3ea4db"},"cell_type":"code","source":"NFL_Punts[NFL_Punts.Primary_Partner_Activity_Derived == \"Blocking\"].Position.value_counts()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"e7efb52dbe4c9051672a20ad4c093a523a3fb8f9"},"cell_type":"code","source":"NFL_Punts[NFL_Punts.Primary_Partner_Activity_Derived == \"Tackling\"].Position.value_counts()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"1266ecdb0b59d0a34dc26ef35e03310dd83a58f2"},"cell_type":"code","source":"NFL_Punts[NFL_Punts.Primary_Partner_Activity_Derived == \"Tackled\"].Position.value_counts()","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"cfea37cdabc95d481eb176dd5d73d18ff9b2c6d8"},"cell_type":"markdown","source":"The Two primary Impact Types that causes the most concussions during punt plays in the 2016 and 2017 seasons were Helmet ot Body and Helmet to Helmet impacts.\n\nAmong Helmet to Body Impacts, 10 of 17 happened during Tackling actions (Tackling or being Tackled)\nAmong Helmet to Helmet Impacts, 9 of 17 happened during Blocking actions (Blocking or being Blocked)"},{"metadata":{"trusted":true,"_uuid":"76aa88b9811049d3699cd7414a3117de82e29f7a"},"cell_type":"code","source":"NFL_Punts[NFL_Punts.Play_Type == \"Punt\"].Primary_Impact_Type.value_counts()\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"e44db0e322f8cc9a138a88c3f8bf6668489e22ec"},"cell_type":"code","source":"NFL_Punts.groupby(NFL_Punts.Primary_Impact_Type).Primary_Partner_Activity_Derived.value_counts()\n","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"c076cab1e244f44d053e0b8dee35a5a5c956b378"},"cell_type":"markdown","source":"**Conclusion:****\n\n\nBased on the data above, I would like to suggest three preventable theories to injuries during Punt Plays:\n\n1. Players Selected to play during pre-season games are often less experienced than players selected to play during regular season games. As a result, they are less aware of how to protect themselves and suffer potentially avoidable concussions.\n\n2. Games including punt plays that result in a player suffering a concussion are more likely to occur toward the end of the regular season (does not extend into the Post Season). The 53-man roster adds strain on capable players as the season progresses and more player are added to the Injured reserve. The non IR players allowed to suit up is limited to 46 regardless of positions on IR\n\n3. Traditionally offensive players (i.e. WR) suffer injury during Tackling where they do not often Tackle in the Offensive Phase of the game. Also Traditionally Defensive players (i.e. CB and LBs) suffer injury during Blocking plays where they do not often block in the Defensive Phase of the game\n\n\n"},{"metadata":{"_uuid":"b74185928fa5a93efec6043d84e17394ba39a5ac"},"cell_type":"markdown","source":"***Suggested Rule Changes:***\n1. Pre-Season should be limited to 2 Games and the Regular season should be extended to 19 weeks.\n2. The 53 Man roster should be increased to 56 player and the number of Suited players on Game Day should be increased to 49. In order to prevent Special teams injuries, Two new Positions should be added, Special Lineman and Designated Gunner.\n3. The NFL should develop a training program for individuals eligible who participate in Special teams plays on Tackling and Blocking, with special emphasis on skill moves not often used in their normal phase of play."}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.4","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}