Documentation

Ranking Methodology

How every number in the rankings is calculated — every component, every formula, explained.

System Overview

A multi-module scientific approach that analyzes every aspect of team performance. Unlike simple polls or basic computer rankings, this system considers opponent quality, game context, schedule strength, travel factors, and more — producing rankings that reflect the full story of a team's season from game 1 through the postseason.

Final Ranking Score =
+ Adjusted Victory Value — victory_value × SoS multiplier; temporal weights built in
− Loss Penalties — per-game, quality-adjusted, no escalation
+ SoS Bonus — non-linear additive based on schedule deviation from average
Prior-Season Baseline Blending

Early in the season, before teams have enough data to evaluate fairly, each team's current-season score is blended with their final rating from the previous season. The blend fades linearly: a team with 0 games played is rated entirely on their prior-season baseline; by game 4 the blend has fully transitioned to current-season data.

blend_weight = (4 − games_played) / 4.0
blended_score = (current × (1 − blend_weight)) + (prior_season_final × blend_weight)
// No blending once games_played ≥ 4
What Makes This System Different
  • Full Season Resume — every game from week 1 through the postseason counts, not just recent form
  • Individual Merit — ranked on who you beat and lost to, not what conference logo is on your helmet
  • Subdivision-Aware Opponent Quality — P4/G6/FCS tiers with realistic, calibrated quality ranges
  • Margin Multiplier System — dominant wins earn proportionally more; squeakers earn less; quality caps prevent garbage-time inflation
  • Retroactive Opponent Quality — opponent quality reflects their final record, not their record at game time; SoS fluctuates naturally as opponents win or lose
  • Integrated Travel Adjustments — rewards difficult cross-country road wins
  • Game Context Analysis — CFP, bowl, conference championship, rivalry, and marquee win bonuses
  • Prior-Season Baseline Blending — stable early-season rankings rooted in proven performance

Module 1 — Subdivision-Aware Opponent Quality Engine

Every opponent is rated using subdivision-aware quality ranges based on their actual performance within their competitive tier. The talent gap between P4 and G6 is real and explicitly encoded. Opponent quality is calculated at the time rankings are run — it is retroactive, using an opponent's final (or current) record rather than their record at the time the game was played.

P4 Conferences
Range: 4.0 – 8.0
  • Min: 4.0 (even 0-12 P4 teams)
  • Avg: 6.0 (6-6 record)
  • Max: 8.0 (undefeated)
  • 4.0 + (win_pct × 4.0)
  • Notre Dame — rated as P4
G6 Conferences
Range: 1.5 – 4.5 (hard cap)
  • Min: 1.5 (even 0-12 G6 teams)
  • Avg: 3.5 (6-6 record)
  • Max: 4.5 (hard cap, any record)
  • 1.5 + (win_pct × 4.0), cap 4.5
  • UConn — rated as G6
FCS
Fixed: 0.5
  • 0.5 fixed — any record
  • Never changes regardless of FCS win/loss record
Two-Pass Quality Calculation

Opponent quality is resolved in two passes to avoid circular dependencies:

  • Pass 1 (Win% Based): Each team's quality is calculated purely from their win percentage within their subdivision tier. This gives a stable initial baseline.
  • Pass 2 (Score Blended): Once teams have played ≥ 2 games, opponent quality blends to 40% win% + 60% score-based quality. This allows strong teams to rise above their record alone.

Because quality is retroactive, a team that beat a 6-0 opponent who later finished 6-6 sees their win value recalculate downward — strength of schedule naturally fluctuates throughout the season just as it does in reality.

Subdivision Quality Examples
Vanderbilt (2-10, SEC): 4.0 + (0.167 × 4.0) = 4.67
Boise State (11-1, Mountain West): 1.5 + (0.917 × 4.0) = 5.17 → hard-capped at 4.5
Alabama (10-2, SEC): 4.0 + (0.833 × 4.0) = 7.33
Beating Alabama is worth substantially more than Boise State; even a perfect G6 team stays below P4 average.
Why G6 Has a Hard Cap

The talent level at the G6 level is categorically lower than P4 regardless of record. A 12-0 undefeated G6 team does not pose the same test as a 12-0 P4 team. The 4.5 hard cap ensures a perfect G6 schedule never inflates opponent quality into P4 territory, while still crediting real wins over quality G6 opponents. A G6 win multiplier of 0.70× further scales victory value for beating G6 competition relative to an equivalent P4 opponent.

Module 2 — Enhanced Victory Value Calculator

Each victory is assigned a point value from multiple factors. Margin of victory acts as a multiplier on the base opponent quality — a dominant blowout win is worth proportionally more than a 3-point squeaker against the same opponent. The result is further multiplied by the temporal weight for that week.

