Measuring impact in football. That remains one of the fundamental topics in my quest for new models and scores. On an individual level, I’m looking for a way we can evaluate and measure a player’s impact on the game away from metrics like goal contributions and their expected variety pack. More often than not, I revert to those goal contributions because, in the end, games are won by scoring goals more than conceding them.
But I wanted to look at it from a different angle. What if I look at it more broadly? Measuring the actual impact of a player being on the pitch or off the pitch. That’s what I have done in my research, and I will try to explain in this article. I’ve developed a model called the Substitute Interval Model, which seeks to measure the impact of a player on and off the pitch, with a focus on the different intervals.
Contents
- Why this model?
- Existing work on interval analysis
- Data
- Theoretical framework
- Methodology
- Analysis
- Challenges
- Final thoughts
- Sources
Why this model?
Just as I mentioned above, I wanted to examine the impact of players on team performances beyond the pure goal contribution metrics. My aim is to measure what players have impact — both positively and negatively — and to see which players are best to bring on in the game.
I want to create a model that uses intervals and on/off pitch impact to make an analysis of players that good to start the game with and which have the best impact coming off the bench. Factors like gamestate, number of intervals and quality of opposition are all considered. This analytical framework will see a more data rich approach to substitution strategy and will optimise the process.
Existing work on interval analysis in sport
Thomas, A. C., Ventura, S. L., Jensen, S. T., & Ma, S. (2013) developed a comprehensive competing process hazard function model to evaluate individual player contributions in professional ice hockey. Recognising that scoring events occur within a complex, dynamic environment where multiple processes compete, such as goals scored by either team or player substitutions. The authors model these as time-to-event data governed by competing risks. Their framework leverages multivariate analysis techniques to estimate hazard rates for scoring, conditional on the set of players on the ice and other contextual factors.
Specifically, the model parameterises offensive and defensive hazard functions that depend on the presence of individual players, allowing for separate estimation of player-specific effects on goal-scoring rates for and against their team. By incorporating censoring mechanisms to handle shifts and stoppages, the model effectively captures the temporal structure of ice hockey games. This approach enables the decomposition of team-level scoring hazards into interpretable player ratings that quantify offensive and defensive contributions while adjusting for the game context and player interactions.
Compared to traditional plus-minus statistics, which aggregate net goal differentials without considering game dynamics or player matchups, this method provides a statistically rigorous and granular measure of player performance. The competing risks framework and hazard modelling offer significant advances in understanding player impact through a probabilistic lens, making it a foundational contribution to advanced analytics in ice hockey.
Data
The data I’m using in this article is event data from Opta/StatsPerform. This is positional XY-data which allows me to code and make metrics from all on-ball events in a specific situation, game or competition.
The database is the Australian Men’s A-League in the season 2024–2025, and the data was collected on June 21st 2025, via their API. They are all in CSV format, but it’s also common to get them in a JSON format.
Theoretical Framework
In order to model player contributions in professional soccer, this study is based on logistic regression and competing risks survival analysis. The game is viewed as a stochastic process in which the instantaneous risk of either team scoring events, contingent on the current player configuration, is represented by competing hazard functions. This is consistent with traditional survival theory, which addresses several events that are mutually exclusive (Kalbfleisch & Prentice, 2002).

The decomposition of team scoring probabilities into individual offensive and defensive contributions is made possible by the incorporation of player effects as covariates that modify hazard rates. By specifically taking player interactions and temporal dynamics into account, this framework goes beyond conventional plus-minus metrics (Thomas et al., 2013).
By approximating these risks in discrete intervals using logistic regression with one-hot encoded player indicators, player-specific coefficient estimation is made easier. By reducing multicollinearity and overfitting, regularisation techniques (L1 and L2 penalties) guarantee stable and comprehensible models (Tibshirani, 1996; Hoerl & Kennard, 1970).
Lastly, bootstrap resampling quantifies the uncertainty in player effect estimates by providing empirical confidence intervals (Efron & Tibshirani, 1993). All together, this framework makes use of contemporary regression techniques and survival analysis to provide a thorough, detailed assessment of player impact in a dynamic competitive environment.
Methodology
First, it’s important to stress that in doing the methodology, I’ve chosen to go with Python for machine learning and analysis. There are other languages you can use to code, such as R and Julia, but I’m using Python simply because my skills are best in that language.
Step I is to load the data and clean it accordingly. All match files are combined within a matchframe, and we make sure that the timestamps are also converted into seconds, so we have seconds and minutes — which will come in handy in our calculation. Step II is all about making sure we use the right events for our model:
- Dividing each match into intervals based on the start of the game, the end of the first half, the beginning of the second half, the end of the game, and each time a goal is scored
- Which players are on and off the pitch in each interval?
Steps III and IV:
- Mapped each player to their respective team using event participation data.
- Calculated total minutes played and number of matches played per player by summing their time on the field across intervals.
- Created two classification datasets: One for predicting goal-scoring intervals. One for predicting goal-conceding intervals.
- Represented player presence using one-hot encoding (binary indicators for each player).
- Labelled intervals based on whether the player’s team scored or conceded.
Steps V and VI: Logistic Regression Modelling and ,Regularisation and Model Refinement
- Trained separate logistic regression models for: Player contribution to scoring goals. Player contribution to conceding goals.
- Applied L2 (ridge) regularisation to manage multicollinearity and high-dimensional feature space.
- Applied both L1 (lasso) and L2 (ridge) penalties to compare sparse and dense coefficient solutions.
- Selected regularisation techniques to stabilise estimates and improve interpretability.
Steps VII and VIII: Bootstrap Resampling for Confidence Intervals and Result Aggregation and Ranking
- Offensive and defensive coefficients.
- Net impact (goal coefficient minus concede coefficient).
- Matches played, minutes played, minutes per game.
- Bootstrap confidence intervals.

