Visual analytics of soccer player performance using objective ratings

The performance of soccer players is commonly rated by soccer experts for each match as well as over a tournament or during a season/year. However, these ratings are mostly subjective. We instead propose a visual analytics approach for a more objective, data-driven analysis of soccer players’ performances. We introduce data-driven ratings for various aspects, which can be combined by interactively assigning weights to compute an overall score as well as individual scores for passes, duels, and shots. Our tool supports comparative visualizations at a global level that can be adapted to different analysis tasks as well as in-detail analyses of individual events of the game. We apply our approach to data gathered during the 2020 UEFA European Football Championship and perform in-detail analyses of individual players in selected matches.


Introduction
Soccer is one of the most popular sports in the world.While being a team sport, public interest often targets individual players like Cristiano Ronaldo, Lionel Messi, or Robert Lewandowski.The interest does not only become apparent on social media or in economic aspects like merchandising but also in private and public media discussions after soccer games.2][3][4][5] However, these ratings are based on the subjective opinions of experts and do not use objective measures, which may lead to quite some variance in the ratings.Also, the most prestigious awards for individual players -the Ballon D'Or and the FIFA World Player of the Year -are awarded based on subjective ratings of committees consisting of coaches, soccer players, and journalists.Various approaches exist for the analysis of the growing amounts of data collected for soccer games, but none of them target data-driven ratings of individual players within a flexible user-centric analysis process.In practice, the importance of criteria differs depending on the players' position.For example, the German soccer journal ''kicker'' uses a range of statistical performance values, but primarily shows information on duels, ball contacts, and passes for defensive players, 6 while, for offensive players, information on shots on the goal, assists thereof, and passes are shown. 7herefore, users should be able to adapt the weights for the ratings based on the analysis task.
We propose an interactive tool that helps coaches, scouts, and journalists to more objectively rate the performance of soccer players based on different aspects extracted from game data.We first identified a set of tasks that our approach should support.To allow for a data-driven analysis, we then propose a set of objective ratings.The various ratings can be interactively combined by the user to an overall score as well as individual scores for passes, duels, and shots.For the in-detail visual analysis of these scores down to the level of investigating individual events, we present our visualization tool Soccersight Visualiza.It supports the analysis of the performance of all players individually as well as in comparison to other players.To demonstrate the application of our approach, we apply it to the analysis of Cristiano Ronaldo's performance of passes, duels, and shots in the match Portugal versus Hungary in the 2020 UEFA European Football Championship and investigate the passing behavior of Toni Kroos within the same tournament.Our main contributions can be summarized as proposing objective, data-driven ratings to quantify the performance of soccer players and embedding those ratings into a visual analytics tool Soccersight Visualiza.It allows for a detailed, interactive analysis of individual players' performances, where the user can change the weights of the different ratings to adapt it to different player positions or different analysis goals.
Our tool provides a wide range of opportunities to analyze and compare different players based on userdefined key aspects.

Related work
[10] The general popularity of soccer led to various approaches which focus on different aspects of the game, including passing behavior 11,12 and formations. 13][20][21] One common analysis goal is the analysis of single players.While Ryoo et al. 22 propose a system to investigate the impact of single players on the team, SoccerMetrics 23 is a visualization system for predicting the individual as well as team performance.SoccerStories 24 allows for visually analyzing different phases of the game.While it supports the analysis of single players in these situations, this visual analysis approach does not target the task of ranking the players.Bkviz 25 can be used for the analysis of individual players in basketball games using accumulations like heatmaps and visualizations of the player performance.Janetzko et al. 26 include some aspects of single player analysis but use it for segmentation of the match in different phases.There are also some commercial tools available like Impect, 27 which mainly builds on packing as a measure.Schultze and Wellbrock 28 introduced a plus/minus metric that adds points to all players on the field when a goal was scored and subtracts points of all players that were on the field when they conceded a goal from the opposing team.The metric also takes into account the importance of a goal as well as how strong the opponent team is.Hvattum 29 provides an overview of plus/ minus ratings in different competitive team sports.While applicable to all players, these metrics do not capture the actual circumstances that led to the goal.None of the presented approaches provides a wide set of rankings that capture different aspects and can be combined in a user-centric analysis process like we propose in this work.
Rusu et al. 30 rate a player based on the categories execution mechanics, tactical utility, and frequent mistakes in execution, but they do not include more detailed visualizations for the analysis of single situations.The temporal evolution of rankings for teams can be visualized using a novel gap chart, 31 but they do not perform more detailed analysis on different aspects of performance.A recent approach presents a visual analytics system to include user preferences for rankings, 32 which is related to our interactive adjustment of weights.However, they do not focus on the application to soccer and thus do not consider the specifics of soccer games.
Overall, the discussed approaches lack a comprehensive set of ratings together with a detailed analysis of the individual game situations.Therefore, we present such an approach that allows for a combination of the main aspects for rating a player's performance based on a user-defined weighting and in-depth comparative analysis supporting the tasks presented in the next section.

