Expected Goal (xG) in Indian Football

Expected Goal (xG) in Indian Football

Our analytics team have been working on advanced metrics for football analytics and have come up with the Expected Goals (xG) model for Indian football.

What is xG?

It is one of the hottest concepts in the football analytics community right now. In the simplest of terms, it is the probability that any given particular shot will end up being a goal. Usually, the probabilities of all the shots taken by a team are summed up for a particular match and then represented in the form of xG. Thus with the help of xG values, we can effectively measure the attacking performance of a team as compared to just shots or shots on target or even number of goals scored. To calculate xG, various factors have to be considered. These factors are the variables which determine the environment in which the shot is taken like the location where the shot was taken from, the proximity of defenders, etc. A mathematical model needs to be created which takes into account historical cases of shots taken and goals scored with their respective variables and then predicts upon required data. Here at SportsKPI, we have based our model on data collected from the Indian Super League (ISL).

Our Model

We have considered the following variables while creating the model:

  • Shot location in terms of (x, y) coordinates
  • Type of shot (On target, Off Target, Deflected)
  • Body part involved in the shot (Foot, Head)
  • Play Pattern leading to the shot (Counter Attack, Open Play, Set Piece)
  • Number of defenders between ball and goal
  • Type of assist (Through Ball, Cross, etc.) 
  • Assist distance
  • Locations of the defenders and GK at the time of shot in terms of (x, y) coordinates

A logistic regression model was then trained to incorporate all these variables. The model was then used to calculate xG values for some unknown data points and some of the examples have been shown below.

Example 1: xG= 0.36

  • Type of shot: On Target (Goal)
  • Body part involved in the shot: Right Foot
  • Play Pattern leading to the shot: Counter Attack
  • Number of defenders between ball and goal: 0
  • Type of assist: Through Ball

A logistic regression model was then trained to incorporate all these variables. The model was then used to calculate xG values for some unknown data points and some of the examples have been shown below.

Example 1: xG= 0.36

  • Type of shot: On Target (Goal)
  • Body part involved in the shot: Right Foot
  • Play Pattern leading to the shot: Counter Attack
  • Number of defenders between ball and goal: 0
  • Type of assist: Through Ball

Example 2: xG= 0.55

  • Type of shot: On Target (Goal)
  • Body part involved in the shot: Left Foot
  • Play Pattern leading to the shot: Counter Attack
  • Number of defenders between ball and goal: 1
  • Type of assist: Normal Pass

The xG values not only give us the goal scoring expectations of each player, but also can provide us insights into the defensive and goal-conceding expectations of a team. The xG values also have predictive abilities that will be exploited further as we get down to more thorough research. This is just the beginning of our work. We are diving deep into xG and coming up with more robust models. Future work will include addition of a lot more matches and more non-linear models. This will help us achieve more accuracy and better xG values.

If you are interested to learn more on these topics and advanced analytics concepts used in Sports, reach out to our excepts Sports Data Scientists.

Article by Utkarsh (Intern @SportsKPI)

Leave a Reply

Close Menu
%d bloggers like this: