I am a long time Titans fan, but relatively new to the site. With this post and potentially more in the future, I want to share some work I have done analyzing play-by-play data.
A bit of background
Since cbssports.com (and various other websites) put it online for open access, play-by-play data is clearly in the public domain. It's not usually presented in a format that lends itself to analysis, however. Advancednflstats.com makes historical play-by-play data available in a more useful format although not for the current season and not processed beyond basic parsing. Recent play-by-play data is available for purchase, but I wanted something both free and up to date.
I'm teaching myself to program in Python at the moment, so this weekend I ended up writing some code to parse play-by-play data off the cbssports website and extract a number of variables for each play. It's still very much work in progress, but I wanted to share it now and get some feedback from you guys with a view to developing it further. I know play-by-play data isn't perfect, but with the code set up, I can run the data for a lot of games quite easily, so some interesting results are bound to surface.
To give you a taste, here are some very top-line numbers from the first three preseason games and the 2012 regular season:
Breaking down the 184 plays the Titans' offense ran this preseason, it has been very balanced with:
- 93 passes (51%)
- 91 runs, including 7 scrambles (49%)
The Running Game
The Titans' run game itself has also been very even, with the team running the ball up the middle 36% of the time, to the left 30% of the time and to the right 34% of the time. Runs to the right and up the middle were considerably more successful, but keep in mind that these numbers are easily skewed by big runs (e.g. without CJs 58 yard run, runs up the middle would only average 3.6 yards). Nonetheless, 4.9 yards per carry are certainly encouraging.
The play-by-play breaks this down further into runs to end / tackle or guard as well as indicating scrambles. I'm not showing this data here as there are not enough plays in each category, but I may get into it later this season. Note that I have classified runs over the guard (i.e. left guard, right guard) as runs up the middle for analysis purposes.
To put the numbers into perspective a bit, I've also run the Titans' numbers for the 2012 season for comparison. Aside from the run game having been more successful this preseason, what stands out to me is that the Titans have managed to run to the outside more often, which lends itself to CJ's running style.
The Passing Game
Throwing the ball, the Titans went deep only 22% percent of the time. 50% of those deep passes were completed for 13.7 yards per attempt. Of the short passes, 67% were completed for an average of 5.0 yards per attempt.
The breakdown by pass direction is interesting. While the completion percentages is highest for throws over the middle, passes to the right have resulted in the highest Ypa thanks to some long completion. As we see more throws from Jake in the regular season, it will be interesting to see if that trend continues.
Note: The direction of the each play as well as pass depth is based on how the play is described in the play-by-play on the cbssports.com website.
Again, for comparison, here are the numbers for last season. It seems fair to say that so far we are seeing considerably more accuracy and more Ypa. Here's hoping it carries over into the regular season.
Where to go from here
I will look at the Titans' defensive numbers so far in my next post. In the meantime, if you're interested, have a look at the full data for the 2012 regular season (all 16 Titans games) here. While I should have caught most of them, I expect there will still be some plays with parsing errors. If you notice one, please point it out to me and I will fix it at source.
I would be very interested in your feedback: Do you think this data is interesting? Are any key variables missing (e.g. I have penalties, extra points and player defending a pass on my list)? What kind of analysis would you want to see in future if any? Running previews on our opponents (e.g. tendencies, strengths, weaknesses) is something I have been thinking about in particular.