Season Efficiency Rating — a field-position-adjusted, schedule-weighted measure of team quality
Football is a game of field position. A team that gets the ball on their own 10-yard line is in a tough spot — scoring from there is hard. A team that gets the ball on the opponent's 30 is in great shape — scoring is almost expected. But most box scores treat every drive the same: you either scored or you didn't.
SER is built on a simple question: did your offense do better or worse than expected, given where it started?
Using years of historical drive data, we calculate what an average team scores from every yard line. A drive from the opponent's 20 should produce about 4–5 points. A drive from your own 10 might produce less than half a point.
For every drive a team runs, we compare what actually happened to what should have happened. A TD from your own 15 is a huge win over expectation. Going three-and-out after getting the ball at the opponent's 25 is a failure, and it counts as one.
Season drive grades are averaged, then adjusted for schedule strength (who did you play?) and game importance (how competitive was the matchup?). Offense and defense are then combined into one number.
The curve below is the league-average baseline — it shows how many points an average drive produces depending on where it starts. Every drive this season is graded against this curve.
Putting up big numbers against weak defenses isn't as impressive as doing it against elite ones. SER adjusts for the quality of opponents faced all season.
A 55-point blowout against a bad team doesn't reveal much about true quality. SER gives more weight to competitive games between evenly matched teams and discounts lopsided mismatches.
The final number combines offense and defense into one score. A positive number means a team performed above league average. The higher the number, the better. A team with an elite offense and a stifling defense will have a very high SER; a team that scores a lot but gives up just as much will end up near zero.
Using the full historical drives dataset, we group by field position (100 − start_yards_to_goal) and compute the average points scored per drive from each yard line. A cubic polynomial regression is fit to that distribution, producing a smooth curve:
f(field_position) → expected_points
This model is the league-average baseline against which every drive is judged.
Each drive outcome is mapped to a signed point value:
For each drive, the expected points from that field position are subtracted from what actually happened:
POE = actual_points − f(field_position)
POE is the fundamental efficiency atom — every downstream rating derives from it.
For example: a touchdown drive starting at the team's own 15-yard line (field position 15) might have an expected points value of ~0.8. The POE for that TD drive is 7 − 0.8 = +6.2. Going three-and-out from the opponent's 35 (expected ~3.5 points) results in a POE of 0 − 3.5 = −3.5.
Drive-level POE values are averaged across all drives for each team in each role:
offensive_efficiency[team] = mean(POE) across all drives as offense
defensive_efficiency[team] = mean(POE) × −1 across all drives as defense
The sign flip on defense means a positive defensive rating reflects preventing points above expectation — higher is always better for both sides.
Raw efficiencies don't account for opponent quality. A team that faced elite defenses all season should be credited more than one that padded stats against weak units. The adjustment uses the season-average efficiency of every opponent faced:
adjusted_off = offensive_efficiency + mean(defensive_efficiency of opponents)
adjusted_def = defensive_efficiency + mean(offensive_efficiency of opponents)
Facing stronger offenses raises the bar for a defense; facing stronger defenses raises the bar for an offense.
Not all wins (or losses) are equally informative. A 55-point blowout against a winless team tells us very little about actual quality. For each game, raw game-level efficiencies are calculated and adjusted for opponent quality using the opponent's season-level efficiency. Each game is then assigned a weight based on competitive balance using pre-game Elo ratings:
elo_weight = exp(−0.25 × |elo_diff| / 150)
When two evenly matched teams play, elo_diff ≈ 0 and the weight approaches 1.0. As the mismatch grows, the weight decays toward zero — so a historic blowout barely moves the needle for either team.
Season efficiencies are computed as Elo-weighted averages of game-level adjusted efficiencies. The result is then scaled by 12 to bring the per-drive average up to a season-level magnitude:
SER = (elo_weighted_off_efficiency × 12) + (elo_weighted_def_efficiency × 12)
The ×12 scalar brings the per-drive per-game average up to the season scale. The combined number is what appears on the site as SER. A positive SER means the team outperformed league average across the full season; a negative SER means they underperformed.