Professional Documents
Culture Documents
ABSTRACT 1 INTRODUCTION
The problem of evaluating the performance of soccer players is Rankings of soccer players and data-driven evaluations of their
attracting the interest of many companies and the scientific com- performance are becoming more and more central in the soccer
munity, thanks to the availability of massive data capturing all the industry [5, 12, 28, 33]. On the one hand, many sports companies,
events generated during a match (e.g., tackles, passes, shots, etc.). websites and television broadcasters, such as Opta, WhoScored.com
Unfortunately, there is no consolidated and widely accepted metric and Sky, as well as the plethora of online platforms for fantasy
for measuring performance quality in all of its facets. In this paper, football and e-sports, widely use soccer statistics to compare the
we design and implement PlayeRank, a data-driven framework that performance of professional players, with the purpose of increasing
offers a principled multi-dimensional and role-aware evaluation of fan engagement via critical analyses, insights and scoring patterns.
the performance of soccer players. We build our framework by de- On the other hand, coaches and team managers are interested in
ploying a massive dataset of soccer-logs and consisting of millions analytic tools to support tactical analysis and monitor the quality of
of match events pertaining to four seasons of 18 prominent soccer their players during individual matches or entire seasons. Not least,
competitions. By comparing PlayeRank to known algorithms for soccer scouts are continuously looking for data-driven tools to im-
performance evaluation in soccer, and by exploiting a dataset of prove the retrieval of talented players with desired characteristics,
players’ evaluations made by professional soccer scouts, we show based on evaluation criteria that take into account the complexity
that PlayeRank significantly outperforms the competitors. We also and the multi-dimensional nature of soccer performance. While
explore the ratings produced by PlayeRank and discover interesting selecting talents on the entire space of soccer players is unfeasible
patterns about the nature of excellent performances and what dis- for humans as it is too much time consuming, data-driven per-
tinguishes the top players from the others. At the end, we explore formance scores could help in selecting a small subset of the best
some applications of PlayeRank — i.e. searching players and player players who meet specific constraints or show some pattern in their
versatility — showing its flexibility and efficiency, which makes performance, thus allowing scouts and clubs to analyze a larger set
it worth to be used in the design of a scalable platform for soccer of players thus saving considerable time and economic resources,
analytics. while broadening scouting operations and career opportunities of
talented players.
CCS CONCEPTS The problem of data-driven evaluation of player performance
and ranking are gaining interest in the scientific community too,
• Information systems → Data mining; Information retrieval;
thanks to the availability of massive data streams generated by
(semi-)automated sensing technologies, such as the so-called soccer-
KEYWORDS logs [5, 12, 28, 33], which detail all the spatio-temporal events re-
Sports Analytics, Clustering, Searching, Ranking, Multi-dimensional lated to players during a match (e.g., tackles, passes, fouls, shots,
analysis, Predictive Modelling, Data Science, Big Data dribbles, etc.). Ranking players means defining a relation of order
between them with respect to some measure of their performance
over a sequence of matches. In turn, measuring performance means
∗ corresponding author computing a data-driven performance rating which quantifies the
† corresponding author quality of a player’s performance in a specific match and then ag-
gregate them over the sequence of input matches. This is a complex
task since there is no objective and shared definition of perfor-
,, mance quality, which is an inherently multidimensional concept
.
[25]. Several data-driven ranking and evaluation algorithms have get in that match played by that player. In the final ranking phase,
been proposed in the literature to date, but they suffer from three PlayeRank computes a set of role-based rankings for the available
main limitations. players, by taking into account their performance ratings and their
First, existing approaches are mono-dimensional, in the sense role(s) as they were computed in the two phases before.
that they propose metrics that evaluate the player’s performance In order to validate our framework, we instantiated it over a mas-
by focusing on one single aspect (mostly, passes or shots [7, 11, sive dataset of soccer-logs provided by Wyscout which is unique
18, 19, 27]), thus missing to exploit the richness of attached meta- in the large number of logged matches and players, and for the
information provided by soccer-logs. Conversely, soccer scouts length of the period of observation. In fact, it includes 31 millions of
search for a talented player based on "metrics" which combine many events covering around 20K matches and 21K players in the last four
relevant aspects of their performance, from defensive skills to pos- seasons of 18 prominent soccer competitions: La Liga (Spain), Pre-
session and attacking skills. Since mono-dimensional approaches mier League (England), Serie A (Italy), Bundesliga (Germany), Ligue
cannot meet this requirement, there is the need for a framework ca- 1 (France), Primeira Liga (Portugal), Super Lig (Turkey), Souroti
pable to exploit a comprehensive evaluation of performance based Super League (Greece), Austrian Bundesliga (Austria), Raiffeisen Su-
on the richness of the meta-information available in soccer-logs. per League (Switzerland), Russian Football Championship (Russia),
Second, existing approaches evaluate performance without tak- Eredivisie (The Netherlands), Superliga (Argentina), Campeonato
ing into account the specificity of each player’s role on the field (e.g., Brasileiro Série A (Brazil), UEFA Champions League, UEFA Europa
right back, left wing), so they compare players that comply with League, FIFA World Cup 2018 and UEFA Euro Cup 2016. Then we
different tasks [7, 11, 18, 19, 27]. Since it is meaningless to compare performed an extensive experimental analysis advised by a group
players which comply with different tasks and considering that a of professional soccer scouts which showed that PlayeRank is ro-
player can change role from match to match and even within the bust in agreeing with a ranking of players given by these experts,
same match, there is the need for an automatic framework capable with an improvement up to 30% (relative) and 21% (absolute) with
of assigning a role to players based on their positions during a respect to the current state-of-the-art algorithms [7, 11].
match or a fraction of it. One of the main characteristics of PlayeRank is that, by providing
Third, missing a gold standard dataset, existing approaches in a score which meaningfully synthesizes a player’s performance
the literature report judgments that consist mainly of informal quality in a match or in a series of matches, it enables the analysis
interpretations based on some simplistic metrics (e.g., market value of the statistical properties of player performance in soccer. In
or goals scored [7, 32, 34]). It is important instead to evaluate the this regard, the analysis of the performance ratings resulting from
goodness of ranking and performance evaluation algorithms in a PlayeRank, for all the players and all the matches in our dataset,
quantitative and throughout manner, through datasets built with revealed several interesting patterns.
the help of human experts as done for example for the evaluation First, on the basis of the players’ average position during a match,
of recommender systems in Information Retrieval. the role detector finds eight main roles in soccer (Section 4.3) and
This paper presents the results of a joint research among aca- enables the investigation of the notion of player’s versatility, defined
demic computer scientists and data scientists of Wyscout [1], the as his ability to change role from match to match (Section 6.2).
leading company for soccer scouting. The goal has been to study the Second, the analysis of feature weights reveals that there is no
limitations of existing approaches and develop PlayeRank, a new- significant difference among the 18 competitions, with the only
generation data-driven framework for the performance evaluation exception of the competitions played by national teams (Section
and the ranking of players in soccer. PlayeRank offers a principled 4.4). Third, the distribution of player ratings changes by role, thus
multi-dimensional and role-aware evaluation of the performance of suggesting that the performance of a player in a match highly
soccer players, driven only by the massive and standardized soccer- depends on the zone of the soccer field he is assigned to (Section
logs currently produced by several sports analytics companies (i.e., 4.5). This is an important aspect that will be exploited to design
Wyscout, Opta, Stats). PlayeRank is designed around the orchestra- a novel search engine for soccer players (Section 6.1). Fourth, we
tion of the solutions to three main phases: a learning phase, a rating find that the distribution of performance ratings is strongly peaked
phase and a final ranking phase. PlayeRank models the performance around its average, indicating that “outlier” performances are rare
of a soccer player in a match as a multidimensional vector of fea- (Section 4.5). In particular, these outlier performances are unevenly
tures extracted from soccer-logs. In the learning phase, PlayeRank distributed across the players: while the majority of players achieve
performs two main sub-tasks: (i) the extraction of feature weights: a few excellent performances, a tiny fraction of players achieve
since we do not have a ground-truth for “learning” the mapping many excellent performances. Moreover, we find that top players do
from the performance features to the players’ performance quality, not always play in an excellent way but, nonetheless, they achieve
we turn this problem into a classification problem between the excellent performances more frequently than the other players
multidimensional vector of features, aggregated over all players’ of (Section 4.5).
a team, and the result this team achieved in a match; (ii) the training In conclusion, our study and experiments show that PlayeRank is
of a role detector: given that there are different player roles in soccer an innovative data-driven and open-source framework which goes
we identify, in an unsupervised way, a set of roles from the match beyond the state-of-the-art results in the evaluation and ranking
events available in the soccer-logs. of soccer players.1 This study also provides the first thorough, and
In the subsequent rating phase, the performance quality of a
player in a match is evaluated as the scalar product between the 1 The
source code of PlayeRank and a portion of the soccer-logs used to train it will be
previously computed feature weights and the values these feature made available in the camera-ready version of this paper.
somewhat surprising, characterization of soccer performance. The his team’s chance of scoring the next goal. In basketball, the Per-
last section will start from PlayeRank and its study to present a formance Efficiency Rating2 is nowadays a widely used metric to
set of new challenging problems in soccer analytics that we state assess players’ performance by deploying basketball-logs (i.e. pass
and comment in order to stimulate the research interest from the completed, shots achieved, etc.). In baseball, a plethora of statistical
community of data scientists. metrics have been proposed to evaluate the performance of players
and teams [3].
2 RELATED WORKS Rating systems for sports teams. Many studies also focused on de-
The availability of massive data portraying soccer performance has veloping the so-called rating systems, like Elo and TrueSkill [16, 17],
facilitated recent advances in soccer analytics. The so-called soccer- which rank teams or players based on their past victories/defeats
logs [5, 12, 28, 33], capturing all the events occurring during a match, and the estimated strength of the opponent. Therefore, they do not
are one of the most common data format and have been used to take into account neither player-observed match events nor other
analyze many aspects of soccer, both at team [8, 10, 20, 24, 35] and quantitative aspects of individual and collective performance [24].
individual level [7, 11, 23]. Among all the open problems in soccer As a result, unlike PlayeRank, such rating systems are unable to
analytics, the data-driven evaluation of a player’s performance provide an explicit characterization of the evaluated performance
quality is the most challenging one, given the absence of a ground- of a player as well as to discern his contribution in a match.
truth for that performance evaluation.
Relations between performance and market value. Another strand
of literature focuses on quantifying the relation between proxies
Data-driven evaluation of performance. While many metrics have
of a player’s quality, like market value, wage or popularity, and
been proposed to capture specific aspects of soccer performance
his performance on the field. Stanojevic and Gyarmati [32] use
(e.g., expected goals, pass accuracy, etc.), just a few approaches
soccer-logs to infer the relation between a player’s typical perfor-
evaluate a player’s performance quality in a systemic way.
mance and his market value as estimated by crowds. They find a
The flow centrality (FC) metric proposed by Duch et al. [11], one
large discrepancy between estimated and real market values, due
of the first attempts in this setting, is defined as the fraction of times
to the lack of important information such as injury-proneness and
a player intervenes in pass chains which end in a shot. Based on this
commercialization capacity. Müller et al. [22] develop a similar ap-
metric, they rank all players in UEFA European Championship 2008
proach and use soccer-logs, as well as players’ popularity data and
and observe that 8 players in their top-20 list belong to the UEFA’s
market values in the preceding years, to estimate a player transfer
top-20 list which was released just after the competition. Being
fee. They show that for the low- and medium-priced players the es-
based merely on pass centrality, as the authors themselves highlight
timated market values are comparable to estimations by the crowd,
in the paper, the FC metric mostly makes sense for midfielders and
while the latter performs better for the high-priced players. Torgler
forwards.
and Schmidt [34] investigate what shapes performance in soccer,
Brooks et al. [7] develop the Pass Shot Value (PSV), a metric
represented as a player number of goals and assists. They find that
to estimate the importance of a pass for generating a shot. They
salary, age and team effects have a statistically significant impact
represent a pass as a vector of 360 features describing the vicinity
on a player performance on the field.
of a field zone to the pass’ origin and destination. Then, they use
a supervised machine-learning model to predict whether or not Position of our work. Despite an increasing interest in this re-
a given pass results in a shot. The feature weights resulting from search field, our review of the state-of-the-art highlights that there
the model training are used to compute PSV as the sum of the is no validated framework allowing for a multi-dimensional and
feature weights associated with the pass’ origin and destination. role-aware evaluation of soccer performance quality. In this paper,
They finally used soccer-logs to rank players in La Liga 2012-13 we overcome this issue by proposing PlayeRank, a framework that
according to their average PSV, showing that it correlates with the deploys all the possible events described by soccer-logs to evaluate
rankings based on assists and goals. Unfortunately, as the authors player’s performance quality and player’s role in a match. In con-
highlight in the paper, PSV is strongly biased towards offensive- trast to FC and PSV, which lack of a proper validation with domain
oriented players. Moreover, PSV is a pass-based metric which thus experts, we test the framework against a humanly-labeled dataset
omits all the other kinds of events observed during a soccer match, we have specifically built for the purpose of evaluating soccer play-
and lacks of a proper validation. ers performance. Finally, and for the first time in the literature, we
Instead of proposing their own algorithm for performance qual- shed some light on the statistical patterns that characterize soccer
ity evaluation, Nsolo et al. [23] extract performance metrics from players performance by providing a novel and throughout analysis
soccer-logs to predict the WhoScored.com performance rating with that exploits PlayeRank scores and the large and unique dataset of
a machine learning approach. The resulting model is more accurate competitions, teams and players Wyscout made available to us.
for specific roles (e.g., forwards) and competitions (e.g., English
Premier League) when predicting if a player is in the top 10%, 25% 3 THE PLAYERANK FRAMEWORK
and 50% of the WhoScored.com ranking. Figure 1 describes how the PlayeRank framework operates. It is de-
The problem of evaluating players performance got much at- signed to work with soccer-logs, in which a soccer match consists of
tention in other team sports, like hockey, basketball and especially a sequence of events encoded as a tuple: ⟨id, type, position, timestamp⟩,
baseball. In hockey, Schulte and Zhao proposed the Scoring Impact
metric (SI) [31] to rank ice hockey players in NHL depending on 2 https://www.basketball-reference.com/about/per.html
(a) for each player u every time a new match m becomes available in
offline online (b) Rating
(c) Learning soccer the soccer-logs database. This phase exploits information computed
logs
c1.1 c2.1 b1 "offline" and consists of two main steps: individual performance
Centers ofc1 Teamc2 Individual extraction (Figure 1, step b1) and player rating (Figure 1, step b2).
Performance Performance Performance
Extraction Extraction Extraction Individual Performance Extraction. Given that a match m is
represented as a set of events, PlayeRank models the performance
of a player u in m by means of a n-dimensional feature vector
c1.2 c2.2
b2
pm
u = [x 1 , . . . , x n ], where x i is a feature that describes a specific
Role Detector Feature aspect of u’s behavior in match m and is computed from the set of
Learning Weighting Player Rating events played by u in that match. In our experiments at Section 4,
we provide an example of n=76 features extracted from the Wyscout
dataset. Some features count some events (e.g., number of fouls,
Role
detector
number of passes, etc.), some others are at a finer level in that they
distinguish the outcome of those events — i.e., if they were “accurate”
(d) Ranking or “not accurate”. Note that PlayeRank is designed to work with
d2
d1
performance any set of features, thus giving to the user a high flexibility about
ratings
Ranking the description and deployment of soccer performance.
Construction 𝜇
Player Rating. The evaluation of the performance of a player u
in a single match m is computed as the scalar product between
R1 ….. Rz
the values of the features referring to match m and the feature
weights w computed during the learning phase (Figure 1, step c2.2,
described in the next Section 3.3). Each feature weight models the
Figure 1: Schema of the PlayeRank framework. Starting from importance of that feature in the evaluation of the performance
a database of soccer-logs (a), it consists of three main phases. quality of any player.
The learning phase (c) is an "offline" procedure: it must be ex- Formally speaking, given the multi-dimensional vector of fea-
ecuted at least one before the other phases since it generates tures pm
u = [x 1 , . . . , x n ] and their weights w, PlayeRank evaluates
information used in the other two phases, but then it can be the performance of a player u in a match m as follows:
updated separately. The rating (b) and the ranking phases n
1 Õ
(d) are online procedures, i.e., they are executed every time r (u, m) = wi × xi . (1)
R i=1
a new match is available in the database of soccer-logs. We
refer to the text for the notation used in the figure. The quantity r (u, m) is called the performance rating of u in match
m, where R is a normalization constant such that r (u, m) ∈ [0, 1].
Since we decided to not include the number of goals scored in a
where id is the identifier of the player which originated/refers to match into the set of features, for reasons that are explained in Sec-
this event, type is the event type (i.e., passes, shots, goals, tackles, tion 3.3 (learning phase), but goals could themselves be important
etc.), position and timestamp denote the spatio-temporal coordi- to evaluate the performance of some (offensive) players, PlayeRank
nates of the event over the soccer field. PlayeRank assumes that can be adapted to manage goals too via an adjusted-performance
soccer-logs are stored into a database, which is updated with new rating, defined as follows:
events after each soccer match (Figure 1a).
The key task addressed by PlayeRank is the “evaluation of the r ∗ (u, m) = α × norm_дoals + (1 − α) × r (u, m) (2)
performance quality of a player u in a soccer match m”. This consists where norm_дoals indicates the number of goals scored by u in
of computing a numerical rating r (u, m), called performance rating, match m normalized in the range [0, 1], and α ∈[0, 1] is a parameter
that aims at capturing the quality of the performance of u in m given indicating the importance given to goals into the new rating. Clearly,
only the set of events related to that player in that match. This is r ∗ (u, m)=r (u, m) when α=0, and r ∗ (u, m)=norm_дoals when α=1.
a complex task because of the many events observed in a match, Finally, PlayeRank computes the rating of a player u over a series
the interactions among players within the same team or against of matches M = (m 1 , . . . , mд ) by aggregating u’s ratings over those
players of the opponent team, and the fact that players performance matches according to a function µ(r (u, m 1 ), . . . , r (u, mд )) which, in
is inextricably bound to the performance of their team and possibly this paper, is set to the Exponential Weighted Smoothing Average
of the opponent team. PlayeRank addresses such complexity by (EWMA). This way, the performance quality of player u after д
means of a procedure which hinges onto a massive database of matches is computed as:
soccer-logs and consists of three phases: a rating phase, a ranking
phase and a learning phase. r (u, M) = r (u, mд ) = β × r (u, mд ) + (1 − β) × r (u, mд−1 ) (3)
where β is a proper smoothing factor set in the range [0, 1]. In
3.1 Rating phase other words, the performance quality of player u after д matches, i.e.
The rating phase (step b in Figure 1) is the procedure responsible r (u, mд ), is computed as the weighted average of the rating r (u, mд )
for the computation of the performance rating r (u, m) and it is run reported by u in the last match mд and the previous smoothed
ratings r (u, mд−1 ). This way we are counting more the recent per- PlayeRank implements this syllogism via a two-phase approach.
formances of players. Similarly, the goal-adjusted rating r ∗ (u, mд ) In the first phase (Figure 1, step c2.1) it extracts the performance
of u given a series of д matches is computed as the EWMA of vector pTm of team T in match m and the outcome oTm of that match:
his adjusted performance ratings. The quantity r (u, M) is called where oTm = 1 indicates a victory for team T in match m and oTm = 0
the player rating of player u given M, while r ∗ (u, M) is called the indicates a non-victory (i.e., a defeat or a draw) for T . The team
adjusted-player rating of player u given M. performance vector pTm = [x 1 , . . . , x n ] is obtained by summing
(T ) (T )
the corresponding features over all the players UTm composing team
3.2 Ranking phase. T in match m:
pTm [i] = pm
Õ
Based on the players ratings computed in the previous phase, Play- u [i].
eRank constructs a set of role-based rankings R 1 , . . . , R z , each corre- u ∈UTm
sponding to one of the z roles identified by a role detector (step c1.2, In the second phase (Figure 1, step 2.2), PlayeRank solves a clas-
described in the next Section 3.3), an algorithm previously trained sification problem between the team performance vector pTm and
during the learning phase which assigns to one or more roles each the outcome oTm . This classification problem has been shown in
player u in a match m. PlayeRank assigns a player u to Ri if he [24] to be meaningful, because there is a strong relation between
has at least x% of the matches in M assigned to role i, where x is a the team performance vector and the match outcome. We use a
parameter chosen by the user. In our experiments at Section 4 we linear classifier, such as the Linear Support Vector Machine (SVM),
select x = 40%, a choice dictated by the fact that arguably a soccer to solve the previous classification problem and then we extract
player may be assigned to at most two roles. Experiments showed from the classifier the weights w = [w 1 , . . . , w n ] which quantify
this threshold is robust, however this parameter can be chosen by the influence of the features to the outcomes of soccer matches, as
the user when running PlayeRank, possibly increasing the number explained above.
of assigned roles per player (i.e., his versatility). Depending on the These weights are then used in the rating phase (Figure 1, step
value of the threshold x, a player can appear in more than one b2) to compute the performance ratings of players.
ranking and with different ranks since they depend on r (u, M).
Role detector training. As pointed out in [26, 31], performance
3.3 Learning phase. ratings are meaningful only when comparing players with similar
roles. In soccer, each role corresponds to a different area of the
The learning phase (Figure 1c) is executed "offline"in order to gen-
playing field where a player is assigned responsibility relative to
erate information used in the rating and the ranking phases. It
his teammates [4]. Different roles imply different tasks, hence it is
consists of two main steps: feature weighting and role detector
meaningless to compare, for example, a player that is asked to create
training.
goal occasions and a player that is asked to prevent the opponents
Feature weighting. Performance evaluation is a difficult task be- to score. Furthermore, a role is not a unique label as a player’s area
cause we do not have an objective evaluation of the performance of responsibility can change from one match to another and even
pmu of each individual player u. This technically means that we do within the same match. Given these premises, we decided to design
not have a ground-truth dataset to learn a relation between per- and implement an algorithm able to detect the role associated with
formance features and performance quality of u in match m. On a player’s performance in a match based on the soccer-logs. We
the other hand, we observe that the outcome of a match may be observe that they do exist methods, originally designed for hockey
considered a natural proxy for evaluating performance quality at [31], that compute the roles of players via an affinity clustering
team level. Therefore, we overcome that limitation by proposing a applied over a heatmap describing their presence in predefined
supervised approach: we determine the impact of the n chosen fea- zones of the field. But these approaches are arguably not effective
tures onto a player performance by looking in turn at the team-wise in soccer because it offers a lower density of match events w.r.t.
contribution of these features to the match outcome. hockey. Nonetheless we experimented and discarded the approach
This idea is motivated by the fact that (i) a team’s ultimate pur- of [31] because it produces on our dataset a clustering with a very
pose in a match is to win by scoring one goal more than the op- low quality (i.e., silhouette score ss < 0.2).
ponent, (ii) some actions of players during a match have a higher Conversely, PlayeRank detects the role of a player u in a match
impact on the chances of winning a match than others. For example, m by looking at his average position. This is motivated by the fact
making a pass which puts a teammate in condition to score a goal that a player’s role is often defined as the position covered by the
(assist) is intuitively more valuable than making a pass to a close player relative to his teammates [4]. This is called the center of
performance for u in m and it is denoted as cm m m
teammate in the middle of the field. Conversely, getting a red card u = (x u , yu ), where
is intuitively less valuable than, let’s say, winning a dribble against xm
u and y m are the average coordinates of u’s events in match m, as
u
an opponent. Therefore those actions which strongly increase (or they are extracted from the soccer-logs (Figure 1, step c1.1). Then
decrease) the chances of winning a match must be evaluated more PlayeRank deploys a k-means algorithm [15] to group the centers
during the evaluation, either positively or negatively. While soccer of performance of all players u in all matches m (Figure 1, step 1.2).
practitioners and fans have in mind an idea of what the most and PlayeRank also accounts for the possibility of having “hybrid”
the least valuable actions during a match are, it is important to roles where a center of performance is assigned to two or more
develop a data-driven and automatic procedure that quantifies how clusters. This is useful in situations where the center of performance
much valuable an action is with respect to increasing or decreasing of a player u is between two or more clusters, and so the role of u
the chances of winning a match. in match m cannot be well characterized by just one single cluster.
Therefore, PlayeRank aims at a finer classification of roles via a
soft clustering. For every center of performance cm
u occurring in
some cluster Ci , PlayeRank computes its k-silhouette sk (cm
u ) with
respect to every other cluster Ck (k , i) as:
dk (cm m
u ) − di (cu )
sk (cm
u )= , (4)
max(di (cm m
u ), dk (cu ))
where dz (cm m
u ) is the average distance between cu and all other
m
points in cluster Cz . PlayeRank assigns cu to every cluster C j for
which s j (cm
u ) ≤ δ s , where δ s is a threshold indicating the tolerance
to “hybrid” centers. If no such j does exist, cm u is assigned to the
cluster Ci given by the partitioning computed by the k-means
algorithm.
For the sake of completeness we mention that in approaching
the task of role classification we have considered other, more so-
phisticated modeling of players’ performance such as heatmaps
(as in [31], see comments above) or events direction (as in [4]), but
clusters were of lower quality in terms of the silhouette score.
Figure 2: Events observed for Lionel Messi (FC Barcelona)
4 EXPERIMENTAL RESULTS during a match in La Liga (Spain), season 2015/2016. Each
We implemented the PlayeRank framework and executed it on a event is shown on the field at the position where it has oc-
massive database of soccer-logs provided by the company Wyscout curred with a marker indicating the type of the event.
[1]. In this section, we show experiments for each of the modules
described in Section 3 and depicted in Figure 1.
{" id ": 253668302,
4.1 Wyscout dataset " eventName ": " Pass ",
We use a database of soccer-logs provided by Wyscout consist- " eventSec ": 2.41,
ing of 31,496,332 events, capturing 19, 619 matches, 296 clubs and " playerId ": 3344,
21, 361 players of several seasons of 18 prominent competitions " matchId ": 2576335,
around the world (see Table 1): La Liga (Spain), Premier League " teamId ": 3161,
(England), Serie A (Italy), Bundesliga (Germany), Ligue 1 (France), " positions ": [{"x": 49, "y": 50}],
Primeira Liga (Portugal), Super Lig (Turkey), Souroti Super League " subEventId ": 85,
(Greece), Austrian Bundesliga (Austria), Raiffeisen Super League " subEventName ": " Simple pass ",
(Switzerland), Russian Football Championship (Russia), Eredivisie " tags ": [{" id ": 1801}]}
(The Netherlands), Superliga (Argentina), Campeonato Brasileiro
Série A (Brazil), UEFA Champions League, UEFA Europa League,
FIFA World Cup 2018 and UEFA Euro Cup 2016. Figure 3: Example of event in the dataset corresponding to
Each event records: (i) a unique event identifier; (ii) the type of an accurate pass by player 3344 (Rafinha) of team 3161 (In-
the event; (iii) a time-stamp; (iv) the player related to the event; (v) ternazionale) made at second 2.41 of match 2576335 (Lazio -
the team of the player; (vi) the match in which the event is observed; Internazionale) started at position (49, 50) of the field.
(vii) the position on the soccer field, specified by a pair of integers
in the range [0, 100] indicating the percentage from the left corner
of the attacking team; (viii) the event subtype and a list of tags, that
enrich the event with additional information (see Table 2). We do
In the Wyscout dataset a match consists of an average of about
not consider the goalkeeping events available from the Wyscout
1,600 events, and for each player there are about 57 observed events
APIs, as we discard goalkeepers from the analysis.3 Figure 3 shows
per match (Figure 4a-b), with an average inter-time between two
an example of an event in the dataset, corresponding to an accurate
consecutive events of 3.45 seconds (Figure 4c). Passes are the most
pass by player 3344 (Rafinha) of team 3161 (Internazionale) made at
frequent events, accounting for around 50% of the total events (Fig-
second 2.41 in the first half of match 2576335 (Lazio - Internazionale)
ure 4d). Wyscout soccer-logs adhere to a standard format for storing
started at position (49, 50) of the field. Figure 2 shows a pictorial
events collected by semi-automatic systems [12, 28, 33] and do not
representation of the events produced by player Lionel Messi during
include off-ball actions. Moreover, given the existing literature on
a match in the Spanish La Liga, where each event is drawn at the
the analysis of soccer matches [7, 8, 13, 14, 24, 25], we can state
position of the field where it has occurred.
that the Wyscout dataset we use in our experiments is unique in
3 Goalkeepers the large number of events, matches and players considered, and
would need a dedicated analysis since it is the only role having different
game rules w.r.t. to all other players. for the length of the period of observation.
competition area type #seasons #matches #events #players
La Liga Spain national 4 1520 2,541,873 1264
Premier League England national 4 1520 2,595,808 1231
Serie A Italy national 4 1520 2,610,908 1499
Bundesliga Germany national 4 1124 2,075,483 1042
Ligue 1 France national 4 1520 2,592,708 1288
Primeira Liga Portugal national 4 1124 1,720,393 1227
Super Lig Turkey national 4 1124 1,927,416 1182
Souroti Super Lig Greece national 4 1060 1,596,695 1151
Austrian Bundesliga Austria national 4 720 1,162,696 593
Raiffeisen Super League Switzerland national 4 720 1,124,630 647
Football Championship Russia national 4 960 1,593,703 1046
Eredivisie The Netherlands national 4 1248 2,021,164 1177
Superliga Argentina national 4 1538 2,450,170 1870
Campeonato Brasileiro Serie A Brazil national 4 1437 2,326,690 1790
UEFA Champions League Europe continental 3 653 995,363 3577
UEFA Europa League Europe continental 3 1416 1,980,733 9100
UEFA Euro Cup 2016 Europe continental 1 51 78,140 552
FIFA World Cup 2018 World international 1 64 101,759 736
64 19,619 31,496,332 (*)21,361
Table 1: List of competitions with the corresponding geographic area, type and total number of seasons, matches, events
and players. The dataset covers 18 competitions, for a total of 64 soccer seasons and around 20K matches, 31M events and
21K players. (*) 21,361 indicates the number of distinct players in the dataset, as some players play with their teams in both
national and continental/international competitions.
4.2 Performance extraction them in the range [0, 1] in order to guarantee that all features are
We compute the players’ performance vectors by a two-step pro- expressed in the same scale (see Table 6 for a list of all the features).
cedure. First, we define a feature for every possible combination We tried more sophisticated features by considering the field
of type, subtype and tag shown in Table 2. For example, given the zones where events have occurred or the fraction of the match when
foul type, we obtain four features: foul no card, foul yellow, foul red they have occurred, but we didn’t find any significant difference
and foul 2nd yellow. We discard the goal tag since we have implic- w.r.t. the results presented below.
itly considered the goals as the outcome of a performance during Second, we build the performance vector pm u for a player u in
the learning phase. Nevertheless goals can be still included in the match m by counting the number of events of a given type, subtype
performance rating by Equation (2) in Section 3.1. Eventually we and tag combination that player u produced in m. For example, the
extracted 76 features from the Wyscout soccer-logs, and normalized number of fouls without card made by u in m compose the value of
feature foul no card of u in m.
= 1628 = 57.05 = 3.45 passes 48.6%
P(interevent time)
6K = 142 = 32.83 10 1
= 7.11 duels 28.4%
150K
touches 7.7%
# matches
Figure 4: (a) Distribution of the number of events per match (µ=average, σ =st. deviation). In average, a match has 1,628 events.
(b) Distribution of the number of events produced by one player per match. In average, a player generates around 57 events
per match. (c) Distribution of inter-event times, defined as the time (in seconds) between two consecutive events in a match.
In average, there are around three seconds between an event and the next one in a match. (d) Frequency of events per type.
Passes are the most frequent event accounting for about 48% of the events in a match.
frequency
worldcup
roles
eurocup
france
argentina 30% 5.0
portugal
greece 2.5
brazil
europa 0.0
germany 5% 10% 15% 20%
austria
italy
NRMSE(w, w(j)) (%)
turkey
russia competitions
(c) 10
netherlands
frequency
world cup
roles
euro cup
england
switzerland 5
champions
worldcup
eurocup 0
0.5 0.6 0.7 0.8 0.9 1.0
all
spain
france
brazil
italy
argentina
portugal
greece
europa
germany
austria
turkey
russia
netherlands
england
switzerland
champions
worldcup
eurocup AUC
Figure 7: (a) Heatmap indicating the Normalized Root Mean Squared Error (NRMSE) between the set of feature weights w(j)
of each competition j and the overall set of feature weights w. The error is higher for UEFA Euro Cup 2016 and the FIFA
World Cup 2018. (b) Distribution of N RMSE(w, w(j) ), expressed in percentage, indicating the normalized error between w and a
competition’s set of weights (blue bars) and a role’s set of weights (white bars). The error is for 16 out of 18 competitions below
7%, it is around 17% and 20% for EUFA Euro Cup 2016 and FIFA World Cup 2018, respectively. For role-based weights, the error
is between 8% and 15%, higher than the majority of the competitions’ weights but lower than the weights of UEFA Euro Cup
2016 and FIFA World Cup 2018. (c) Distribution of AUC of the SVM models trained on the 18 competitions separately (blue
bars) and the 8 roles separately (white bars). The average AUC of competition-based models is 0.86 and the AUC of the SVM
model trained on the FIFA World Cup 2018 is lower than all other models. For role-based models, the AUC is closer to the FIFA
World Cup 2018’s AUC than to the AUC of the other competitions’ models.
10
= 0.39 1.0
C1
C2
C3
C4
C5
C6
C7
C8
5 = 0.05
correlation(r, r * )
0.8
0
0.0 0.2 0.4 0.6 0.8 1.0 0.6
rating 0.4
Figure 10: Distribution of player ratings per role. Each boxplot represents a cluster (role) and each point (circle) indicates
a player’s rating, computed across all the performances in the last four seasons of the 18 competitions. The points are jit-
tered by adding random noise to the x-axis value to help visualization. For each cluster, the players’ name at the top of the
corresponding role-based rankings are shown.
10 10
O. Özyakup (10%)
A. Castro (7%)
A. Ramsey (9%)
T. Kroos (7%)
M. Dahoud (17%)
L. Suárez (17%)
F. Ghoulam (11%)
L. Kurzawa (14%)
A. Sandro (12%)
J. Alba (15%)
Marcelo (16%)
R. Lukaku (12%)
L. de Jong (14%)
R. Firmino (15%)
C. Ronaldo (15%)
10.0
8 8
7.5
6 6
4 4 5.0
2 2 2.5
0 C4 0 C2 0.0 C3
0 5 10 15 20 0 5 10 15 20 25 2 4 6 8 10
10 15
R. Tolói (5%)
M. Viloti (5%)
A. Chedjou (8%)
K. Glik (4%)
M. Verratti (5%)
M. Ham ík (10%)
P. Coutinho (10%)
E. Hazard (10%)
L. Insigne (14%)
Neymar (21%)
M. Fernandes (9%)
R. Karsdorp (19%)
S. Lainer (12%)
M. Pereira (15%)
D. Carvajal (20%)
8 10.0
10 7.5
6
4 5.0
5
2 2.5
0 C1 0 C7 0.0 C8
0 5 10 15 20 1 2 3 4 5 6 7 0 5 10 15 20 25 30
15
D. To i (5%)
G. Tzavellas (4%)
M. Hummels (4%)
G. Dzhikiya (10%)
Diego (9%)
J. Callejón (13%)
T. Müller (17%)
A. Jahanbakhsh (19%)
L. Messi (13%)
M. Salah (18%)
10.0
6
ALL
10 7.5 4
5.0
5 2
2.5
0 C5 0.0 C6 0
2 4 6 8 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 0 5 10 15 20 25 30 35 40
# excellent performances # excellent performances # excellent performances
Figure 12: Distribution of the number of excellent performances (i.e., r (u, m) > µ + 2σ ) per player, for each role (C 1 , . . . , C 8 ) and
for all roles together (ALL). The name of the players who achieve the top 5 performances in each role is showed. The y axis
indicates the probability density function of the number of excellent performances.
0.10
0.100
r = 0.5 r = 0.26 r = 0.38
std player rating
0.08 0.10
0.075
0.08
0.06
0.050
0.06
0.04
0.04 0.025
0.02
C4 0.02 C2 0.000 C3
0.00
0.35 0.36 0.37 0.38 0.39 0.40 0.41 0.36 0.38 0.40 0.42 0.44 0.46 0.34 0.36 0.38 0.40 0.42
0.08 0.125
r = 0.59 r = 0.25 r = 0.55
std player rating
0.08
0.06 0.100
0.06
0.04 0.075
0.04 0.050
0.02
0.02
0.00
C1 0.00 C7 0.025
C8
0.000
0.36 0.37 0.38 0.39 0.40 0.41 0.36 0.37 0.38 0.39 0.40 0.41 0.36 0.38 0.40 0.42 0.44
0.08
0.125
r = 0.24 r = 0.61 r = 0.61
std player rating
0.06 0.10
0.100
0.08 0.075
0.04
0.06 0.050
0.02
0.04 0.025
0.00 C5 0.02 C6 0.000 ALL
0.36 0.37 0.38 0.39 0.40 0.36 0.38 0.40 0.42 0.44 0.34 0.36 0.38 0.40 0.42 0.44 0.46
avg player rating avg player rating avg player rating
Figure 13: Correlation between a player’s average performance rating and his standard deviation, for each role (C 1 , . . . , C 8 ) and
all roles together (ALL). Here r indicates the Pearson correlation coefficient.
For each pair (u 1 , u 2 ) ∈ P, each soccer scout was asked to select (i.e., their distance < 10). Indeed, the comparison between soccer
the best player between u 1 and u 2 , or to specify that the two players players is a well-known difficult problem as witnessed by the signif-
were equally valuable. For each such pair, we also computed the icant increase in the fraction of unanimous answers by the scouts,
best player according to PlayeRank by declaring u 1 stronger than which goes from a low 58% in the range [1, 10] to a reasonable 71%
u 2 if u 1 precedes u 2 in the ranking. We then discarded from P all in the range [21, +∞]. This a fortiori highlights the robustness of
pairs for which there is not a majority among the evaluations of PlayeRank: the scouts disagreement decreases as pairs of players
the soccer experts: namely, either all experts expressed equality or are farther and farther in the ranking provided by PlayeRank.
two experts disagreed in judging the best player and the third one As a final investigation, we compared PlayeRank with the Flow
expressed equality. As a result of this process, we discarded 8% of Centrality (FC) [11] and the PSV [7] metrics, which constitute the
P’s pairs. current state-of-the-art in soccer-players ranking (see Section 2).
Over the remaining P’s pairs, we investigated two types of con- These metrics are somewhat mono-dimensional because they exploit
cordance among the scouts’ evaluations: (i) the majority concordance just passes or shots to derive the final ranking. Figure 14 (right)
c maj defined as the fraction of the pairs for which PlayeRank agrees shows the results obtained by FC and PSV over our set of players’
with at least two scouts; (ii) the unanimous concordance c una defined pairs evaluated by the three Wyscout experts. It is evident that FC
as the fraction of pairs for which the scouts’ choices are unani- and PSV achieve significantly lower concordance than PlayeRank
mous and PlayeRank agrees with them. We found that c maj = 68% with the experts: for PSV, the majority concordance ranges from
and c una = 74%, indicating that PlayeRank has in general a good 53% to 76%, while the unanimity concordance ranges from 55%
agreement with the soccer scouts, compared to the random choice to 78%; for FC the majority concordance ranges from 54% to 68%,
(for which c maj =c una =50%). Figure 14 offers a more detailed view while the unanimity concordance ranges from 63% to 70%. So that
on the results of the survey by specializing c maj and c una on the PlayeRank introduces an improvement which is up to 16% (relative)
three ranges of ranking differences: [1, 10], [11, 20], [21, ∞]. The and 13% (absolute) with respect to PSV, and and an improvement
bars show a clear and strong correlation between the concordance of 30% (relative) and 21% (absolute) with respect to FC.
among scouts’ evaluations (per majority or unanimity) and the dif-
ference between the positions in the ranking of the checked pairs
of players: when the ranking difference is ≤ 10 it is c maj = 59% 6 APPLICATIONS
and c abs = 61%; for larger and larger ranking differences, PlayeR-
To demonstrate its usefulness, in this section we show two examples
ank achieves a much higher concordance with experts which is
of analytical services that can be designed using PlayeRank: the
up to c maj = 86% and c abs = 91% when the ranking difference is
retrieval of players in a database of soccer-logs and the computation
≥ 20. Clearly, the disagreement between PlayeRank with the soccer
of the players’ versatility.
scouts is less significant when the players are close in the ranking
r player club r player club r player club
.404 Marcelo R. Madrid .404 L. Suárez Barcelona .404 A. Ramsey Arsenal
.399 Alex Sandro Juventus .399 Jonas Benfica .399 A. Grünwald A. Wien
.399 Jordi Alba Barcelona .399 K. Benzema R. Madrid .399 S. Schwab R. Wien
.395 J. Willems Eintracht F. .395 D. Mertens Napoli .395 J. van Overeem AZ
.393 D. Alaba Bayern M. .393 L. de Jong PSV .393 O. Özyakup Beşiktaş
.392 Marcos Alonso Chelsea .392 S. Agüero Man City .392 A. Dzagoev CSKA M.
.392 B. Davies Tottenham .392 Son Heung-Min Tottenham .392 C. Tolisso Bayern M.
.391 D. Kombarov Spartak M. .391 D. Alli Tottenham .391 R. Nainggolan Roma
.390 J. Brenet PSV .390 A. Dzyuba Zenit .390 B. N’Diaye Stoke City
.402 S. Lainer Salzburg .402 M. Ginter Borussia M. .402 Neymar PSG
.402 Maxi Pereira Porto .402 G. Kashia Vitesse .402 M. Depay Olympique L.
.398 Sergi Roberto Barcelona .398 Réver Flamengo .398 L. Insigne Napoli
.398 Júnior Caiçara Istanbul B. .398 T. Tzimopoulos PAS .398 L. Sané Man City
.397 Daniel Carvajal R. Madrid .397 M. Yumlu Akhisar .397 M. Hamšík Napoli
.397 L. De Silvestri Torino .397 Hilton Montpellier .397 M. Dabbur Salzburg
.397 Ricardo Pereira Leicester .397 T. Alderweireld Tottenham .397 E. Hazard Chelsea
.396 D. Caligiuri Schalke .396 Bruno Silva Cruzeiro .396 P. Coutinho Barcelona
.395 N. Skubic Konyaspor .395 Y. Ayhan OsmanlÄśspor .395 I. Perišić Inter
.395 S. Widmer Udinese .395 J. Schunke Estudiantes .395 Isco R. Madrid
.393 J. Vestergaard Southampton .393 L. Messi Barcelona
cluster 6 - right forward
cluster 5 - central back
2)
1)
3)
7)
4)
)
6)
C5
(C
(C
r (C
r (C
(C
(C
(C
a rd
ck
er
a rd
de
de
ac
eld
ba
rw
l
l
tb
fie
fie
t fi
ht
t fo
lef
ht
al
ri g
lef
al
ht
ntr
ri g
lef
ce
0.4
C4 all ball touches that occur during a match [12, 24]. Unfortunately,
out-of-possession movements are not described in soccer-logs, mak-
versatility
C3 C2
by making the individual performance extraction module able to
0.0
extract features from other data sources like video tracking data
Ne erto
ar
[12] and GPS data [30], which provide a detailed description of the
C7
ym
C6
b
shot-shot-not accurate
Table 6: List of the 76 features extracted from the soccer-logs database and used in our experiments.
REFERENCES [6] Luke Bornn and Javier Fernandez. 2018. Wide Open Spaces: A statistical technique
[1] [n. d.]. WyScout spa. https://wyscout.com/. for measuring space creation in professional soccer. In MIT Sloan Sports Analytics
[2] Gennady Andrienko, Natalia Andrienko, Guido Budziak, Jason Dykes, Georg Conference 2018.
Fuchs, Tatiana von Landesberger, and Hendrik Weber. 2017. Visual analysis of [7] Joel Brooks, Matthew Kerr, and John Guttag. 2016. Developing a Data-Driven
pressure in football. Data Mining and Knowledge Discovery 31, 6 (01 Nov 2017), Player Ranking in Soccer Using Predictive Model Weights. In Procs of the 22nd
1793–1839. https://doi.org/10.1007/s10618-017-0513-2 ACM SIGKDD Intl Conf on Knowledge Discovery and Data Mining. 49–55.
[3] Benjamin Baumer and Andrew Zimbalist. 2014. The Sabermetric Revolution: [8] Paolo Cintia, Fosca Giannotti, Luca Pappalardo, Dino Pedreschi, and Marco
Assessing the Growth of Analytics in Baseball. University of Pennsylvania Press. Malvaldi. 2015. The harsh rule of the goals: data-driven performance indicators
[4] A. Bialkowski, P. Lucey, P. Carr, Y. Yue, S. Sridharan, and I. Matthews. 2014. for football teams. In Procs of the 2015 IEEE Intl Conf on Data Science and Advanced
Large-Scale Analysis of Soccer Matches Using Spatiotemporal Tracking Data. Analytics.
In Procs of the IEEE Intl Conf on Data Mining. 725–730. https://doi.org/10.1109/ [9] Paolo Cintia, Salvatore Rinzivillo, and Luca Pappalardo. 2015. Network-based
ICDM.2014.133 Measures for Predicting the Outcomes of Football Games. In Proceedings of the
[5] Luke Bornn, Dan Cervone, and Javier Fernandez. [n. d.]. Soccer 2nd Workshop on Machine Learning and Data Mining for Sports Analytics co-located
analytics: Unravelling the complexity of the beautiful game. Sig- with 2015 European Conference on Machine Learning and Principles and Practice of
nificance 15, 3 ([n. d.]), 26–29. https://doi.org/10.1111/j.1740-9713. Knowledge Discovery in Databases (ECML PKDD 2015), Porto, Portugal, September
2018.01146.x arXiv:https://rss.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1740- 11th, 2015. 46–54. http://ceur-ws.org/Vol-1970/paper-07.pdf
9713.2018.01146.x
[10] Tom Decroos, Jan Van Haaren, and Jesse Davis. 2018. Automatic Discovery of [35] Qing Wang, Hengshu Zhu, Wei Hu, Zhiyong Shen, and Yuan Yao. 2015. Discerning
Tactics in Spatio-Temporal Soccer Match Data. In Proceedings of the 24th ACM Tactical Patterns for Professional Soccer Teams: An Enhanced Topic Model with
SIGKDD International Conference on Knowledge Discovery & Data Mining Applications. In Procs of the 21th ACM SIGKDD Intl Conf on Knowledge Discovery
(KDD ’18). ACM, New York, NY, USA, 223–232. https://doi.org/10.1145/3219819. and Data Mining. 2197–2206. https://doi.org/10.1145/2783258.2788577
3219832
[11] Jordi Duch, Joshua S. Waitzman, and Luís A. Nunes Amaral. 2010. Quantifying
the Performance of Individual Players in a Team Activity. PLOS ONE 5, 6 (2010),
1–7. https://doi.org/10.1371/journal.pone.0010937
[12] Joachim Gudmundsson and Michael Horton. 2017. Spatio-Temporal Analysis of
Team Sports. Comput. Surveys 50, 2 (2017), 22:1–22:34. https://doi.org/10.1145/
3054132
[13] László Gyarmati and Mohamed Hefeeda. 2016. Analyzing In-Game Movements
of Soccer Players at Scale. In MIT SLOAN Sports Analytics Conference.
[14] László Gyarmati, Haewoon Kwak, and Pablo Rodriguez. 2014. Searching for a
Unique Style in Soccer. CoRR abs/1409.0308 (2014).
[15] J. A. Hartigan and M. A. Wong. 1979. A k-means clustering algorithm. JSTOR:
Applied Statistics 28, 1 (1979), 100–108.
[16] Ralf Herbrich, Tom Minka, and Thore Graepel. 2006. TrueSkill™: A Bayesian
Skill Rating System. In Procs of the 19th Intl Conf on Neural Information Processing
Systems. 569–576.
[17] Jan Lasek, Zoltán Szlávik, and Sandjai Bhulai. 2013. The predictive power of
ranking systems in association football. Journal of Applied Pattern Recognition 1,
1 (2013). https://doi.org/10.1504/IJAPR.2013.052339
[18] J. López Peña and H. Touchette. 2012. A network theory analysis of football
strategies. ArXiv e-prints (June 2012). arXiv:math.CO/1206.6904
[19] Patrick Lucey, Alina Bialkowski, Mathew Monfort, Peter Carr, and Iain Matthews.
2014. quality vs quantity: Improved shot prediction in soccer using strategic
features from spatiotemporal data. In Proc. 8th Annual MIT Sloan Sports Analytics
Conf. 1–9.
[20] Patrick Lucey, Dean Oliver, Peter Carr, Joe Roth, and Iain Matthews. 2013. As-
sessing Team Strategy Using Spatiotemporal Data. In Proceedings of the 19th
ACM SIGKDD Intl Conf on Knowledge Discovery and Data Mining. 1366–1374.
https://doi.org/10.1145/2487575.2488191
[21] Christofer D. Manning, Prabhakar Raghavan, and Hinrich Schütze. 2008. Intro-
duction to Information Retrieval. Cambridge University Press.
[22] Oliver Müller, Alexander Simons, and Markus Weinmann. 2017. Beyond crowd
judgments: Data-driven estimation of market value in association football. Euro-
pean Journal of Operational Research 263, 2 (2017), 611–624. https://doi.org/10.
1016/j.ejor.2017.05.005
[23] Edward Nsolo, Patrick Lambrix, and Niklas Carlsson. 2018. Player valuation in
European football. In Machine Learning and Data Mining for Sports Analytics
workshop (MLSA 2018).
[24] Luca Pappalardo and Paolo Cintia. 2017. Quantifying the relation between
performance and success in soccer. Advances in Complex Systems 20, 4 (2017).
https://doi.org/10.1142/S021952591750014X
[25] Luca Pappalardo, Paolo Cintia, Dino Pedreschi, Fosca Giannotti, and Albert-
Laszlo Barabasi. 2017. Human Perception of Performance. arXiv preprint
arXiv:1712.02224 (2017).
[26] S. Pettigrew. 2015. Assessing the offensive productivity of NHL players using
in-game win probabilities. In MIT Sloan Sports Analytics Conference.
[27] Paul Power, Héctor Ruiz, Xinyu Wei, and Patrick Lucey. 2017. Not All Passes Are
Created Equal: Objectively Measuring the Risk and Reward of Passes in Soccer
from Tracking Data. In Procs of the 23rd ACM SIGKDD Intl Conf on Knowledge
Discovery and Data Mining. 1605–1613. https://doi.org/10.1145/3097983.3098051
[28] Robert Rein and Daniel Memmert. 2016. Big data and tactical analysis in elite
soccer: future challenges and opportunities for sports science. SpringerPlus 5, 1
(2016), 1410. https://doi.org/10.1186/s40064-016-3108-2
[29] Berthier Ribeiro-Neto and Ricardo Baeza-Yates. 1999. Modern Information Re-
trieval. Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA.
[30] Alessio Rossi, Luca Pappalardo, Paolo Cintia, F. Marcello Iaia, Javier FernÃČÂăn-
dez, and Daniel Medina. 2018. Effective injury forecasting in soccer with
GPS training data and machine learning. PLOS ONE 13, 7 (07 2018), 1–15.
https://doi.org/10.1371/journal.pone.0201264
[31] Oliver Shulte and Zeyu Zhao. 2017. Apples-to-Apples: Clustering and Ranking
NHL Players Using Location Information and Scoring Impact. In MIT Sloan Sports
Analytics Conference. Hynes Convention Center, Boston, MA, USA.
[32] R. Stanojevic and L. Gyarmati. 2016. Towards Data-Driven Football Player
Assessment. In Procs of the IEEE 16th Intl Conf on Data Mining. 167–172.
[33] Manuel Stein, Halldór Janetzko, Daniel Seebacher, Alexander Jäger, Manuel
Nagel, Jürgen Hölsch, Sven Kosub, Tobias Schreck, Daniel A. Keim, and Michael
Grossniklaus. 2017. How to Make Sense of Team Sport Data: From Acquisition
to Data Modeling and Research Aspects. Data 2, 1 (2017). https://doi.org/10.
3390/data2010002
[34] Benno Torgler and Sascha L. Schmidt. 2007. What shapes player performance
in soccer? Empirical findings from a panel analysis. Applied Economics 39, 18
(2007), 2355–2369. https://doi.org/10.1080/00036840600660739