Task analysis
We analyze the performance of soccer players based on soccer event data combined with tracking data.In this work, we use data of the 2020 UEFA European Football Championship provided by StatsBomb. 33his dataset contains meta data, event data, and tracking data.The tracking data, however, do not cover the entire games, but are limited to event situations.For some statistical processing (regression model, normalization), we also use two games provided by Metrica Sports, 34 where more detailed tracking data are available.Note that our approach is generalizable to other datasets as long as they provide event data as well as (at least event-related) tracking data.
We identified coaches, scouts, and journalists as main stakeholders that could be interested in using our visual analytics solution.We, therefore, formulated six tasks that we considered to be most relevant for such stakeholders when performing a data-driven analysis of the performance of individual soccer players.The tasks are based on a literature survey from the domain of soccer analysis (see also Table 1) as well as the visual analysis of ratings. 32 Create data-driven ratings for different aspects of the performance of individual soccer players: The analysis tool should provide a broad overview about different aspects of the performance following objective ratings such that the analysis can be applied to different player positions.T2 Provide scores for different aspects of the game as well as an overall score: As single ratings result in many numbers to compare, they should be aggregated to cover the three key aspects passes, duels, and shots as well as to an overall score.This allows for a quick first assessment of the performance without overwhelming details.T3 Allow the user to change the weights for different ratings interactively: The importance of different ratings for overall scores varies based on the players' positions and the concrete analysis goal of the user.To provide more flexibility, the user should be able to change the weights interactively.T6 Provide a user-friendly interface for the whole analysis process: The complete analysis process should be simple and intuitive while still providing a comprehensive and detailed overview about the data.
Table 1 shows which of these tasks are addressed by existing approaches.The listed approaches are limited to visual analysis solutions targeted at soccer that address at least one of our tasks.The table reveals that none of the approaches addresses all tasks.Especially task T3 is not addressed by any of the approaches.However, task T3 is indeed important, which is documented by the fact that in popular soccer journals different statistics are shown in different contexts. 6,7ven though all metrics are accessible for all players, the ones shown in the overview (i.e.key performance measures) vary depending on the player positions, which correspond to our weights.Additionally, the importance of user-based ratings was identified by Schmid et al. 32 beyond the scope of soccer analysis.Therefore, we consider it as especially important to include T3 in our approach to close the gap in literature.In the following, we will use this set of tasks to first develop a rating system and then design a visual analytics tool for the analysis of the data that supports a comprehensive analysis.

Data-driven ratings
We propose a set of scores for the performance of soccer players that range between 0 and 10, with 10 being best.For each event, we assign ratings in various categories.For each category, all available ratings of the players are averaged over the whole game (task T1).Based on the individual ratings for the categories, we calculate a summary score of the whole game for different kinds of events, namely passes, duels, and shots (task T2).By forming a weighted average of these three scores, we obtain an overall score for the player.The weights for the summary scores as well as for the overall scores can be adapted interactively by the user (task T3).Thus, the overall scores for the individual kinds of events (passes, duels, and shots) can be computed as where S k denotes the score, k 2 fp, d, sg indicates if the variable belongs to passes p ð Þ, duels d ð Þ or shots s ð Þ, N k is the number of ratings r k, i for the respective kind of event, and w k, i denotes the user-defined weight.The overall score S is computed based on the individual scores as where w p , w d , and w s denote the user-defined weights for passes, duels and shots, respectively.
In the following, we will explain in detail how the different ratings are calculated.Our goal here was to assemble a comprehensive set of ratings that capture sufficiently well the many different aspects of a soccer game.Of course, there are different ways on how to define ratings and some may be more relevant than others for judging the player's performance.However, in the end, it is up to the expert user to decide, which ratings shall be used and how strongly they shall be weighted.

