Footy Simulator

Kick OffLeagues

Footy Simulator xG Model

Published June 20, 2026
Footy Simulator xG Model

Expected Goals (xG) is one of the most trending and popular football metrics of recent years, fundamentally transforming how analysts, scouts, and managers evaluate performance beyond the traditional scoreboard. At its core, xG is a predictive statistical metric that assigns a probability value between 0 and 1 to any given shot attempt, representing the exact likelihood of that chance resulting in a goal. Rather than treating all shots equally, an advanced xG model evaluates the underlying quality of an opportunity by utlizing an array of match variables.

What is expected goals?

To define it in strict mathematical terms, Expected Goals (xG) is a statistical probability metric that quantifies the likelihood of a scoring attempt resulting in a goal, mapped on a strict scale from 0.00 to 1.00.

  • A value of 0.00 represents an absolute statistical impossibility (a shot that cannot physically score).
  • A value of 1.00 represents a guaranteed goal (a situation where an attacker cannot miss).
  • In my Footysimulator engine, every shot falls somewhere within this decimal continuum. For example, a penalty kick is assigned a standardized baseline xG of 0.76 to 0.79, meaning that historically, roughly 76% to 79% of all penalties taken find the back of the net.

When my engine calculates xG, it is converting qualitative pitch occurrences into a quantitative probability distribution. If an attacking winger executes a 'cut inside' maneuver and takes a shot from the edge of the 18-yard box through a crowded penalty area, the engine might assign that specific attempt an xG value of 0.05. This indicates a low-probability chance, implying that if an identical shot were taken under identical match conditions 100 times, it would result in a goal only 5 times.

On the other hand, a tap-in from the edge of the six-yard box with an out-of-position goalkeeper yields a high xG value, such as 0.85. Over the course of a 90-minute simulation, the engine aggregates the individual xG values of every shot taken by a team to produce a cumulative xG score (e.g., Manchester United 2.45 vs. Liverpool 1.12). This final metric provides an objective overview of which squad created the superior tactical opportunities, independent of the actual, sometimes lucky, final scoreline.

How is xG calculated?

The Footy Simulator xG Model includes variables such as:

  • Distance to goal
  • Angle to goal
  • Whether the shot is a header or footed shot
  • Whether the shot is from a set play
  • Whether the shot is a penalty
  • Pressure on the shooter
  • Shot clarity (are there players in the way?)
  • Goalkeeper positioning

You can use my provided xG model to get the xG of a shot at a given position

To process these raw match events dynamically under the hood, the simulation engine converts every single environmental variable—including distance, shooting angle, defensive pressure, and goalkeeper tracking coordinates—into a normalized numerical coefficient scaling strictly from 0.00 to 1.00. Each parameter effectively operates as an efficiency modifier based on historical football data. For instance, a shot taken completely unmarked in open space yields a pressure variable close to 1.00, indicating zero mechanical penalty. However, if two defenders are within a meter of a shot, the pressure coefficient drops sharply toward 0.10, drastically reducing the baseline quality of the attempt.

Once these individual parameters are established, the engine computes the final Expected Goals value using a compounding multiplicative probability model. By multiplying all of these active 0-to-1 variables, the engine ensures that every additional defensive obstacle or positional disadvantage realistically reduces the outcome. Because multiplying decimals less than 1.00 inherently reduces the total product, a sequence with poor shot clarity, an awkward heading angle, and heavy physical pressure will compound exponentially. This mathematical deduction prevents inflated scorelines and models the steep, authentic difficulty curve of converting low-probability chances into actual goals.

How can we use xG?

The most common use of xG is measuring a player's finishing ability. By comparing a player’s actual goals scored against their cumulative xG, you can instantly see if a striker is an elite finisher, an underperforming forward, or simply going through a lucky phase.

  • Overperformance (The Clinical Finisher): If a striker scores 15 goals in a season from an xG of 10.5, they are significantly outperforming their data. This tells you they possess world-class finishing skill, routinely converting low-probability opportunities into goals.
  • Underperformance (The Wasteful Striker): If a player has a high xG (e.g., 12.0) but has only scored 4 actual goals, the system reveals they have excellent positioning to get into high-value scoring zones, but their mechanical execution or composure is failing them.

Scorelines in football can be incredibly deceptive. A team can win 1-0 due to a deflected shot or a defensive error leading to goal, despite being thoroughly dominated for 90 minutes. For example, If Team A loses a match 2-0 but wins the xG battle 3.10 to 0.40, a manager knows their overall tactical system worked perfectly to break down Team B. The loss was a byproduct of poor finishing or an opposition goalkeeper playing an outlier game (this can be determined by utilizing xGOT), meaning the manager shouldn't scrap their tactical settings.

Within a simulation, tracking xG across multiple test simulations allows you to audit your own tactical changes. For instance, in a 4-3-3 Holding formation, you can give a defensive midfielder the 'get forward' instruction. Run a 10-match sample size and analyze the average xG per shot. If your average shot quality rises from 0.08 xG to 0.18 xG, it serves as mathematical proof that having a more attacking-minded defensive midfielder is successfully generating higher-quality, higher-probability scoring opportunities.

Takeaway

Raw goals tell you what happened. Expected Goals tells you what should have happened, making it the ultimate tool for forecasting future team success and stabilizing simulation mechanics. In terms of utilizing xG to judge a team or player's chance creation or finishing, xG is best applied over a larger sample size rather than focusing on a specific match.