Analyzing athletic performance with data and body posture for personalized prediction of performance

Through the personalized prediction method of dynamic spatial characteristics in the deep learning framework, combining shooting position and body posture information, the refinement and accuracy of the goalkeeper's evaluation method is solved, and the detailed simulation and comparison of the goalkeeper's performance is achieved, providing more detailed evaluation and prediction.

CN119131648APending Publication Date: 2024-12-13STAT LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411122321.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2019-03-01
Filing Date
2020-02-28
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

The existing goalkeeper evaluation method cannot accurately compare the performance of different goalkeepers in different teams and leagues, and it is difficult to predict the success of goalkeepers in specific teams. The traditional measurement is not detailed enough to capture changes in goalkeeper form and data are not detailed enough.

Method used

Using a personalized prediction method of dynamic spatial features in the deep learning framework, a feedforward neural network is used to combine fixed and dynamically updated embedded features to generate a prediction model, and predict the chance of saving shots based on the shooting position, goalkeeper position, body posture and other information. and location, allowing comparison between goalkeepers.

Benefits of technology

Accurate simulation and comparison of goalkeepers in different situations is achieved, providing a more refined evaluation, able to more precisely predict goalkeepers' save possibilities, and helping to estimate goalkeepers' performance in a specific team.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119131648A_ABST
    Figure CN119131648A_ABST
Patent Text Reader

Abstract

A method of generating athlete predictions is disclosed herein. A computing system retrieves data from a data store. A computing system generates a prediction model using an artificial neural network. The artificial neural network generates one or more personalized inserts, the one or more personalized inserts including athlete-specific information based on historical performance. The computing system selects, from the data, one or more features associated with each shot attempt captured in the data. The artificial neural network learns a result of each firing attempt based at least on the one or more personalized inserts and the one or more features associated with each firing attempt.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of application number 202080017533.4, application date 2020.2.28, and application titled “Analyzing athletic performance using data and body posture to make personalized predictions about performance”.

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS

[0003] This application claims priority to U.S. Application Serial No. 62 / 812,387, filed on March 1, 2019, which is incorporated herein by reference in its entirety. Technical Field

[0004] The present disclosure generally relates to systems and methods for generating personalized predictions of athletic performance based on data such as Background Art

[0005] Sports fans and data analysts are increasingly engaging in sports analysis, particularly in attempting to determine whether the outcome of a game or game instance will change based on changes to the players in the game. For example, a typical "Monday morning quarterback" commentator would argue how the outcome of a game could change if, for example, a coach made one or more roster adjustments. Thus, there is an ongoing competition to develop systems that can more accurately predict the outcome of a game instance. Summary of the invention

[0006] Embodiments disclosed herein generally relate to systems and methods for generating shot predictions. In another embodiment, a method for generating athlete predictions is disclosed herein. A computing system retrieves data from a data store. The data includes information for multiple events across multiple seasons. The computing system generates a prediction model using an artificial neural network. The artificial neural network generates one or more personalized embeddings including athlete-specific information based on historical performance. The computing system selects one or more features associated with each shot attempt captured in the data from the data. The artificial neural network learns the result of each shot attempt based on at least one or more personalized embeddings and one or more features associated with each shot attempt. The computing system receives a data set for a target shot attempt. The data set includes at least athletes involved in the target shot attempt and one or more features associated with the target shot attempt. The computing system generates possible results of the shot attempt based on the personalized embeddings of the athletes involved in the target shot attempt and one or more features associated with the target shot attempt via the prediction model.

[0007] In some embodiments, a system for generating athlete predictions is disclosed herein. The system includes a processor and a memory. The memory stores programming instructions, which, when executed by the processor, perform one or more operations. One or more operations include retrieving data from a data store. The data includes information of multiple events across multiple seasons. One or more operations also include generating a prediction model using an artificial neural network by the following steps: generating by an artificial neural network; selecting one or more features associated with each shot attempt captured in the data from the data; and learning the result of each shot attempt by the artificial neural network based on at least one or more personalized embeddings and one or more features associated with each shot attempt. One or more personalized embeddings include athlete-specific information based on historical performance. One or more operations also include receiving a data set for a target shot attempt. The data set includes at least athletes involved in the target shot attempt and one or more features associated with the target shot attempt. One or more operations also include generating possible results of the shot attempt based on the personalized embeddings of the athletes involved in the target shot attempt and one or more features associated with the target shot attempt via the prediction model.

[0008] In another embodiment, a non-transitory computer-readable medium is disclosed herein. The non-transitory computer-readable medium includes one or more instruction sequences, and when the one or more instruction sequences are executed by one or more processors, a computing system performs one or more operations. The computing system retrieves data from a data store. The data includes information of multiple events across multiple seasons. The computing system generates a prediction model using an artificial neural network. The artificial neural network generates one or more personalized embeddings including athlete-specific information based on historical performance. The computing system selects one or more features associated with each shot attempt captured in the data from the data. The artificial neural network learns the result of each shot attempt based on at least one or more personalized embeddings and one or more features associated with each shot attempt. The computing system receives a data set for a target shot attempt. The data set includes at least athletes involved in the target shot attempt and one or more features associated with the target shot attempt. The computing system generates possible results of the shot attempt based on the personalized embeddings of the athletes involved in the target shot attempt and one or more features associated with the target shot attempt via the prediction model. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] In order to be able to understand the above-mentioned features of the present disclosure in detail, the present disclosure briefly summarized above can be described in more detail with reference to embodiments, some of which are shown in the accompanying drawings. However, it should be noted that the accompanying drawings only show typical embodiments of the present disclosure and therefore should not be considered as limiting the scope of the present disclosure, as the present disclosure may allow other equally effective embodiments.

[0010] Figure 1 is a block diagram illustrating a computing environment according to an example embodiment.

[0011] Figure 2 is a block diagram illustrating the structure of an artificial neural network according to an example embodiment.

[0012] Figure 3 is a flow chart illustrating a method of generating a fully trained prediction model according to an example embodiment.

[0013] Figure 4 is a flow chart illustrating a method of generating shot predictions using a fully trained prediction model according to an example embodiment.

[0014] Figure 5A is a flow chart illustrating a method of generating player rankings based on the number of simulated goals conceded, according to an example embodiment.

[0015] Figure 5B is a block diagram illustrating a graphical user interface for player rankings according to an example embodiment.

[0016] Fig. 6A is a flow chart illustrating a method of comparing athletes using a simulation process according to an example embodiment.

[0017] Figure 6B is a block diagram illustrating a graphical user interface for a simulated shot map according to an example embodiment.

[0018] Fig. 7A is a flow chart illustrating a method of comparing player seasons using a simulation process according to an example embodiment.