Passes
The summary score for a player that rates his/her performance in passing includes measures on the difficulty and the gain of completed passes such as the pressure on the player, the change in pressure, the packing of the opponents, the number of passes until a shot on goal, and the area spanned by the pass.Note that only the successful passes obtain a rating, while the pass accuracy is shown in separate statistics but not included in the ratings.We also compute the expected pass success for each pass by training a regression model on all available pass data.
Pressure: To calculate the pressure put on the passing player, we propose a model oriented on the human field of view.We consider opponents behind the player as less influential as they are not directly visible and the player can protect the ball using his/her body.We use two semicircles to model this difference, where we use a radius of 3m behind the player and 9m in front of the player.These radii where identified with domain experts by Andrienko et al. 21Then, we calculate the pressure based on an empirically determined nonlinear function of the distance to the player given as where r denotes the radius of the relevant semicircle and x is the distance between the player and the opponent.The model is shown in Figure 1(a).Using equation (3), we can calculate the pressure for each player separately and then sum over all opponents leading to the total pressure put on the player.
To map the pressure values toward a rating between 0 and 10, we perform a rescaling.To avoid a large effect of very good values and to obtain a good distribution of the ratings over the whole range, we choose a piecewise linear scaling.We compute pressure values for all available data as shown in Figure 1(b).Then, we choose the elbow point in the distribution where the gradient strongly increases and map all values above the elbow point linearly to the range ½9, 10, while the values below are mapped to the range ½0, 9.
Change in pressure: This rating quantifies how much the pressure changed by the pass.Therefore, we calculate the difference between the pressure on the player who passes and the pressure on the receiving player.The result is rescaled in the same way as the pressure value.
Packing: Packing, as introduced by Reinartz and Hegeler, 27 describes the number of opponent players taken out by a pass.We calculate the packing by placing a rectangle around the players involved in the pass.Next, the size of the rectangle is increased by 10% to allow a correct modeling of vertical through passes.The final packing value is calculated by counting the number of opponents inside the rectangle as shown in Figure 1(c).As packing is a measure for offensive passes, we only apply it to passes that are directed forward.To scale the packing to a score between 0 and 10, we perform a rescaling as described for pressure values.
Passes until shot: This rating describes how soon a pass leads to a shot on goal.If a shot on goal is the next action, the pass gets assigned the rating 10.The rating decreases by 1 with each additional pass.In case no shot on goal occurs within the next 10 passes, this rating gets assigned a 0.
Area: The area rating quantifies which zones of the pitch were involved by the pass.For this purpose, we partition the pitch into 12 zones, see Figure 1(d).Each zone gets assigned a weight that reflects their influences on the game: The more central the zone i and the closer to the opponents goal, the higher its weight g(i).To calculate the area value, we identify the distances l p (i) (pink lines in Figure 1(d)) that the pass covers in each zone i with width l(i).We compute the area scores by As the area score A p is an offensive measure, we only consider it for forward passes that end in the opponents half.The value A p is scaled using the procedure described for pressure.
Expected pass success: Finally, we also estimate the probability that a pass is completed successfully.This probability, of course, depends on the difficulty of the pass as rated above.So, we consider our measures from above as variables for a logistic regression model, 35 which we fit to all data of the two datasets described above.If some values for the variables are not available due to an incomplete pass, we use the theoretical values for the case that the pass would have been completed.The probability of pass completion is then computed by where b i are the regression coefficients and x i are the independent variables.For the passes, we use k = 4 independent variables and obtain the following regression coefficients: for the length of the pass x 1 we get b 1 = À 0:0450, for the packing value x 2 we get b 2 = À 0:1856, for the pressure sum x 3 we get b 3 = À 0:9534 and for the number of opponents x 4 that apply pressure we get b 4 = À 0:1486.Further, we obtain b 0 = 3:2366.To obtain a rating between 0 and 10, we rescale the value 1 À P p as described for the pressure.Using 1 À P p instead of P p results in better ratings for passes with a lower success probability, which can be considered as more difficult.
Duels.The overall rating for the won duels is formed by ratings for the pressure, the passes until shot on goal, an area rating, and again the expected success rate.
Pressure: As duels, in contrast to passes, do not have a clear direction, we model the pressure with a sphere around the players.To provide consistency with the pressure calculation for passes, we choose a radius of 9m and choose the same variations with the distance as described above.The resulting pressure values are mapped to the rating as described above for passes.
Passes until shot: This rating is defined in the same way as for passes.
Area: Winning duels close to the goal can be considered more important than in midfield.Additionally, duels that happen in a central location can be considered more relevant than those to the sides of the pitch.To cover these spatial variations, we propose a continuous function that assigns a value to each position.The function is given as where (x, y) denotes the position in which the duel takes place and (l x , l y ) is the dimension of the soccer field, in our case l x = 120m and l y = 80m.The resulting distribution over the soccer field is shown in Figure 2(a).Then, we compute the ranking using the same scaling as above.
Expected duel success: Finally, similar to the passes, we want to compute the probability P d of a duel to be won.It follows a similar model to equation (5) but with k = 2 independent variables.For the pressure we obtain b 1 = 0:2535 and for the area as the second variable we obtain b 2 = À 0:9662.The intercept is given as b 0 = À 0:3979.Similar to the expected pass success, we apply the above described scaling procedure to 1 À P d because a lower probability of success for a duel corresponds to a more difficult duel.

