Key Takeaways: Quarterback Evaluation
One-page reference for Chapter 6 concepts
Core QB Metrics
| Metric | Formula | Meaning |
|---|---|---|
| EPA/Play | Total EPA / Dropbacks | Efficiency per attempt |
| CPOE | Actual Comp% - Expected% | Accuracy above average |
| ADOT | Sum(Air Yards) / Attempts | Passing depth |
| Success Rate | Successful Plays / Total | Consistency of positive plays |
Quick EPA Reference
qb_stats = (
pbp
.query("pass == 1")
.groupby('passer_player_name')
.agg(
dropbacks=('pass', 'count'),
epa=('epa', 'mean'),
cpoe=('cpoe', 'mean'),
success_rate=('success', 'mean')
)
.query("dropbacks >= 200")
)
EPA Interpretation
| EPA/Play | Interpretation |
|---|---|
| > 0.20 | Elite |
| 0.10 to 0.20 | Above average |
| 0.00 to 0.10 | Average |
| -0.10 to 0.00 | Below average |
| < -0.10 | Poor |
CPOE Interpretation
| CPOE | Interpretation |
|---|---|
| > +4% | Elite accuracy |
| +2% to +4% | Above average |
| -2% to +2% | Average |
| < -2% | Below average |
What EPA Captures
Included: - Yards gained - First downs - Touchdowns - Turnovers - Field position
Not Included: - Throw quality - Pocket presence - Pre-snap reads - Leadership
Supporting Cast Effects
YAC Adjustment:
team_yac = team_passes['yards_after_catch'].mean()
league_yac = all_passes['yards_after_catch'].mean()
receiver_contribution = team_yac - league_yac
Pressure Adjustment: - High sack rate → worse O-line - Adjust EPA for protection quality
Key Situational Analyses
| Situation | Filter |
|---|---|
| Early downs | down <= 2 |
| Third down | down == 3 |
| Red zone | yardline_100 <= 20 |
| Two minute | half_seconds_remaining <= 120 |
| Trailing | score_differential < 0 |
| Close game | abs(score_differential) <= 7 |
Sample Size Guidelines
| Metric | Stabilization | ~Games |
|---|---|---|
| Comp% | ~150 attempts | 4-5 |
| CPOE | ~200 attempts | 6-7 |
| EPA | ~400 attempts | 12-15 |
| Int Rate | ~800 attempts | 2 seasons |
Common Pitfalls
| Pitfall | Reality |
|---|---|
| High comp% = good | Depends on depth |
| Volume = quality | Efficiency matters more |
| One season proves skill | Small sample variance |
| EPA isolates QB | Includes cast effects |
Evaluation Framework
1. Efficiency (EPA/play)
2. Accuracy (CPOE)
3. Style (ADOT, depth distribution)
4. Situations (3rd down, red zone, pressure)
5. Context (opponents, cast, scheme)
What Statistics Miss
- Pre-snap reads and adjustments
- Ball placement quality
- Pocket navigation
- Leadership and intangibles
- Play-calling influence
- Game management
Preview: Chapter 7
Next: Rushing Analytics — why traditional rushing stats mislead and how to properly evaluate running backs.