Methodology

Overview

Gridiron Edge provides transparent, data-driven college football analytics. Our system processes real-time market data, historical performance, and environmental factors to generate power ratings and identify potential betting edges.

Important: This platform provides analytical insights, not betting recommendations. Users should expect transparent assessment tools, not picks or guarantees.

Inputs & Sources

Team Performance Metrics

Core statistical features derived from game-by-game team performance:

  • YPP (Yards Per Play): Total yards divided by total plays (offense/defense)
  • Success Rate: Percentage of successful plays (when available from CFBD)
  • EPA (Expected Points Added): Advanced efficiency metric (when available)
  • Pace: Plays per game proxy for tempo analysis
  • Pass/Rush Efficiency: Yards per attempt/carry for offensive and defensive units

Team Talent Composite

Talent assessment based on recruiting data and team composition:

  • Team Talent Index: CFBD composite score (0-100 scale)
  • Recruiting Class Rankings: National and conference rankings
  • Star Ratings: Counts of 5-star, 4-star, and 3-star recruits
  • Commit Points: Recruiting class point totals

Roster & Portal (Labs / V5 Prep)

Roster stability and transfer portal activity metrics:

  • Returning Production: Percentage of production returning from previous season (overall, offense, defense, passing, rushing, receiving)
  • Transfer Portal Activity: Counts of transfers in, out, and net portal movement

Note: This data is currently labeled as "Labs / V5 Prep" and not yet used in production Hybrid or V3 models. It will be used for future off-season adjustments and mid-season recalibration in V5.

Data Sources

College Football Data (CFBD)

  • Game schedules, venues, and final scores
  • Team classifications (FBS filtering applied)
  • Conference and division information
  • Historical game data and statistics
  • Team game-by-game performance statistics
  • Team talent composite and recruiting data

The Odds API

  • Live and historical spreads, totals, and moneylines
  • Multiple sportsbooks (DraftKings, FanDuel, Caesars, etc.)
  • Opening and closing line tracking
  • Real-time odds updates

Visual Crossing Weather

  • Game-time weather conditions
  • Temperature, wind, and precipitation data
  • Historical weather patterns

Data Constraints

  • Coverage varies by book and game importance
  • Historical data access limited by API tiers
  • Real-time updates depend on source availability
  • Weather data subject to forecast accuracy

Data Flow (ETL)

Automated Workflows

  • Nightly Ingest: Full data refresh with ratings recalculation
  • 3x Daily Poll: Live odds updates during active weeks
  • One-Week Test: Manual testing and validation workflows

Processing Pipeline

  1. CFBD schedules and team data ingestion
  2. Odds API market line collection (spreads, totals, moneylines)
  3. Weather data integration for game conditions
  4. Chunked database upserts with deduplication
  5. Power rating calculations and implied line generation

Performance Optimizations

  • Single-week polling to prevent timeouts
  • Chunked upserts (500 records per batch)
  • In-memory deduplication before database writes
  • FBS-only filtering to reduce data volume

Market Lines & Selection

Data Storage

We store individual rows per game/book/line type combination. This allows us to track line movement, compare book offerings, and identify consensus vs. outlier positions.

Selection Logic

  • Source Priority: SGO → Odds API → Other sources
  • Timestamp Preference: Latest available data
  • Value Selection: closing_line preferred, fallback to line_value
  • Deduplication: Remove duplicate entries by game/book/type/timestamp

Moneyline Handling

Moneylines are stored as American odds (e.g., -175, +150). We calculate implied probabilities using standard formulas:

Implied Probability Formulas:

  • Negative odds: |odds| / (|odds| + 100)
  • Positive odds: 100 / (odds + 100)

Example: -175 → 175/(175+100) = 63.6% implied probability

Modeling (Balanced Composite V1)

Power Ratings: Balanced Composite

Our V1 model generates team power ratings using a balanced four-pillar approach. Each component is normalized to Z-scores and weighted equally (25% each) to create a composite rating that captures multiple dimensions of team strength:

The Four Pillars

  • 25% Talent: 247Sports Composite talent rating. Measures roster potential and recruiting quality. Provides a stable baseline that reflects program strength independent of current season performance.
  • 25% Efficiency: EPA (Expected Points Added) per play and Success Rate. Captures down-to-down dominance and play-level effectiveness. EPA measures the value created on each play, while Success Rate tracks consistency.
  • 25% Scoring: Net Points per Game (Points For minus Points Against). Reflects margin of victory and overall team strength. Teams that consistently outscore opponents demonstrate superior ability to finish drives and prevent scores.
  • 25% Results: Win Percentage. The ultimate measure of team success. Accounts for game management, clutch performance, and the ability to win close games.

Normalization: Each metric is converted to Z-scores (standard deviations from the mean) across all FBS teams, ensuring equal weight regardless of scale. The composite is then scaled by a factor of 14.0 to convert to "points above average" (where +14 represents approximately one standard deviation above average).

Calibration & Backtesting

The 25/25/25/25 weight distribution is not arbitrary—it was determined through rigorous backtesting against historical game results. Our calibration engine simulates thousands of past games using different weight combinations to identify the configuration that minimizes prediction error.

Optimization Process

We test various weight combinations (e.g., 50% Efficiency/50% Talent, 40% Scoring/30% Efficiency/30% Results, etc.) against actual game outcomes from the 2025 season. For each configuration, we calculate the Mean Absolute Error (MAE) between predicted spreads and actual score margins.

Result: The balanced 25/25/25/25 approach achieved the lowest MAE (approximately 10.8 points) for the 2025 season, outperforming alternative strategies such as "Efficiency-Only" (higher error) and "Talent-Only" (higher error) models.

Continuous Improvement: We re-calibrate these weights periodically (typically at the start of each season or after significant rule changes) to ensure the model adapts to the current season's meta. This ensures our predictions remain accurate as the game evolves.

Spread Calculation

Spreads are derived directly from the power rating difference between teams, plus a home field advantage adjustment:

Spread (Home Minus Away) = (Home Rating - Away Rating) + HFA

Where HFA (Home Field Advantage) = 2.0 points for home games, 0.0 for neutral sites.

This direct calculation ensures that the spread reflects the model's assessment of team strength without additional overlays or market adjustments. The rating difference is already in "points above average" format, so the spread directly translates to expected margin of victory.

Betting Logic: Actionable Edge Threshold

The model identifies betting opportunities by comparing its predicted spread to the market consensus. An "edge" is the difference between the model's spread and the market line:

Edge = |Model Spread - Market Spread|

0.1 Point Threshold: The model recommends a bet when the edge is at least 0.1 points. This minimal threshold ensures that any meaningful disagreement between the model and market is flagged as actionable. There are no caps, overlays, or decay factors—the model trusts its ratings completely.

No Market Capping: Unlike previous versions, the V1 model does not apply "Trust-Market" safety layers. The model's spread is used directly, without capping edges or applying minimum thresholds above 0.1 points. This approach maximizes the model's predictive power while maintaining a low barrier for actionable picks.

Confidence Tiers

Bets are assigned confidence grades based on the magnitude of the edge:

  • Grade A: High confidence (edge ≥ 4.0 points)
  • Grade B: Medium confidence (edge 3.0 - 3.9 points)
  • Grade C: Low confidence (edge 0.1 - 2.9 points)

The game's overall confidence grade is determined by the highestgrade among all active bets (Spread, Total, Moneyline) for that matchup.

Moneyline & Totals

Moneyline: Win probabilities are derived from the spread using a standard sigmoid conversion (logistic function). The model compares its implied probability to the market's implied probability to identify value. Moneyline bets are only considered for games where the spread is ≤ 24 points (to avoid extreme favorites with unbettable odds).

Totals: Over/Under picks are calculated using a spread-driven totals model that considers both offensive and defensive ratings, adjusted for game pace and scoring efficiency. The same 0.1 point edge threshold applies.

Unit Matchup Analysis (V2)

Overview

Beyond the main Power Rating (V1), Gridiron Edge analyzes specific unit matchups to identify tactical advantages. The V2 system breaks down team performance into granular unit grades (Run Offense, Pass Defense, Explosiveness) and compares them head-to-head to find hidden edges.

