College Football Rankings

ELO Formula Visualization

How Our ELO Rating Works

Our college football ranking system uses a modified ELO algorithm with enhancements for:

⚙️ System Constants
K-FACTOR (Progressive)
64 → 48 → 32
Rating change multiplier (decreases over season: weeks 1-4: 64, weeks 5-8: 48, weeks 9+: 32)
RATING SCALE
400
ELO rating scale divisor
HOME FIELD
65
Home field advantage points
MAX MOV
2.5x
Maximum margin of victory multiplier
GARBAGE TIME
21 pts
Threshold for garbage time detection
Q4 WEIGHT
25%
4th quarter weight in garbage time
🎯 Step 1: Preseason Rating

Each team starts with a calculated preseason rating based on recruiting, transfers, and returning production.

Preseason Rating = 1500 (base) + Recruiting Bonus + Transfer Bonus + Returning Production Bonus
📊 Bonus Calculations:
Recruiting Rank Bonus:
• Top 5: +100 points
• Top 10: +75 points
• Top 25: +50 points
• Top 50: +25 points

Transfer Portal Rank Bonus:
• Top 10: +75 points
• Top 25: +50 points
• Top 50: +25 points

Returning Production Bonus:
• ≥80%: +40 points
• ≥60%: +25 points
• ≥40%: +10 points
💡 Example: Elite Team
Base: 1500
+ Recruiting (Top 5): +100
+ Transfers (Top 10): +75
+ Returning (75%): +25
= 1700 Rating
📈 Step 2: Win Probability

Before each game, we calculate the expected win probability for each team using the logistic curve.

Expected Win % = 1 / (1 + 10(OpponentRating - YourRating) / 400)
With Home Field Advantage: Add 65 points to the home team's rating before calculating.
💡 Example: Home Game
Team A (Home): 1600 rating + 65 (home) = 1665 effective
Team B (Away): 1500 rating

Calculation:
Expected = 1 / (1 + 10(1500 - 1665) / 400)
Expected = 1 / (1 + 10-0.4125)
Expected = 1 / (1 + 0.387)
Expected = 72% chance to win
🎯 Step 3: Margin of Victory Multiplier

Wins by larger margins earn more rating points, but with diminishing returns to prevent blowout inflation.

MOV Multiplier = log(Point Differential + 1) Capped at: 2.5
MOV Multiplier by Point Differential
Point Diff Multiplier Example
1-2 points 1.0x Close game
7 points 1.4x One-score game
14 points 1.7x Two-score game
21 points 1.9x Three-score game
35+ points 2.5x Blowout (capped)
⚠️ Garbage Time Adjustment (EPIC-021)
If point differential > 21 after Q3, the 4th quarter is weighted at only 25% to reduce garbage time inflation.
🏈 Quarter-Weighted MOV (Advanced)

When quarter-by-quarter scores are available, we process each quarter separately with garbage time detection.

Q1 - Q3: Full Weight
Process first 3 quarters normally with 100% weight
Check Garbage Time
Is |differential after Q3| > 21 points?
Q4 Weight
Close game: 100% weight
Garbage time: 25% weight
Final MOV
Combine weighted quarters, cap at 2.5x
💡 Example: Garbage Time Game
After Q3: 42-14 (28-point lead) → Garbage time detected!

Final Score: 56-21 (35-point win)
Q4 scoring: 14-7 (weighted at 25%)

Without adjustment: 2.5x multiplier (capped)
With adjustment: 2.2x multiplier (reduced)

✓ Prevents garbage time inflation!
🏆 Step 4: Conference Multipliers

Rating changes are adjusted based on the strength of competition (conference matchups).

Matchup Winner Mult Loser Mult Rationale
P5 vs P5 1.0x 1.0x Equal competition
G5 vs G5 1.0x 1.0x Equal competition
P5 beats G5 0.8x 1.2x Expected result
G5 beats P5 1.5x 0.8x Upset! Reward G5
FBS vs FCS 0.0x 0.0x Excluded from rankings
🎯 Step 5: Final Rating Change

Combining all factors, here's the complete formula for rating changes after a game:

Rating Change = K-Factor (48/40/32) × (Actual Result - Expected Result) × MOV Multiplier × Conference Multiplier

Progressive K-Factor: Our system uses different K-factors based on the week:
Weeks 1-4: K = 64 (aggressive adjustment from preseason)
Weeks 5-8: K = 48 (continued adjustment)
Weeks 9+: K = 32 (stable ratings)

This allows early-season games to have more impact when correcting preseason predictions, then stabilizes for more predictable late-season rankings. Optimized through backtesting on 2024-2025 seasons, this schedule improves prediction accuracy by 0.5-1.2 percentage points and provides better probability calibration.

48 (Week 7) × (1.0 - 0.72) × 1.7 × 1.0 = +22.8
💡 Complete Example: Upset Win
Setup:
• Underdog (1550) beats Favorite (1650) at home
• Final score: 31-24 (7-point win)
• Both P5 teams

Step 1: Expected Win %
Underdog + Home (65) = 1615 effective
Expected = 1 / (1 + 10(1650-1615)/400) = 43%

Step 2: MOV Multiplier
log(7 + 1) = 1.4x

Step 3: Conference Multiplier
P5 vs P5 = 1.0x for both

Step 4: Rating Changes
Winner: 32 × (1.0 - 0.43) × 1.4 × 1.0 = +25.5
Loser: 32 × (0.0 - 0.57) × 1.4 × 1.0 = -25.5

Final Ratings:
Winner: 1550 → 1575.5
Loser: 1650 → 1624.5

Complete Process Flow

🎯 Preseason Initialization
Calculate initial ratings based on recruiting, transfers, returning production
📊 Game Setup
Apply home field advantage (+65), calculate expected win probabilities
🏈 Game Result
Determine winner, calculate point differential
📈 MOV Calculation
Use quarter-weighted or legacy MOV multiplier (with garbage time adjustment)
🏆 Conference Adjustment
Apply conference multipliers based on matchup type
✨ Update Ratings
Calculate final rating changes, update team ratings and records
🎉 New Rankings
Teams sorted by updated ELO ratings

🌟 Key Features

📊
Preseason Context

Teams start with ratings based on recruiting, transfers, and returning production rather than arbitrary values.

🎯
Smart MOV

Logarithmic scaling rewards wins but prevents blowout inflation. Garbage time detection reduces impact of meaningless scoring.

🏆
Conference Aware

P5 vs G5 matchups are weighted appropriately, rewarding upsets and adjusting for expected outcomes.