Chapter 13: Key Takeaways

Quick Reference Guide for Goalkeeper Analysis


Core Shot-Stopping Metrics

Metric Definitions

Metric Definition Formula
Save Percentage Proportion of shots on target saved Saves / Shots on Target
PSxG Post-shot xG (accounts for placement) Model-based
Goals Prevented Goals saved above expectation PSxG - Goals Conceded
Save % Above Expected Per-shot overperformance Goals Prevented / Shots on Target

Key Formulas

Save Percentage: $$\text{Save \%} = \frac{\text{Saves}}{\text{Shots on Target}} \times 100$$

Goals Prevented: $$\text{GP} = \text{PSxG} - \text{Goals Conceded}$$

Goals Prevented per 90: $$\text{GP/90} = \text{GP} \times \frac{90}{\text{Minutes Played}}$$


Distribution Metrics

Metric Definition Good Benchmark
Pass Completion Successful passes / Total passes >80%
Long Pass % Long passes / Total passes Context-dependent
Progressive Passes p90 Passes advancing >10m forward >3.0
Goal Kick Success Successful goal kicks % >65%

Distribution Style Classification

Style Pass Success Long Pass % Description
Build-out >85% <30% Short passing, possession
Balanced 75-85% 30-50% Mixed approach
Launcher <75% >50% Direct, long distribution

Sweeper-Keeper Metrics

Metric Definition Elite Threshold
Sweeper Actions p90 Outside-box interventions >1.5
Aerial Claim Rate Aerial duels won % >65%
Outside Box Clearances Clearances beyond box System-dependent

Sweeper-Keeper Requirements

High-Line Systems: - Sweeper actions p90 > 1.0 - Pass completion > 80% - Comfortable under pressure

Low-Block Systems: - Sweeper actions less critical - Focus on shot-stopping - Strong aerial ability


Sample Size Guidelines

Metric Stabilization Points

Metric Shots/Matches Needed Notes
Save Percentage ~300 shots 2+ seasons
Goals Prevented ~200 shots 1.5-2 seasons
PSxG Differential ~150 shots 1-1.5 seasons
Pass Completion ~100 passes Several matches

Confidence Interval Reference

For save percentage with n shots: $$\text{SE} \approx \sqrt{\frac{p(1-p)}{n}}$$

95% CI: $\hat{p} \pm 1.96 \times \text{SE}$


Goalkeeper Style Profiles

Traditional Shot-Stopper

Metric Typical Value
Save % 74-78%
Pass Completion 65-75%
Long Pass % 50-70%
Sweeper Actions p90 0.3-0.8
Aerial Claim Rate 75-85%

Modern Sweeper-Keeper

Metric Typical Value
Save % 70-75%
Pass Completion 82-90%
Long Pass % 25-40%
Sweeper Actions p90 1.2-2.0
Aerial Claim Rate 60-72%

Bayesian Estimation

Beta-Binomial Model for Save Percentage

Prior: Beta(α, β) where α = prior saves, β = prior goals

Posterior: $$\text{Posterior} = \text{Beta}(\alpha + \text{saves}, \beta + \text{goals})$$

Posterior Mean: $$\hat{p} = \frac{\alpha + \text{saves}}{\alpha + \beta + \text{shots}}$$

Default Prior Values

Prior Type α β Expected Save %
Uninformative 1 1 50%
Weak 7 3 70%
Informative 10 3 77%

Recruitment Checklist

For High-Line/Possession Teams

  • [ ] Pass completion > 82%
  • [ ] Long pass % < 40%
  • [ ] Sweeper actions p90 > 1.0
  • [ ] Comfortable under pressure
  • [ ] Save % > 70%

For Low-Block/Defensive Teams

  • [ ] Save % > 74%
  • [ ] Aerial claim rate > 75%
  • [ ] Strong 1v1 positioning
  • [ ] Long kick accuracy > 55%
  • [ ] Communication skills

Visualization Best Practices

Shot Map

  • Show shot locations with outcome colors
  • Size by xG
  • Include goalkeeper position if available

Distribution Patterns

  • Arrow plot showing pass origins and destinations
  • Color by success/failure
  • Highlight progressive passes

Radar Chart Metrics

  1. Goals Prevented
  2. Save Percentage
  3. Pass Success Rate
  4. Long Pass Accuracy
  5. Sweeper Actions p90
  6. Aerial Win Rate

Common Interpretation Pitfalls

Avoid These Mistakes

  1. Ignoring Sample Size: 10-match samples are unreliable
  2. Context-Free Comparison: Compare within similar systems
  3. Single Metric Focus: Use comprehensive profiles
  4. Ignoring Uncertainty: Always report confidence levels
  5. Traditional Bias: Clean sheets ≠ goalkeeper quality

Best Practices

  1. Use goals prevented over raw goals conceded
  2. Report confidence intervals
  3. Consider system context
  4. Use multiple metrics
  5. Acknowledge limitations

Quick Code Snippets

Basic Save Statistics

def get_save_stats(shots_faced, goals_conceded, xg_faced):
    saves = shots_faced - goals_conceded
    save_pct = saves / shots_faced if shots_faced > 0 else 0
    goals_prevented = xg_faced - goals_conceded
    return {
        'saves': saves,
        'save_pct': save_pct,
        'goals_prevented': goals_prevented
    }

Bayesian Save Percentage

def bayesian_save_pct(saves, shots, prior_alpha=10, prior_beta=3):
    post_alpha = prior_alpha + saves
    post_beta = prior_beta + (shots - saves)
    return post_alpha / (post_alpha + post_beta)

Distribution Analysis

def analyze_distribution(gk_passes):
    successful = gk_passes[gk_passes['pass_outcome'].isna()]
    long_passes = gk_passes[gk_passes['pass_length'] >= 40]
    return {
        'completion': len(successful) / len(gk_passes),
        'long_pct': len(long_passes) / len(gk_passes)
    }

Key Takeaways Summary

  1. Use Goals Prevented over traditional metrics for shot-stopping evaluation

  2. Distribution Matters - Modern goalkeepers must be evaluated as passers

  3. System Context - No universal "best" profile; fit matters

  4. Sample Size Awareness - Goalkeeper stats require patience

  5. Bayesian Methods - Help with small samples

  6. Multiple Metrics - Comprehensive profiles beat single numbers

  7. Uncertainty Communication - Always report confidence levels

  8. Trade-offs Exist - Sweeper-keepers may sacrifice aerial dominance


Benchmark Reference Table

Metric Poor Average Good Elite
Save % <70% 70-74% 74-78% >78%
Goals Prevented p90 <-0.05 -0.05 to 0.02 0.02-0.06 >0.06
Pass Completion <70% 70-80% 80-85% >85%
Sweeper Actions p90 <0.5 0.5-1.0 1.0-1.5 >1.5
Aerial Win % <60% 60-70% 70-80% >80%