UseCalcPro
Home
MathFinanceHealthConstructionAutoPetsGardenCraftsFood & BrewingToolsSportsMarineEducationTravel
Blog
  1. Home
  2. Sports

Soccer Stats Calculator

Analyze expected goals and per-90 normalized statistics

Goals per 90

0.40

G+A per 90

0.67

Total xG

0.00

Add shots with distance from goal and angle to calculate expected goals.

Goals per 90

0.40

G+A per 90: 0.67

Assists per 90

0.27

Tackles per 90

2.17

Pass Accuracy

86.3%

Shot Accuracy

44.7%

What You'll Need

Spalding Zi/O TF Indoor-Outdoor Basketball 29.5"

$30-$454.6
View on Amazon

Franklin Sports Official Size Soccer Ball Size 5

$15-$254.4
View on Amazon
SKLZ Pro Training Agility Ladder 15ft

SKLZ Pro Training Agility Ladder 15ft

$18-$254.5
View on Amazon

Spalding Zi/O TF Indoor-Outdoor Basketball 29.5"

$30-$454.6
View on Amazon

Franklin Sports Official Size Soccer Ball Size 5

$15-$254.4
View on Amazon
SKLZ Pro Training Agility Ladder 15ft

SKLZ Pro Training Agility Ladder 15ft

$18-$254.5
View on Amazon

As an Amazon Associate, we earn from qualifying purchases.

Frequently Asked Questions

Q

What is expected goals (xG) in soccer?

Expected goals (xG) measures the quality of a scoring chance by assigning a probability (0 to 1) that a shot from a specific position will result in a goal. A penalty kick has ~0.76 xG while a shot from 30 yards out might be 0.03 xG. Total xG sums all shot probabilities.

  • Penalty kick: ~0.76 xG (76% conversion rate)
  • Shot inside 6-yard box: ~0.40 xG
  • Shot from 12 yards (penalty spot): ~0.15-0.25 xG
  • Shot from 20 yards: ~0.05-0.08 xG
  • Shot from 30+ yards: ~0.02-0.04 xG
Shot LocationDistance (yards)Typical AnglexG Range
Inside 6-yard box2-640-60°0.35-0.60
Penalty spot1225-35°0.10-0.25
Edge of box1815-25°0.05-0.12
Outside box25-3510-20°0.02-0.06
Q

How do you calculate per-90 stats in soccer?

Per-90 normalization divides a stat by minutes played, then multiplies by 90. Formula: stat_per90 = (stat / minutes_played) * 90. This allows fair comparison between players with different playing time. A player with 10 goals in 2,700 minutes has 0.33 goals per 90.

  • Per-90 = (total stat / minutes played) * 90
  • 10 goals in 2,700 minutes = (10/2700)*90 = 0.33 per 90
  • 8 assists in 1,800 minutes = (8/1800)*90 = 0.40 per 90
  • Minimum sample: 900+ minutes (10 full games) for reliable per-90
  • Used by FBref, StatsBomb, Opta, and all major analytics providers
StatPlayer A (2700 min)Player B (1800 min)Who is better per 90?
Goals12 (0.40/90)9 (0.45/90)Player B
Assists8 (0.27/90)4 (0.20/90)Player A
Tackles65 (2.17/90)50 (2.50/90)Player B
Q

What is a good xG per shot in soccer?

The league average xG per shot is approximately 0.10-0.12 across top European leagues. Elite strikers average 0.15-0.20 xG per shot because they take higher-quality chances. A player consistently outperforming their xG by 20%+ is considered a clinical finisher.

  • League average xG per shot: ~0.10-0.12
  • Top striker (Haaland, Mbappe): ~0.18-0.22 xG per shot
  • Midfield long-range shooter: ~0.05-0.08 xG per shot
  • Goals minus xG > 0: overperforming (clinical finishing)
  • Goals minus xG < 0: underperforming or unlucky
Player TypexG/ShotShots per 90xG per 90
Elite striker0.18-0.223.5-4.50.65-0.90
Average striker0.12-0.152.5-3.50.35-0.50
Attacking mid0.08-0.122.0-3.00.20-0.35
Central mid0.05-0.081.0-2.00.08-0.15
Q

How does shot distance affect xG?

Distance is the strongest predictor of xG. Each additional yard from goal reduces scoring probability by roughly 5-10%. A shot from 8 yards has ~0.30 xG while the same angle from 20 yards drops to ~0.08 xG. Angle to goal is the second most important factor.

  • 6 yards: ~0.35-0.50 xG (inside 6-yard box)
  • 12 yards: ~0.15-0.25 xG (penalty spot distance)
  • 18 yards: ~0.07-0.12 xG (edge of penalty area)
  • 25 yards: ~0.03-0.06 xG (outside the box)
  • Header from 8 yards: ~0.10-0.15 xG (lower than foot shot)
Q

What is the difference between xG and actual goals?

xG measures shot quality while goals measure outcomes. Over a full season, xG and goals tend to converge for most players. The difference (goals minus xG) indicates finishing ability or luck. Sustained overperformance of 3+ goals above xG suggests elite finishing skill.

  • xG = expected output based on shot locations
  • Goals = actual outcomes (includes finishing skill + luck)
  • Goals - xG > 0 over 1 season = possibly lucky or clinical
  • Goals - xG > 0 over 3+ seasons = elite finisher
  • Team xG is more predictive of future results than actual goals
