New Site Feature: Permanent Air Yards Page

I often get asked to post an updated table of QB Air Yards. As much as I like the concept, it was always a pain to generate. Air Yards calculations require YAC data, which is easy enough to find for receivers but difficult to attribute to the passer. To make things even more difficult, the information comes from completely different resources as the rest of the stats on the site. As a result I'd have to copy and paste data from the web, do the calculations in Excel then create a table for insertion into a post.

I've finally managed to automate the process, so now we can have a continuously updated table of Air Yard stats. For now, only the current season is available, although if you do a search on the site you'll find posts with Air Yard stats for previous seasons.

As a review, Air Yards is a concept introduced back in 2007, the first year of this site. I always wondered why Donovan McNabb would get credit for 80 passing yards for a screen toss to Brian Westbrook caught 2 yards behind the line of scrimmage. Everyone is familiar with Yards After Catch (YAC), a particularly popular buzzword during the ascendancy of the west coast offense. I thought that looking at a QB's portion of passing yards that are not generated by YAC would be an interesting way to measure performance. Air Yards is simply the arithmetic complement of YAC. It's the yardage a pass travels through the air forward of the line of scrimmage to the point of reception.
I thought of Air Yards as somewhat analogous to the DIPS (Defense Independent Pitching Statistic) concept in baseball. DIPS strips away factors beyond a pitcher's direct control and can be a better predictor of future performance, and therefore a truer indication of pitcher ability. With Air Yards we may be throwing some of the baby out with the bathwater, but the result is a higher signal to noise ratio.

The concept has gained some limited acceptance. I see it mentioned or discussed at other sites occasionally, but I've never seen anyone produce the numbers. One place where it's been accepted is at ESPN. The idea behind Air Yards is one of the core concept's within its QBR stat.

There are two derivatives of Air Yards that interest me. First is Air Yards per attempt (AirYPA). This is an indication of how deep a QB and his offense are able to get completions. It's a function of a lot of factors, but generally the better passing teams are going to get deeper completions and have fewer screens and check-downs. 

The second is %YAC, which says what proportion a QB's passing yards have come from receiver YAC. A high %YAC is an indication the QB is benefiting from lots of yards gained from his receivers' abilities to gain yards in the open field. 

Don't get me wrong, Total YAC is not a bad thing. The more completions a QB makes, the more YAC he'll see, which is good. But a disproportionate amount of YAC can be an indication that a QB's success in terms of total yards might be misleading.

Here is the Air Yards page, which will be permanently available through the main menu under Stats | Offense. As always the table is sortable. 

 
{"cc_re__cc_re__cc_by_3_0": ["rn _WidgetManager._PopupConfig(document.getElementById(\"HTML8\"));' target='configHTML8' title='Edit'>\n<img alt='' height='18' src='https://resources.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>\n</a>\n</span>\n</span>\n<div class='clear'></div>\n</div></div>\n</div>\n<!-- spacer for skins that want sidebar and main to be the same height-->\n<div class='clear'>&#160;</div>\n</div>\n<!-- end content-wrapper -->\n<div class='footerwide'>\n<div class='footerwrap'>\n<div class='footerleft'>&#169; 2013 <a href='http://creativecommons.org/licenses/by/3.0/' target='_blank'>Advanced Football Analytics (formerly Advanced NFL Stats)</a></div>\n<div class='footerright'>\n</div>\n</div>\n</div>\n\n<script type=\"text/javascript\" src=\"https://www.blogger.com/static/v1/widgets/1016236460-widgets.js\"></script>\n<script type=\"text/javascript\" src=\"https://apis.google.com/js/plusone.js\"></script>\n<script type='text/javascript'>\nwindow['__wavt'] = 'AOuZoY5IFnUkyMbBRks2QKekJT5sV3GylA:1487899167357';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\\x3d38600807','//archive.advan"]}