It may be strange to begin a football column by talking about Survivor, the television series, but I’m going to do so anyway. This is for multiple reasons: I love Survivor almost as much as I love football, this is my website, and I typically use it to write about things I love. Despite their many differences, Survivor and professional football share one thing in common: entanglement.
In Survivor, countless factors shape the decisions each player makes, yet their actual success often depends on forces beyond their control. Outcomes are tangled up in other people’s relationships, information asymmetries, and shifting alliances. A single conversation can flip a seemingly inevitable vote into chaos. Football, though obviously different, carries a similar complexity. On every play, the outcome depends on a network of interacting assignments. It’s hard enough for coaches and scouts to isolate individual performance; it’s even harder for analysts working from the outside. Evaluating value in football requires disentangling overlapping contributions that only make sense within the team system.
In last week’s piece, I summarized the history of football analytics and how statisticians have tried to measure player value. Today, I’ll take those lessons and apply them to the offensive side of the ball. Enter the Total Offensive Metric (TOM): a prototype designed to measure a player’s contribution to overall offensive success. While still early in development (and nowhere close to complete), TOM has already become a useful experiment in understanding how offensive roles interact to produce team-level value.
Conceptual Architecture & Data Prep
TOM was inspired by nflWAR and by the football analytics pioneer David Drinen, whose early attempts to quantify player value in Approximate Value laid the groundwork for modern WAR-style models. For this project, my aim was to replicate some of that structure using a more accessible data foundation, specifically, end-of-season Pro Football Focus (PFF) grades and premium statistics for the 2024 season.
I organized the data around four key domains of offensive responsibility: Air (throwing), Rush (carrying the ball), Receive (catching and running after the catch), and Block (pass and run blocking performance). Each dataset contained player-level records for the 2024 season, merged on Player, Team, and Position. Missing values were filled with zero to ensure inclusion of hybrid and partial-season contributors. Below, I’ve set up a table that explains what features are kept per table.
| Air | Rush | Receive | Block |
| Player Team Position Dropbacks Attempts Completions PassYards PassTDs INTs PassFirstDowns CompPercent YPA PressureToSackRate BigTimeThrows TurnoverWorthyPlays BTT Rate TWP Rate PFF_PassGrade PFF_OffenseGrade | Player Team Position RushAttempts RushYards RushTDs RushFirstDowns YardsAfterContact BreakawayYards Fumbles PFF_RunGrade PFF_OffenseGrade ExplosiveRunRate | Player Team Position Targets Receptions ReceivingYards ReceivingTDs ReceivingFirstDowns CatchPercent YardsPerRouteRun YardsAfterCatch AvoidedTackles DropRate Drops ContestedTargets ContestedReceptions PassBlockRate PassBlocks PFF_RouteGrade PFF_OffenseGrade | Player Team Position Games TotalBlockSnaps PassBlockSnaps RunBlockSnaps PFF_PassBlockGrade PFF_RunBlockGrade PFF_OffenseGrade PressuresAllowed HitsAllowed HurriesAllowed SacksAllowed PassBlockEfficiency Penalties PressureRateAllowed SackRateAllowed PenaltyRate_Block |
NOTE: In future editions of this, I may simplify the features into “Statistical Production” and “Eye Test” sub-categories that compare more advanced statistics like EPA with subjective assessments like PFF grades. For now though, I have chosen to include PFF grades as a counter balance to other statistics tracked by PFF as ‘context’ to their stats.
Part 2: Feature Scaling and Unified Merge
After compiling my data and standardizing it, I had to normalize the features. Using StandardScaler, I converted all relevant performance metrics into Z-scores, enabling comparability across different statistical magnitudes. In plain speak, what this means is that each field was standardized into values that represented the number of standard deviations away from the average of that field. This resulted in a domain-specific composite score for each of our original offensive categories: AirScore, RushScore, ReceiveScore, and BlockScore.
Every domain’s normalized values were then averaged into a single composite metric, resulting in four balanced “domain scores.” Following this step, the tables were then merged into one unified dataset keyed by player, team, and position. Missing values were filled with 0 to ensure inclusion of multi-role or partial-season players.

