Frequently Asked Questions
Answers to common questions you may have about the data on our website. . .
The Matchup Engine grades how much of an edge each team holds in a specific game — separately for the passing game and the running game. For every metric it takes a team's own per-play production and nets out what the opposing defense typically allows, so a value above zero means that team projects to out-perform its opponent in that phase, while a value below zero means it projects to come up short. It is a like-for-like snapshot of who has the advantage, and where, before a snap is played.
Each team is scored on four complementary signals:
Efficiency measures velocity (how cleanly the ball moves) and EPA measures value (how much that movement is worth on the scoreboard). Reading the two together is the quickest way to tell whether a team's edge is structurally sound or just riding variance — see “What does Velocity + Value measure?”
How to read a card
Every value is colour-coded so you can scan a card at a glance. The exact cut-offs differ by metric — a rushing edge and a passing edge are not measured on the same scale — but the colours always mean the same thing:
| Teal | A clear edge. The team is comfortably ahead of its opponent in that phase. |
| Gray | Roughly even. No meaningful advantage either way. |
| Red | A deficit. The opponent holds the advantage in that phase. |
The precise threshold for each metric is listed in its detailed entry in the questions that follow.
Where to find it
The four Net signals appear side by side on the Matchups page, where every game on the upcoming slate is laid out as a head-to-head card. The fuller version — with plain-language signal labels, market implied totals, and efficiency-profile read-outs — lives on each team's Breakdown page under the Matchup Engine heading. The Pass and Rush Mismatch Edge and Velocity + Value entries explain those labels.
Expected Points Added (EPA) evaluates every play based on its situational context (Down, Distance, Yard Line, and Time Remaining). It calculates how much a play increased or decreased a team's likelihood of scoring on that drive. By netting out offensive and defensive performance values, any final Net EPA result above zero represents some situational matchup advantage. The net calculation on the Matchup Engine card accounts for both offensive and defensive contributions as follows:
Net Pass EPA = Offensive Pass EPA Per Dropback − Defensive Pass EPA Per Dropback Allowed
Net Rush EPA = Offensive Rush EPA Per Carry − Defensive Rush EPA Per Carry Allowed
These rate metrics provide a direct, context-aware measure of which team has the passing or rushing advantage.
Net Pass EPA Thresholds
| EPA ≥ 0.10 | High passing value advantage over opponents. |
| −0.10 < EPA < 0.10 | Average passing value. No significant edge. |
| EPA ≤ −0.10 | Poor passing value relative to opponents. |
Net Rush EPA Thresholds
| EPA ≥ 0.05 | Elite rushing value advantage over opponents. |
| −0.05 < EPA < 0.05 | Average rushing value. No significant edge. |
| EPA ≤ −0.05 | Poor rushing value relative to opponents. |
Pass and Rush Efficiency measures the pure structural movement of football down the field on a per-play basis, independent of down and distance.
Net Pass Efficiency represents a team's passing yards gained per dropback minus the yards allowed to opponents, adjusted for sack yardage to provide a real picture of aerial dominance. We include sack yardage lost in the calculation, which is often more predictive of team success than raw passing yards.
Net Pass Eff = Team PY/A - Defensive PY/A Allowed
Where: PY/A = (Pass Yards - Sack Yards) / (Attempts + Sacks)
A higher number indicates better team pass efficiency.
Net Rush Efficiency measures a team's rushing yards gained per carry minus the yards allowed to opponents, providing a direct indicator of a team's ability to control the line of scrimmage and maintain ground dominance.
Net Rush Eff = Team RY/A - Defensive RY/A Allowed
Where: RY/A = Rush Yards / Carries
A higher number indicates better team rush efficiency.
Net Pass Efficiency Thresholds
| Eff ≥ 0.45 | Elite net passing velocity. Dominant aerial attack relative to opponents. |
| −0.45 < Eff < 0.45 | Average net passing velocity. No significant edge. |
| Eff ≤ −0.45 | Poor net passing velocity. Opponents hold a clear aerial advantage. |
Net Rush Efficiency Thresholds
| Eff ≥ 0.25 | Elite net rushing velocity. Dominant ground game relative to opponents. |
| −0.25 < Eff < 0.25 | Average net rushing velocity. No significant edge. |
| Eff ≤ −0.25 | Poor net rushing velocity. Opponents hold a clear ground advantage. |
The market's Implied Total (Offense) and Opponent Implied Total (Defense) for a team are calculated as follows:
Favorite = ( Total Line + ABS(Point Spread) ) / 2
Underdog = ( Total Line - ABS(Point Spread) ) / 2
Implied Total isolates the exact number of points the market implies a specific offense can squeeze out of the opposing defense.
Opponent Implied Total defines what the market considers a successful day for a specific defensive unit.
The market's average Implied Total for all home teams is calculated as follows:
Avg Home Implied Total = (Avg Total Set - Avg Home Line) / 2
Our Matchup-Adjusted YPA and YPC are calculations used to measure pass or rush opportunity in a weekly matchup. It projects a team's efficiency ceiling for a specific matchup by aggregating their offensive per-play rates with the yards allowed by the opposing defense, identifying the high-potential areas of a team's game plan.
Matchup-Adjusted YPA = Team PY/A + Opponent PY/A Allowed
Matchup-Adjusted YPC = Team RY/C + Opponent RY/C Allowed
Where: PY/A = (Pass Yards - Sack Yards) / (Attempts + Sacks), RY/C = Rush Yards / Carries
A higher number indicates a favorable rushing or passing matchup for the team.
The Mismatch Edge also compares each team's matchup-adjusted rate against the league-wide baseline PY/A for that week. The surplus or deficit from the baseline determines a signal label for each team:
Passing Signals
| Elite Air Runway | Exploding passing efficiency matchup. Great for chunk-play WR props / game Overs. |
| Passing Surplus | Clean efficiency advantage. Offensive unit is heavily favored to move the ball via the air. |
| Symmetrical Air Matrix | Balanced matchup. The offensive pass unit matches the defensive pass unit perfectly. |
| Secondary Restraint | Passing bottleneck. Opponent defense suppresses efficiency; risk of drive-stalling. |
| Deflated Air Matrix | Severe aerial disadvantage. Avoid passing yards player props. High risk of turnovers/sacks. |
Rushing Signals
| Trench Dominance Matrix | Massively unhinged run-game advantage. Highly predictive of clock control/game Unders. |
| Rushing Surplus | Consistent run-game advantage. Clean lanes expected for the primary back. |
| Line Symmetrical Baseline | Standard battle in the trenches. Expected league-average execution. |
| Trench Bottleneck | Stubborn front-seven matchup. The defense is built to completely eliminate the interior run. |
| Stalled Ground Vector | Utter ground shutdown expected. Offense will be forced into a highly predictable passing script. |
The Velocity + Value cards on the Breakdown page pair two complementary metrics—Net Efficiency (velocity) and Net EPA (value)—to reveal whether a team's production is structurally sound or potentially unstable. Efficiency measures raw per-play yardage dominance (how far the ball moves), while EPA measures context-weighted point production (how much each play is actually worth given down, distance, and field position).
Efficiency is your Trench Baseline—it proves how cleanly a team gains ground on an average snap.
EPA is your Context Baseline—it proves how effectively a team turns snaps into expected points on the scoreboard.
When both metrics agree, the signal is clear: a team is either genuinely elite or genuinely poor. When they diverge, it exposes hidden risk or hidden upside that the box score alone won't tell you. Each team receives an independent signal label based on where its EPA and Efficiency fall relative to the thresholds below.
Passing Signals
| True Alpha | EPA ≥ 0.10 and Eff ≥ 0.45. Elite on both axes. Sustainable production with no regression flags. |
| High-Wire Act | EPA ≥ 0.10 but Eff ≤ −0.45. Scoring points despite poor yardage rates. Likely driven by turnover luck or big plays—regression candidate. |
| Unlucky Juggernaut | EPA ≤ −0.10 but Eff ≥ 0.45. Moving the ball efficiently but not converting to points. Positive regression candidate—scoring should catch up. |
| Structural Deficit | EPA ≤ −0.10 and Eff ≤ −0.45. Poor on both axes. Fundamental weakness with no hidden upside. |
| Developing | One or both metrics in the neutral zone. No clear signal yet. |
Rushing Signals
| True Alpha | EPA ≥ 0.05 and Eff ≥ 0.25. Elite on both axes. Sustainable production with no regression flags. |
| High-Wire Act | EPA ≥ 0.05 but Eff ≤ −0.25. Scoring points despite poor yardage rates. Likely driven by turnover luck or big plays—regression candidate. |
| Unlucky Juggernaut | EPA ≤ −0.05 but Eff ≥ 0.25. Moving the ball efficiently but not converting to points. Positive regression candidate—scoring should catch up. |
| Structural Deficit | EPA ≤ −0.05 and Eff ≤ −0.25. Poor on both axes. Fundamental weakness with no hidden upside. |
| Developing | One or both metrics in the neutral zone. No clear signal yet. |
We analyze a rolling three-year window of historical data, plus the current season, to calculate the performance of every point spread.
Win Percentage Thresholds
| Home Win% > 55% | Home-favored trend. |
| Visitor Win% > 55% | Visitor-favored trend. |
| 50% – 55% | Neutral play with slight bias. |
Game Classifications
| Strong-Home | Home win% > 55% AND margin of cover > 1.5 points. |
| Home | Home win% > 55% but margin < 1.5 points. |
| Strong-Visitor | Away win% > 55% AND margin > 1.5 points. |
| Visitor | Away win% > 55% but margin < 1.5 points. |
| Neutral | All other games. |
Our game predictions are powered by a custom Machine Learning algorithm designed to identify statistical value against the spread (ATS), on the Money Line (ML) or Straight Up (SU). We process over 2.6 million unique data points across 400 proprietary trend features spanning 20+ years of NFL data.
Read them as a statistical view of team trends measured over many seasons, best used alongside your own game-day reading rather than in place of it.
Market Situational Edge: Alongside the ATS confidence meter, an upcoming projection may show a market situational-edge badge. This is a separate, independent signal—never blended into the model's confidence. It compares the model's ATS projected side against the long-run league-wide cover rate for that game's situation, measured across many seasons. Four situations are considered: the game's point-spread band; the picked team's favorite, home-underdog or road-underdog role; and whether that team is coming off a bye or playing on a short week. Only the strongest applicable situation is shown on the badge — the rest are listed in its tooltip with their sample sizes.
Badge Readings
| Market agrees | The historical league lean backs the same side as the model's projection. |
| Market leans against | The historical league lean cuts the other way from the model's projection. |
| No significant market lean | The league lean for this situation is not statistically significant — either too few graded games, or too small a difference to separate from 50%. |
It is historical context, shown with its sample size, and it is not an input to the model—the model reads a team's own recent and season form, not the league's multi-season rate for a situation. That is what makes a disagreement between the two informative rather than contradictory: the badge is telling you something the projection never saw.
Each projection card on the Predictions page ends with a short note that reads the card's signals against each other. It is built from the projections already shown on the card—ATS, Winner (SU), Money Line, and Over/Under—and the most telling relationship wins out. From highest to lowest priority:
| "Team A to win it, Team B to keep it inside the number" | A coherent split: the Winner model expects the favorite to win, but the ATS model expects the underdog to finish closer than the spread. Favorite wins, game stays tight. |
| "Winner calls a Team A upset while ATS backs Team B — the two can't both be right" | The Winner model projects the underdog outright while the ATS model backs the favorite against the spread. Those two outcomes are mutually exclusive, so at most one of them lands. Which side to weight is shown by the confidence meters on the card, not by this note. |
| "Winner calls a Team A upset; the Team B ATS lean is thin — no clear edge" | The same contradiction, but with the ATS side at the lowest confidence. The ATS model has barely committed, so the disagreement says more about its indifference than about a genuine clash of views. |
| "ATS, Winner & ML value all favor Team" | Full alignment: the ATS projection, the Winner projection, and a real money-line edge all point to the same team. |
| "Lean/Solid/High-confidence cover; Winner model agrees on Team" | ATS and Winner agree; the leading word reflects the ATS confidence reading (1 Lean, 2-3 Solid, 4-5 High-confidence). |
| "Slight/Solid/Strong money-line value on Team" | No Winner projection to corroborate, but the money line shows expected value on the ATS side (see the Expected Value question below for the tiers). |
| "Lean/Solid/High-confidence ATS projection: Team — total leans Over/Under" | The ATS projection stands alone; when the model also has an Over/Under lean, it is noted alongside. |
Why can ATS and Winner disagree at all? They are independently trained models answering different questions—"who finishes ahead of the spread?" versus "who wins the game?"—and neither sees the other's output (see the prediction model question above). Agreement between them is a meaningful signal, and so is disagreement—but not because either model is undecided. They also choose their own inputs independently, and a disagreeing pair can share almost none: in one examined game the two had a single input in common out of five each, with the ATS model reading season-long scoring and ATS form while the Winner model read three-game passing form. Each can be firmly convinced while pointing the other way. The card therefore keeps both projections and both confidence meters visible, and where the two outcomes cannot both happen it says so outright rather than quietly favouring one.
Expected value measures the gap between the model's estimated probability of an outcome and the probability implied by the market line. A positive value means the model rates the outcome as more likely than the market does; the larger the value, the wider that disagreement.
Value Tiers
| EV > 0.10 | High Value. The model's estimate is well above the market's implied probability. |
| 0.05 < EV ≤ 0.10 | Medium Value. The model's estimate is moderately above the market's. |
| 0.00 < EV ≤ 0.05 | Small Value. The model's estimate is only slightly above the market's. |
| EV ≤ 0.00 | Lay Off. The model sees no gap in the outcome's favor. |
Over/Under Accuracy is the share of graded totals projections that matched the game's combined score versus the posted total. Pushes (games that land exactly on the total) are excluded from both the numerator and the denominator.
The headline is a percentage against a 50% coin-flip baseline, not a market-pricing threshold. The record beneath it is Correct–Wrong.
Until the first totals projections of a season grade, the tile shows --. It fills in as those games complete. The model's actual historical accuracy is published on the Predictions page rather than asserted here.
The chart beneath the tile is read differently from the ATS and SU lines on the weekly chart, in three ways.
Net Unit Gain is a scoring convention for ATS projections. It weights wins and losses asymmetrically, because market pricing makes a win worth slightly less than a loss costs. Each projection contributes:
Net Unit Gain = (Covers × 0.91) − Misses
A direct consequence of that asymmetry is that the measure sits at zero around 52.4% accuracy and is negative below it. That is arithmetic, not a target.
Example — illustrative arithmetic only, not a performance claim. A hypothetical 131–119 season would produce:
Net Unit Gain = (131 × 0.91) − 119 = 119.2 − 119 = +0.2 units
On the Predictions page it appears as a footnote on the Model ATS Record card, not as a headline tile. The model's actual historical accuracy is published on that page rather than asserted here.
Accuracy and calibration both count how often projections were right, but they compare that rate to different things. Accuracy compares it to a coin flip (50%). Calibration compares it to the model’s own confidence: when the model says 62%, is it right about 62% of the time? A calibrated model means what it says, whether or not it is any better than the market. A model with no edge over the market can still be perfectly calibrated, and a well-calibrated reading is still useful even where the accuracy beside it is ordinary. A point on the diagonal means the number was honest, not that it beat the market, and nothing on this card should be read as evidence of an edge.
Pooled results are used because a single season gives some confidence levels only a few games, too few to tell an honest reading from a lucky or unlucky run.
The core idea of the Relativity Index is to combine two things into a single number: a team's own performance (how much they outscored their opponents on average) and the quality of their opponents (how good their opponents were when they played against everyone else).
Relativity Index (REL) = Average PPG difference + Opponent Average PPG difference [in all other games]
Where: Average PPG difference = (Total Points Scored - Total Points Allowed) / Games Played
A higher number is better.
Passer Rating difference is obtained by subtracting a team's Defensive Passer Rating from its Offensive Passer Rating. This statistic has proven to have a direct, and incredible, correlation to victory and championship success.
Passer Rating Difference (PRD) = Team Offensive PR - Team Defensive PR Allowed
Passer Rating (PR) uses the NFL formula: ((A + B + C + D) / 6) × 100
Where:
The maximum possible quarterback rating for the NFL is 158.3.
Adjusted Net Yards Per Attempt (ANYA) is a highly-regarded and more comprehensive passing statistic than simple yards per pass attempt. It's often cited in analytics as having a strong correlation with points scored and winning football games.
Adjusted Net Yards Per Attempt (ANYA) = (Pass Yards - Sack Yards) + (20 × Pass TDs) - (45 × Ints) / (Pass Attempts + Sacks)
The higher the number, the more efficient a team's passing game is.
The value of the Negative Pass Play Rate is that it provides a direct measure of a team's or quarterback's ability to avoid the most costly outcomes of a passing play.
Negative Pass Plays (NPP) = (Sacks Suffered + Interceptions) / Pass Attempts
A lower percentage indicates less mistake plays.
Our Disruptive Play Rating (DPR) is a measure of a defense's ability to create negative outcomes for the opposing offense. It quantifies defensive aggression by aggregating the per-game frequency of takeaways, sacks, and tackles for loss, providing a unified metric for a unit's ability to stall drives and create high-leverage turnovers.
Disruptive Play Rating (DPR) = (Takeaways / Games) + (Sacks / Games) + (Tackles For Loss / Games)
The higher number, the more disruptive a team's defense is. Note that for seasons prior to 2012 we do not include Tackles For Loss.
Yards Per Point Allowed (YPPA) is a team-wide measurement of ability to keep opponents off the scoreboard.
YPPA = Yards Allowed / Total Points Allowed
The higher the number, the more difficult a team makes it for opponents to score points.
Yards Per Point Scored (YPPS) is a team-wide measurement of ability to turn yards into points.
YPPS = Offensive Yards / Total Points Scored
The lower the number, the more efficiently a team scores points.
The Win Pct column represents a team's against the spread (ATS) winning percentage.
ATS Winning Percentage (WP) = (Wins + (Pushes / 2)) / (Wins + Losses + Pushes)
Winning percentages are color coded: > 55% in green and < 45% in red
Our Predictability Score (PS) measures the degree to which a team's results consistently deviate from the market's pre-game expectations. It quantifies a team's market volatility by calculating the average absolute deviation between final scoring margins and the closing point spread, identifying teams that consistently perform in alignment with, or in defiance of, pre-game market expectations.
PS = Average(|Final Score Margin - Point Spread|)
Lower PS = Higher Predictability. Higher PS = Higher Unpredictability.
The Ratings Percentage Index (RPI) is a measure of a team's strength of schedule and how a team performs against that schedule. It provides a weighted metric that evaluates a team's performance by balancing their own winning percentage against the collective record of their opponents and their opponents' opponents.
RPI = (WP × 0.25) + (OWP × 0.50) + (OOWP × 0.25)
Where: WP = Win Percentage, OWP = Opponents' Win Percentage, OOWP = Opponents' Opponents' Win Percentage
Strength of Schedule (SOS) and Strength of Victory (SOV) measure how difficult a team's season has been, and how much its wins were worth. Both appear on the Standings page, and both are the NFL's own definitions — the same values the league uses to break ties for playoff seeding, so the standings and the playoff picture can never disagree.
SOS is the combined record of every opponent a team has faced. SOV is the identical calculation, restricted to the opponents it actually beat. Unlike most figures on this site, both are straight-up measures — they are built from opponents' win-loss records, not from records against the spread.
SOS = Sum(Opponent Wins + (Opponent Ties × 0.5)) ÷ Sum(Opponent Games Played)
SOV = the same calculation, counting only opponents the team defeated
Opponents count once per meeting, so a division rival played twice contributes twice. Only completed regular season games are included, on both sides of the calculation — playoff results never enter either figure.
Early in a season the SOS column is headed SOS* and shows a projected figure instead: this season's schedule measured against last season's records. The live calculation needs games to have been played — in week 1 a team's single opponent is either 1-0 or 0-1, so every club in the league would read exactly .000 or 1.000. The projection is a description of the schedule, not a forecast: prior-season record explains only about a tenth of the variation in the following season's record. Once enough games are in, the column reverts to SOS and the live value. SOV has no projected form, so it stays blank until real results supply it.
Two things worth knowing when reading the columns. A high SOS means a hard schedule, not a good team, which is why these columns carry no color coding. And SOV shows a dash rather than .000 for a team that has not yet won a game, because strength of victory over zero victories is undefined rather than zero — expect to see several of those early in a season.
Luck compares the straight-up record a team actually posted with the record its efficiency usually produces. It is shown in wins: +1.6 means the team won about one and a half more games than its net EPA would normally deliver, and −2.3 means about two fewer. Regular-season games only, with a tie counted as half a win.
Luck = (Actual Win % − EPA-Implied Win %) × Games Played
EPA-Implied Win % = 0.5088 + 0.7769 × (Net Pass EPA + Net Rush EPA)
The EPA-implied record comes from fitting every team-season from 2002 to 2025: net EPA and win percentage move together very closely (r = 0.85), so the gap between them is a fair measure of how far results ran from play.
How big is big?
What it does and does not tell you
Early in a season a single result can move the number by a whole win, so the column is shown from week 4.
How it differs from the Velocity + Value signals
The High-Wire Act and Unlucky Juggernaut labels on the Breakdown page (question 6) compare a team's EPA with its yardage efficiency. Luck compares a team's actual record with its EPA-implied record. They measure different things, so a team can be flagged one way there and the other way here without either number being wrong.
We offer programmatic access to the raw data used to generate our trends through a REST API. API access is included with the
Season Pass; generate your key yourself on your
Account page, where you can also revoke it at any time.
Include your API key with every request using the X-ApiKey header.
For example, to retrieve games from the 2026-27 NFL season:
curl "https://www.spreadtrends.com/api/nfl/games/2026" -H "X-ApiKey: YOUR_KEY" -H "Accept: application/json"
You may also provide the key using the ApiKey query-string parameter:
https://www.spreadtrends.com/api/nfl/games/2026?ApiKey=YOUR_KEY
The header method is recommended because URLs containing query-string parameters may appear in browser history, server logs, and analytics systems.
NFL game data is updated by Wednesday at 6 p.m. ET.
Spreads & Records:
Stats & Calculations:
For account issues, refund requests, and data corrections, email support@spreadtrends.com.
For ideas, general feedback or any website problems, email webmaster@spreadtrends.com.