[0019] Figure 7B is a block diagram illustrating a graphical user interface for a simulated shot map according to an example embodiment.

[0020] Fig. 8A is a block diagram illustrating a computing device according to an example embodiment.

[0021] Figure 8B is a block diagram illustrating a computing device according to an example embodiment.

[0022] To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. It is contemplated that elements disclosed in one embodiment may be beneficially utilized on other embodiments without specific recitation. DETAILED DESCRIPTION

[0023] One or more technologies disclosed herein generally relate to systems and methods for generating goalie predictions. In other words, one or more technologies disclosed herein relate to systems and methods for predicting the likelihood that a goalie will concede a goal or block a shot attempt based on, for example, one or more shot parameters and personalized information about the goalie.

[0024] In the second half of the 2018 Champions League Final between Real Madrid and Liverpool, with Real Madrid leading 2-1, Real Madrid player Gareth Bale aimed a powerful and straight shot at Liverpool goalkeeper Loris Karius from 35 yards out. The ball eventually slipped through Karius's hands, effectively handing Real Madrid their third consecutive title. Liverpool responded immediately to the defeat, with the club buying Brazilian Alisson from AS Roma for £67 million, breaking the world record for a goalkeeper.

[0025] While this transfer triggered a flurry of other high-priced goalkeeper transfers across Europe’s top leagues, driving the cost of goalkeepers to an all-time high, it raises the following questions: 1) How do you compare the performances of different goalkeepers across teams and leagues? and 2) How do you estimate whether a goalkeeper will be successful with a specific team?

[0026] Traditional methods use crude metrics to evaluate goalkeepers, such as "clean sheets", "total goals conceded", or "shots saved to goals conceded" ratio. More recently, traditional systems have implemented "expected metrics" such as expected saves (xS) to compare goalkeeper performance to league averages. However, these methods are problematic because goalkeepers may make different types of saves depending on the style of the team and the opponent they are facing.

[0027] Instead of using a metric that may not capture all different situations and contexts, one or more techniques disclosed herein go beyond the metric by simulating each goalkeeper for each shot and comparing who will concede the most goals. For example, one or more techniques disclosed herein may provide an answer to the following question: If Alisson played for Liverpool last year, how many shots would he have saved / conceded based on the shots Liverpool faced during the season?

[0028] Although the concept may seem simple on its surface, accurately simulating the process of exchanging different goalkeepers for a particular situation is challenging due to several factors, such as but not limited to:

[0029] Lacking a specific example for each goalkeeper: If the goalkeeper faced, for example, a million shots per season, this kind of task would be easier. However, given that each goalkeeper faces an average of 2 to 5 shots on goal per game (around 70-150 shots on goal per season for a 38-game season), a goalkeeper may only face a few shots per position / context, or may not face many shots at all based on who they play for. For example, a goalkeeper who plays for a team that usually defends tight may not face many counterattack shots, or another goalkeeper who plays for a team that is very strong from set pieces may not actually face many shots from set pieces.

[0030] Changes in goalie form: A goalie's form may change over the course of a season and / or career due to injuries, fatigue, age, confidence, improved skills, coaching, etc. Such changes may cause previous examples of goalie saves to no longer be relevant (i.e., examples may not be predictive of current or future performance).

[0031] Data is not granular enough: Observations for each shot may be limited to the x,y position of the host position, x,y goalie position at the time of the shot, and x,y final ball position (and associated player identity). To more accurately predict the likelihood of a goalie saving a shot, body position (i.e., are they crouching, standing straight / unbalanced, with arms wide, forward body position, etc.) would be useful for such analysis.

[0032] To address such challenges, one or more techniques described herein utilize a personalized prediction approach using dynamic spatial features within a deep learning framework. In particular, the techniques described herein can employ a feed-forward neural network with a combination of fixed (e.g., shot location and goalie position) and dynamically updated (e.g., player form, game time, score column, etc.) embeddings and features to predict the chance that a shot will be saved (e.g., expected save), where the shot will be, and rigorously allow interface between goalies to compare performance in the same situation.

[0033] Figure 1 1 is a block diagram illustrating a computing environment 100 according to an example embodiment. The computing environment 100 may include a tracking system 102, an organizational computing system 104, and one or more client devices 108 in communication via a network 105.

[0034] Network 105 can be of any suitable type, including a separate connection via the Internet, such as a cellular or Wi-Fi network. In some embodiments, network 105 can use direct connections to connect terminals, services, and mobile devices, such as radio frequency identification (RFID), near field communication (NFC), Bluetooth, etc. TM , Bluetooth Low Energy TM(BLE), Wi-Fi TM 、ZigBee TM , Ambient Backscatter Communication (ABC) protocol, USB, WAN, or LAN. Because the information transmitted may be personal or confidential, security considerations may indicate that one or more of these types of connections be encrypted or otherwise protected. However, in some embodiments, the information transmitted may not be very personal, and therefore, a network connection may be selected for convenience rather than security.

[0035] The network 105 may include any type of computer network arrangement for exchanging data or information. For example, the network 105 may be the Internet, a private data network, a virtual private network using a public network, and / or other suitable connections that enable components in the computing environment 100 to send and receive information between components of the environment 100.

[0036] Tracking system 102 can be located in place 106. For example, place 106 can be configured to hold a sports event including one or more agents 112. Tracking system 102 can be configured to record the movement of all agents (i.e., athletes) on the game surface, as well as one or more other related objects (e.g., balls, referees, etc.). In some embodiments, tracking system 102 can be an optical-based system using, for example, multiple fixed cameras. For example, a system of six fixed, calibrated cameras can be used, which project the three-dimensional positions of athletes and balls onto a two-dimensional top view of a court. In some embodiments, tracking system 102 can be a radio-based system using, for example, a radio frequency identification (RFID) tag worn by an athlete or embedded in an object to be tracked. Typically, tracking system 102 can be configured to sample and record at a high frame rate (e.g., 25 Hz). Tracking system 102 can be configured to store the athlete identity and position information (e.g., (x, y) position) of all agents and objects on the game surface for at least each frame in game file 110.

[0037] The game file 110 may be augmented with other game information corresponding to the game data, such as, but not limited to, game event information (passes, shots, turnovers, etc.) and background information (current score, time remaining, etc.).

[0038] Tracking system 102 may be configured to communicate with organization computing system 104 via network 105. Organization computing system 104 may be configured to manage and analyze data captured by tracking system 102. Organization computing system 104 may include at least web client application server 114, preprocessing engine 116, data storage 118, and score prediction agent 120. Each of preprocessing engine 116 and shot prediction engine 120 may include one or more software modules. One or more software modules may be a collection of codes or instructions stored on a medium (e.g., a memory of organization computing system 104), and the collection of codes or instructions represents a series of machine instructions (e.g., program code) that implement one or more algorithm steps. Such machine instructions may be actual computer codes that are interpreted by a processor of organization computing system 104 to implement instructions, or alternatively, may be higher-level encodings of instructions that are interpreted to obtain actual computer codes. One or more software modules may also include one or more hardware components. One or more aspects of the example algorithm may be performed by hardware components (e.g., circuits) themselves, rather than as a result of instructions.

[0039] The data store 118 may be configured to store one or more game files 124. Each game file 124 may include spatial event data and non-spatial event data. For example, the spatial event data may correspond to raw data captured by the tracking system 102 from a particular game or event. The non-spatial event data may correspond to one or more variables describing an event that occurred in a particular competition without associated spatial information. For example, the non-spatial event data may include each shot attempt in a particular competition. In some embodiments, the non-spatial event data may be derived from the spatial event data. For example, the preprocessing engine 116 may be configured to parse the spatial event data to derive the shot attempt information. In some embodiments, the non-spatial event data may be derived independently of the spatial event data. For example, an administrator or entity associated with an organizational computing system may analyze each competition to generate such non-spatial event data. In this way, for the purposes of this application, event data may correspond to spatial event data and non-spatial event data.

[0040] In some embodiments, each game file 124 may further include the current score at each time t during the game, the location where the game is played, the roster of each team, the playing time of each team, and statistics associated with each team and each player.

[0041] The pre-processing agent 116 may be configured to process the data retrieved from the data store 118. For example, the pre-processing agent 116 may be configured to generate one or more information sets that may be used to train one or more neural networks associated with the score prediction agent 120. The pre-processing agent 116 may scan each of the one or more game files stored in the data store 118 to identify one or more statistics corresponding to each specified data set, and generate each data set accordingly. For example, the pre-processing agent 116 may scan each of the one or more game files in the data store 118 to identify one or more shots attempted in each game, and identify one or more coordinates associated with the shots (e.g., shot start coordinates, end position coordinates, goalie start position coordinates, etc.).

[0042] Score prediction agent 120 can be configured to generate " personalized prediction " of the result of specific score event.In certain embodiments, sports event can be defined as the score attempt during the process of sports event.Exemplary score event can include but not limited to basketball shot attempt, penalty attempt, touchdown pass attempt, touchdown rush attempt, shooting attempt, hockey shot attempt, hockey penalty shot attempt, baseball batting, football shot attempt, football penalty attempt, golf putter attempt, golf swing attempt etc.Although the following discussion focuses on the specific example related to football, it can be easily understood by those skilled in the art that such operation can be extended to one or more score events in any type of sports event.In certain embodiments, score prediction agent 120 can be configured to generate the prediction result of shot based on shot start position (x, y), shot end position (x, y, z), goalkeeper start position (x, y), game time, halftime, score, place, athlete identity (such as goalkeeper identity), one or more manual geometric features and body posture information at least one or more. Thus, the score prediction agent 120 can generate predictions for shots based on one or more fixed variables and one or more dynamically updated embeddings and features to predict the chance that a shot will be saved, where the shot will be saved, etc. In some embodiments, the score prediction agent 120 can be configured to strictly allow the interchange of goalkeepers to compare performances if given the same situation (i.e., the same shot attempt). Further, in some embodiments, the score prediction agent 120 can be configured to allow analysis of a given goalkeeper over his career.

[0043] The score prediction agent 120 may include an artificial neural network 126 and a body posture agent 128. The artificial neural network 126 may be configured to predict whether a given shot will be successfully defended (i.e., no goal) or unsuccessfully defended (i.e., a goal) for which agents are in the game (e.g., on the field) at a given time. For example, the neural network module 220 may be configured to learn how to predict the outcome of a given shot based on, for example, one or more of a shot starting position (x, y), a shot ending position (x, y, z), a goalie starting position (x, y), a game time, a half, a score, a location, a player identity (e.g., a goalie identity), one or more handcrafted geometric features, and body posture information.

[0044] Body posture agent 128 can be configured to generate one or more metrics related to the body posture of at least one or more of the goalkeeper and the shooter of a given shot. In certain embodiments, body posture agent 128 can generate body posture information based on the event data captured by tracking system 102. In certain embodiments, body posture agent 128 can generate body posture information according to the broadcast stream provided by a broadcast provider. Body posture agent 128 can identify, for example, the shooter starting position and angle, running type (for example, pause and speed), shooting start (for example, body tilt angle, upper body angle, hip direction, kick arm position, shoulder alignment, etc.) etc. In addition, the original position of the body position in the 2D or 3D displayed as a skeleton can be used to detect and associate specific key actions in sports.

[0045] Client devices 108 may communicate with the organization computing system 104 via the network 105. The client devices 108 may be operated by users. For example, the client devices 108 may be mobile devices, tablet computers, desktop computers, or any computing system having the capabilities described herein. Users may include, but are not limited to, individuals such as subscribers, clients, prospective clients, or customers of an entity associated with the organization computing system 104, such as individuals who have obtained, will obtain, or may obtain products, services, or consulting from an entity associated with the organization computing system 104.

[0046] The client device 108 may include at least an application 126. The application 126 may represent a web browser or a standalone application that allows access to a website. The client device 108 may access the application 126 to access one or more functions of the organization computing system 104. The client device 108 may communicate over the network 105 to request a web page, for example, from a web client application server 114 of the organization computing system 104. For example, the client device 108 may be configured to execute the application 126 to access content managed by the web client application server 114. The content displayed to the client device 108 may be transmitted from the web client application server 114 to the client device 108 and then processed by the application 126 to be displayed through a graphical user interface (GUI) of the client device 108.

[0047] Figure 2 2 is a block diagram illustrating an artificial neural network (ANN) structure 200 according to an example embodiment. The ANN structure 200 may represent the artificial neural network 126.

[0048] The ANN structure 200 may represent a four-layer feedforward neural network. As shown in the figure, the ANN structure 200 may include an input layer 202, a first hidden layer 206, a second hidden layer 208, and an output layer 210.

[0049] Input layer 202 may represent one or more inputs 2041-2045 (generally "inputs 204") provided to artificial neural network 126. For example, input 2041 may point to a shot start location, input 2042 may correspond to a goalie position, input 2043 may correspond to a score, time, and shot end location, input 2044 may correspond to a dynamic goalie embedding, and input 2045 may correspond to body pose information.

[0050] In some embodiments, to train and test the artificial network 126, one or more inputs 204 in the input layer 202 may be selected from data from three seasons (e.g., 2016-2018) from 54 different leagues / competitions around the world, wherein the data has approximately 150,000 (e.g., 45,000 goals, 105,000 saves) shot samples faced by more than 2,000 goalkeepers. The information may be split into a training set and a test set (e.g., 80% / 20%, respectively).