Shots
To obtain a rating for shots, we use a weighted average of the pressure and the accuracy.Moreover, the expected success rate for a goal is computed.
Pressure: As shots on a goal contain a clear direction, we use the same model as for passes and also perform the same scaling.
Accuracy: The accuracy score rates the precision of a shot, also based on the success.A shot is considered successful if it leads to a goal.There is no success if the shot either misses the goal or the goalkeeper blocks or saves it.Shots that are closer to the goal's posts get assigned higher values than more central shots, as shots to the goal's corner are typically more difficult to save for the goalkeeper.Moreover, the scores are higher, if the shot led to a goal.Shots that are off target, get a lower score.The scores for the different regions are shown in Figure 2(b) and are directly used to measure the shot accuracy.
Expected goal success: Finally, we also compute the probability P s that a shot leads to a goal.We follow again the logistic regression model in equation ( 5) using k = 5 different independent variables.The first one is the angle toward the goal, which we define as the angle between the lines that connect the player position with the location of the goal posts, see Figure 2(c).We obtain b 1 = À 1:2846.The second variable is the distance d g to the center of the goal, for which we obtain a coefficient of b 2 = 0:0671.Third, we count the number of opponents placed in the triangle formed by the position of the shooting player and the two goal posts b 3 = 0:3240 ð Þ .The pressure is divided in two independent variables: The pressure by opponents within a distance of 1m (those that could potentially prevent the shot) and the pressure in a distance between 1 and 2m.We obtain b 4 = 0:5887 and b 5 = 0:3330, respectively.The intercept is b 0 = 0:9841.We map the values 1 À P s to the scale between 0 and 10 by taking the outcome of the shot into account: The values for shots that resulted in a goal are mapped between 9 and 10 to assign very high values to goals.The other values are weighted based on the real distance (distance between shooting player and end point, see Figure 2(c)) divided by the distance to the outer line of the pitch which is denoted as d s in Figure 2(c).This weighting results in lower ratings for shots that are blocked by field players when compared to those blocked by the goalkeeper.Further, shots that did not hit the goal are weighted with a factor of 0:5, because shots on the goal are more important.

Visual design
Following Shneiderman's mantra of ''overview first, [...] details on demand,'' 36 the application is divided into a score overview and detail visualizations that facilitate the analysis of different qualities of a player on different levels of detail (task T6).These different levels of detail are also represented in the modular structure of the tool.The overview visualization as well as the different aspects for the detailed analysis (passes, shots, duels) each form individual tabs.Therefore, users can interactively switch between the tabs when focusing on different aspects while still keeping any selections in the individual tabs.The tool is developed in Python using Dash and Plotly to provide an easy to use web interface.More time intensive calculations like the fitting of the regression model are precalculated to allow for an interactive exploration of the data during the analysis session.A demonstration of the interactive usage of our tool is included in the Supplemental Video.

Score overview
The scores for passes, duels, and shots are shown in juxtaposed views using a tabular representation, see Figure 3.The explicit numerical representation allows the user to directly read off the exact values.It also facilitates the comparison between the different ratings and is order-independent, while comparing the values in visualizations like bar charts may become difficult for similar values that are not shown close to each other.As the number of individual ratings is relatively small, a comparison in the tabular representation remains feasible.The ratings of all three event types are summarized into a final score that is shown in the general rating view.Additionally, the pass, duels, and shots scores as well as the final score are visualized for all players of the match to provide context, which will be explained in more detail at the end of this section.
Depending on the player's position and the specific analysis tasks some individual ratings might be more important than others (task T3).Therefore, the user can interactively assign weights to the different ratings.
To change the weights, we propose to use a radar chart as a multi-dimensional slider, which is more compact than multiple simple sliders (which resemble bar charts) or parallel coordinates.Additionally, the radar charts with the resulting shapes encode which aspects are weighted as most important.This reflects the previous usage of radar charts to investigate the player's performance. 13,23We also considered to visualize the different ratings in the radar chart.However, this might lead to confusion between weights and values which could make the analysis more complicated.
In the radar chart, each axis represents a range from 0 to 10.The weights can be adapted interactively by selecting the value on the chosen axis.Based on the selection, the scores are computed as described in equations ( 1) and ( 2).As we provide ratings for each of the three event types and, then, combine the ratings for these three event types in the subsequent step, no more than six weights should be set to obtain one of the weighted ratings.As a default, all ratings are weighted equally, which supports the users in changing the weights of individual ratings one by one.
After specifying which attributes are of most interest for the task at hand, the scores of the selected player are shown in comparison to the scores for other players of the match (task T4).For this purpose, we use a bar chart that is sorted in ascending order based on the overall weighted score, see Figure 4.The color coding of the bars encode the team affiliation (yellow for the team of the selected player, green for the opponent team), while the selected player is highlighted in a third color (red) for better differentiation.The representation as a bar chart with sorted values allows for an easy comparison between the scores of players in adjacent bars, while the ordering provides the possibility of quickly identify the ranking of a player when compared to other players of the selected game.