Victory Value Components
  • Opponent Quality — from subdivision-aware tiers (Module 1)
  • Location Multiplier — Home 1.0×, Away 1.3×, Neutral 1.15×
  • Stadium Multiplier — road wins at top-tier venues earn extra credit
  • Margin Multiplier — 0.75× (≤3 pts) up to 1.65× (35+ pts)
  • Travel Adjustment — cross-country game bonuses
  • Conference Context — P4 vs P4 +0.3, G6 vs P4 +0.5
  • Game Context Bonus — postseason, bowl, rivalry bonuses
  • Marquee Win Bonus — defeating top-ranked opponents
Margin Multiplier Table
  • ≤ 3 pts (squeaker): 0.75×
  • 4–7 pts: 0.85×
  • 8–14 pts: 1.00× (baseline)
  • 15–21 pts: 1.20×
  • 22–28 pts: 1.35×
  • 29–35 pts: 1.50×
  • 35+ pts: 1.65×
Quality-Based Margin Caps
  • Very Weak (< 3.0): max 17-pt margin counted
  • Below Average (< 5.0): max 24-pt margin counted
  • Average (< 7.0): max 35-pt margin counted
  • Elite (≥ 7.0): max 50-pt margin counted
Victory Value =
base_value = Opponent Quality × Location Multiplier × Margin Multiplier
total_adjustments = Travel Adj + Conference Bonus + Context Bonus + Marquee Bonus
victory_value = (base_value + total_adjustments) × Temporal Weight (Module 4)
Marquee Win Bonus

Extra credit for defeating opponents ranked in the top 25 at the time rankings are generated (based on Pass-1 ranking):

  • Opponent ranked Top 5: +3.0 bonus
  • Opponent ranked Top 10: +1.5 bonus
  • Opponent ranked Top 25: +0.5 bonus
Game Context Bonus System
  • CFP Championship Win: +50.0
  • CFP Semifinal Win: +12.0
  • CFP Quarterfinal Win: +8.0
  • CFP First Round Win: +5.0
  • Conf. Championship Win: +1.2
  • Bowl Game Win: +0.5
  • Rivalry Week Win (Wk 12): +0.3
  • Late Conference Win (Wk 11-12): +0.2
Travel Adjustment System
  • Cross-Country (3+ time zones): +0.2 for away wins, −0.15 reduction for away losses
  • Moderate Travel (2 time zones): +0.1 for away wins, −0.075 reduction for away losses
  • Examples: Oregon @ Michigan (+0.2), Texas @ Florida (+0.1)
FCS Game Limitations
  • Opponent quality fixed at 0.5
  • No location, travel, conference, or context bonuses
  • Hard cap: 1.0 total victory points
Victory Value Examples (Margin Multiplier Effect)
Team A beats P4 team 35-31 (Away, ≤3 pt margin): 6.5 × 1.3 × 0.75 = 6.34 base
Same team beats same P4 team 38-14 (Away, 24-pt margin): 6.5 × 1.3 × 1.35 = 11.41 base
Alabama beats Georgia 31-17 (Away, Wk 9): 7.33 × 1.3 × 1.20 + conf/context bonuses ≈ 13.0 pts
Oregon beats Michigan 28-21 (Away, Wk 10): 6.8 × 1.3 × 1.20 + travel/conf bonuses ≈ 11.0 pts
Any team beats FCS 56-3 (Home, Wk 1): min(1.0, base) × 0.65 = 0.65 pts max

Module 3 — Enhanced Loss Quality Assessment

Not all losses are equal. Each loss is penalized based on quality, margin, and circumstances, then multiplied by the temporal weight for that week. There is no escalating multiplier — each loss is assessed individually on its own merits.

Loss Penalty Factors
  • Base Penalty: 4.5 pts for any loss
  • Opponent Quality Adjustment — elite opponents hurt less
  • Margin Penalty — blowout losses hurt more
  • Location Factor — home losses hurt more
  • Stadium Multiplier — losses at elite venues reduced
  • Travel Consideration — cross-country losses slightly reduced
  • Overtime Reduction — 35% penalty reduction for OT losses
  • Late Conference Context — Weeks 11-12 conf. losses +0.3
Opponent Quality Adjustments
  • Elite (≥ 9.0): −3.5 reduction
  • Very Elite (≥ 8.5): −3.0 reduction
  • Strong (≥ 8.0): −2.5 reduction
  • Good (≥ 7.0): −2.0 reduction
  • Above Avg (≥ 6.0): −1.0 reduction
  • Average (≥ 4.5): ±0.0
  • Below Avg (≥ 3.0): +1.0 increase
  • Weak (< 3.0): +2.5 increase
Margin Penalties
  • 1–3 pts: no margin penalty
  • 4–7 pts: +0.5    8–14 pts: +1.2
  • 15–21 pts: +2.5    22–28 pts: +4.0
  • 29+ pts: +5.5
CFP Deep Run Loss Exceptions

Losing in the later rounds of the College Football Playoff is not treated as a normal loss — reaching that stage is itself an accomplishment. Losing to a juggernaut in the championship game should not torpedo a team's resume:

  • CFP Championship Loss: −6.0 score boost applied (loss penalty dramatically offset)
  • CFP Semifinal Loss: −2.0 score boost applied (loss penalty partially offset)
  • CFP Quarterfinal Loss: Penalty capped at 0.35 of calculated value
  • CFP First Round Loss: Penalty capped at 0.55 of calculated value

Bowl game losses and regular season losses have no cap — they are calculated at full penalty value.

Catastrophic FCS Loss Penalty
  • Base penalty: 8.0 pts (vs 4.5 for normal losses)
  • Margin multiplier: additional penalty based on loss margin
  • Home FCS loss: additional location penalty
  • Minimum penalty: 8.0 pts for any FCS loss
  • Overtime reduction applies but is reduced
Loss Penalty Examples
Loss to #1 team (quality ~9.0) by 7 (Away): 4.5 − 3.5 + 0.5 − 0.5 = 1.0 pts — excellent opponent reduces penalty significantly
Loss to average P4 (quality ~5.5) by 14 (Home): 4.5 + 0.0 + 1.2 + 1.0 = 6.7 pts
Loss to weak G6 (quality ~2.5) by 10 (Home): 4.5 + 2.5 + 1.2 + 1.0 = 9.2 pts — losing to weak opponents is severely punished
Any team loses to FCS 17-14 (Home): max(8.0, base formula) = 8.0+ pts minimum

Module 4 — Temporal Weighting Engine

Games are weighted differently based on when they occur in the season. The weight is applied directly to each game's victory value or loss penalty — it is baked into the score, not a separate additive component. The ranking reflects the full story of a team's season from week 1 through the postseason.

Seasonal Game Weights
  • Week 1: 0.65× — rust, limited prep
  • Week 2: 0.75×   Week 3: 0.80×
  • Week 4: 0.85×   Week 5: 0.90×
  • Week 6: 0.95×   Weeks 7-10: 1.00×
  • Week 11: 1.05×   Week 12: 1.10×
  • Week 13 (conf. champ.): 1.15×
  • Bowl Games: 1.08×
  • CFP First Round: 1.10×
  • CFP Quarterfinal: 1.15×
  • CFP Semifinal: 1.20×
  • CFP Championship: 1.25×
No Streak Inflation

Per-game weights are the only temporal mechanism in the system. There is no separate streak modifier or recent-form adjustment on top of them. The ranking reflects what a team did across every week, with each week's importance reflecting when it happened.

A team that peaked in week 3 and collapsed down the stretch will see that collapse fully captured in their later poor results — while their early wins retain their scaled value. Hot streaks do not earn artificial bonuses.

CFP round weights escalate gradually (1.10 → 1.25) rather than jumping, reflecting the increasing stakes and quality of competition at each stage of the playoff.

Module 5 — Strength of Schedule Engine

Schedule strength operates through a dual mechanism that both scales individual game values and adds a non-linear overall bonus or penalty. This captures schedule quality in a proportional way — teams with brutal schedules earn substantial rewards; teams with soft schedules face real penalties.

SoS Multiplier (per-game)

Individual game victory values are multiplied by a SoS factor derived from how far the team's opponent quality deviates from average (5.0):

sos_deviation = avg_opp_quality − 5.0
sos_mult = 1.0 + (sos_deviation × 0.12)
// Capped: min 0.70×, max 1.30×

adjusted_victory_value = victory_value × sos_mult
  • SoS 7.5 (tough): 1.30× multiplier
  • SoS 5.0 (average): 1.00× multiplier
  • SoS 2.5 (soft): 0.70× multiplier
SoS Additive Bonus (non-linear)

A separate non-linear bonus or penalty is added based on schedule deviation. Tough schedules earn extra; soft schedules are penalized harder:

sos_dev < −1.0:
  sos_bonus = −(|sos_dev|^1.5) × 0.8
sos_dev −1.0 to 0:
  sos_bonus = sos_dev × 0.8
sos_dev > 0:
  sos_bonus = sos_dev × 1.2

Soft schedule penalties are non-linear — they compound rapidly beyond −1.0 deviation. Tough schedule rewards scale linearly and are asymmetrically stronger than equivalent soft penalties.