[0051] The size of the first hidden layer 206 may be 12. For example, the first hidden layer The first hidden layer 206 may use a rectified linear unit (ReLu) activation function. The size of the second hidden layer 208 may be 8. For example, the second hidden layer The second hidden layer 208 may be implemented using a ReLu activation function.

[0052] The output layer 208 can be configured to generate output predictions. For example, the output layer 208 can be configured to output "goal" or "save" as possible options for each corresponding shot. The output layer 208 can be implemented with a sigmoid activation function.

[0053] Figure 3 is a flow chart illustrating a method 300 of generating a fully trained prediction model according to an example embodiment. The method 300 may begin at step 302 .

[0054] At step 302, the score prediction agent 120 can retrieve event data for multiple scoring attempts (e.g., field goal attempts in soccer) across multiple games. For example, the score prediction agent 120 can retrieve spatial event data from the data store 118. The spatial event data can capture each touch of the ball with x, y coordinates and timestamps, as well as non-spatial event data, i.e., one or more variables describing one or more events without associated spatial information. In some embodiments, the pre-processing agent 112 can be configured to parse the retrieved event data to identify one or more portions of the event data including the field goal attempts. For example, the pre-processing agent 112 can extract one or more portions from the event data so that only event data corresponding to the field goal attempts are included therein.

[0055] At step 304, the scoring prediction agent 120 may generate a first data set corresponding to the scoring attempt start position. For example, the scoring prediction agent 120 may parse one or more event data sets retrieved from the data store 118 to identify the shot start position for each shot identified therein. In some embodiments, the shot start position information may include x, y data coordinates. In some embodiments, the shot start position information may include x, y, z data coordinates. For example, additional contextual features such as, but not limited to, a head shot, or a left or right foot on the ground or in the air (e.g., a volley).

[0056] At step 306, the score prediction agent 120 may generate a second data set corresponding to the player positions. For example, the score prediction agent 120 may parse the one or more game data sets retrieved from the data store 118 to identify the goalie position corresponding to each shot identified therein. In some embodiments, the score prediction agent 120 may associate the identified goalie position with the corresponding starting shot position.

[0057] At step 308, the score prediction agent 120 may generate a third data set corresponding to the score, time, and shot information. For example, the score prediction agent 120 may parse one or more event data sets retrieved from the data store 118 to identify, for each shot, the time at which the shot occurred, the score at which the shot occurred, the half of the field at which the shot occurred, the location at which the shot occurred, and one or more geometric features. Such geometric features may include, but are not limited to, forward and goalie angles and distances to the center of the goal and to each other.

[0058] At step 310, the score prediction agent 120 can generate a fourth data set corresponding to one or more player embeddings. For example, one or more goalie embeddings can convert the learning process from learning the habits of general, ordinary goalies to learning the habits of each designated goalie. In other words, in order to make the prediction more personalized, the score prediction agent 120 can capture the identity of the goalie for each shot. For each goalie, the score prediction agent 120 can be configured to generate a spatial descriptor of the goalie, thereby capturing the impact of the goalie on the shot result. This spatial descriptor can contain a large amount of information about the strength and weakness of the goalie. For example, one or more spatial descriptors can include but are not limited to: zero goal percentage, winning percentage, the save percentage of the shot ending at the middle, left and right third of the goal, the save percentage of the shot directly to the goalie or to the right or left of the goalie, etc. These spatial descriptors can be dynamic in nature. In this way, spatial descriptors can be generated on the season level and the x game rolling window average (e.g., 10 games) to capture the hot and cold streak of the goalie.

[0059] In some embodiments, the method 300 may further include step 312. At step 312, the score prediction agent 120 may generate a fifth data set corresponding to the player body posture information. For example, the body posture agent 128 may be configured to generate body posture information for each forward and goalie pair in the event data.

[0060] Usually, in European football matches, penalty kicks are considered to be the most controlled scoring situations. Penalty kicks are usually favorable to forwards, and only 30% of penalty kicks are saved by goalkeepers. In certain embodiments, in order to determine the difference between goalkeepers, score prediction agent 120 can surpass event data to use more detailed body posture data. Such body posture data can include but not limited to shooter starting position and angle, running type (for example, pause and speed), shooting start (for example, body tilt angle, upper body angle, hip direction, kick arm position, shoulder alignment, etc.) etc.

[0061] At step 314, the score prediction agent 120 may be configured to learn whether each scoring attempt is successful based on the data set. For example, the score prediction agent 120 may be configured to train the artificial neural network 126 using the first to fifth data sets to predict whether the goalkeeper will block or allow a shot. Because the score prediction agent 120 considers one or more goalkeeper embeddings, the score prediction agent 120 may be configured to train the artificial neural network 126 on a more refined basis. For example, the artificial neural network 126 may be trained to output different predictions based on one or more spatial descriptors of a given goalkeeper, rather than providing a determination based on a common goalkeeper.

[0062] At step 316, the score prediction agent 120 may output a fully trained model. For example, the score prediction agent 120 may output a fully trained model configured to receive shot attempt information and determine whether a particular goalie will concede a goal or block a shot attempt.

[0063] Figure 4 4 is a flow chart illustrating a method 400 for generating shot predictions using a fully trained prediction model according to an example embodiment. The method 400 may begin at step 402 .

[0064] At step 402, the score prediction agent 120 may receive game data for a given game. For example, the score prediction agent 120 may receive pre-shot information for a shot attempt for a particular goalie. In some embodiments, the score prediction agent 120 may receive the game data from the tracking system 102. In some embodiments, the score prediction agent 120 may receive the game data from the client device 108. For example, a user may request, via the application 132, a prediction for a given shot in a given game.

[0065] At step 404, the score prediction agent 120 may extract one or more parameters associated with the shot from the game data. For example, the score prediction agent 120 may be configured to generate one or more input values ​​for the artificial neural network 126 by selectively extracting one or more parameters associated with the shot. In some embodiments, the one or more parameters may include, but are not limited to, one or more of the following: shot location (x, y) coordinates, goalie location (x, y, z) coordinates, current time of the game, current score of the game, location, one or more manual geometric features, shooter starting position and angle, run type (e.g., pause and speed), etc.

[0066] At step 406, the score prediction agent 120 may identify the goalie defending the shot. For example, the score prediction agent 120 may parse the game data for a given game and identify a specific goalie defending the shot received from the forward.