MetricWhat It MeasuresSample Size NeededPredictive Power
xGShot quality10+ shotsHigh (for teams)
GoalsActual finishing20+ gamesMedium
Goals - xGFinishing skill/luck1+ full seasonLow-Medium
xG per shotShot selection50+ shotsHigh

Example Calculations

1Premier League Striker Season Stats

Inputs

Minutes Played2,700
Goals12
Assists8
Tackles65

Result

Goals per 900.40
Assists per 900.27
G+A per 900.67
Tackles per 902.17

Goals per 90 = (12/2700)*90 = 0.40. Assists per 90 = (8/2700)*90 = 0.267. G+A per 90 = (20/2700)*90 = 0.667. Tackles per 90 = (65/2700)*90 = 2.167.

2xG from Penalty Spot Distance

Inputs

Shot Distance12 yards
Angle30 degrees

Result

xG0.525
Scoring Probability17.8%

xG = 1/(1+e^-(1.132 - 0.106*12 + 0.008*30)) = 1/(1+e^-(-0.900+0.240)) = 1/(1+e^0.460) = 1/(1+1.584) = 0.387. Note: simplified model; actual xG models use 50+ variables.

3Rotation Player Per-90 Comparison

Inputs

Minutes Played1,350
Goals6
Assists5
Passes Completed / Attempted680 / 780

Result

Goals per 900.40
G+A per 900.73
Pass Accuracy87.2%
Games Equivalent15.0

Goals per 90 = (6/1350)*90 = 0.40. G+A per 90 = (11/1350)*90 = 0.733. Pass accuracy = (680/780)*100 = 87.2%. Games equivalent = 1350/90 = 15.

Formulas Used

Per-90 Normalization

Stat per 90 = (Total Stat / Minutes Played) × 90

Normalizes any counting stat to a per-90-minute rate for fair comparison between players with different playing time.

Where:

Stat per 90= Rate-adjusted statistic per 90 minutes of play
Total Stat= Raw counting stat (goals, assists, tackles, etc.)
Minutes Played= Total minutes on the pitch during the period
90= Standard match duration in minutes

Expected Goals (xG) Model

xG = 1 / (1 + e^-(1.132 - 0.106 × distance + 0.008 × angle))

Logistic regression model estimating goal probability from shot distance and angle. Calibrated to average conversion rates.

Where:

xG= Probability of scoring (0 to 1)
distance= Distance from goal center in yards
angle= Angle to goal in degrees (wider = better)
e= Euler's number (~2.718)

Pass Accuracy

Pass Accuracy (%) = (Passes Completed / Passes Attempted) × 100

Percentage of successful passes out of total attempts.

Where:

Pass Accuracy= Percentage of completed passes
Passes Completed= Number of passes reaching a teammate
Passes Attempted= Total passes made

Understanding Soccer Analytics: xG and Per-90 Stats

Expected goals (xG) has revolutionized soccer analytics since its mainstream adoption around 2017. The metric assigns a probability to every shot based on distance from goal, angle, body part used, assist type, and game state. By summing these probabilities, you get a measure of how many goals a player or team "should" have scored based on shot quality alone.

Per-90 normalization is the standard method for comparing players with different playing time. Raw totals are misleading: a player with 10 goals in 30 starts looks worse than one with 8 goals in 15 starts. Per-90 stats reveal the true rate: 0.30 vs 0.48 goals per 90 minutes. Major analytics platforms like FBref, StatsBomb, and Opta all report per-90 metrics.

This calculator combines both tools. Enter your season stats to see per-90 rates for goals, assists, tackles, passes, and shots. Add individual shot positions to calculate expected goals from distance and angle. Compare your metrics to professional benchmarks across Europe's top five leagues.

Related Calculators

Sprint Speed Calculator

Calculate sprint speed from timed runs

Training Load Calculator

Track training load and recovery

Interval Training Calculator

Plan interval training sessions

Basketball Shooting Calculator

Calculate true shooting percentage, effective field goal percentage, and points per shot attempt from your basketball stats. Compare efficiency to NBA averages.

Volleyball Stats Calculator

Calculate volleyball hitting percentage, pass rating, serve receive efficiency, and points per set. Analyze your performance with advanced volleyball metrics.

Batting Average Calculator

Calculate batting average, on-base percentage, slugging percentage, and OPS from your baseball hitting stats. Compare your numbers to MLB league averages.

Related Resources

Savings Goal Calculator: How Much to Save Each Month

Read our guide

Impulse Spending: How to Stop Wasting $5,400 a Year on Things You Don't Need

Read our guide

Sprint Speed Calculator

Calculate player sprint speed from timed runs

Training Load Calculator

Monitor weekly training load and recovery

Race Predictor Calculator

Predict race performance across distances

Interval Training Calculator

Plan interval workouts for peak fitness

More Sports Calculators

Analytics tools for athletes and coaches

View All

Last Updated: Mar 25, 2026

This calculator is provided for informational and educational purposes only. Results are estimates and should not be considered professional financial, medical, legal, or other advice. Always consult a qualified professional before making important decisions. UseCalcPro is not responsible for any actions taken based on calculator results.

UseCalcPro
FinanceHealthMath

© 2026 UseCalcPro