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.
Core statistical features derived from game-by-game team performance:
Talent assessment based on recruiting data and team composition:
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.
Moneylines are stored as American odds (e.g., -175, +150). We calculate implied probabilities using standard formulas:
Example: -175 → 175/(175+100) = 63.6% implied probability
Our production ATS (Against The Spread) model is a Hybrid that blends V1 power ratings with V2 unit matchup analysis. All spread edges, confidence tiers, and official ATS picks on "Current Slate", "My Picks", and "Matchup" pages come from this Hybrid model.
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, achieving superior performance compared to pure V1 or V2 alone.
V1 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:
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).
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.
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.
V2 analyzes specific unit matchups to identify tactical advantages. It breaks down team performance into granular unit grades (Run Offense, Pass Defense, Explosiveness) and compares them head-to-head to find hidden edges.
Unit grades are calculated by aggregating game-level stats to season averages, normalizing to Z-scores, and blending related metrics (40% Run, 40% Pass, 20% Explosiveness).
The Hybrid spread is calculated as:
V1 Spread = (Home Rating - Away Rating) + HFA
V2 Spread = Unit Matchup Analysis (scaled by 9.0)
Hybrid Spread = (V1 × 0.7) + (V2 × 0.3)
Where HFA (Home Field Advantage) = 2.0 points for home games, 0.0 for neutral sites.
Our production totals model uses drive-level data to predict game totals. The core insight: drives that gain 40+ yards ("Quality Drives") typically yield ~5 points. By projecting the number of quality drives each team will have, we can estimate total scoring.
Data Source: Drive-level data from CFBD API, stored as drive_statson TeamSeasonStats. The model is wired into Game API (Matchup page), Week Slate API (Current Slate), and My Picks via official Bet records.
Bet Record as Source of Truth: When a V3 totals bet exists for a game, the Bet record stores the line taken, model price, closing price, edge magnitude, and Tier (A/B/C). This ensures consistency across all UI elements—the same edge and grade are displayed everywhere, derived from the stored bet rather than re-computed from current market lines.
Fallback: If V3 drive data is unavailable, the system falls back to Core V1 totals, which use spread-driven overlays based on market totals.
All bets (spreads and totals) are assigned confidence tiers based on the magnitude of the edge. This logic is centralized in shared helpers and used consistently across Week Review, Season Review, and My Picks:
Operational Rules:
The My Picks page is organized into two main sections that prioritize Tier A picks:
Sorting: Games with any Tier A pick appear first (in Best Bets). Within each section, games are sorted by earliest kickoff or highest absolute edge.
The Current Slate table displays key information for each game:
Both Week Review and Season Review support filtering by Confidence Tier:
The V2 component of the Hybrid model analyzes specific unit matchups to identify tactical advantages. It 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.
Each unit grade is calculated by:
A team's Run Offense Grade combines:
Unit grades are displayed on the Game Detail page using a letter grade system (A+ to F) converted from Z-scores:
The V2 system calculates net advantages for each matchup:
These net advantages are then weighted (40% Run, 40% Pass, 20% Explosiveness) and converted to a spread prediction using an optimized scale factor.
The V2 unit matchup analysis is combined with the V1 Power Rating in the production Hybrid model. The Hybrid model (70% V1 + 30% V2) is the source of all ATS edges, confidence tiers, and official spread picks across the application.
For comparison and analysis, the "Labs (V2)" dashboard allows users to view pure V1, pure V2, and Hybrid predictions side-by-side.
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.
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.
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.
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.
/api/weeks/csv for spreadsheet analysisSwitched to single-week polling to prevent workflow timeouts
Implemented chunked upserts and deduplication for better performance
Added moneyline support across API and UI
Integrated Odds API as primary source with SGO fallback
Implemented FBS-only filtering to reduce data volume
Added CI safety guards and performance optimizations