≡ Menu

Every week this season, I’ve written about the Game Scripts from the previous weekend. For new readers, the term Game Script is just shorthand for the average points differential for a team over every second of each game. You can check out the updated Game Scripts page, which shows the results of all 256 games this year. Week 17 saw some big blowouts and some tight finishes: Peyton Manning, Andrew Luck, and Drew Brees all led their teams to convincing wins against overmatched opponents, while Green Bay and Philadelphia clinched playoff berths with close wins.

Week 17 was unremarkable from a Game Scripts perspective, although I’ll note that Denver’s win over Oakland produced a Game Script of 21.6, the fifth highest average margin of the year (and the best by the Broncos this year). On the comeback side, only three teams won with negative Game Scripts, and two of those wins (Green Bay, Carolina) were back-and-forth contests. That means we should all take a moment to reflect on the resolve and grit of the San Diego Chargers, who overcame an average deficit of 4.6 points (in regulation) to force overtime and eventually defeat the Chiefs B team.

The full Game Scripts data from week 17:

WinnerH/RLoserBoxscorePFPAMarginGame ScriptPassRunP/R RatioOp_POp_ROpp_P/R Ratio

Now that the season is over, it’s a good idea to reflect on the numbers. I will probably do a more exhaustive report on this in the summer, but let’s dig in while the numbers are still fresh. You probably won’t be surprised to see that the Denver Broncos had the best Game Script of the season. On average, Denver led by 6.4 points over each second of each game in 2013. That’s very good, although it doesn’t register as historically impressive.

teamAvg GSRecord
Denver Broncos6.413-3
San Francisco 49ers5.912-4
Seattle Seahawks5.613-3
Kansas City Chiefs4.411-5
Carolina Panthers3.812-4
Cincinnati Bengals3.111-5
Philadelphia Eagles2.810-6
New Orleans Saints211-5
New England Patriots212-4
Dallas Cowboys1.68-8
San Diego Chargers1.39-7
Detroit Lions0.67-9
Arizona Cardinals0.210-6
Green Bay Packers0.28-7-1
Pittsburgh Steelers-0.18-8
Indianapolis Colts-0.511-5
St. Louis Rams-0.67-9
Buffalo Bills-0.86-10
Baltimore Ravens-0.88-8
Tennessee Titans-0.97-9
Miami Dolphins-18-8
Tampa Bay Buccaneers-1.14-12
Atlanta Falcons-1.24-12
Chicago Bears-1.88-8
Cleveland Browns-1.84-12
Minnesota Vikings-2.75-10-1
Oakland Raiders-2.94-12
New York Giants-3.17-9
New York Jets-3.58-8
Houston Texans-4.32-14
Washington Redskins-63-13
Jacksonville Jaguars-6.64-12

The main use of Game Scripts is to adjust pass/run ratios for the score. We know that teams with the lead are more likely to run, and teams that are trailing are more likely to pass. As a result, we need to adjust the raw pass ratio of a team for their Game Script. Let’s do that, using the 49ers as an example.

San Francisco finished 32nd in pass attempts and 3rd in rush attempts. The 49ers and Seahawks were the only two teams to run on more than half of their plays, which is why both teams are generally considered to be extremely run-heavy. On the other hand, the 49ers were almost always playing with the lead: San Francisco had the best points differential through two quarters (6.3 PPG) and through three quarters this season (8.5), so of course the 49ers have executed a run-heavy game plan.  Both San Francisco and Seattle were the only two teams to call fewer than 100 pass plays in the 4th quarters of games this year. The goal is to neutralize the effect of the scoreboard to get a sense of which teams are truly pass-happy (or run-happy).

Here’s how we do that.

1) The standard deviation of the Game Script averages for the 32 teams was 3.15. The average, by definition, was 0.00. So the 49ers, with a Game Script of 5.86, were 1.86 standard deviations above average.

2) The standard deviation of the pass ratios (defined as pass plays divided by total plays) of the 32 teams was 5.0%. The average pass ratio was 58.42%. Since San Francisco passed on just 47.7% of plays, that means the 49ers were 2.13 standard deviations below average in terms of being pass-happy.