Detail visualizations
The scores offer an abstract summarization of the player's performance.More detailed information for the three event types passes, shots and duels are provided in three separate pages (task T5).Depending on which event type is analyzed, an event view shows the pitch enriched by different overlays.Overlays for passes, shots, and duels give an overview over all events of the selected kind during the whole game.The passes are visualized by lines between the start and end points.The start point is marked by a ball icon, while the line is color-coded according to the type of pass, see Figure 5. Encoding the direction by icons instead of using arrow glyphs increases the visibility of the start points if many passes are drawn together, cf. Figure 10.If the angle between the direction of the pass and the midline is smaller than 108 or larger than 1708, the pass is considered neutral (yellow color).Otherwise, it is classified as offensive (orange color), if the pass is directed toward the opponent's goal, or as defensive (blue color), if it is directed toward the own goal.We choose diverging colors to encode the different directions.The colors were chosen from the 3-class RdYlBu color map by ColorBrewer. 37The shots are shown similarly, but no color coding is necessary, as all shots are offensive, see Figure 6(a).Duels are visualized by a drawing a cross at their position, see Figure 6(b).
Heatmap: For a better overview about the regions where the player is active most often, we include a heatmap for the selected event type.In cases of passes, the end points of the passes are used for the aggregation.For shots, the initial position is used to visualize the regions from where the player shot most often.For  Single-event investigation: It is possible to select single events for a more detailed single-event investigation.Together with the single event, we visualize other players of both teams that are related in the event on the pitch.This visualization can be further enriched by additional information.A heatmap visualization around the active player shows the variation in pressure based on the spatial distance, see Figure 6(b).To understand the spatial distribution of the players that lead to the final packing rating and to further assess the situation, the rectangle used for the packing calculation (cf. Figure 1(c)) can be displayed.The initial categorization in defensive, neutral, and offensive zones for passes is further refined in an additional encoding showing the dynamic zones of the ball.These zones divide the pitch in a defensive, neutral, and offensive part.The defensive part covers 80% of the distance from the own goal to the ball.The offensive zone covers 80% of the distance from the opponent's goal to the ball.The area between those zones is considered the neutral zone.To visually investigate if and how the pass crosses zone boundaries, the pitch visualization can be enriched with the boundaries of these zones.For exact detailed numerical information of a single event, we include a tabular representation of the data directly below the enriched pitch visualization.
Parallel coordinate axes: As the number of events, even for a single type, can become quite large, we support filtering by brushing parallel coordinate axes, see Figure 7. Parallel coordinates also support the visualization of the underlying multivariate data, which facilitates the selection and allows for identifying correlations among the different ratings.An alternative approach would be the use of sliders for filtering compared with histograms for data visualization.However, the histograms would not contain relations between the individual variables.As attributes for the parallel coordinates, we do not only include the ratings as defined above, but also additional data such as the start and end positions of a pass or the timestamp of the event.Including this additional information does not only provide further filtering options, for example, to investigate only events toward the end of the game, but also allows for identifying correlations, for example, between scores and spatial positions.We decided to use parallel coordinates for the multidimensional data, as we mainly use filtering interactions, which are intuitively supported in parallel coordinates by brushing axes.Even though parallel coordinates scale relatively well with the number of dimensions, the visualization might become dense when visualizing many dimensions.Since the user barely wants to brush on many axes simultaneously, we alleviate this issue by only showing a subset of attributes selected by the user.
Animation: Finally, it may also be of interest to investigate what led to a specific situation or to analyze its temporal evolution.This resembles the normal representation of a soccer game that is most common to any domain user.We support this by showing an animation of the last 20s that led to the current situation within our pitch visualization.The slider below the animation shows all other events that happened during those 20s to provide further context.The quality of the animation is strongly data-dependent.While the Metrica dataset provides detailed tracking information for a smooth animation, the positions in the Statsbomb dataset are coupled to events only.Therefore, we interpolate the positions linearly between the available events for the Statsbomb data which creates an animation that is not completely realistic but provides the context and information about the other events around the selected event.

