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 — sum of per-win values (opponent quality built into each win); 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
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 – 5.0 (scaled cap)
- Min: 1.5 (even 0-12 G6 teams)
- Avg: 3.5 (6-6 record)
- Max: 5.0 (undefeated, scaled cap)
- 1.5 + (win_pct × 4.0), cap 4.5 + max(0, win_pct−.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 → capped at 4.92 (cap scales up from 4.5 with win%)
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, though an elite G6 record now closes some of that gap instead of being flattened to the same ceiling as a .500 G6 team.
Why G6 Has a Scaled Cap
The talent level at the G6 level is categorically lower than P4 regardless of record, so G6 opponent quality is capped — but the cap itself scales with the team's own win%, from 4.5 at .500 up to 5.0 for a perfect 12-0 season, rather than flattening every G6 team from a .500 also-ran to an undefeated champion to the same ceiling. This keeps a perfect G6 schedule from inflating into true P4 territory, while still giving real extra credit for a genuinely dominant G6 season over a mediocre one. A G6 win multiplier of 0.70× further scales victory value for beating G6 competition relative to an equivalent P4 opponent.
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
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
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.
Schedule strength is rated on a 1–10 scale from the combined win percentage of a team's opponents (excluding their games against that team), where 5.0 is average. It feeds the ranking in two places: inside every win, because each victory is valued by the quality of the opponent beaten, and through a non-linear overall bonus or penalty. There is no separate multiplier on top of the win values — schedule strength is not counted a third time.
Per-Game Opponent Quality
Every win is worth opponent quality × location × margin, so beating a strong opponent already pays more than beating a weak one. This is where most of the schedule's influence on the score comes from.
Sample-size dampening applies early in the season: a schedule rating built on only a few games is pulled toward average until more games have been played.
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 (additive bonus)
SEC powerhouse (SoS 7.2, deviation +2.2): bonus ≈ +2.64
Mid-major G6 (SoS 4.0, deviation −1.0): bonus ≈ −0.80
P4 with cupcake schedule (SoS 3.0, deviation −2.0): bonus ≈ −2.26 (non-linear penalty kicks in)
A soft schedule also lowers the value of each win directly, because weaker opponents are worth less per game.
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
- Victory Value — sum of all win values (opponent quality built into each win), 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 smaller win values and a negative additive bonus
Final Ranking Score =
+ Adjusted Victory Value — sum of per-win values (opponent quality built into each win); 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 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–5.0
- 0-12 G6 team: 1.5
- 6-6 G6 team: 3.5
- 12-0 G6 team: 5.0 (scaled cap)
- 1.5 + (win_pct × 4.0), cap scales 4.5→5.0
- 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 (avg opponent ~.500, quality 3.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.