In the image above, you can see what result I get from this process within Python. It gives me the data I need to continue with the analysis, which is the analysis of me looking at the value of players in terms of substitutions.
For some more explanation, here are the definitions of the columns that aren’t too obvious.

Analysis
Now that we have the metrics we need, we take another step. The aim is to find the value of every player, whether he/she is on or off the pitch, split into defensive and offensive value.
I can already calculate what a player’s removal will do to the team’s probability of scoring. You can see this in the image below:

It shows R. Teague playing for Melbourne Victory. It shows the distribution of average change per interval, whether a player is on the pitch or not. The most players have a delta of 0,,0 which means there is no difference if they are on or off the pitch. Teague, however, has a delta of -0,0009 — which roughly means that removing R. Teague from the pitch will lead to 0,9% fewer goals throughout the season.
I also would like to take it a step further and look at the impact of offensive probability (scoring goals) and defensive probability (conceding goals).

In this scatterplot, we see outliers for their offensive impact and defensive impact. Which means that these players have a positive impact: it’s negative for the team when they aren’t on the pitch and positive when they are on the pitch. This can help make an informed decision on whether players should be on the pitch at the start and which players are the best to bring in from the bench.

For example, here we have a look at Auckland FC and our model has calculated which players have the most impact/effect on the goal contribution probability. It’s very important to play R. Scott, W. Scott and T. Imai, while it’s a good idea not to bring F. Gallegos, N. Moreno and T. Smith to the pitch.
Challenges
This player impact model faces key challenges, including collinearity between players who frequently appear together, making it hard to isolate individual effects.
Filtering by minutes helps stability, but can exclude impactful players with limited time. Additionally, the model risks overfitting with many players and limited intervals. It also ignores data like ball location, possession, and player positions, reducing its ability to fully capture complex football interactions and strategies.
Final thoughts
It has been a very fun exercise to think about this research and find a different way to value impact on the pitch, even though there is a lot to be done to improve this model.
It is a start to think about making substitutions from a data standpoint and if we fully improve and innovate this part of the sport, it can lead to even more advantages in results.
Sources
1. Macdonald, B. (2011).
An Expected Goals Model for Evaluating NHL Players. Journal of Quantitative Analysis in Sports, 7(3). https://doi.org/10.2202/1559-0410.1314
2. Schuckers, M. E., & Curro, A. (2013).
Accounting for rink effects in NHL hockey scoring data. Journal of Quantitative Analysis in Sports, 9(1), 1–13. https://doi.org/10.1515/jqas-2012-0042
3. Goldsberry, K., & Weiss, B. (2013).
The Dwight Effect: A New Ensemble of Offensive Basketball Metrics. Journal of Quantitative Analysis in Sports, 9(3), 167–183. https://doi.org/10.1515/jqas-2013-0006
4. Thomas, A. C., Ventura, S. L., Jensen, S. T., & Ma, S. (2015).
Improved player evaluation in hockey via regularized logistic regression. Journal of Quantitative Analysis in Sports, 11(1), 29–42. https://doi.org/10.1515/jqas-2014-0063
5. Deshpande, S., Jensen, S. T., Thomas, A. C., & Ventura, S. L. (2018).
A multiresolution stochastic process model for predicting basketball possession outcomes. Annals of Applied Statistics, 12(4), 2455–2478. https://doi.org/10.1214/18-AOAS1215
6. Thomas, A. C., Ventura, S. L., Jensen, S. T., & Ma, S. (2013). Competing process hazard function models for player ratings in ice hockey. The Annals of Applied Statistics, 7(3), 1497–1524. https://doi.org/10.1214/13-AOAS653
7. Kalbfleisch, J. D., & Prentice, R. L. (2002). The statistical analysis of failure time data (2nd ed.). Wiley.
8. Ross, S. M. (2014). Introduction to probability models (11th ed.). Academic Press.
9. Tibshirani, R. (1996). Regression shrinkage and selection via the lasso. Journal of the Royal Statistical Society: Series B (Methodological), 58(1), 267–288.
10. Hoerl, A. E., & Kennard, R. W. (1970). Ridge regression: Biased estimation for nonorthogonal problems. Technometrics, 12(1), 55–67.
11. Efron, B., & Tibshirani, R. J. (1993). An introduction to the bootstrap. Chapman & Hall/CRC.