Use cases
In this section, we demonstrate the usage of our tool by performing a detailed analysis of Cristiano Ronaldo's performance in the Portuguese national team in the 2020 UEFA European Football Championship followed by an analysis of Toni Kroos' performance, where we investigated whether he really avoids high-risk vertical or diagonal passes in favor of low-risk horizontal passes for what he has been criticized in German media. 38Note that we use the terms vertical and horizontal passes as soccer jargon, that is, a vertical pass is targeted toward the opponent's goal, while a horizontal pass is parallel to the centerline.
We chose to use the Statsbomb dataset 33 that contains the required information of all players and matches of the tournament.The Metrica dataset is anonymized and would therefore not allow us to relate the data back to actual players.The fact that we analyze the 2020 UEFA European Football Championship, a very popular event, enables us to additionally compare our ratings to those of kicker, Germany's leading football magazine.For this magazine, journalists rate players by using grades on a continuous scale between 1 (best) and 6 (worst) that is geared to the German school grade system.Our ratings instead assume values on a continuous scale from 10 (best) to 0 (worst), as we assume this scale to be more intuitive for international users.For each of our ratings the entire dataset is taken into account, which leads to a better comparability between different matches.

Christiano Ronaldo
With 5 goals and 1 assist, Cristiano Ronaldo, an offensive player, was the best scorer of the tournament.He is also one of the top players in the world, as he received 5 out of 13 possible awards since 2008 for the world's best football player.Hence, it is worth investigating the reasons for his success.
First, we investigate how our rating system compares to an already established grading system by the kicker magazine.We first take a look at a few selected situations to compare our ratings with the grades provided by kicker.In the match Portugal versus France, Cristiano Ronaldo received a very high grade (1.5) by kicker. 2 However, in this match, Cristiano Ronaldo did not win a single duel (duel rating 0.0) and only few passes reached their target (pass rating 3.9).Additionally, no shot could reach the goal apart from two penalty shots that Ronaldo was able to score for the team, leading to a shot rating of 4.3.This results in an overall rating of 2.7.The discrepancy to the kicker grade could be explained by the fact, that our application considers all actions during a match and of all matches.It thus provides a more objective rating than journalists, who might focus more on single events such as successful penalty shots.In the same match, Karim Benzema received the same grade (1.5) from kicker as Cristiano Ronaldo.This time, the grade can be justified by our tool.Benzema required fewer attempts to score his goals, leading to a higher shot rating of 5.9.Additionally, he could win more duels (duel rating 5.3) and hence received an overall rating of 4.5.Although this is a relatively low rating in comparison to the kicker grade, it is still the highest rating in this match.Hence, Benzema was the strongest player, also according to our tool.
In the match against Hungary, however, Cristiano Ronaldo achieved the best overall rating of 6 among all players when using our tool as well as the best grade (2) by kicker.We select this match for a detailed analysis as the match score (3:0 for Portugal) indicates many offensive actions, which should highlight the quality of Cristiano Ronaldo as offensive player.In this particular match, he achieved an average pass rating of 4.5, a high shot rating of 6.1, and a very high duels rating of 7.3, leading to the aforementioned overall score of 6.As we want to analyze his qualities as a striker, which we believe is better expressed by a high duel and shot rating than by pass ratings, we decide to modify the respective weights.Hence, we increase the shots and duels weights to 5 but leave the pass weight untouched, leading to a newly weighted overall score of 6.5.To see how Cristiano Ronaldo compares against all other players in the selected match, we visualize the ranking of all players in Figure 4. Cristiano Ronaldo achieved the highest score in this match with a substantial difference of 0.8 to the second best player, Raphael Guerreiro, who also retrieved the second best grade (2.5) from the kicker magazine.
We first want to investigate Ronaldo's pass play.In the selected match, he has a pass accuracy of 87:5% which is quite impressive for a striker.Robert Lewandowski, in comparison, achieved an average accuracy of 79:25% in season 21/22 of the German Bundesliga, the highest value of all strikers. 39onaldo's average ball carrytime is just 1.32 s indicating a throughout fast decision making.At the same time, Ronaldo has a high pressure rating of 6.8.Because his skills as offensive player are well known, opponents try to prevent his passing game by surrounding him and building up pressure.We can use the parallel coordinates to filter for passes that led to shots on goal shortly after, see Figure 7.The parallel coordinates reveal, that the passes with a high rating in this category also have a high rating in pressure.It indicates that the opponents tried to hinder those more offensive passes.
We now interactively select and analyze the pass with the highest rating for passes until shot (pass 34).It was registered in the first minute of overtime.For the whole game, we observe a quite low expected goal success value of 1:3 for Cristiano Ronaldo.Still, he was able to score 2 out of 4 shots, resulting in a very high expected goals rating of 6.2 and an accuracy of 7.3.In this match, all 4 shots that were targeted toward the goal were within a proximity of 11m from the goal (see Figure 6(a)), which supports the statement that Ronaldo is well known for his ''tap-in'' goals (goals scored from a small distance). 40ext, we investigate the duels in which Ronaldo was involved.Given a value of 7.3, he again is the strongest player according to the overall rating for duels in the selected match.However, he could only win 43% of all duels, which is much lower than his average of 59:1%, achieved at Juventus Turin in season 2020/2021.It is noteworthy that Ronaldo's pressure rating is 9.8 on average and area rating is 9.1, both very close to the maximal possible value.This, most likely, is again due to the opponent pressuring him as much as possible, trying to disturb his play.It is worth mentioning that most of the duels that he could win appear to be in proximity of the opponent's goal, as indicated by the high average area rating.We utilize parallel coordinates to select only duels that were followed by a goal, from which we select the one closest to the goal (area rating 9.5).We visualize the pressure zone which highlights that there are four opponents gathered around him, leading to the pressure rating of 9.1, see Figure 6(b).
In conclusion, the in-detail analysis could highlight some of the strengths in Cristiano Ronaldo's play.He reacts very fast, even under high pressure, indicated by the opponents proximity and the ball carrytime.In the investigated match, he sought the proximity to the goal and could successfully transform half of his shots into a goal.Finally, we would like to refer to the Supplemental Video for a better understanding of the interactions that have been performed to achieve these results.