[0067] At step 408, the score prediction agent 120 may generate an identity value for the goalkeeper. In some embodiments, the score prediction agent 120 may generate an identity value for the goalkeeper based on one or more embeddings generated during the training / testing phase of the artificial neural network 126. For example, the score prediction agent 120 may utilize the same or similar spatial descriptors of the goalkeepers used during the training / testing phase. This may allow the artificial neural network to recognize a particular goalkeeper.

[0068] At step 410, the score prediction agent 120 may predict whether the shot attempt will be successful or unsuccessful. In other words, the score prediction agent 120 may predict whether the goalie will miss the ball or block the shot attempt. The score prediction agent 120 may use the artificial neural network 126 to predict the outcome of the shot attempt. For example, the score prediction agent 120 may provide the extracted one or more parameters associated with the shot attempt and the identity information of the goalie as input to the artificial neural network 126. The score prediction agent 120 may generate a predicted outcome of the shot attempt (i.e., a goal or a no goal) as an output.

[0069] Figure 5A is a flow chart illustrating a method 500 for generating goalkeeper rankings based on the number of simulated goals conceded, according to an example embodiment. The method 500 may begin at step 502 .

[0070] At step 502, the score prediction agent 120 may identify a set of goals within a period of time t, for example, the score prediction agent 120 may receive a request to generate goalkeeper rankings across a period of time t from the client device 108 via the application 132. In some embodiments, t may represent a number of competitions, a full season, multiple seasons, etc. In some embodiments, a user may limit the request to a specific league (e.g., English Premier League, MLS, Bundeshiga, etc.).

[0071] At step 504, score prediction agent 120 can simulate the number of common goalkeepers who will lose the ball / stop the goal during time t based on the goal set identified. For example, score prediction agent 120 can identify one or more parameters associated with each shot. Such parameters can include but are not limited to shot start position information (for example, x, y data coordinates), goalkeeper position (for example, x, y, z data coordinates), the time when a shot occurs, the score of the shot, the half court of the shot, the place where the shot occurs, the striker and the goalkeeper angle, the distance to the center of the goal and the distance between each other, and body posture data can include but are not limited to shooter starting position and angle, running type (for example, pause and speed), shot start (for example, body tilt angle, upper body angle, hip direction, kick arm position, shoulder alignment, etc.) etc.

[0072] At step 506, the score prediction agent 120 may identify a target goalie. In some embodiments, the score prediction agent 120 may loop through all available goalies in all leagues. In some embodiments, the score prediction agent 120 may loop through all available goalies that have defended a threshold number of goals (e.g., at least 60 times) defended. In some embodiments, a user may specify a set of goalies to be ranked via the application 132.

[0073] At step 508, the score prediction agent 120 may generate one or more embeddings of the target goalkeeper. For example, the score prediction agent 120 may inject the personalized descriptor of the goalkeeper into the extracted parameters. In some embodiments, the score prediction agent 120 may iteratively inject one or more embeddings of each goalkeeper for analysis into the extracted parameters. By injecting one or more personalized embeddings into a data set for simulating the number of goals scored by an average goalkeeper, the score prediction agent 120 may generate a data set that can be used to analyze the performance of each goalkeeper relative to the average goalkeeper.

[0074] In step 510, the score prediction agent 120 can simulate the number of goals that the target goalkeeper will miss / block based on the identified goal set during time t and one or more embeddings of the target goalkeeper. For example, the score prediction agent 120 can simulate the number of goals based on the personalized descriptor of the goalkeeper, the shooting start position information (e.g., x, y data coordinates), the goalkeeper position (e.g., x, y, z data coordinates), the time when the shot occurs, the score at which the shot occurs, the half court at which the shot occurs, the location at which the shot occurs, the striker and the goalkeeper angle, the distance to the center of the goal and the distance between each other, and the body posture data can include but is not limited to the shooter starting position and angle, the running type (e.g., pause and speed), the shooting start (e.g., body tilt angle, upper body angle, hip direction, kick arm position, shoulder alignment, etc.), etc. In other words, the score prediction agent 120 can utilize the same parameters and one or more embeddings used in step 506 above.

[0075] At step 512, the score prediction agent 120 may output a graphical representation of the goalkeeper rankings. One or more goalkeepers may be ranked based on the number of goals / goals stopped relative to an average goalkeeper. In some embodiments, this may be determined by subtracting the output generated in step 508 from the output generated in step 504. For example, for each goalkeeper, the score prediction agent 120 may process the output generated in step 512 (i.e., the goalkeeper specific output) based on the output generated in step 506 (i.e., the average goalkeeper output) to generate a goal + / - value. In some embodiments, the graphical representation may be a list that ranks each goalkeeper. In some embodiments, the graphical representation may be a chart that ranks each goalkeeper. Figure 5B Discuss exemplary graphical representations.

[0076] Figure 5B 550 is a block diagram showing an exemplary graphical user interface 550 according to an example embodiment. GUI 550 can include a graphical representation of a goalkeeper dynamic embedding cluster. For example, as previously described, because the dynamic embedding feature captures the difference between the goalkeepers, it should be possible to see a significant separation in the data set, and more specifically, it should be seen that the elite shot finishers in a cluster 552 and the bad shot finishers in another cluster 554. In some embodiments, due to the high dimensionality of embedding, the score prediction agent 120 can apply t-distributed random neighbor embedding (t-SNE) multidimensional descent technology to identify one or more clusters (e.g., cluster 552 and cluster 554). As shown, the goalkeeper with the highest score is included in the top cluster (i.e., cluster 552), and the goalkeeper with the lowest score is included in the bottom cluster (i.e., cluster 554).

[0077] Fig. 6A6 is a flow chart illustrating a method 600 for comparing goalkeepers using a simulation process according to an example embodiment. The method 600 may begin at step 602 .

[0078] At step 602, the score prediction agent 120 may identify a first goalie and a second goalie. In some embodiments, the score prediction agent 120 may receive a request to compare the second goalie to the first goalie from the client device 108 via the application 132. For example, the score prediction agent 120 may receive a request to generate a more personalized goal allowed prediction by looking at how the second goalie would perform in place of the first goalie.

[0079] At step 604, the score prediction agent 120 may retrieve data corresponding to one or more goals defended by the first goalie. For example, the score prediction agent 120 may retrieve one or more parameters associated with one or more goals defended by the first goalie within a selected time period t, where t may represent a single shot attempt, a single game, a set of games, a single season, multiple seasons, a career, etc. Such parameters may include, but are not limited to, shot start position information (e.g., x, y data coordinates), goalie position (e.g., x, y, z data coordinates), time at which the shot occurred, score at which the shot occurred, half of the field at which the shot occurred, location at which the shot occurred, striker and goalie angles, distance to the center of the goal and distance to each other, and body posture data may include, but are not limited to, shooter start position and angle, run type (e.g., pause and speed), shot initiation (e.g., body tilt angle, upper body angle, hip direction, kicking arm position, shoulder alignment, etc.), etc.

