Exercises: Quarterback Evaluation
Difficulty Levels
- Level 1 (Foundational): Basic QB metric calculations
- Level 2 (Applied): Standard QB analysis with NFL data
- Level 3 (Intermediate): Multi-dimensional evaluation
- Level 4 (Advanced): Context adjustments and modeling
- Level 5 (Expert): Research-level QB analysis
Section 1: EPA-Based Metrics (Level 1-2)
Exercise 1.1: Basic EPA Calculation
Level 1 | EPA Fundamentals
For the 2023 season: 1. Calculate EPA per dropback for all QBs with 300+ attempts 2. What is the league average EPA per dropback? 3. How many QBs are above league average? 4. What is the standard deviation of EPA per dropback?
# Your code here
Exercise 1.2: EPA Rankings
Level 2 | Rankings
Create a QB ranking table with: 1. EPA per play (ranked 1-N) 2. Total EPA (ranked 1-N) 3. A composite rank (average of the two) 4. Which QBs have the largest gap between efficiency and volume rankings?
# Your code here
Exercise 1.3: Success Rate Analysis
Level 2 | Success Rate
Calculate for each qualified QB: 1. Overall success rate 2. Success rate on early downs (1st and 2nd) 3. Success rate on third down 4. Which QBs show the biggest drop-off on third down?
# Your code here
Exercise 1.4: Weekly Consistency
Level 2 | Variance Analysis
For the top 15 QBs by volume: 1. Calculate week-by-week EPA 2. Find the standard deviation of weekly EPA 3. Rank QBs by consistency (lowest variance) 4. Is there a correlation between average EPA and consistency?
# Your code here
Exercise 1.5: EPA by Quarter
Level 2 | Temporal Analysis
Analyze how QBs perform through the game: 1. Calculate EPA by quarter (1-4) for top QBs 2. Which QBs improve as the game goes on? 3. Which QBs decline? 4. Visualize the patterns
# Your code here
Section 2: CPOE Analysis (Level 2-3)
Exercise 2.1: Basic CPOE
Level 2 | CPOE Calculation
For qualified QBs: 1. Calculate average CPOE 2. What is the range of CPOE (min to max)? 3. Which QB has the highest CPOE? 4. What completion percentage would you expect from the lowest CPOE QB?
# Your code here
Exercise 2.2: CPOE vs EPA Comparison
Level 3 | Metric Comparison
Compare CPOE and EPA rankings: 1. Calculate both metrics for all qualified QBs 2. What is the correlation between CPOE and EPA? 3. Identify QBs who rank much higher in one vs the other 4. What might explain these discrepancies?
# Your code here
Exercise 2.3: CPOE by Depth
Level 3 | Stratified Analysis
Break down CPOE by target depth: 1. Calculate CPOE for short (<10 yards), medium (10-20), and deep (20+) passes 2. Which QBs have consistent CPOE across depths? 3. Which QBs excel at specific depths?
# Your code here
Exercise 2.4: CPOE Stability
Level 3 | Reliability
Test CPOE stability: 1. Split the season into first and second halves 2. Calculate CPOE for each half 3. What is the correlation between halves? 4. Is CPOE more or less stable than raw completion %?
# Your code here
Exercise 2.5: CPOE Trend Analysis
Level 3 | Time Series
For a specific QB: 1. Calculate rolling 50-pass CPOE 2. Plot the trend throughout the season 3. Identify significant up or down trends 4. Do injuries or other factors explain changes?
# Your code here
Section 3: Air Yards and Passing Depth (Level 2-3)
Exercise 3.1: ADOT Rankings
Level 2 | Basic Air Yards
Calculate for all qualified QBs: 1. Average Depth of Target (ADOT) 2. Deep ball percentage (throws 20+ yards) 3. Behind-line-of-scrimmage percentage 4. Rank QBs from most to least aggressive
# Your code here
Exercise 3.2: Air Yards vs YAC
Level 3 | Passing Decomposition
Decompose passing production: 1. Calculate air yards per attempt and YAC per completion 2. What percentage of each QB's yards come from air vs YAC? 3. Which QBs rely most on YAC? Which on air yards? 4. What does this tell us about their supporting cast?
# Your code here
Exercise 3.3: Deep Ball Efficiency
Level 3 | Deep Passing
Analyze deep passing (20+ yards): 1. Calculate deep ball completion percentage by QB 2. Calculate EPA per deep attempt 3. Which QBs are efficient deep passers? 4. Is there a correlation between deep volume and deep efficiency?
# Your code here
Exercise 3.4: Completed Air Yards
Level 3 | CAY Analysis
Calculate Completed Air Yards (CAY): 1. CAY = total air yards on completions 2. CAY per attempt 3. Compare to ADOT - what's the difference? 4. Which metric better predicts EPA?
# Your code here
Exercise 3.5: Passing Style Profiles
Level 3 | Clustering
Create passing style profiles: 1. Use ADOT, CPOE, and EPA as features 2. Cluster QBs into style groups 3. Characterize each cluster (e.g., "aggressive and accurate") 4. Visualize the clusters
# Your code here
Section 4: Context Adjustments (Level 3-4)
Exercise 4.1: Home vs Away
Level 3 | Split Analysis
Compare QB performance home vs away: 1. Calculate EPA at home and away for each QB 2. Which QBs have the biggest home advantage? 3. Is home/away split consistent year-to-year?
# Your code here
Exercise 4.2: Opponent Adjustment
Level 4 | Adjusted Metrics
Adjust for opponent strength: 1. Calculate pass defense EPA allowed by each team 2. Adjust each QB's EPA based on opponents faced 3. Which QBs move up/down most after adjustment? 4. Compare raw vs adjusted rankings
# Your code here
Exercise 4.3: Supporting Cast Isolation
Level 4 | Cast Adjustment
Attempt to isolate QB from supporting cast: 1. Calculate team's YAC above/below average 2. Calculate time to throw (if available) or sack rate 3. Estimate how much of EPA is attributable to cast 4. Discuss limitations of this approach
# Your code here
Exercise 4.4: Scheme Effects
Level 4 | System Analysis
Analyze scheme effects: 1. Calculate play-action usage and effectiveness by QB 2. Calculate RPO usage and effectiveness 3. Do QBs in certain systems have inflated stats? 4. How would you control for scheme?
# Your code here
Exercise 4.5: Pressure Performance
Level 4 | Pressure Analysis
Analyze performance under pressure: 1. Identify "pressure" using sack, qb_hit, or scramble 2. Calculate EPA when pressured vs clean pocket 3. Which QBs maintain performance under pressure? 4. Is pressure performance stable year-to-year?
# Your code here
Section 5: Situational Analysis (Level 3-4)
Exercise 5.1: Third Down Specialist
Level 3 | Third Down
Identify third down specialists: 1. Calculate third down EPA and conversion rate by QB 2. Compare to overall EPA - who overperforms on 3rd down? 3. Is third down performance predictive of future success?
# Your code here
Exercise 5.2: Red Zone Efficiency
Level 3 | Red Zone
Analyze red zone passing: 1. Calculate red zone EPA and TD rate by QB 2. Who are the best red zone passers? 3. How does red zone performance correlate with overall EPA?
# Your code here
Exercise 5.3: Two-Minute Drill
Level 4 | Late Game
Evaluate two-minute drill performance: 1. Filter to last 2 minutes of each half 2. Calculate EPA and success rate in these situations 3. Who are the best two-minute QBs? 4. Account for garbage time
# Your code here
Exercise 5.4: Trailing Performance
Level 4 | Game Script
Analyze performance when trailing: 1. Calculate EPA when trailing by 7+ 2. Compare to performance when leading 3. Which QBs elevate when behind? 4. Distinguish ability from garbage time inflation
# Your code here
Exercise 5.5: Fourth Quarter Clutch
Level 4 | Clutch Analysis
Define and measure "clutch" performance: 1. Define clutch situations (4Q, close game) 2. Calculate EPA in clutch vs non-clutch 3. Is clutch performance a real, stable skill? 4. Use WPA to validate findings
# Your code here
Section 6: Comprehensive Evaluation (Level 4-5)
Exercise 6.1: Build a QB Index
Level 4 | Composite Metric
Create a composite QB rating: 1. Select 5+ metrics to include 2. Standardize each metric 3. Weight and combine into a single score 4. Validate against wins, EPA, or other outcomes
# Your code here
Exercise 6.2: QB Comparison Tool
Level 4 | Application
Build a reusable QB comparison tool: 1. Allow input of QB names 2. Calculate all relevant metrics 3. Rank in each category 4. Generate a formatted comparison report
class QBComparison:
def __init__(self, pbp):
pass
def compare(self, qb_list):
pass
def generate_report(self):
pass
Exercise 6.3: Career Trajectory Analysis
Level 5 | Multi-Year
Analyze QB career trajectories: 1. Load multiple seasons of data 2. Calculate year-over-year changes in EPA 3. Identify typical career arcs (peak age, decline) 4. Which QBs defy typical patterns?
# Your code here
Exercise 6.4: Predictive Model
Level 5 | Prediction
Build a model to predict future QB EPA: 1. Use current season metrics as features 2. Predict next season's EPA 3. Which metrics are most predictive? 4. How much of performance is predictable vs luck?
# Your code here
Exercise 6.5: Complete QB Report
Level 5 | Capstone
Generate a comprehensive scouting report: 1. Select a QB to analyze deeply 2. Include all metric categories 3. Add visualizations 4. Provide a narrative summary 5. Format for presentation to a front office
# Your code here
Submission Guidelines
For each exercise: 1. Include all code with comments 2. Provide visualizations where appropriate 3. Interpret findings in football context 4. Acknowledge limitations
Grading Rubric
| Level | Points | Focus |
|---|---|---|
| 1 | 2 each | Correct calculation |
| 2 | 3 each | Calculation + interpretation |
| 3 | 4 each | Multi-metric analysis |
| 4 | 5 each | Context and adjustment |
| 5 | 6 each | Comprehensive evaluation |