Support

Website Help

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:

TealA clear edge. The team is comfortably ahead of its opponent in that phase.
GrayRoughly even. No meaningful advantage either way.
RedA 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.10High passing value advantage over opponents.
−0.10 < EPA < 0.10Average passing value. No significant edge.
EPA ≤ −0.10Poor passing value relative to opponents.

Net Rush EPA Thresholds

EPA ≥ 0.05Elite rushing value advantage over opponents.
−0.05 < EPA < 0.05Average rushing value. No significant edge.
EPA ≤ −0.05Poor 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.45Elite net passing velocity. Dominant aerial attack relative to opponents.
−0.45 < Eff < 0.45Average net passing velocity. No significant edge.
Eff ≤ −0.45Poor net passing velocity. Opponents hold a clear aerial advantage.

Net Rush Efficiency Thresholds

Eff ≥ 0.25Elite net rushing velocity. Dominant ground game relative to opponents.
−0.25 < Eff < 0.25Average net rushing velocity. No significant edge.
Eff ≤ −0.25Poor 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 RunwayExploding passing efficiency matchup. Great for chunk-play WR props / game Overs.
Passing SurplusClean efficiency advantage. Offensive unit is heavily favored to move the ball via the air.
Symmetrical Air MatrixBalanced matchup. The offensive pass unit matches the defensive pass unit perfectly.
Secondary RestraintPassing bottleneck. Opponent defense suppresses efficiency; risk of drive-stalling.
Deflated Air MatrixSevere aerial disadvantage. Avoid passing yards player props. High risk of turnovers/sacks.

Rushing Signals

Trench Dominance MatrixMassively unhinged run-game advantage. Highly predictive of clock control/game Unders.
Rushing SurplusConsistent run-game advantage. Clean lanes expected for the primary back.
Line Symmetrical BaselineStandard battle in the trenches. Expected league-average execution.
Trench BottleneckStubborn front-seven matchup. The defense is built to completely eliminate the interior run.
Stalled Ground VectorUtter 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 AlphaEPA ≥ 0.10 and Eff ≥ 0.45. Elite on both axes. Sustainable production with no regression flags.
High-Wire ActEPA ≥ 0.10 but Eff ≤ −0.45. Scoring points despite poor yardage rates. Likely driven by turnover luck or big plays—regression candidate.
Unlucky JuggernautEPA ≤ −0.10 but Eff ≥ 0.45. Moving the ball efficiently but not converting to points. Positive regression candidate—scoring should catch up.
Structural DeficitEPA ≤ −0.10 and Eff ≤ −0.45. Poor on both axes. Fundamental weakness with no hidden upside.
DevelopingOne or both metrics in the neutral zone. No clear signal yet.

Rushing Signals

True AlphaEPA ≥ 0.05 and Eff ≥ 0.25. Elite on both axes. Sustainable production with no regression flags.
High-Wire ActEPA ≥ 0.05 but Eff ≤ −0.25. Scoring points despite poor yardage rates. Likely driven by turnover luck or big plays—regression candidate.
Unlucky JuggernautEPA ≤ −0.05 but Eff ≥ 0.25. Moving the ball efficiently but not converting to points. Positive regression candidate—scoring should catch up.
Structural DeficitEPA ≤ −0.05 and Eff ≤ −0.25. Poor on both axes. Fundamental weakness with no hidden upside.
DevelopingOne 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-HomeHome win% > 55% AND margin of cover > 1.5 points.
HomeHome win% > 55% but margin < 1.5 points.
Strong-VisitorAway win% > 55% AND margin > 1.5 points.
VisitorAway win% > 55% but margin < 1.5 points.
NeutralAll 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.

The Engine: The core of our system supports multiple machine learning algorithms, including Gradient Boosted Decision Trees and Logistic Regression, each excelling at finding complex patterns in structured data. The engine evaluates thousands of feature combinations to find the subset with the strongest predictive signal, then trains on historical outcomes to identify market inefficiencies.

The Output: The model runs separately for each objective—ATS, Straight Up and Over/Under—producing a predicted probability per game. ATS and Over/Under projections are both measured against a market number, so they share one star scale: 1-5 stars based on absolute confidence thresholds. SU projections are rated 1-5 stars based on absolute confidence thresholds. Money Line projections are derived by comparing the model's SU probability against the line's implied probability, rated by expected value tier.

Game-day considerations: Projections are generated for the upcoming slate, and nothing about them responds to game-day news. Injury and roster-availability reports are not an input to any of the models. Weather features do exist in the trend data, but which of them a model draws on is decided when that model is built. A Sunday-morning inactive list, a late scratch, or an overnight change in the forecast will not move a number. Projections can change for other reasons — we may regenerate a slate or correct an error — but never in response to game-day information.

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 stars, 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 (its point-spread band and favorite/underdog role, measured across many seasons).

Badge Readings

Market agreesThe historical league lean backs the same side as the model's projection.
Market leans againstThe historical league lean cuts the other way from the model's projection.
No significant market leanThe 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—not a guarantee—and it is kept deliberately distinct from the model so a genuine disagreement between the two stays visible.

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 star ratings 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 one star. 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 star rating (1★ Lean, 2★ Solid, 3★ 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: a split means both models are near the 50% line for that game.

Expected value determines if a position is profitable in the long run by comparing your perceived probability of an outcome against the probability reflected in the odds.

Value Tiers

EV > 0.10High Value. A significant market error has been detected.
0.05 < EV ≤ 0.10Medium Value. A solid, reliable edge.
0.00 < EV ≤ 0.05Small Value. A minimal edge.
EV ≤ 0.00Lay Off. No long-term expected profit.

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.

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:

  • Cover: +0.91 units
  • Miss: −1.0 unit
  • Push: 0 units

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.

Our Team Quality Ranking provides an objective measure of outright strength by aggregating total victories, strength of schedule, and scoring dominance, filtering out the noise of lopsided scheduling to reveal a team's true competitive baseline.

Team Quality Ranking = (Team Wins × 10) + Opponents Wins [in all other games] + (Team Point Difference × .20) / Team Games Played

Our Spread Performance Ranking identifies statistical value by weighting cover frequency alongside margin of victory and opponent quality, pinpointing teams that consistently outperform pre-game market expectations regardless of their win-loss record.

Spread Performance Ranking = (ATS Win Percentage × 45) + (Average ATS Margin × 35) + (RPI × 20)

Our EPA Rating prioritizes passing execution over rushing execution acknowledging that while both are important, a team's ability to move the ball through the air and defend the pass has a greater correlation with winning than the ground game.

EPA Rating = (Net Pass EPA × 60) + (Net Rush EPA × 40)

The higher the rankings, the stronger we think the team is.

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:

  • A = ((Completions / Attempts) - .3) × 5
  • B = ((Yards / Attempts) - 3) × .25
  • C = (Pass TDs / Attempts) × 20
  • D = 2.375 - (Ints / Attempts × 25)

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

Average Margin (MAR) measures the average directional bias in the closing market line for that team. It quantifies a team's scoring efficiency relative to the spread, measuring the mean distance by which a team exceeds or falls short of market expectations per game.

Margin = Final Score Margin - Point Spread
Average Margin (MAR) = Total Margin / Total Games Played

The Average Margin (MAR) measures bias (directional error).

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.

The Trending Teams lists on the home page pair each team's against-the-spread record for the current season with an L5 badge — how that team has fared against the spread over its last five games. The two describe different windows on purpose: the record tells you the season so far, the badge tells you the recent run, and the lists are ordered by the badge because that is what "trending" means.

The L5 window counts backwards through games, not through the calendar, so in September it reaches into the previous season rather than showing a one-game sample. Form does not reset in January. The Featured Matchups cards use the same window, so L5 means the same thing everywhere it appears.

Five games is a short run, and it is meant to be read as one: it describes what has already happened, not what will happen next. A team covering four of five is a fact about those five games and nothing more.

The Rankings page carries a different caveat. Its ranking columns — Cover %, MAR, PS and RPI, and the rank built from them — need a few games before they describe anything, so until around the four-game mark the page shows an early season note. Those columns are recalculated weekly, and before the first recalculation of a new season they may still be showing where teams finished the previous one. The note stays up until the season has been played far enough for the figures to stand on their own.

We offer programmatic access to the raw data used to generate our trends through a REST API. You can purchase an API access key from our Season Pass page. 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:

  • All point spreads and totals are closing lines
  • Win-Loss records don't display pushes, but pushes are included in percentage calculations
  • Home records include games where the team was the designated home team on a neutral field
  • Post Bye week and post MNF game records exclude post season games

Stats & Calculations:

  • All trends are ATS unless "SU" (Straight Up) is explicitly labeled
  • Offensive yards do not include yards gained on special teams
  • Fumbles and Fumbles Lost are total team fumbles (offense, defense, and special teams)
  • Weather Impact uses 85F for hot, 32F for cold, and 15+ mph for wind

Still have a question?

For account issues, refund requests, and data corrections, email support@spreadtrends.com.

For ideas, general feedback or any website problems, email webmaster@spreadtrends.com.