Exercises: Special Teams Analytics
Difficulty Levels
- Level 1 (Foundational): Basic special teams calculations
- Level 2 (Applied): Player and team evaluation
- Level 3 (Intermediate): Expected value analysis
- Level 4 (Advanced): Decision analysis
- Level 5 (Expert): Comprehensive evaluation
Section 1: Kicking Analysis (Level 1-3)
Exercise 1.1: Field Goal Percentage
Level 1 | Basic
Calculate field goal percentage: 1. Calculate FG% for all kickers with 15+ attempts 2. Rank kickers by FG% 3. What is the league average? 4. Identify the most and least accurate kickers
# Your code here
Exercise 1.2: Distance-Adjusted FG Analysis
Level 2 | Adjustment
Adjust for kick distance: 1. Calculate expected FG% based on distance 2. Calculate FG over expected for each kicker 3. Re-rank kickers by FG over expected 4. How do rankings change from raw FG%?
# Your code here
Exercise 1.3: Extra Point Analysis
Level 2 | Component
Analyze extra point performance: 1. Calculate XP% for all kickers 2. How much variation exists? 3. Calculate total points lost from missed XPs by team 4. Which teams lost most from XP misses?
# Your code here
Exercise 1.4: Clutch Kicking
Level 3 | Situational
Analyze kicking in pressure situations: 1. Define pressure: 4th quarter, within 7 points 2. Calculate FG% in pressure vs non-pressure 3. Which kickers improve under pressure? 4. Is there a clutch kicking skill?
# Your code here
Section 2: Punting Analysis (Level 2-3)
Exercise 2.1: Punter Evaluation
Level 2 | Basic Metrics
Calculate punting metrics: 1. Calculate gross and net average by punter 2. Calculate inside-20 rate 3. Calculate touchback rate 4. Rank punters by net average
# Your code here
Exercise 2.2: Situational Punting
Level 3 | Context
Analyze punting by field position: 1. Split punts by starting position 2. Calculate net average in each zone 3. Which punters excel from their own end? 4. Which excel in opponent territory?
# Your code here
Exercise 2.3: Punt Coverage
Level 3 | Unit Analysis
Analyze punt coverage by team: 1. Calculate average return yards allowed 2. Calculate fair catch rate forced 3. Calculate punt return TD rate allowed 4. Rank teams by coverage quality
# Your code here
Section 3: Return Analysis (Level 2-3)
Exercise 3.1: Kick Returner Evaluation
Level 2 | Basic
Evaluate kick returners: 1. Calculate average return yards 2. Calculate touchdowns 3. Calculate EPA per return 4. Rank returners
# Your code here
Exercise 3.2: Punt Returner Evaluation
Level 2 | Basic
Evaluate punt returners: 1. Calculate average return yards 2. Calculate fair catch rate 3. Calculate fumble rate 4. Balance risk vs reward
# Your code here
Exercise 3.3: Return Over Expected
Level 3 | Adjustment
Calculate return yards over expected: 1. Establish league average return 2. Calculate expected returns by situation 3. Calculate yards over expected 4. Re-rank returners
# Your code here
Section 4: Decision Analysis (Level 3-4)
Exercise 4.1: Field Goal Decision Value
Level 3 | Expected Value
Analyze when to attempt FGs: 1. Calculate success rate by distance 2. Calculate expected points from FG attempt 3. Compare to going for it 4. At what distances does FG become negative EV?
# Your code here
Exercise 4.2: Punt vs Go For It
Level 4 | Decision
Analyze punt decisions: 1. Calculate expected value of punting 2. Calculate expected value of going for it 3. By yardline and distance, when should teams go? 4. How often do teams make suboptimal decisions?
# Your code here
Exercise 4.3: Touchback Strategy
Level 3 | Kickoff
Analyze kickoff strategy: 1. Calculate expected starting position from touchback 2. Calculate expected starting position from returns 3. When is kicking for touchback optimal? 4. Analyze team strategies
# Your code here
Section 5: Team Evaluation (Level 4-5)
Exercise 5.1: Team Special Teams EPA
Level 4 | Composite
Calculate team special teams value: 1. Sum EPA from all ST plays by team 2. Break down by category (kicking, punting, returns) 3. Rank teams 4. Correlation with team wins?
# Your code here
Exercise 5.2: Complete ST Report
Level 5 | Capstone
Build comprehensive ST evaluation: 1. Include all kicking metrics 2. Include all punting metrics 3. Include return game 4. Include coverage 5. Generate team report
class SpecialTeamsReport:
def __init__(self, pbp):
pass
def evaluate_team(self, team):
pass
def generate_report(self):
pass
Section 6: Advanced Topics (Level 4-5)
Exercise 6.1: Sample Size Analysis
Level 4 | Statistics
Analyze sample size effects: 1. Calculate confidence intervals for FG% 2. How many attempts needed for stable metrics? 3. Split-half reliability analysis 4. Implications for kicker evaluation
# Your code here
Exercise 6.2: Year-to-Year Stability
Level 5 | Prediction
Test metric stability: 1. Calculate kicker metrics for 2+ years 2. Calculate year-to-year correlations 3. Which metrics persist? 4. Implications for roster decisions
# Your code here
Exercise 6.3: Environmental Effects
Level 4 | Context
Analyze weather/venue effects: 1. Compare dome vs outdoor FG% 2. Analyze cold weather effects 3. Wind effects on punting 4. How should we adjust metrics?
# Your code here
Exercise 6.4: Hidden Points Analysis
Level 5 | Value
Calculate hidden point value: 1. Field position value created by punting 2. Points prevented by coverage 3. Points generated by returns 4. Total hidden point contribution
# Your code here
Submission Guidelines
For each exercise: 1. Include all code with comments 2. Provide visualizations where appropriate 3. Interpret findings with sample size caveats 4. Acknowledge ST evaluation limitations
Grading Rubric
| Level | Points | Focus |
|---|---|---|
| 1 | 2 each | Correct calculation |
| 2 | 3 each | Calculation + interpretation |
| 3 | 4 each | Expected value analysis |
| 4 | 5 each | Decision and context |
| 5 | 6 each | Comprehensive evaluation |