Schedule Assessment Examples
SEC powerhouse (avg opp quality 7.2): SoS mult 1.26×, additive bonus ≈ +2.64
Mid-major G6 (avg opp quality 4.0): SoS mult 0.88×, additive bonus ≈ −0.80
P4 with cupcake schedule (avg opp quality 3.0): SoS mult 0.76×, additive bonus ≈ −3.58 (non-linear penalty kicks in)
Both mechanisms combine — a soft schedule hurts win values directly AND adds a separate penalty.

Module 6 — Final Ranking Composer

Combines all scored components into the final ranking. No conference multipliers — a team's score is determined entirely by who they beat, who they lost to, and how those games were played.

Final Score Components
  • Adjusted Victory Value — all win values × SoS multiplier, temporal weights built in
  • Loss Penalties — Module 3, temporal weights built in; CFP round caps applied
  • SoS Bonus — non-linear additive from Module 5
Conference Treatment
  • No conference multiplier — P4 and G6 scored identically at the formula level
  • Subdivision expressed through quality bands — beating a P4 team is inherently worth more (Module 1)
  • All P4 conferences treated equally
  • G6 schedule reflected in SoS — lower opponent quality produces lower SoS multiplier and negative additive bonus
Final Ranking Score =
+ Adjusted Victory Value — victory_value × SoS multiplier; temporal weights built in
− Loss Penalties — per-game quality-adjusted; CFP round caps for deep runs
+ SoS Bonus — non-linear additive (positive for strong schedules, negative for soft)
Pure Individual Merit

There is no conference logo bonus or penalty. Subdivision differences surface organically through the opponent quality tier system (Module 1) and the SoS dual mechanism — not through arbitrary multipliers on the final score. The core philosophy: winning all your games is always rewarded. Dominant wins are rewarded more than narrow ones. Losing to an elite team hurts far less than losing to a weak opponent. A team that beats quality opponents convincingly will rank above one that squeaked past the same schedule.


Strength of Record (SoR) — Display Metric

Strength of Record measures the average quality of a team's defeated opponents. It answers: "How impressive is this team's win column?" — independent of losses or unbeaten opponents. SoR appears on the rankings table and team detail pages but is not a direct input to the ranking score; it is a descriptive resume metric.

Strength of Record =
sum(opponent_quality for each win) ÷ total_games_played
// denominator is total games, not just wins — prevents inflation from playing only a few games
Wins over P4
Quality Earned: 4.0–8.0
  • 0-12 P4 team: 4.0
  • 6-6 P4 team: 6.0
  • 12-0 P4 team: 8.0
  • 4.0 + (win_pct × 4.0)
  • Notre Dame — rated as P4
Wins over G6
Quality Earned: 1.5–4.5
  • 0-12 G6 team: 1.5
  • 6-6 G6 team: 3.5
  • 12-0 G6 team: 4.5 (cap)
  • 1.5 + (win_pct × 4.0), cap 4.5
  • UConn — rated as G6
FCS
Quality Earned: 0.5 (fixed)
  • FCS win: 0.5 (fixed)
  • Never changes regardless of record
Strength of Record Examples (12-game season)
12-0 P4 (all quality wins): 12 × 6.5 avg ÷ 12 → SoR ≈ 6.50
12-0 G6 (all G6 wins, capped at 4.5): 12 × 3.5 avg ÷ 12 → SoR ≈ 3.50 — ~3 pt gap vs undefeated P4
10-2 P4 (quality wins + 2 losses): 10 × 5.8 avg ÷ 12 → SoR ≈ 4.83
6-6 P4 (mixed wins): 6 × 5.0 avg ÷ 12 → SoR ≈ 2.50
SoR vs SoS

Strength of Schedule measures who you played. Strength of Record measures who you beat. A team that played a brutal schedule but went 6-6 will have a high SoS but a modest SoR — the wins column doesn't justify a top ranking. Together the two columns tell the full story of a team's season resume.


Why This System Is Different

vs. Human Polls (AP/Coaches)
  • Zero human bias or preconceptions
  • Processes every game — all 1,000+ per season
  • Consistent methodology applied to every team
  • Real-time updates when games complete
  • Complete transparency — every component explained
  • Margin multiplier rewards dominance, not just wins
vs. CFP Selection Committee
  • Objective criteria — no "eye test"
  • No political influence or TV deal pressure
  • Ranks all 130+ FBS teams comprehensively
  • Context awareness — travel, atmosphere, stakes
  • Merit-based regardless of conference affiliation
  • Early rankings grounded in prior-season performance
The Result

A comprehensive, accurate, and fair college football ranking system that recognizes competitive reality while maintaining merit-based evaluation. Teams are judged on their actual performance with appropriate context — a level playing field where exceptional teams excel regardless of conference affiliation, where winning convincingly is rewarded more than squeaking by, and where the quality of every opponent is assessed fairly within their competitive tier.

← Back to Rankings CFP Bracket Bowl Projections