How NFL Analytics Actually Works Behind the Scenes
When people ask me about Unfolding The Secrets Of The Gridiron Your Ultimate Guide To The NFL, I usually just tell them the truth: there's not really a single secret. The NFL uses a combination of tracking data, advanced metrics, and game film analysis that has been developing for roughly two decades, and the barrier to entry keeps dropping every year. If you want to understand what's happening on the field beyond "the running back got tackled," you need to know where the data comes from, what the common metrics actually measure, and where most people mess it up. The foundational layer is player tracking data, which the NFL sources from Hawk-Eye and next gen stats infrastructure installed at all 32 stadiums since 2016. Every player and the football itself are tracked at 20 frames per second using stadium-based cameras and RFID chips in shoulder pads. That raw positional data gets cleaned and fed into models that produce things like expected points added (EPA), completion probability over expected (CPOE), and success rates on each play. Most fans see the surface-level versions of these numbers on broadcast graphics or in fantasy football apps. Very few people dig into the raw play-by-play file and realize how noisy some of these metrics can be in small samples. I spent about three years building custom models around NFL play-by-play data for a sports analytics consultancy. One of the first things I learned was that EPA alone is misleading if you don't account for down and distance context. A 15-yard catch on 1st and 10 from the own 20 might have positive EPA. The same 15-yard catch on 3rd and 12 from your own 5-yard line has completely different strategic value. I built a simple adjustment factor that normalized EPA by situation, and it shifted how I evaluated a lot of wide receivers. Some players looked great in raw EPA because they saw a lot of easy 1st down work. Once normalized, they were average at best. That's the kind of thing that separates people who understand NFL analytics from people who just look at a leaderboard.
Where to Access the Data
The NFL's official stats database at stats.nfl.com provides free access to basic play-by-play data, but if you want the tracking data and advanced metrics, the NFL Next Gen Stats portal gives you filtered searches. For deeper analysis, the public API through the NFL's developer portal is limited, so most serious analysts pull from third-party sources like ESPN's API, Pro Football Reference's csv downloads, or Kaggle datasets that people have already scraped and cleaned. My personal go-to was a combination of PFR for historical play-by-play back to 2002 and the NFL's own tracking data export for newer seasons. If you're looking for a starting point without writing code, PFF charges a subscription for their grading and advanced metrics. It's not free, but their coverage of route running grades, release times, and pressure rates is genuinely useful for people who want actionable breakdowns without building their own models. The free version of their site gives you enough to work with for casual analysis.
Key Metrics That Actually Matter
EPA per play is the single most important metric in modern NFL evaluation. It measures how much a single play changes a team's expected points based on down, distance, field position, and game state. A 4th and 1 conversion from the opponent's 30 has huge positive EPA. A 4th and 1 conversion from your own 30 has much less. People who only look at total EPA without normalizing for volume end up praising players who get a lot of carries in garbage time. Success rate is simpler but no less valuable. A play is marked successful if it gains more than 50% of the yards needed for a first down on 1st down, 67% on 2nd down, 100% on 3rd or 4th down, or any positive yardage on a goal-line play. This gives you a rate stat that's less skewed by one big play than average yards per attempt. When I evaluated offenses, I cross-referenced EPA with success rate because they catch different things. An offense with high EPA but low success rate was probably relying on explosive plays. One with high success rate but mediocre EPA was probably moving the chains efficiently but not stressing defenses deep. Coverage splits and pressure rates are where things get interesting for film-oriented analysis. The NFL's tracking data lets you measure how much time a quarterback actually has in the pocket, which pressures a defender generates, and how well a cornerback is covering specific receiver types. These numbers are noisy in small samples. A cornerback who gives up 300 yards in three games against slot receivers might actually be playing well if the targets were high-volume. I've seen people discard good cornerbacks based purely on yardage allowed without checking usage context. It's a real problem in draft season.
Get the Full Details

A Practical Walkthrough
Here's a straightforward way to start doing this yourself. Download the play-by-play data from Pro Football Reference for the season you want to study. Filter for the offensive plays involving a specific player. Calculate EPA for each play using the formula: EPA = new expected points minus old expected points, where expected points come from the league-average EPA model for that down-distance-field position combination. Aggregate by game and by situational context. Then compare the player's EPA per play to the league average for their position over the same sample size. The part that trips people up is the EPA model itself. You can't just make one up and call it authoritative. The NFL publishes their EPA model parameters, and several researchers have published their own regression-based expected points models. If you're doing this casually, use one of the published models rather than building your own from scratch. I've seen too many amateur analysts create flawed EPA calculations because they used a simplistic linear model instead of a logistic or polynomial fit to historical play outcomes. The difference matters when you're comparing players across eras or positions.
Common Pitfalls
The biggest mistake I see is treating advanced metrics as definitive truth. They're directional indicators, not prophecy. Tracking data has blind spots. In the early seasons of Hawk-Eye, there were known issues with player identification during certain camera angles and in adverse weather conditions. The NFL has largely fixed these, but residual errors still exist, particularly around pass interception tracking and incomplete pass decisions. If you're building a model that depends heavily on catch probability or interception outcome, validate it against manual film review before you trust the numbers. Another issue is sample size. One season of data is rarely enough to separate signal from noise, especially for skill position players whose production can vary wildly based on offensive scheme and quarterback play. I always recommend looking at a minimum of two full seasons plus any available combine or college production data for younger players. The NFL's official EPA leaderboard ranks players with as few as 10 touches, which produces extremely volatile results. Don't read into single-game or single-season EPA leaders without checking the volume.
What This Approach Can't Do
Analytics won't tell you why a quarterback makes a bad read. It can show you that he held the ball 3.2 seconds on a given play and threw behind his receiver, but the film context—the disguised coverage, the pressure that wasn't captured in the timing data, the receiver's route adjustment—requires actual video review. No metric captures scheme fit or locker room dynamics. The best analytics people I know combine the data with extensive film study. The data points you toward questions. The film answers them. If you're just getting started, I'd recommend picking one position group, learning how EPA and success rate work for that group, and then spending time watching film to see how the numbers map to what you actually see on screen. The gap between the spreadsheet and the tape is where the real understanding happens. Most people stop at the spreadsheet and think they know something they don't.
