Evaluating QB EPA Progression Through Time-decay Weighted Averages

A model inspired by the NBA's DARKO DPM statistic that balances recent performance with wholistic evaluation.

NFL Analytics Banner

In a sport that experiences extreme variance on a year-over-year and game-over game basis such as football, normalization of performance can be extremely valuable. As such, the goal of this project is to provide stability in the statistical evaluation of NFL quarterbacks in a manner that accounts for past performance while giving more weight to recent improvements or struggles. Analysts in NBA circles have been searching for a solution to a similar question regarding night-to-night performance prediction for years, and have found an answer in a metric known as DARKO DPM, a machine learning-driven prediction model that utilizes expoential decay and Kalman filters to weigh history against the present in player evaluation. I developed a similar (although simpler for now) model in the same philosophy of DARKO DPM for quarterback play.

Methodology

Using EPA/play[What's this?] on all plays including passes, rushes, and penalties for NFL quarterbacks as my measure of overall performance, I developed an exponential smoothing model to weight each snap of a player's career at any given point. The weight of each play is determined by the following formula: w i = ( 1 α ) N i

Where:
  • α represents the rate of decay (constant at 0.01 in this experiment).
  • N represents the total number of plays in the sample.
  • i represents the index of the specific play being weighted.
  • wi represents the calculated weight assigned to play i.
Once the individual weights are calculated, the weighted average EPA/play for a player's career would simply be the weighted sum of the EPA of all plays divided by the sum of all weight values.
If you want to learn more about DARKO DPM, you can read about it here.

  • Data Source: nflfastR package (2017-2025 postseason data).
  • Tools: dplyr for data processing, ggplot2 for visuals.

Results and Analysis

To demonstrate this algorithm at work, let's compare the playoff careers of three star QBs: Josh Allen, Patrick Mahomes, and Lamar Jackson. The stories of these players' postseason performance could not be less alike: Mahomes, with three super bowl rings to his name, has earned praise for his play in January and February rivaled only by Tom Brady. Allen has played well in the playoffs, but has yet to appear in a single super bowl. Lastly, Jackson's playoff career got off to a disastrous start that has since improved but remains underwhelming for a two-time MVP.

Let's examine Allen's performance on its own. Each dot on the chart represents Allen's weighted average EPA/play after each play of his postseason career. Since the sample size is small enough in the playoffs, individual games are separated via dashed lines, with each point colored to match the opposing team. The first 10 plays are visually omitted from the graph to give the average a moment to normalize, but still factor into the calculations themselves.

Figure 1: Individual weighted career postseason EPA/play progression for Josh Allen with a LOESS curve applied

Figure 1: Individual weighted career postseason EPA/play progression for Josh Allen with a LOESS curve applied

The chart corroborates Allen's reputation as an exceptional playoff performer, highlighted by a 2021 playoff run where he contributed a staggering 54.5 total points of EPA across two games. Despite a disappointing exit in the second round of the 2025 postseason, Allen's weighted average EPA/play of over 0.2 stands as an all-time metric.

By exporting the LOESS curve from the individual charts of our three QBs and placing them on the same plane, we can evaluate the progression of their playoff careers side-by-side.

Figure 2: Smoothed curves of weighted career postseason EPA/play progression for Josh Allen, Patrick Mahomes, and Lamar Jackson

Figure 2: Smoothed curves of weighted career postseason EPA/play progression for Josh Allen, Patrick Mahomes, and Lamar Jackson

The discrepancy in experience quickly presents itself here, with Jackson's sample size being about half of that of his peers. Regardless, the visualization of the data makes it easy to view these men's playoff careers through a wholistic lens. After a horrendous postseason debut, Jackson has steadily improved, although his peak weighted average remains below both his peers at any equal point in their respective careers. Mahomes's weighted average has taken a nosedive following a rough outing in his Super Bowl LIX defeat at the hands of the Philadelphia Eagles.

Future Improvements

Although an alpha value of 0.01 provides a good balance for the example discussed in this article, I would like to develop a formulaic approach to alpha determination in future iterations of this project. A larger sample size, such as a regular season career for a 10-year veteran, would require a smaller alpha value or else plays older than a couple seasons would hold practically no weight in their evaluation. I plan to revisit this project soon to do exactly that.

The Code

If you would like to learn more about this project, you may view and download the code for yourself using the button below. Thanks for reading!