3) The next step is to add the results in steps one and two. Here, adding 1.86 and -2.13 tells us that the 49ers had a Pass Identity that was 0.27 standard deviations below average. To convert that number into a more reader-friendly index number, we multiply it by 15 and add it to 100. That results in San Francisco having a Pass Identity score of 97, making them the 20th most pass-happy team (or 13th most run-happy team, if you prefer).

RkTeamGame ScriptStDev GSPass RatioStDev PRPass Identity

The results at the top are not surprising. Hey, did you hear that Peyton Manning threw a lot of passes and Dallas hated running the ball? Seeing teams led by Drew Brees and Matt Ryan at 3 and 4 make sense, too. Cleveland at #5 is a result of the organization’s decision that the running game is best treated as an intermezzo between pass plays. Thanks to the Trent Richardson trade, Cleveland was the only team in 2013 that failed to have any player rush for 400 yards. The Browns led the league in pass attempts (which will lower the number of True Receiving Yards for Josh Gordon), but their negative Game Script lowered their Pass Identity.

Joe Philbin and Andy Reid are two of the most pass-happy coaches in NFL history, so it’s no surprise to see their teams just outside of the top five, either. The most run-heavy team of 2013 was the…. New York Jets!  Some of that is due to quarterback scrambles, but the other teams in the bottom three had running quarterbacks, too. And the Jets finished as the 2nd most run-heavy team last year, too. Of course, things were supposed to be different this year.

After an ugly 6-10 season in 2012 where Mark Sanchez was the butt of jokes and the team ranked 28th in points scored, offensive coordinator Tony Sparano was fired. That left Rex Ryan in need of a new offensive coordinator. At the time, Ryan declared ground and pound dead, and said he wanted to be aggressive and unpredictable on offense in 2013. Here was the ESPN’s Rich Cimini’s intro paragraph when the Jets hired Marty Mornhinweg:

In a radical departure from his ground-and-pound philosophy, New York Jets coach Rex Ryan is bringing the West Coast offense to New Jersey.

Cimini was not alone in this view; Gary Myers of the New York Daily News called him Air Marty. Now to be fair, I don’t think a pass-happy attack centered around Geno Smith, David Nelson, Jeff Cumberland, and 23 games of Santonio Holmes and Jeremy Kerley was going to succeed. So while I don’t think the Jets should have necessarily become a pass-happy team, it’s worth acknowledging that 2013 was simply an extension of 2012. New York finished the season 29th in points scored, and in the bottom five in pass attempts and the top five in rush attempts. Of course, the Jets were usually trailing in games, often by large numbers. After adjusting for Game Script, the Jets were the most run-heavy team in the NFL. But I keep hearing that Ryan has little influence or control over what happens on offense.

  • James

    Pass Identity is so incredibly useful – finally a contextual answer to the “How pass/run heavy are coaches?” questions. Now I want to combine it with Brian Burke’s efficiency rankings to weight the running and passing games based on how much teams run and pass the ball.

  • mrh

    “That means we should all take a moment to reflect on the resolve and grit of the San Diego Chargers”

    Or perhaps just the ineptness of the officials.

  • Ajit

    I’ve done trend analysis for a few of PFR’s metrics over the last 40 years. Interestingly, I was able to derive a long run trend growth that was pretty consistent for all the passing metrics, but also discovered different metrics produced different kinds of secular trend growth. Trying to make sense of those was difficult and I ended up just scrapping it for other projects.

    It would be interesting to run trend analysis on game script data.

    • Chase Stuart

      What sort of analysis are you looking to do?

      • Ajit

        An easy way to think about it as follows. We imagine there has been a slow steady growth in passing statistics(attempts, anya, etc). We could compute a simple trend growth with a moving average or something of the like, but then number might be obscured by year to year noise in the data. The growth itself might be come in different waves – with some short periods of new growth, then years of plateau and then more new growth, etc. Using some statistical tools(mainly detrending), we can identify and isolate the true trend growth by cutting away all the short and medium term fluctuations. It will essentially give a more robust growth rate.

      • Ajit

        Chase. Can you do an opponent pass % for game script too? I’d like to see how teams approach denver vs NYJ differently. Plus, I wonder if its possible to eliminate screen passes from pass attempts and just look at the raw down the field attempts.

        • Chase Stuart

          You should check back in about 4 hours.