The Clean Sheet Probability Calculator calculates match-by-match clean sheet probabilities for football teams using fixtures, defensive stats, injuries and odds.
Clean Sheet Probability
Example Presets
Report an issue
Spotted a wrong result, broken field, or typo? Tell us below and we’ll fix it fast.
Clean Sheet Probability Calculator Explained
A clean sheet occurs when a team concedes zero goals in a match. The core idea is to estimate how often that event happens given known strengths and conditions. We model opponent scoring as a count process, usually with a Poisson distribution. That lets us convert an expected goals conceded rate into a probability of zero goals conceded.
The calculator blends defensive rating, opponent attacking rating, venue effects, and match length. Optional inputs include expected shots on target and goalkeeper save percentage. Together, they set the expected goals conceded for the game. From there, the math delivers a simple probability you can compare across matches.

How the Clean Sheet Probability Method Works
The method starts by estimating the expected goals conceded for a single match. That number becomes the Poisson rate parameter. The Poisson model is widely used in football and other low‑scoring sports. It works best when scoring chances are relatively independent and rare.
- Estimate team defensive strength as expected goals against per match.
- Estimate opponent attacking strength as expected goals for per match.
- Adjust for venue, schedule congestion, and match length.
- Optionally estimate shots on target faced and apply save percentage.
- Set the Poisson rate parameter as the adjusted expected goals conceded.
- Compute the clean sheet probability as the probability of zero goals conceded.
Each adjustment should reflect real context. Home advantage often reduces the conceded rate. A short-handed team or a high-press opponent may increase it. Keep the model simple, and only add factors you can measure consistently.
Clean Sheet Probability Formulas & Derivations
Let λ be the expected goals conceded by the team in the match. Under a Poisson model, the probability of conceding k goals is P(k) = e^(−λ) λ^k / k!. A clean sheet means k = 0. That simplifies to the exponential term alone.
- Clean sheet probability: P(clean sheet) = P(k = 0) = e^(−λ).
- Rate from ratings: λ = xGA_team × (xG_opp / xG_league) × venue_factor × minutes_factor.
- Minutes factor: minutes_factor = match_minutes / 90 for regulation-only models.
- Shot-based rate: λ ≈ SOT_faced × (1 − save_percentage).
- Combined model example: λ = w1 × λ_ratings + w2 × λ_shots, with w1 + w2 = 1.
Use the ratings-based λ when you have stable expected goals data. Use the shot-based λ when you trust shot volume and save data more. If you blend models, choose weights based on backtesting. Always test your λ estimates against actual conceded goals.
What You Need to Use the Clean Sheet Probability Calculator
Gather a few reliable inputs before you start. Focus on recent form but avoid recency bias. Prefer rolling averages over small samples. Verify that team metrics align with lineup and injury news.
- Team defensive rating: expected goals against per match.
- Opponent attacking rating: expected goals for per match.
- Venue factor: home or away adjustment between 0.85 and 1.15.
- Match length: minutes expected, usually 90 for football regulation.
- Expected shots on target faced: per match estimate.
- Goalkeeper save percentage: long-run rate, adjusted for shot quality if possible.
Typical values stay within realistic ranges. xG-based ratings often fall between 0.6 and 2.0 per team. Save percentage in elite leagues usually ranges from 65% to 78%. If your inputs sit outside these windows, note the edge case and test sensitivity. Extreme values can produce unstable probabilities.
Using the Clean Sheet Probability Calculator: A Walkthrough
Here’s a concise overview before we dive into the key points:
- Enter your team’s defensive xGA per match.
- Enter the opponent’s attacking xG per match.
- Set the venue factor to reflect home or away conditions.
- Choose match minutes to cover regulation or expected added time.
- Optionally add expected shots on target faced and save percentage.
- Review the adjusted expected goals conceded, λ.
These points provide quick orientation—use them alongside the full explanations in this page.
Case Studies
Case 1: Strong home defense vs. balanced attack. Team A defends at 0.95 xGA, at home, facing Opponent B with 1.30 xG. Use league average xG per team at 1.35 and venue_factor = 0.90. Compute λ = 0.95 × (1.30 / 1.35) × 0.90 ≈ 0.823. Clean sheet probability = e^(−0.823) ≈ 0.439, or 43.9%. What this means: The home side keeps a clean sheet in about 44 of 100 similar matches.
Case 2: Underdog away vs. elite attack. Team C defends at 1.60 xGA, away, facing Team D with 1.80 xG. Take venue_factor = 1.10 to reflect away pressure. Compute λ = 1.60 × (1.80 / 1.35) × 1.10 ≈ 2.346. Clean sheet probability = e^(−2.346) ≈ 0.096, or 9.6%. What this means: Expect a clean sheet fewer than 1 in 10 times for the underdog.
Limits of the Clean Sheet Probability Approach
Every model simplifies a messy game. The Poisson model does not capture tactical shifts, time dependence, or clustering of chances. Injuries and red cards can change rates during the match. Use this probability as a guide, not a guarantee.
- Poisson independence can understate bunching of shots and rebounds.
- Save percentage fluctuates with shot quality and defensive pressure.
- Venue factors vary by league and season; update them regularly.
- Small samples inflate rating noise; smooth with rolling windows.
- Late-game tactics can skew minutes assumptions and expected rates.
Mitigate these limits by backtesting and by comparing multiple models. Check how outputs change with reasonable input shifts. If a small change flips your decision, wait for better data.
Units & Conversions
Units matter because your rate parameter must match the time and event scale. Keep expected goals, shots, and minutes on consistent bases. Convert odds to implied probabilities when comparing against market prices. Use clear labels and verify each conversion once.
| Quantity | Unit A | Unit B | Simple conversion |
|---|---|---|---|
| Expected goals conceded | Per match | Per 90 min | If match = 90 min, values are equal; otherwise multiply by minutes_factor |
| Team attack/defense rating | xG or xGA per match | Relative to league average | Relative = rating / league average |
| Shots on target | Per match | Per 90 min | Per 90 = per match × (90 / match minutes) |
| Save rate | Save% | Goals per shot on target | Goals per SOT = 1 − save% |
| Betting odds | Decimal odds | Implied probability | Implied probability = 1 / decimal odds |
| Betting odds | American odds | Implied probability | If +A: A / (A + 100); if −A: 100 / (A + 100) |
Read the table left to right, then apply values to your inputs. For example, if a match is expected to last 95 minutes, multiply per 90 rates by 95/90. If decimal odds are 2.20 on a clean sheet, the implied probability is about 45.5%. Compare this with your modeled probability before acting.
Common Issues & Fixes
Most errors come from inconsistent inputs or double-counting adjustments. Keep a checklist and lock your definitions. Treat optional inputs as overrides, not add-ons, unless you blend them by design.
- Problem: λ too high due to both venue and schedule penalties stacked twice. Fix: Apply each factor once.
- Problem: Save% from tiny samples. Fix: Use multi-season priors or regress to league average.
- Problem: Using per 90 numbers for a 120-minute cup tie. Fix: Scale with minutes_factor = 120/90.
- Problem: Wrong league average. Fix: Use the same league and season as your ratings.
After each update, backtest against recent matches. Track calibration by grouping predictions into bins. A well-calibrated model’s observed clean sheet rate should match predicted bins.
FAQ about Clean Sheet Probability Calculator
Does the method work for leagues outside top divisions?
Yes, if you have reliable team ratings and consistent inputs. Lower leagues can be noisier, so use broader rolling windows and recheck venue effects more often.
Should I use expected goals or actual goals to set ratings?
Use expected goals for stability, then validate with actual outcomes. Expected goals reduce finishing variance and are better for predicting future matches.
How do I handle teams with major lineup changes?
Adjust ratings temporarily based on historical impact or expert estimates. Lower your confidence and test sensitivity until new data stabilizes the numbers.
Can I combine the clean sheet probability with match odds?
Yes. Convert market odds to implied probability and compare. If your probability differs meaningfully and you trust the inputs, you may have an edge.
Glossary for Clean Sheet Probability
Clean Sheet
A match outcome where a team concedes zero goals.
Expected Goals (xG)
A measure that estimates the probability of a shot becoming a goal based on shot quality features.
Expected Goals Against (xGA)
The expected number of goals a team will concede in a match based on chances allowed.
Poisson Distribution
A probability model for counting events over a fixed interval when events occur independently at a constant rate.
Venue Factor
An adjustment that captures home or away effects on a team’s expected performance.
Save Percentage
The share of shots on target that a goalkeeper prevents from becoming goals.
Shots on Target (SOT)
Shots that would enter the goal without goalkeeper or defender intervention.
Implied Probability
The chance of an outcome implied by betting odds after translating the odds format to a percentage.
Sources & Further Reading
Here’s a concise overview before we dive into the key points:
- Poisson distribution overview on Wikipedia
- StatsBomb: Understanding Expected Goals (xG)
- Opta Analyst: What is Expected Goals?
- Pinnacle Betting Resources on soccer modeling
- FiveThirtyEight Soccer Predictions methodology notes
- Academic paper: Modeling football scores with Poisson-based methods
These points provide quick orientation—use them alongside the full explanations in this page.