Toni Kroos
Toni Kroos has been given the nickname ''Querpass-Toni'' in German media, 38 which implies that he majorly plays low-risk horizontal passes with low gain for his team instead of risking vertical or diagonal passes.In the following, we will investigate Kroos' performance to check if his nickname is justified.Here, we take into account all four games of the German national team within the 2020 UEFA European Football Championship.
In a first step, we adapt the weights of the proposed scores to adapt the scores to midfield players like Toni Kroos.In contrast to the analysis of strikers like Ronaldo, passes and duels are more important than shots, which is why we give them five times the weight of shots.Additionally, the passes until shot are considered less important for midfield players than for strikers, which is why we give them less weight than to the other criteria.While the area rating for passes includes information about the distance traversed by the pass, the area rating for duels is mainly formed by the position.Therefore, we also assign less weight to the duel area rating.The final weights for the different scores are visualized in Figure 8.
With an overall score between 4 and 4.7 Toni Kroos achieved a ranking close to the average for each of the four games.However, the individual scores reveal that, for three out of four games, he achieved the highest score in passes among all players.The different ratings for the individual games are shown in Figure 9. High numbers of passes between 65 and 102 passes indicate that he has many ball contacts.One first indicator that might explain the name ''Querpass-Toni'' are the very low ratings for the passes until shot on goal.This rating did not exceed 3.1 for the four games, which indicates that he did not focus on having assists to goals.However, as discussed above, this rating was not considered particularly important for midfielders.On the other hand, we can observe that especially the packing rating as well as the area rating are high, which indicates that he actually tends to play long-distance passes that take out many opponents, which would contradict his nickname.
To analyze this observation in more detail, we investigate the passes further.The parallel coordinates plots in Figure 10 reveal that the tendency to play vertical forward passes strongly depends on the game.While there are relatively few of them in the game against England, a clear trend toward playing vertical forward passes is visible in the game against Hungary, where the number of passes as well as the pass accuracy was also significantly higher.Overall, one can observe that the nickname might be explained by the passing behavior in some games, but is definitely not justified in general.We also observe that Toni Kroos still ranks relatively high when compared to other players, if the weights are adjusted to account for the different aspects that are important for different positions, which indicates that he is generally doing well in all ratings. .User-defined weights for the analysis of midfield players.In general, the importance of shots was considered significantly lower than those of passes and duels.Additionally, the passes until a shot on goal is considered less important than other passing or duels ratings.

Discussion and conclusion
We presented a visual analytics approach for analyzing the performance of soccer players.It is based on a set of objective, data-driven ratings to quantify different aspects of the performance of soccer players.The quantifiable categories are passes, duels, shots and the combination thereof.We embedded the ratings into an interactive visual analytics tool allowing for interactive adjustments of the weights assigned to the ratings, an overview analysis of each of these categories, and detail visualizations for further investigations up to individual events.We demonstrated our system by analyzing the performance of Cristano Ronaldo in the 2020 UEFA European Football Championship and comparing it to ratings by popular magazines as well as studying the passing behavior of Toni Kroos.By analyzing a striker and a midfield player, we showed how our tool can be flexibly adapted to the analysis goals by interactively changing the weights.
Currently, our tool allows the user to identify strengths and weaknesses of a player in a particular match.The general approach could be easily generalized to other team sports, and only single visual encodings need to be adapted, such as the visualization of the pitch.However, several data-driven ratings are specific to soccer, such that specific ratings for other team sports would need to be developed.Generalizing the evaluation of single players to incorporate entire championships is straight forward by aggregating over the games, even though handling all events of an entire championships might become computationally a challenge.It would also be desirable to be able to analyze multiple matches at the same time and how a player's performance varies between them.Currently, a comparison between different matches and players is only supported by juxtaposing different program sessions.We plan to extend our tool to allow for a direct comparative analysis in the future.Moreover, we plan to conduct a user study and reach out to potential users such as coaches or journalists to evaluate and further improve our tool.

Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.

Marina Evers
https://orcid.org/0000-0003-3904-5065 Figure 10.Comparison between the passes of Toni Kroos (Germany) in the game against England (left) and Hungary (right).In both field visualizations, the left goal is that of the German team, while the right goal is that of the opponent.The first observation is that the number of passes in the game against Hungary is higher and closer to the opponent's goal.Moreover, while the passing direction in the game against England is relatively balanced, the passes in the game against Hungary tend to be played in a forward direction as can also be seen in the more dominant orange color.

Figure 1 .
Figure 1.Calculations for the ratings for passes: (a) pressure in passes and shots is modeled by two semicircles, (b) the pressure values are mapped to [0,9] below an elbow threshold and to [9,10] above the threshold, (c) packing is calculated for forward passes by counting the opponents inside the gray rectangle, and (d) Area weights (blue numbers) are multiplied by the fraction of the zone that is traversed by a pass (length of pink lines divided by length of region) to compute area ratings for passes.

Figure 2 .
Figure 2. Calculations for duel and shot ratings: (a) heatmap of area weights for duels, (b) ratings for accuracy of shots where the numbers indicate the rating and the colors show the regions to which the rating is applied, and (c) expected goal success depends on angle a and the distance to the center of the goal d g as independent variables.

Figure 3 .
Figure 3. Overview of pass, duels, shots, and overall ratings for Cristiano Ronaldo in the game against Hungary.The radar charts allow the user to interactively adapt the weights of the individual scores for different analysis tasks.

Figure 4 .
Figure 4. Overall rating of all players in the 2020 UEFA European Football Championship match between Portugal (yellow) and Hungary (green).The selected player (red) Cristiano Ronaldo got the highest score, which agrees with the rating given by the kicker magazine.

Figure 5 .
Figure 5. Detail visualization of all passes of a single player for a selected match.Ball icons mark the start point of the pass, while the colored lines classify defensive (blue), neutral (yellow), and offensive (orange) passes.

Figure 6 .
Figure 6.Selection of Cristiano Ronaldo's shots (left) and duel in the proximity of the opponents goal (right): (a) all shots by Cristiano Ronaldo and (b) high pressure during duel (cross) with four opponents surrounding Cristiano Ronaldo.

Figure 7 .
Figure 7. Parallel coordinates to filter passes with a high rating for passes until shot.We observe that those passes have a relatively high pressure rating.

Figure 8
Figure 8. User-defined weights for the analysis of midfield players.In general, the importance of shots was considered significantly lower than those of passes and duels.Additionally, the passes until a shot on goal is considered less important than other passing or duels ratings.

Figure 9 .
Figure 9. Scores for individual pass ratings of Toni Kroos for the four championship games against Portugal (a), England (b), Hungary (c), and France (d).

Table 1 .
Overview of existing approaches that fulfill some of our tasks T1 to T5 .As we considered visual analysis approaches, task T6 is inherently fulfilled by all listed approaches.