The AirScore distribution is tightly centered with minimal spread (0.21), which indicates a high degree of consistency among passing-based metrics. Conversely, RushScore (0.37) and ReceiveScore (0.47) reflect greater volatility in both player performance and situational factors. The widest variance of all, however, belongs to BlockScore (0.68. This caught me off guard, but it seems to suggest that line-based grading and protection metrics carry inherently higher noise and outlier behavior.
Part 3: Split-Phase Calibration (Ridge Regression vs DVOA)
Once the data had been standardized and merged into a unified structure, the next step was to determine how each domain (Air, Rush, Receive, and Block) mapped onto team-wide measures for offensive efficiency. I approached this by using ridge regression, which allows coefficients to shrink and stabilize in the presence of correlated variables. This is especially useful when domains overlap, as it provides a way of measuring which traits matter most to a team’s offensive output without overfitting to noise or redundancy.
To start, I modeled the relationship between each offensive domain and team-level DVOA (FTN Fantasy’s widely accepted standard for team-wide performance), which acts as a standardized measure of offensive efficiency relative to league average. In the split-phase models, each type of DVOA was predicted using only the features most relevant to that phase. For example, PassDVOA was modeled as a function of AirScore, ReceiveScore, and BlockScore, while RushDVOA used RushScore and BlockScore.
The results were intuitive. The passing model showed the heaviest weights on AirScore (5.26) and ReceiveScore (6.50), confirming that aerial and receiving performance are the main engines of passing success, while BlockScore (1.19) provides support but not the core driver. The rushing model, meanwhile, placed strong emphasis on RushScore (4.89) with meaningful but secondary influence from BlockScore (2.42). This aligns neatly with how we understand football conceptually: offensive linemen make the play possible, but the rushers themselves determine its ceiling.
At the same time though, this split-phase framing also felt incomplete. In football, phases don’t exist in isolation. A team’s ability to run the ball opens up play-action passes, and the threat of a strong air attack pulls defenders out of the box. To quantify this synergy, I introduced cross-phase models—ridge regressions where both PassDVOA and RushDVOA were predicted from all four domain scores simultaneously.
The resulting coefficients were illuminating. For PassDVOA, the model not only preserved strong Air (4.91) and Receive (5.48) importance, but also revealed a high positive coefficient for RushScore (5.53), showing that teams with strong rushing profiles tend to be more efficient passers. Similarly, RushDVOA benefited from Air (0.91) and Receive (1.77), indicating that passing structure and receiver capability can create more favorable rushing environments. In other words, the models quantitatively captured what most fans already know: good offenses win by sequencing complementary strengths, not by dominating in isolation.
Finally, I fit an All-Phase Ridge model using total Offensive DVOA as the target to represent overall team efficiency. This model balanced the domains into a cohesive whole: Air (3.51), Receive (3.52), Rush (4.20), and Block (0.43). Notably, its predictive power (R² = 0.565) surpassed both split-phase models, reinforcing that offense is best explained as an interdependent system.

On one hand, I’m fascinated by how clearly these relationships emerge from the data. On the other, the strength of these correlations raises deeper questions about causality. For instance, the tight relationship between RushScore and team-wide Offensive DVOA may not mean that elite rushing directly drives offensive performance; rather, it might indicate that great rushing teams benefit from efficient passing, receiving, and blocking structures that magnify each carry’s impact. For now, though, we have strong evidence that our four domains meaningfully correspond with overall offensive success.
Part 4 Applying Split-Phase Weights and Phase-Weighted Aggregation
Armed with the ridge coefficients from the previous section, I next translated those team-level relationships into player-level TOM Scores. For each player, I multiplied their standardized domain scores by the corresponding ridge weights, creating two phase-specific outputs: PassTOM (a weighted combination of Air, Receive, and Block scores) and RushTOM (a weighted combination of Rush and Block scores). Their sum formed each player’s total TOM Score, representing overall offensive contribution.
However, because passing plays carry a disproportionate share of offensive impact, I introduced a post-hoc scaling adjustment to ensure the model is better aligned with real-world team efficiency. Specifically, I weighted passing 1.5 times as heavily as rushing. This decision might seem arbitrary, but in practice it mirrors long-standing tendencies in football analytics, where the passing game is empirically the stronger driver of success. To borrow from Drinen, I’m comfortable “cooking the books a little bit” when the recipe produces a slightly more realistic flavor in the short-term.
From there, I added one more tweak within the passing phase itself: AirScore was boosted by 1.5 times, while ReceiveScore was down-weighted by 0.5. This adjustment was designed to better reflect the outsized influence of quarterback play on drive success. The end result is an intentionally asymmetric weighting scheme that privileges quarterback-dependent efficiency while still crediting supporting domains like receiving, rushing, and blocking.
After applying these adjustments, I aggregated all player-level TOM scores to the team level and compared them against actual offensive DVOA data. The correlations were strong across the board: PassTOM vs. Pass DVOA (0.65), RushTOM vs. Rush DVOA (0.67), and TotalTOM vs. Offensive DVOA ( 0.68), with the adjusted model performing best (r = 0.69).

These results raise new questions. Should future iterations introduce positional weights to better balance quarterbacks and linemen? Should the aggregation remain linear, or should diminishing returns and inter-positional synergies be modeled explicitly? In either case, the alignment between TOM Score and offensive DVOA is visually clear: teams with higher aggregated TOM Scores consistently correspond to higher offensive efficiency, validating the model’s explanatory power. Though the relationship is not perfect, the consistency across phases suggests that TOM Scores modestly capture how player-level traits scale to team-wide success.
Part 5: Player Leaderboards and Interpretations
In the final stage, I applied these calibrated coefficients and phase weights back to the player level. To maintain validity, I filtered out players with extremely low volume—fewer than 50 dropbacks, 30 rush attempts, 30 targets, or 200 blocking snaps. I also applied a mild QB premium boost to mirror WAR-style positional value. Again, I understand this is somewhat biasing our final numbers, but for now with our exploratory purposes, this is for building a general guideline.
Following this step, I wanted to ensure that small sample sizes were not wildly blown out of proportion for out-of-position players on results of trick plays. To account for this, as well as fine-tune positional integrity, I applied positional weights, slightly elevating quarterbacks, strongly de-emphasizing wide receivers – by far the most significant and abundant position with data – and keeping each of tight ends, offensive linemen, and running backs somewhere in the middle.

Before anyone yells at me: I absolutely do not believe this metric is ready to be published as a legitimate ordered “Top Offensive Players” list. In fact, there’s quite a few head-scratchers in there (like Aaron Rodgers’ presence and Bo Nix’s presence), but from a macro perspective, the model validated the expected hierarchy of offensive value: quarterbacks first, feature backs second, and elite receivers close behind. However, I do think there’s something to be said about the positional averages for TOM across our entire dataset for players:
| Position | TOM Score Average |
| T | 5.02 |
| QB | 4.81 |
| G | 4.62 |
| C | 4.19 |
| HB | 3.05 |
| TE | 1.24 |
| WR | 0.94 |
| FB | -4.19 |
While the variance within these positions is fairly large, I think the positional averages are fairly interesting and reflect a level of perceived ‘stability’ in their results on a week-by-week basis. More research is needed to determine their long-term impact and correlations with offense.
What’s Next?
I will not mince words: I largely feel like I failed to make TOM work in the week that I spent trying to get it to churn out something good. For starters, I will need to gather multi-season data to minimize the amount of noise in our data set. It will further become difficult to create a consistent data structure with seasons accounted for, as well as potential player trades and having to account for different instances of the same player impacting multiple offenses. As a matter of fact, because I’ve been dependent on end-of-season data, I have still abstracted away situational context or defensive interaction effects. If I had to guess, this will be the next step: calibrating TOM Score toward expected points of win probability added and incorporating per-play statistics.
With that said, I think that this was not an entirely worthless first attempt. Furthermore, it did illuminate some interesting league-wide trends and give me a basis for improvement. In the next week, I’m going to apply our flawed, but somewhat telling methodology on defensive players and see where this takes us.
Appendix