[0080] At step 606, the score prediction agent 120 may generate one or more embeddings for the second goalkeeper. For example, the score prediction agent 120 may inject the personalized descriptor of the second goalkeeper into the extracted parameters. By injecting one or more personalized embeddings into the data set corresponding to one or more goals defended by the first goalkeeper, the score prediction agent 120 effectively swaps the goalkeeper identities to simulate how the second goalkeeper would respond to one or more goals faced by the first goalkeeper.

[0081] At step 608, the score prediction agent 120 can simulate the number of goals that the second goalkeeper will miss / stop based on the set of goals identified during time t and one or more embeddings of the second goalkeeper. For example, the score prediction agent 120 can simulate the number of goals based on the second goalkeeper's personalized descriptor, shot start position information (e.g., x, y data coordinates), goalkeeper position (e.g., x, y, z data coordinates), the time when the shot occurred, the score when the shot occurred, the half-court when the shot occurred, the location where the shot occurred, the striker and goalkeeper angles, the distance to the center of the goal and the distance between each other, and the body posture data can include but is not limited to the shooter starting position and angle, running type (e.g., pause and speed), shot start (e.g., body tilt angle, upper body angle, hip direction, kicking arm position, shoulder alignment, etc.), etc.

[0082] At step 610, the score prediction agent 120 may output a graphical representation comparing the second goalie to the first goalie. In some embodiments, the score prediction agent 120 may output a graphical representation on a shot-by-shot basis. For example, the score prediction agent 120 may generate a shot simulation chart showing the number of goals conceded by the second goalie relative to the first goalie. Figure 6B Discuss exemplary graphical representations.

[0083] Example

[0084] To demonstrate the ability of the score prediction agent 120 in simulating goalkeeper skills, each goalkeeper who faced more than 60 goals from Europe’s “top five leagues” in the 2017 / 2018 season was simulated by swapping the goalkeeper’s dynamic embedding. The results are as follows.

[0085] Top 10 goalkeepers

[0086]

[0087]

[0088] Table 1: The last 10 goalkeepers

[0089]

[0090] Table 2

[0091] Figure 6B6 is a block diagram of a graphical user interface 650 showing a simulated shot map 652 according to an example embodiment. As shown, the simulated shot map 652 may show an analysis of goals defended by Liverpool goalkeepers Loris Karius and Simon Mignolet, and how Alisson would have performed on the same shot. This analysis may be performed, for example, by exchanging identities (i.e., spatial descriptors), using the above combined Fig. 6A 652 is performed by one or more operations discussed. In some embodiments, the simulated shot map 652 can be a weighted two-dimensional Gaussian distribution for whether Liverpool lost a goal in the 2017 / 2018 season. Each shot can be weighted by the difference in the expected saves between the goalkeepers. The first color shows where Alisson increased the chance of saving a shot, and shows where Karius / Mignolet increased the chance of saving a shot. As shown, no part of the simulated shot map 652 is a second color. Therefore, considering each shot, if Alisson plays for Liverpool in the 2017 / 2018 season, they may expect to lose seven fewer balls.

[0092] Fig. 7A 7 is a flow chart illustrating a method 700 for comparing goalie seasons using a simulation process according to an exemplary embodiment. The method 700 may begin at step 702.

[0093] At step 702, the score prediction agent 120 may identify a target goalie. In some embodiments, the score prediction agent 120 may receive a request from the client device 108 via the application 132 to compare the target goalie in his or her current form with the goalie's previous form. In other words, the score prediction agent 120 may receive a request to analyze the goalie's behavior to determine whether the goalie has improved over the course of a career, season, span of games, etc.

[0094] At step 704, the score prediction agent 120 retrieves data corresponding to one or more goals defended by the goalie in the first span. For example, the score prediction agent 120 may retrieve one or more parameters associated with one or more goals defended by the target goalie in the first time span t, where t may represent a single shot attempt, a single game, a set of games, a single season, multiple seasons, etc. Such parameters may include, but are not limited to, shot start position information (e.g., x, y data coordinates), goalie position (e.g., x, y, z data coordinates), time at which the shot occurred, score at which the shot occurred, half of the field at which the shot occurred, location at which the shot occurred, striker and goalie angles, distance to the center of the goal and distance to each other, and body posture data may include, but are not limited to, shooter start position and angle, run type (e.g., pause and speed), shot initiation (e.g., body tilt angle, upper body angle, hip direction, kicking arm position, shoulder alignment, etc.), etc.

[0095] At step 706, the score prediction agent 120 can generate one or more embeddings corresponding to the target goalkeeper based on the second time span, wherein the second time span is different from the first time span. For example, the score prediction agent 120 can inject the personalized descriptor of the second goalkeeper into the extracted parameters based on the second time space. By injecting one or more personalized embeddings into the data set corresponding to one or more goals defended by the first goalkeeper, the score prediction agent 120 effectively exchanges the goalkeeper identity to simulate how the target goalkeeper will deal with one or more goals faced by the target goalkeeper in the form represented during the second time span. Because the dynamic characteristics of the goalkeeper embedding can change with seasons, games, etc., this operation is possible.

[0096] At step 708, the score prediction agent 120 can simulate the number of goals that the target goalkeeper will concede / stop in the form represented in the second time span based on the set of goals identified during the first time span and one or more embeddings of the target goalkeeper generated using the goalkeeper data in the second time span. For example, the score prediction agent 120 can simulate the number of goals based on the personalized descriptor of the second goalkeeper in the second time span, the shot start position information (e.g., x, y data coordinates), the goalkeeper position (e.g., x, y, z data coordinates), the time when the shot occurred, the score when the shot occurred, the half field when the shot occurred, the location where the shot occurred, the striker and goalkeeper angles, the distance to the center of the goal and the distance between each other, and the body posture data can include but is not limited to the shooter starting position and angle, the running type (e.g., pause and speed), the shot start (e.g., body tilt angle, upper body angle, hip direction, kicking arm position, shoulder alignment, etc.), etc.

[0097] At step 710, the score prediction agent 120 may output a graphical representation comparing the performance of the target goalie. In some embodiments, the score prediction agent 120 may output a graphical representation on a shot-by-shot basis. For example, the score prediction agent 120 may generate a shot simulation graph that shows the number of goals conceded by the target second goalie if the goalie was in the form represented in the second time span. Figure 7B Discuss exemplary graphical representations.