These unit grades are displayed on the Game Detail page in the "Unit Matchup" card, showing how each team's offensive and defensive units stack up against their opponent.

Unit Grade Calculation

Each unit grade is calculated by:

  1. Aggregating game-level stats to season averages (PPA, Line Yards, Success Rate, IsoPPP)
  2. Normalizing to Z-scores across all FBS teams (standard deviations from mean)
  3. Blending related metrics with equal weights (e.g., Run Grade = 50% Line Yards + 50% Rush PPA)
  4. Inverting defensive metrics where lower values are better (e.g., PPA Allowed becomes negative Z-score)

Example: Run Offense Grade

A team's Run Offense Grade combines:

  • Line Yards Z-score: How many standard deviations above/below average the offensive line performs
  • Rush PPA Z-score: How many standard deviations above/below average the rushing attack is in terms of predicted points added
  • Final Grade: (Line Yards Z × 0.5) + (Rush PPA Z × 0.5)

Grading Scale

Unit grades are displayed on the Game Detail page using a letter grade system (A+ to F) converted from Z-scores:

  • A+ (2.0+ Z): Elite unit, top 2.5% of FBS
  • A (1.5-1.99 Z): Excellent unit, top 7%
  • B+ (1.0-1.49 Z): Very good unit, top 16%
  • B (0.5-0.99 Z): Above average unit
  • C+ (0.0-0.49 Z): Average unit
  • C (-0.49-0.0 Z): Below average unit
  • D+ (-0.99 to -0.5 Z): Poor unit
  • D (-1.49 to -1.0 Z): Very poor unit
  • F (< -1.5 Z): Bottom tier unit

Matchup Analysis

The V2 system calculates net advantages for each matchup:

  • Run Matchup: (Home Run Offense - Away Run Defense) vs (Away Run Offense - Home Run Defense)
  • Pass Matchup: (Home Pass Offense - Away Pass Defense) vs (Away Pass Offense - Home Pass Defense)
  • Explosiveness Matchup: (Home Offensive Explosiveness - Away Defensive Explosiveness) vs (Away Offensive Explosiveness - Home Defensive Explosiveness)

These net advantages are then weighted (40% Run, 40% Pass, 20% Explosiveness) and converted to a spread prediction using an optimized scale factor.

Hybrid Model V2 (Production)

The V2 unit matchup analysis is combined with the V1 Power Rating in a "Hybrid" model that blends both approaches:

Hybrid Spread = (V1 Spread × 70%) + (V2 Spread × 30%)

This blend leverages the stability of V1 (results-aware) with the matchup specificity of V2 (stats-only). The weights were optimized through backtesting against 2025 season results.

Production Status: Hybrid V2 is the only production spread model used for "My Picks" and live betting recommendations. All other models (V1, V2 standalone, V4) are experimental/Labs-only.

Situational Adjustments

Weather Adjustments (V2)

The V2 model applies situational penalties to unit grades based on weather conditions. These adjustments are visible on the Game Detail page when the "Weather Adjustment" toggle is enabled.

Wind Penalty

Threshold: Wind speed > 15 mph

Effect: Passing offense grades are penalized by 0.05 Z-score per mph above 15 mph

Example: 20 mph wind = (20 - 15) × 0.05 = 0.25 Z-score penalty to Pass Offense Grade

High wind conditions make passing more difficult, reducing the effectiveness of teams that rely heavily on the aerial attack. The penalty is capped at -3.0 Z-score to prevent extreme adjustments.

Precipitation Penalty

Threshold: Precipitation probability > 50%

Effect: Offensive explosiveness grades are penalized by 0.2 Z-score

Heavy rain or snow conditions make ball handling more difficult and reduce the likelihood of explosive plays. This penalty affects both teams equally and is applied to the Explosiveness component of the V2 matchup calculation.

Note: Weather adjustments only affect the V2 component of the Hybrid model. The V1 Power Rating remains unchanged, as it reflects season-long performance that already accounts for typical weather conditions.

Labs / Experimental Models

