2013 NFL Play by Play Data

By: Bryan Povlinski

*Updated to include 2014 Play by Play data

Inspired by Brian Burke’s Advanced NFL Stats site that has made NFL play-by-play data available for the last 10 years, I wanted to find a way to make the same dataset available for the 2013 season. Thanks to Pro-Football-Reference.com’s Game Play Finder that data is available almost immediately following each game during the season. I’ve built a dataset using the Pro-Football-Reference tool that I will update as soon as it becomes available after games are complete for the week on Tuesday mornings. I’ve also applied my own parsing logic to separate the passer, receiver, rusher, etc on the play so the data can be easily aggregated and analyzed. Some of the columns may not be relevant or useful to you – they can simply be disregarded. Also, there will be errors in certain situations where the logic I’ve written fails to extract every value for each column from the text. Take these stats as unofficial, but know that they should be very close to correct except for some odd or complex play situations. Without further ado, here is the file available for download:

2013 NFL Play-by-Play Data in Excel

2014 NFL Play-by-Play Data in Excel

The columns used are listed and defined here:

FieldDefinition
DateDate of Game
TmOffensive Team of Play
OppDefensive Team of Play
QuarterGame Quarter
TimeTime of Quarter
DownDown of Play
ToGoYards to Go
Side of FieldTeam abbreviation of the side of field where the play started
Yard MarkerYard Marker of the Field (0-50)
Tm ScoreScore of offensive team during the play
Opp ScoreScore of defensive team during the play
DetailRaw text of what happened during play
YdsYards gained during play (incomplete passes are null)
Play TypeRun, Pass, or Sack
Pass ResultComplete or Incomplete
Pass DistanceShort or Deep
Pass LocationLeft, Middle, or Right
Run LocationLocation of the run (direction and line gap)
Turnover1 = Turnover, 0 = No Turnover (all fumbles get recorded as turnovers regardless of who recovers)
FumbleFumble (regardless of who recovers), null = no fumble
InterceptionInterception, null = no interception
PasserPasser on the play
Intended ReceiverReceiver whom pass was intended for on an incomplete pass
ReceiverReceiver who caught the pass on a complete reception
Targeted ReceiverTargeted reciever regardless of pass result
RusherBall carrier on a rushing play
TouchdownTouchdown if the play results in a TD, null if no touchdown
First DownFirst Down if the play results in a first down, null if no first down
Time UnderTime rounded up to the nearest whole minute
Score DifferentialScore at the time of the play expressed as Offensive team score - Defensive team score
Absolute Score DifferentialAbsolute value of score differential
Game WeekWeek of season during which game was played
Team Game LocationCurrently blank for all rows - data unavailable
Rush AttemptIf play = Rush then 1 else 0
Pass AttemptIf play = Pass then 1 else 0
ReceptionIf play = Pass and Pass Result = Complete then 1 else 0
Interception ThrownIf Interception occurs then 1 else 0
TargetIf play = Pass then 1 else 0
Fumble CountIf Fumble occurs then 1 else 0
SackIf Play Type = Sack then 1 else 0
LenNumber of characters in the Detail column
Yard LineYard line of the play (0-100 where 5 means the opponent 5 yard line and 95 is the team's own 5 yard line)
PlaymakerBall carrier or targeted receiver on the play
TouchesRush Attempt column + Reception column (essentially 1 if a player touches the ball)
Play AttemptsValue of 1 for every row in the dataset (allows for a count of every play)
Playmaker PositionOffensive position of the playmaker
Yards GainedYards Gained during play (incomplete passes and other plays for no gain are recorded as 0)
Play LocationCombination of Rush Location and Pass Location to get a location on every play
Touchdown Count1 if play results in a touchdown else 0
Play Percent of GoalYards Gained / ToGo
First Down Count1 if play results in a first down else 0
Conversion CountCombination of Touchdown Count and First Down Count (so 1 if play results in a touchdown or first down)
Goal To Go1 if ToGo = Yard Line else 0
Success CountIf Down = 1, then play needs to be at least 40% of ToGo for success (success = 1, no success = 0), if Down = 2 then play needs to be at least 50% of ToGo for success, if Down = 3 or 4 then play needs to be at least 100% of ToGo for success
Penalty Removed DetailDetail column with penalties removed from text
Len PenaltyCount of characters of Penalty Removed Detail
Playmaker Fantasy PointsFantasy points (based on 1 point per 10 rushing/receiving yards, 6 points for rushing/receiving touchdown, 0.5 points per reception, 4 points per passing touchdown) for the playermaker of the play
Passer Fantasy PointsFantasy points for the passer on the play
Fantasy Points Rushing Yards Fantasy points attributed only to rushing yards on the play
Fantasy Points Receiving Yards Fantasy points attributed only to receiving yards on the play
Fantasy Points Receptions Fantasy points attributed only to receptions on the play
Fantasy Points Rushing TD Fantasy points attributed only to rushing td on the play
Fantasy Points Receiving TD Fantasy points attributed only to receiving td on the play
Fantasy Points Playmaker FumbleFantasy points attributed only to playmaker fumble (-2 points) on the play
Fantasy Points Passer Yards Fantasy points attributed only to passer yards on the play
Fantasy Points Passer TD Fantasy points attributed only to passer td on the play
Fantasy Points Passer Interception Fantasy points attributed only to passer interception (-2 points) on the play

If you have questions please comment below so that others who might have the same questions can get answers as well.

  • Pingback: Introducing the Ultimate NFL Custom Player Analysis Tool - Spreadsheet Sports()

  • nbrustein

    This is awesome, Bryan.  Thanks a lot.  

    But it seems to me that the Miami/Tampa Bay game from Mon, 11 Nov 2013 is missing from your spreadsheet?  Is that the case?  Do you know why?

  • nbrustein Thanks for the catch. I must have missed that game in my initial data collection process. I’ve added it to the file now.

  • Kyle McAdam

    this is awesome, thanks! I love the level of detail and isolation, such as the type of play, in this data. Can you or anyone tell me if this data is available for previous years, and if there is a cost? thanks!!

    • spreadsheetsports

      I currently don’t have it available for previous years. I may get it downloaded and processed at some point, but it hasn’t been a big priority at this point. http://www.advancedfootballanalytics.com/ has some play-by-play data similar to this format for past years.

  • Michael Powell

    I am looking for a source (or sources) to help me define the simple, and possibly also extended or calculated analytics, for American Football. Everything from the obvious pass, rush, yardage, etc, to something like blocks, tackles, missed tackles, etc.

    • spreadsheetsports

      Are you able to use this data for what you’re trying to do? I’m not sure exactly what you’re looking for.

  • Christopher Daniel

    Thanks For Providing This! Its truly well done. I am going to hopefully do some interesting stuff with it….maybe if your interested I can let you know how it goes.

    Thanks Again!

  • Long Nguyen

    Is there a service that can tell me what the chronological time was during these plays? Like when during the day (4:52PM PST for example)

  • Amanda Paul

    Would you happen to have this data for any years prior to 2013??