[0098] Figure 7B 7 is a block diagram of a graphical user interface 750 showing a simulated shot map 752 according to an example embodiment. As described in Table 2 above, Joe Hart is one of the worst performing goalkeepers in the top five leagues in the 2017-18 season. Fig. 7A One or more operations discussed, the score prediction agent 120 can determine whether the ranking is permanent or changes over time. As previously mentioned, because the embedding can be dynamic in nature, the score prediction agent 120 can measure how the goalkeeper changes, for example, between seasons. The simulated shot map 150 shows the performance of Joe Hart in the 2018-19 season compared with the shot attempts defended by Joe Hart in the 2017-18 season. In some embodiments, the simulated shot map 752 can be a weighted two-dimensional Gaussian distribution. Each shot can be weighted by the difference in expected saves between Joe Hart in the 2018-19 season and Joe Hart in the 2017-18 season. The first color (e.g., gray) shows that Joe Hart in the 2018-19 season has increased the chance of saving shots, and the second color, for example, shows that Joe Hart in the 2017-2018 season has increased the chance of saving shots. As shown, any part of the simulated shot map 652 is not the second color. So, taking each shot into account, if it was the 2018-19 Joe Hart instead of the 2017-18 Joe Hart who played for West Ham in the 2017 / 2018 season, they could expect to concede eight fewer goals.

[0099] Fig. 8AA system bus computing system architecture 800 is shown according to an example embodiment. The system 800 may represent at least a portion of an organization computing system 104. One or more components of the system 800 may communicate electrically with each other using a bus 805. The system 800 may include a processing unit (CPU or processor) 810 and a system bus 805, which couples various system components including a system memory 815 such as a read-only memory (ROM) 820 and a random access memory (RAM) 825 to the processor 810. The system 800 may include a cache of high-speed memory that is directly connected to the processor 810, in close proximity to the processor 810, or integrated as part of the processor 810. The system 800 may copy data from a memory 815 and / or a storage device 830 to a cache 812 for quick access by the processor 810. In this way, the cache 812 may provide a performance boost that avoids delays in the processor 810 when waiting for data. These and other modules may control or be configured to control the processor 810 to perform various actions. Other system memories 815 may also be used. Memory 815 may include a variety of different types of memory with different performance characteristics. Processor 810 may include any general purpose processor and hardware modules or software modules, such as service 1 832, service 2 834, and service 3 836 stored in storage device 830, configured to control processor 810 as well as special purpose processors, where software instructions are incorporated into the actual processor design. Processor 810 may essentially be a completely independent computing system, including multiple cores or processors, buses, memory controllers, caches, etc. Multi-core processors may be symmetric or asymmetric.

[0100] In order to enable the user to interact with the computing device 800, the input device 845 can represent any number of input mechanisms, such as a microphone for voice, a touch-sensitive screen for gesture or graphic input, a keyboard, a mouse, motion input, voice, etc. The output device 835 can also be one or more of a variety of output mechanisms known to those skilled in the art. In some instances, a multimodal system can enable a user to provide multiple types of input to communicate with the computing device 800. The communication interface 840 can generally govern and manage user input and system output. There is no restriction on the operation on any particular hardware arrangement, so the basic features here can be easily replaced with improved hardware or firmware arrangements developed.

[0101] The storage device 830 may be a non-volatile memory and may be a hard disk or other type of computer-readable medium that can store data accessible by a computer, such as a magnetic tape cartridge, a flash memory card, a solid-state memory device, a digital versatile disk, a cassette, a random access memory (RAM) 825, a read-only memory (ROM) 820, and mixtures thereof.

[0102] The storage device 830 may include services 832, 834, and 836 for controlling the processor 810. Other hardware or software modules are contemplated. The storage device 830 may be connected to the system bus 805. In one aspect, a hardware module that performs a particular function may include a software component stored in a computer-readable medium that interfaces with the necessary hardware components, such as the processor 810, the bus 805, the display 835, etc., to perform the function.

[0103] Figure 8B A computer system 850 having a chipset architecture is shown, which can represent at least a portion of an organization computing system 104. The computer system 850 can be an example of computer hardware, software, and firmware that can be used to implement the disclosed technology. The system 850 can include a processor 855, which represents any number of physically and / or logically different resources capable of executing software, firmware, and hardware configured to execute the identified computing instructions. The processor 855 can communicate with a chipset 860, which can control input to the processor 855 and output from the processor 855. In this example, the chipset 860 outputs information to an output 865 such as a display, and can read and write information to a storage device 870, which can include, for example, magnetic media and solid-state media. The chipset 860 can also read data from and write data to a RAM 875. A bridge 880 for interfacing with various user interface components 885 can be provided to interface with the chipset 860. Such user interface components 885 may include a keyboard, a microphone, touch detection and processing circuitry, a pointing device such as a mouse, etc. In general, input to the system 850 may come from any of a variety of sources, whether machine-generated and / or human-generated.

[0104] Chipset 860 may also interface with one or more communication interfaces 890, which may have different physical interfaces. Such communication interfaces may include interfaces for wired and wireless local area networks, for broadband wireless networks, and personal area networks. Some applications of the methods for generating, displaying, and using the GUI disclosed herein may include receiving an ordered data set through a physical interface, or generated by the machine itself by analyzing data stored in storage device 870 or 875 by processor 855. In addition, the machine may receive input from a user through user interface component 885, and perform appropriate functions, such as browsing functions, by interpreting these inputs using processor 855.

[0105] It will be appreciated that example systems 800 and 850 may have more than one processor 810 or may be part of a group or cluster of computing devices networked together to provide greater processing capabilities.

[0106] Although the foregoing is directed to the embodiments described herein, other and additional embodiments may be devised without departing from the basic scope of this document. For example, aspects of the present disclosure may be implemented in hardware or software or a combination of hardware and software. One embodiment described herein may be implemented as a program product for use with a computer system. The (one or more) programs of the program product define the functionality of the embodiments (including the methods described herein) and may be contained on various computer-readable storage media. Exemplary computer-readable storage media include, but are not limited to: (i) a non-writable storage medium on which information is permanently stored (e.g., a read-only memory (ROM) device within a computer, such as a CD-ROM disk, flash memory, ROM chip, or any type of solid-state non-volatile memory that can be read by a CD-ROM drive); and (ii) a writable storage medium on which changeable information is stored (e.g., a floppy disk or hard disk drive within a disk drive or any type of solid-state random access memory). Such a computer-readable storage medium is an embodiment of the present disclosure when carrying computer-readable instructions that direct the functionality of the disclosed embodiments.

[0107] Those skilled in the art will appreciate that the foregoing examples are illustrative and not restrictive. After reading the specification and studying the drawings, it is intended that all permutations, enhancements, equivalents, and improvements that are obvious to those skilled in the art will be included in the true spirit and scope of this disclosure. Therefore, the appended claims are intended to include all such modifications, permutations, and equivalents that fall within the true spirit and scope of these teachings.

