Expected Goals Model


Soccer is a low-scoring game. Thus, it appears difficult to evaluate performance of teams by looking only at the number of scored and conceded goals. In comparison to goals, teams usually execute a much higher number of shots. However, not all of these shots are of the same quality. In other words, different shots may have different probabilities of being scored. These probabilities may depend on many different parameters. In this project, I implement Expected Goals Model that computes how likely is a given shot to result in a goal.

Project repository is available here.


The project consists of the following parts:

  • Part 1 | Data Preprocessing

    In this section, I demonstrate how to extract data from an external resource, filter out only required competitions, specify the columns of interest and bring them into a desirable format.

  • Part 2 | Building Model

    This part mainly focuses on the exploratory data analysis, design of new features, statistical analysis of existing features, splitting and transforming data, hyperparameter tuning and model selection.