V4 (Labs) — SP+/FEI-Style Spread Ratings

V4 is an experimental spread rating model inspired by SP+ and FEI methodologies. It uses drive-based metrics (Finishing Drives, Available Yards %) and advanced efficiency stats to generate spread predictions. V4 is not used in production and is available only in Labs for research and backtesting purposes.

V4 (Labs) & Fade V4 — Backtest Snapshot

V4, as a standalone model, is currently unprofitable and is not used in production. However, fading its picks ("Fade V4 (Labs)") has shown positive ROI in backtests for both 2024 and 2025. This overlay remains experimental and subject to regression.

2024 Season

V4 Labs (standalone):

  • 372 bets
  • Win rate: 35.1%
  • ROI: -32.75%
  • Tier A ROI (edge ≥ 3): -35.08%

Fade V4 (Labs):

  • 372 bets
  • Win rate: 58.0%
  • ROI: +10.43%
  • Tier A ROI: +7.48%
2025 Season

V4 Labs (standalone):

  • 709 bets
  • Win rate: 39.1%
  • ROI: -24.96%
  • Tier A ROI: -26.88%

Fade V4 (Labs):

  • 671 bets
  • Win rate: 61.8%
  • ROI: +17.81%
  • Tier A ROI: +18.93%

All results are backtests, not guarantees. Fade V4 is Labs-only and is not part of the main "My Picks" flow. Hybrid V2 remains the only official spread model.

SGO Team Season Stats (Labs / V5 Prep)

We ingest a curated subset of SportsGameOdds team season stats and aggregate them into structured metrics stored in team_season_stats.raw_json.sgo_stats. These include:

  • Red zone efficiency: Trips, touchdowns, TD rate
  • Discipline: Penalty counts, yards, first downs (total and per-game)
  • Pressure/havoc: Offense sacks taken, INTs; defense sacks, TFL, QB hits, INTs, fumbles forced
  • Special teams: Punting, kickoff/punt returns, field goal accuracy
  • Game script: Largest lead, time in lead, lead changes, scoring runs, ties

This data is currently Labs-only and not yet used in the production Hybrid V2 model. It is being collected for future V5 model development and analysis.

Hybrid Conflict Types (Labs Analytics)

We compute conflict types for games with Hybrid V2 spread bets to understand where performance comes from relative to V4 (Labs):

  • Hybrid Strong (disagree): Hybrid and V4 disagree on side (H.side !== V4.side). These games historically show stronger performance for Hybrid/Fade V4.
  • Hybrid Weak (agree): Hybrid and V4 agree on side (H.side === V4.side). These games historically show weaker/near-coinflip performance for Hybrid.
  • Hybrid Only: Hybrid bet exists but no V4 bet for that game.

Note: Conflict types are Labs-only diagnostics used for performance analysis in Week Review and Season Review. They do not change which bets are shown or how bets are selected—they are purely analytical tools for understanding where profit comes from.

Risk Notes / Limitations

Data Variability

  • Odds change frequently and may not reflect current market conditions
  • Weather forecasts update and may differ from game-time conditions
  • Data latency varies by source and can impact real-time accuracy
  • Coverage gaps may exist for smaller games or less popular books

Model Limitations

  • Power ratings are based on historical data and may not capture recent changes
  • Implied lines assume our model is more accurate than market consensus
  • Confidence tiers are estimates and not guarantees of success
  • Past performance does not guarantee future results

Reproducibility

Post-Run Verification

We provide SQL queries and data export tools to verify our calculations and ensure transparency. See our runbook documentation for detailed post-run expectations and verification steps.

Data Exports

  • CSV Export: /api/weeks/csv for spreadsheet analysis
  • API Endpoints: JSON data access for custom analysis
  • Database Queries: Direct SQL access for advanced users

Change Log

2025-01-08

Switched to single-week polling to prevent workflow timeouts

Implemented chunked upserts and deduplication for better performance

2025-01-08

Added moneyline support across API and UI

Integrated Odds API as primary source with SGO fallback

2025-01-08

Implemented FBS-only filtering to reduce data volume

Added CI safety guards and performance optimizations