Claims

1. A method comprising: receiving, by a computing system, tracking data for an athletic event between a first team and a second team; identifying, by the computing system, a scoring attempt in the tracking data for the athletic event; Determining, by the computing system, a set of players involved in the scoring attempt, the set of players comprising a defensive player defending the scoring attempt and an offensive player initiating the scoring attempt; identifying, by the computing system, a personalized embedding corresponding to the defensive player; extracting, by the computing system, one or more features associated with the scoring attempt, the one or more features comprising a first set of position coordinates corresponding to a starting position of the offensive player initiating the scoring attempt, and a second set of position coordinates corresponding to a starting position of the defensive player when the offensive player initiated the scoring attempt; and Based on the personalized embedding of the defensive player and the one or more features associated with the scoring attempt, a likely outcome of the scoring attempt is predicted by the computing system.

2. The method according to claim 1, wherein: Extracting, by the computing system, one or more features related to the scoring attempt includes: One or more geometric features corresponding to the scoring attempt are identified based on the one or more features, the one or more geometric features including one or more of: an angle between a corresponding offensive player and a corresponding goalkeeper, a first distance from the corresponding offensive player to a center of a goal, or a second distance from the corresponding goalkeeper to the center of the goal.

3. The method according to claim 1, wherein: Extracting, by the computing system, one or more features related to the scoring attempt includes: Body posture information of the offensive player initiating the scoring attempt is identified based on the one or more features.

4. The method according to claim 1, further comprising: identifying, by the computing system, a second defensive player; and A second possible outcome of the scoring attempt by the second defensive player replacing the defensive player is predicted by the computing system.

5. The method according to claim 4, further comprising: A graphical representation is generated, by the computing system, comparing the possible outcome of the scoring attempt with the defensive player to the second possible outcome of the scoring attempt with the second defensive player.

6. The method according to claim 1, further comprising: identifying, by the computing system, a second offensive player; and A second possible outcome of the scoring attempt by the second offensive player in place of the offensive player is predicted by the computing system.

7. The method according to claim 6, further comprising: A graphical representation is generated by the computing system, the graphical representation comparing the possible outcome of the scoring attempt with the offensive player to the second possible outcome of the scoring attempt with the second offensive player.

8. A non-transitory computer readable medium comprising one or more sequences of instructions which, when executed by a processor, cause a computing system to perform operations comprising: receiving, by the computing system, tracking data for an athletic event between a first team and a second team; identifying, by the computing system, a scoring attempt in the tracking data for the athletic event; Determining, by the computing system, a set of players involved in the scoring attempt, the set of players comprising a defensive player defending the scoring attempt and an offensive player initiating the scoring attempt; identifying, by the computing system, a personalized embedding corresponding to the defensive player; extracting, by the computing system, one or more features associated with the scoring attempt, the one or more features comprising a first set of position coordinates corresponding to a starting position of the offensive player initiating the scoring attempt, and a second set of position coordinates corresponding to a starting position of the defensive player when the offensive player initiated the scoring attempt; and Based on the personalized embedding of the defensive player and the one or more features associated with the scoring attempt, a likely outcome of the scoring attempt is predicted by the computing system.

9. The non-transitory computer readable medium of claim 8, wherein: Extracting, by the computing system, one or more features related to the scoring attempt includes: One or more geometric features corresponding to the scoring attempt are identified based on the one or more features, the one or more geometric features including one or more of: an angle between a corresponding offensive player and a corresponding goalkeeper, a first distance from the corresponding offensive player to a center of a goal, or a second distance from the corresponding goalkeeper to the center of the goal.

10. The non-transitory computer readable medium of claim 8, wherein: Extracting, by the computing system, one or more features related to the scoring attempt includes: Body posture information of the offensive player initiating the scoring attempt is identified based on the one or more features.

11. The non-transitory computer-readable medium of claim 8, further comprising: identifying, by the computing system, a second defensive player; and A second possible outcome of the scoring attempt by the second defensive player replacing the defensive player is predicted by the computing system.

12. The non-transitory computer readable medium of claim 11 , further comprising: A graphical representation is generated, by the computing system, comparing the possible outcome of the scoring attempt with the defensive player to the second possible outcome of the scoring attempt with the second defensive player.

13. The non-transitory computer-readable medium of claim 8, further comprising: identifying, by the computing system, a second offensive player; and A second possible outcome of the scoring attempt by the second offensive player in place of the offensive player is predicted by the computing system.

14. The non-transitory computer readable medium of claim 13, further comprising: A graphical representation is generated by the computing system, the graphical representation comparing the possible outcome of the scoring attempt with the offensive player to the second possible outcome of the scoring attempt with the second offensive player.

15. A system comprising: processor; as well as A memory having programming instructions stored thereon, wherein the programming instructions, when executed by the processor, cause the system to perform operations including: receiving tracking data for an athletic event between a first team and a second team; identifying a scoring attempt in the tracking data for the athletic event; Determining a set of players involved in the scoring attempt, the set of players including a defensive player defending the scoring attempt and an offensive player initiating the scoring attempt; identifying a personalized embedding corresponding to the defensive player; extracting one or more features associated with the scoring attempt, the one or more features comprising a first set of position coordinates corresponding to a starting position of the offensive player initiating the scoring attempt, and a second set of position coordinates corresponding to a starting position of the defensive player when the offensive player initiated the scoring attempt; and Based on the personalized embedding of the defensive player and the one or more features associated with the scoring attempt, a likely outcome of the scoring attempt is predicted.

16. The system of claim 15, wherein: Extracting one or more features related to the scoring attempt includes: One or more geometric features corresponding to the scoring attempt are identified based on the one or more features, the one or more geometric features including one or more of: an angle between a corresponding offensive player and a corresponding goalkeeper, a first distance from the corresponding offensive player to a center of a goal, or a second distance from the corresponding goalkeeper to the center of the goal.

17. The system of claim 15, wherein: Extracting one or more features related to the scoring attempt includes: Body posture information of the offensive player initiating the scoring attempt is identified based on the one or more features.

18. The system of claim 15, wherein the operations further comprise: Identify the second defender; and A second possible outcome of the scoring attempt by the second defensive player in place of the defensive player is predicted.

19. The system of claim 18, wherein the operations further comprise: A graphical representation is generated that compares the possible outcome of the scoring attempt with the defensive player to the second possible outcome of the scoring attempt with the second defensive player.

20. The system of claim 15, wherein the operations further comprise: Identify the second offensive player; and A second possible outcome of the scoring attempt by the second offensive player in place of the offensive player is predicted.