US20230256318A1 - System and Method for Live Counter-Factual Analysis in Tennis - Google Patents
System and Method for Live Counter-Factual Analysis in Tennis Download PDFInfo
- Publication number
- US20230256318A1 US20230256318A1 US18/168,381 US202318168381A US2023256318A1 US 20230256318 A1 US20230256318 A1 US 20230256318A1 US 202318168381 A US202318168381 A US 202318168381A US 2023256318 A1 US2023256318 A1 US 2023256318A1
- Authority
- US
- United States
- Prior art keywords
- player
- match
- computing system
- current
- outcome
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 28
- 230000015654 memory Effects 0.000 claims description 20
- 230000000694 effects Effects 0.000 claims description 5
- 239000003795 chemical substances by application Substances 0.000 description 28
- 238000007781 pre-processing Methods 0.000 description 25
- 230000008520 organization Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000007621 cluster analysis Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 241000984945 Simona Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000004927 clay Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000003760 hair shine Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B71/00—Games or sports accessories not covered in groups A63B1/00 - A63B69/00
- A63B71/06—Indicating or scoring devices for games or players, or for other sports activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0062—Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
- G06V20/42—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items of sport video content
Definitions
- the present disclosure generally relates to a system and method of live counter-factual analysis in tennis.
- a computing system identifies data related to a tennis match between a first player and a second player.
- the data includes a current match state and a current in-match performance.
- the computing system generates an input data set that includes the data related to the tennis match.
- the generating includes modifying the current match state to assume that the first player will win a next point in the tennis match.
- the computing system Based on the input data set, the computing system measures an importance of the next point to the first player winning the tennis match by predicting, by the computing system, a first outcome of a current game based on the input data set, predicting, by the computing system, a second outcome of a current set based on the input data set and the predicted first outcome of the current game, predicting, by the computing system, a third outcome of the tennis match based on the input data set, the predicted first outcome of the current game, and the predicted second outcome of the current set.
- a non-transitory computer readable medium includes one or more sequences of instructions, which, when executed by a processor, causes a computing system to perform operations.
- the operations include identifying, by the computing system, data related to a tennis match between a first player and a second player.
- the data includes a current match state and a current in-match performance.
- the operations further include generating, by the computing system, an input data set that includes the data related to the tennis match. The generating includes modifying the current match state to assume that the first player will win a next point in the tennis match.
- the operations include, based on the input data set, measuring, by the computing system, an importance of the next point to the first player winning the tennis match by predicting, by the computing system, a first outcome of a current game based on the input data set, predicting, by the computing system, a second outcome of a current set based on the input data set and the predicted first outcome of the current game, and predicting, by the computing system, a third outcome of the tennis match based on the input data set, the predicted first outcome of the current game, and the predicted second outcome of the current set.
- a system in some embodiments, includes a processor and a memory.
- the memory has programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations.
- the operations include identifying data related to a tennis match between a first player and a second player.
- the data includes a current match state and a current in-match performance.
- the operations further include generating an input data set that includes the data related to the tennis match. The generating includes modifying the current match state to assume that the first player will win a next point in the tennis match.
- the operations include, based on the input data set, measuring an importance of the next point to the first player winning the tennis match by predicting a first outcome of a current game based on the input data set, predicting a second outcome of a current set based on the input data set and the predicted first outcome of the current game, and predicting a third outcome of the tennis match based on the input data set, the predicted first outcome of the current game, and the predicted second outcome of the current set.
- FIG. 1 is a block diagram illustrating a computing environment, according to example embodiments.
- FIG. 2 is a block diagram illustrating predictive models of the prediction module of FIG. 1 , according to example embodiments.
- FIG. 3 is a flow diagram illustrating a method of determining a player's leverage in a tennis match, according to example embodiments.
- FIG. 4 is a flow diagram illustrating a method of determining a player's momentum in a tennis match, according to example embodiments.
- FIG. 5 is a chart illustrating player momentum during a match between two players, according to example embodiments.
- FIG. 6 is a chart illustrating a key momentum swing at a critical point during a match, according to example embodiments.
- FIG. 7 is a chart illustrating season-level performance of several players, according to example embodiments.
- FIG. 8 is a chart illustrating a cluster analysis of all players in the World Tennis Association (WTA), according to example embodiments.
- WTA World Tennis Association
- FIG. 9 illustrates one or more graphical outputs, according to example embodiments.
- FIG. 10 illustrates one or more graphical outputs, according to example embodiments.
- FIG. 11 A illustrates one or more graphical outputs, according to example embodiments.
- FIG. 11 B illustrates one or more graphical outputs, according to example embodiments.
- FIG. 12 A illustrates an architecture of a computing system, according to example embodiments.
- FIG. 12 B illustrates a computer system having a chipset architecture, according to example embodiments.
- a recent trend in machine learning is to utilize interpretable techniques such as counter-factual analysis to explain predictions of individual events.
- interpretable techniques such as counter-factual analysis to explain predictions of individual events.
- Such techniques are powerful in sports where it can be used to answer the impact of a play or event on the overall outcome of the match by framing it as a “what-if” question, where two predictions are conducted—the first based on one outcome, and the second on the alternative outcome. The differences in the prediction output may then be compared.
- a key-moment could also include other points, which may depend on the relative strengths of the players as well as what has occurred already during the match (e.g., if a player is much stronger than another player, an early break point to the weaker player may not be important.)
- one or more techniques described herein provide a counter-factual method for tennis that first automatically highlights the key moments in a match using “leverage”, “clutch,” and “momentum” metrics, which may be created by chaining counter-factual predictions which capture the importance of a point contributing to a player winning the set and/or match, or the likelihood of a comeback.
- the present approach highlight important moments before they occur in an automatic fashion (and not based on a pre-canned notion of what are important points such as break points), it can also link player behaviors at a season level which shines a light on their tendencies in key moments.
- FIG. 1 is a block diagram illustrating a computing environment 100 , according to example embodiments.
- Computing environment 100 may include tracking system 102 , organization computing system 104 , and one or more client devices 108 communicating via network 105 .
- Network 105 may be of any suitable type, including individual connections via the Internet, such as cellular or Wi-Fi networks.
- network 105 may connect terminals, services, and mobile devices using direct connections, such as radio frequency identification (RFID), near-field communication (NFC), BluetoothTM, low-energy BluetoothTM (BLE), Wi-FiTM ZigBeeTM, ambient backscatter communication (ABC) protocols, USB, WAN, or LAN.
- RFID radio frequency identification
- NFC near-field communication
- BLE low-energy BluetoothTM
- Wi-FiTM ZigBeeTM wireless local area network
- ABS ambient backscatter communication
- Network 105 may include any type of computer networking arrangement used to exchange data or information.
- network 105 may be the Internet, a private data network, virtual private network using a public network and/or other suitable connection(s) that enables components in computing environment 100 to send and receive information between the components of environment 100 .
- Tracking system 102 may be positioned in a venue 106 .
- venue 106 may be configured to host a sporting event that includes one or more agents 112 .
- Tracking system 102 may be configured to capture the motions of all agents (i.e., players) on the playing surface, as well as one or more other objects of relevance (e.g., ball, referees, etc.).
- tracking system 102 may be an optically-based system using, for example, a plurality of fixed cameras. For example, a system of six stationary, calibrated cameras, which project the three-dimensional locations of players and the ball onto a two-dimensional overhead view of the court may be used.
- a mix of stationary and non-stationary cameras may be used to capture motions of all agents on the playing surface as well as one or more objects or relevance.
- utilization of such tracking system e.g., tracking system 102
- tracking system 102 may be used for a broadcast feed of a given match.
- each frame of the broadcast feed may be stored in a game file 110 .
- game file 110 may further be augmented with other event information corresponding to event data, such as, but not limited to, game event information (fault, serve, ace, point, break point, game point, set point, etc.) and context information (game score, set score, match score, server, etc.).
- game event information fault, serve, ace, point, break point, game point, set point, etc.
- context information game score, set score, match score, server, etc.
- Tracking system 102 may be configured to communicate with organization computing system 104 via network 105 .
- organization computing system 104 may receive, for example, data that may include human generated event data (providing organization computing system 104 with point by point information, or giving shot location information for every shot (or just the first and last shot)).
- the data may be received from an in-venue tracking system, such as tracking system 102 .
- the data may be provided from a broadcast tracking system.
- Organization computing system 104 may be configured to utilize counter-factual predictions to identify key points within a tennis match.
- Organization computing system 104 may include at least a web client application server 114 , a pre-processing agent 116 , data store 118 , a prediction module 120 , and an analytics module 122 .
- Each of pre-processing agent 116 , prediction module 120 , and analytics module 122 may be comprised of one or more software modules.
- the one or more software modules may be collections of code or instructions stored on a media (e.g., memory of organization computing system 104 ) that represent a series of machine instructions (e.g., program code) that implements one or more algorithmic steps.
- Such machine instructions may be the actual computer code the processor of organization computing system 104 interprets to implement the instructions or, alternatively, may be a higher level of coding of the instructions that is interpreted to obtain the actual computer code.
- the one or more software modules may also include one or more hardware components. One or more aspects of an example algorithm may be performed by the hardware components (e.g., circuitry) itself, rather as a result of the instructions.
- Data store 118 may be configured to store one or more game files 125 .
- Each game file 125 may include data related to a given match.
- a game file may include video data that includes a plurality of video frames captured by tracking system 102 .
- the video data may correspond to broadcast data of a given match, in which case, the video data may correspond to a plurality of video frames of the broadcast feed of a given match.
- each game file 125 may include event data related to a given match.
- event data may refer to data that describes the various actions that take place during the match.
- Exemplary events or actions may include, but is not limited to, who serves, who defends, faults, points, break-points, match-points, and the like.
- Pre-processing agent 116 may be configured to process data retrieved from data store 118 .
- pre-processing agent 116 may be configured to generate game files 125 stored in data store 118 .
- pre-processing agent 116 may be configured to generate a game file 125 based on data captured by tracking system 102 .
- pre-processing agent 116 may further be configured to store tracking data associated with each game in a respective game file 125 . Tracking data may refer to the (x, y) coordinates of all players and balls on the playing surface during the game.
- pre-processing agent 116 may receive tracking data directly from tracking system 102 .
- pre-processing agent 116 may derive tracking data from the broadcast feed of the game.
- pre-processing agent 116 may be configured to receive play-by-play data from one or more third party systems. For example, pre-processing agent 116 may receive a play-by-play feed corresponding to the broadcast video data. In some embodiments, the play-by-play data may be representative of human generated data based on events occurring within the game. Such play-by-play data may be stored in a corresponding game file 125 .
- Prediction module 120 may be configured to generate predictions for both the actual outcome of a point, game, set, and/or match and an alternative outcome of a point, game, set, and/or match.
- tennis is a hierarchical game where winning points leads to winning games; winning games leads to winning sets; and winning sets leads to winning the match.
- the problem of predicting the winner of the next point, game, set, and match may be formulated as a multi-output model.
- Prediction module 120 may include four models that may be chained together to generate predictions on the point, game, set, and match levels. For example, the predicted point winner will affect the predicted game winner, which will affect the predicted set winner, which will affect the predicted match winner.
- Each model may generate a prediction in the order specified by the chain using all input features plus the prediction of the earlier model in the chain.
- prediction module 120 may further include a second suite of models trained to predict the final game, final set, and final match score.
- counter-factual analysis may be made possible by adapting the current features to an alternative future outcome. For example, what is the likelihood of winning the next point, next game, next set, and next match if the player of interest wins or loses the current point.
- Such analysis requires both very fast feature generation, model inference, and subsequent logic, which is notably absent from conventional counter-factual analysis systems.
- prediction module 120 may perform a counter-factual analysis by looking one step into the future of the match. Instead of merely predicting the winner at the current point, prediction module 120 may be trained to predict the most likely winner in the case that the next point ended in a win or loss of a player by using pre-processing agent 116 to update the current feature vectors and re-running prediction module 120 .
- Analytics module 122 may be configured to analyze the predictions generated by prediction module 120 . For example, with the score and winner predictions of the two next match states, analytics module 122 may be configured to answer what-if questions before the actual point is played out. For example, before a break point is played, analytics module 122 may already tell how likely it will be that the player seekingng the break will be able to win the set, reach a tiebreak, or win a tiebreak, which enables predictive analysis before the point of interest occurs.
- a current short coming in tennis analytics is that most of the metrics are static and only related to predefined key moments. If, for example, a key insight is delivered which falls outside of the pre-defined templates, it is often reported in hindsight. Using a more specific example, after 10 points, it may be reported that a player has won 7 out of the last 10 points. Based on this criterium, this may be construed as the player gaining momentum. Although it is fine as a coarse barometer of short term match dominance, it will miss a lot of important moments as it is missing match (and player specific) contextual information.
- Analytics module 122 may be configured to identify hand-crafted metrics (e.g., leverage, momentum, and clutch) based on the predictions generated by prediction module 120 .
- prediction module 120 may include leverage model 130 , momentum model 132 , and clutch model 134 .
- Leverage model 130 may be configured to measure the importance of a particular point, play, or portion of a sporting event. Leverage may be defined as measuring the magnitude of how the win probability will change as a result of either winning or losing the point. For example, using the counter-factual prediction framework of prediction module 120 , leverage model 130 may determine leverage by using the current game-context and then adding the future state of a player winning or losing the next point and measuring the difference between the two. This allows leverage model 130 to objectively measure the importance of a point, which may take into consideration the current match context and the relative player strength.
- Momentum model 132 may be configured to measure a momentum of a player or a team at a particular point in a game. In some embodiments, momentum model 132 may be configured to estimate the current momentum of a player, multiple players, or a team based on output from leverage model 130 players.
- Momentum may be defined as an exponentially weighted moving average of the leverage gained by a player. Mathematically, momentum may be represented as:
- ⁇ represents a smoothing factor
- y t represents the momentum at point t.
- ⁇ 0.33; however, in some embodiments, ⁇ may be greater than or less than 0.33.
- momentum model 132 may generate or measure a momentum of a player or a team based the leverage information.
- Clutch model 134 may be configured to measure a clutchness of player, player, or team. Clutch may be defined as an important point in the match where winning or losing the point has a significant effect on the current match win probability. In some embodiments, a point may be referred to as clutch when its leverage exceeds 10%.
- Break points are by definition important, as a player cannot win a set without a break. The more break points a player wins, the more dominant the player is given that the player holds server. Game points on a player's own serve are considered less important than break points but more important than all other points because the player is only one point away from winning the game. In the present case, the importance of winning this point for winning the match in the end may be ignored. As a result, key points cannot be pre-defined and are heavily contextual. Therefore, a metric is needed which can capture the in-game context to highlight the key points before those points are played. These points may be referred to as “clutch points.” Accordingly, clutch model 134 may be configured to generate clutch points based on, for example, the momentum determined by momentum model 132 .
- organization computing system 104 may include output module 126 .
- Output module 126 may be configured to generate one or more outputs that illustrate outputs generated by prediction module 120 and/or analytics module 122 .
- output module 126 may generate an output that illustrates the evolution of win probabilities of both players in a match from the beginning of the match.
- Client device 108 may be in communication with organization computing system 104 via network 105 .
- Client device 108 may be operated by a user.
- client device 108 may be a mobile device, a tablet, a desktop computer, a set-top box, a streaming player, or any computing system capable of receiving, rendering, and presenting video data to the user.
- Users may include, but are not limited to, individuals such as, for example, subscribers, clients, prospective clients, or customers of an entity associated with organization computing system 104 , such as individuals who have obtained, will obtain, or may obtain a product, service, or consultation from an entity associated with organization computing system 104 .
- Client device 108 may include at least application 128 .
- Application 128 may be representative of a web browser that allows access to a web site or a stand-alone application.
- Client device 108 may access application 128 to access one or more functionalities of organization computing system 104 .
- Client device 108 may communicate over network 105 to request a webpage, for example, from web client application server 114 of organization computing system 104 .
- client device 108 may be configured to execute application 128 to access one or more predictions generated by prediction module 120 and/or analytics generated by analytics module 122 .
- the content that is displayed to client device 108 may be transmitted from web client application server 114 to client device 108 , and subsequently processed by application 128 for display through a graphical user interface (GUI) of client device 108 .
- GUI graphical user interface
- FIG. 2 is a block diagram illustrating the predictive models of prediction module 120 , according to example embodiments.
- prediction module 120 may include point winner model 202 , game winner model 204 , set winner model 206 , and match winner model 208 .
- each of point winner model 202 , game winner model 204 , set winner model 206 , and match winner model 208 may take the form of a gradient boosting tree model.
- Point winner model 202 may be configured to predict whether a player will win the next point based on various inputs 212 .
- inputs 212 may include court type 220 (e.g., grass, clay, hard), pre-match odds 222 , and match state 224 (e.g., current game and set score), in-match statistics 226 (e.g., difference in points won, games won, breaks won in the current game, set, and match, serve percentages, return percentages, etc.).
- Such inputs 212 may be generated by pre-processing agent 116 .
- Point winner model 202 may be trained to predict the outcome of the next point based on inputs 212 .
- the output from point winner model 202 may be a point-win probability 228 , which provides a probability of the player winning the next point.
- Game winner model 204 may be configured to predict whether the player will win the current game and/or the next game based on various inputs 214 .
- inputs 214 may be similar to inputs 212 .
- inputs 214 may similarly include court type 220 , pre-match odds 222 , match state 224 , and in-match statistics 226 .
- inputs 214 may also include the output from point winner model 202 , i.e., point-win probability 228 .
- Such inputs 214 may be generated by pre-processing agent 116 .
- Game winner model 204 may be trained to predict the outcome of the game based on inputs 214 .
- the output from game winner model 204 may be a game-win probability 230 , which provides a probability of the player winning the game.
- Set winner model 206 may be configured to predict whether the player will win the current set and/or the next set based on various inputs 216 .
- inputs 216 may be similar to inputs 214 .
- inputs 216 may similarly include court type 220 , pre-match odds 222 , match state 224 , and in-match statistics 226 .
- set winner model 206 is downstream of point winner model 202 and game winner model 204 in the chain of models, inputs 216 may also include the output from point winner model 202 , i.e., point-win probability 228 , and the output from game winner model 204 , i.e., game-win probability 230 .
- Such inputs 214 may be generated by pre-processing agent 116 .
- Set winner model 206 may be trained to predict the outcome of the set based on inputs 216 .
- the output from set winner model 206 may be a set-win probability 232 , which provides a probability of the player winning the set.
- Match winner model 208 may be configured to predict whether the player will win the current match and/or the next match based on various inputs 218 .
- inputs 218 may be similar to inputs 216 .
- inputs 218 may similarly include court type 220 , pre-match odds 222 , match state 224 , and in-match statistics 226 .
- inputs 218 may also include the output from point winner model 202 , i.e., point-win probability 228 , the output from game winner model 204 , i.e., game-win probability 230 , and the output from set winner model 206 , i.e., set-win probability 232 .
- Such inputs 218 may be generated by pre-processing agent 116 .
- Match winner model 208 may be trained to predict the outcome of the set based on inputs 218 .
- the output from match winner model 208 may be a match-win probability 234 , which provides a probability of the player winning the match.
- prediction module 120 may generate outputs 210 .
- Outputs 210 may include point-win probability 228 , game-win probability 230 , set-win probability 232 , and match-win probability 234 .
- pre-processing agent 116 may make an assumption regarding the outcome of a point and may provide that assumption as part of inputs 212 - 218 . For example, assume first that pre-processing agent 116 makes an assumption that Player A will win the current point. Pre-processing agent 116 may update inputs 212 - 218 with that assumption and prediction module 120 may generate outputs 210 based on the assumption that Player A will win the current point. Next, pre-processing agent 116 may make an assumption that Player B will lose the current point.
- Pre-processing agent 116 may update inputs 212 - 218 with that assumption and prediction module 120 may generate outputs 210 based on the assumption that Player B will win the current point. Such outputs may allow for analytics module 122 to perform a counter-factual analysis.
- FIG. 3 is a flow diagram illustrating a method 300 of determining a player's leverage in a tennis match, according to example embodiments.
- Method 300 may begin at step 302 .
- organization computing system 104 may identify data related to a tennis match between a first player and a second player.
- the data may include a current match state.
- the current match state may include information such as, but not limited to, current game and set score.
- the data may further include player strength information.
- the data may include a relative strength of the first player and a relative strength of the second player. In some embodiments, the relative strength may be reflective of each player's ranking in the tournament or league.
- organization computing system 104 may generate an input data set based on the identified data and current match state.
- pre-processing agent 116 may generate an input data set that includes the current match state (e.g., current game score, current set score, etc.) and relative strength of each player.
- pre-processing agent 116 may modify the current match state. For example, pre-processing agent 116 may modify the current match state by assuming the first player (or the second player) will win a next point.
- organization computing system 104 may predict an outcome of the tennis match based on the input data set and the modified match state.
- pre-processing agent 116 may provide the input data set, as input, to prediction module 120 .
- Prediction module 120 may use the input data set and modified match state to predict a game winner using game winner model 204 .
- prediction module 120 may use output from the game winner model 204 to generate a set winner prediction using set winner model 206 .
- prediction module 120 may use output from set winner model 206 to generate a predicted match winner using match winner model 208 .
- prediction module 120 may use the input data set and modified match state to predict the first player's game win probability, set-win probability, and match-win probability if the first player wins the next point, as stipulated.
- pre-processing agent 116 may modify the current match state to assume the first player will win the next set.
- organization computing system 104 may measure an importance of the next point.
- analytics module 122 may generate an importance of the first player winning the next point to the first player winning the current set.
- analytics module 122 may generate an importance of the first player winning the next point to the first player winning the current game.
- analytics module 122 may generate an importance of the first player winning the next point to the first player winning the match.
- leverage model 130 may generate a player's leverage for the next point. The player's leverage may be defined as the magnitude of how the win probability (e.g., game, set, or match) will change as a result of the first player winning the next point (or losing the next point).
- method 300 may include step 310 .
- organization computing system 104 may determine a clutchness value of the next point.
- clutch model 134 may analyze the player's leverage generated in step 308 to determine whether the next point has a significant effect on the current win probability (e.g., game, set, or match). For example, if clutch model 134 determines that the player's leverage for the next point exceeds a threshold percentage (e.g., 10%), then clutch model 134 may determine that the next point is a clutch point. The more clutch points a player wins, the more clutch that player may be considered.
- a threshold percentage e.g. 10%
- FIG. 4 is a flow diagram illustrating a method 400 of determining a player's momentum in a tennis match, according to example embodiments.
- Method 400 may begin at step 402 .
- organization computing system 104 may identify a set of points in a tennis match between the first player and the second player.
- analytics module 122 may identify a set of t points up to time t.
- organization computing system 104 may determine a gained leverage of the first player over the set of points. For example, for each point in the set of t points, analytics module 122 may generate a leverage based on the techniques discussed above in conjunction with FIG. 3 . As output, analytics module 122 may generate a set of gained leverages [x 0 , x 1 , . . . x t ] over the last t points.
- organization computing system 104 may generate a momentum of the first player based on the gained leverages.
- momentum model 132 may generate an exponentially weighted moving average of the leverage gained by the player.
- the exponentially weighted moving average may represent or capture the momentum of the first player. Mathematically, this may be expressed as:
- FIG. 5 is a chart 500 illustrating player momentum during a match between two players, according to example embodiments.
- Chart 500 may include a top section 502 and a bottom section 504 .
- Top section 502 may illustrate a counting of the consecutive points won;
- bottom section 504 may illustrate the contextually weighted estimate using counter-factual predictions generated by analytics module 122 .
- a positive value may indicate that Wang won more than give out of the last ten points and a negative value may favor Vekic. As shown, a negative value may favor Vekic.
- Highlighted in chart 500 is the point when Wang went on a run and wins 10 points in a row to win the second set 6-3 and is up 1-0 in the final third set.
- FIG. 6 is a chart 600 illustrating a key momentum swing at a critical point during a match, according to example embodiments.
- chart 600 captures what is considered a strong momentum swing.
- analytics module 122 may identify the momentum change looking back 8-12 points. If, for example, a threshold of 3% was reached, and there was a zero crossing and the threshold was reached for the other player, analytics module 122 may conclude that the momentum changed. Using this trigger, analytics module 122 can also report on other interesting insights, such as the points won metric in this interval and also what prediction module 120 thinks who will win the next point.
- FIG. 7 is a chart 700 illustrating season-level performance of several players, according to example embodiments.
- analytics module 122 may further be able to capture the season-long behaviors of players, which can describe their emerging behaviors. Given the leverage, momentum and clutch metrics on a point-level, analytics module 122 can aggregate these metrics to generate insights into the season-level performance of players. Often player performance is measured in how many points a player was able to win, how many break points a player created or conceded and how many of these she converted. Again, as break points are all weighted equally this does not tell the whole story. The foregoing definition of clutch points may be used by analytics module 122 to find, for example, the player who handled these important points the best.
- Chart 700 illustrates the individual performance of the top five ranked players at the end of 2019 in terms of points won and clutch points won 2019.
- the world number one player, Ashleigh Barty did not have the highest points won percentage (52.85%) but she did win 55.36% (+2.51%) of all her clutch points, which made her the strongest clutch player in 2019.
- Simona Halep performed equally well in terms of points won percentage (52.54%) but only won 49.62% ( ⁇ 2.92%) of her clutch points.
- FIG. 8 is a chart 800 illustrating a cluster analysis of all players in the 2022 World Tennis Association (WTA), according to example embodiments.
- Chart 800 may provide an indication of which players in the WTA were most clutch in 2022. As shown, chart 800 may illustrate a comparison between those players that were most clutch and those players that were in the top 10 rankings.
- WTA World Tennis Association
- This analysis could also provide an indication of future emerging stars who played clutch points well but did not finish the year or are not currently in the Top 10.
- having a low number of clutch points in a match or season can be a strong indication of dominance.
- a player has a match with many clutch points, that is a strong indicator of an exciting match which can be used as a barometer to draw viewers' attention during the game live, or highlight as a must re-watch game.
- FIG. 9 illustrates a graphical output 900 , according to example embodiments.
- graphical output 900 may include a representation of a match between two players.
- Graphical output 900 may include a win probability portion 902 , a timeline 904 , and a match summary 906 .
- Win probability portion 902 may graphically represent each player's win probability over the course of a game.
- win probability portion 902 may include outputs generated by analytics module 122 .
- win probability portion 902 may include one or more indicators 908 and one or more indicators 910 .
- Indicators 908 may correspond to changes in momentum, as determined by momentum model 132 .
- Indicators 910 may correspond to clutch points, as determined by clutch model 134 .
- Timeline 904 may include events that occur during the course of an event.
- timeline 904 may include indicators of clutch points and momentum.
- graphical output 900 may be updated to include a video corresponding to the key moment. For example, as shown, for the clutch point on the serve for Marie Bouzkova, if a user clicks on the corresponding event in timeline 904 , output module 126 may provide the user with a video corresponding to that serve.
- FIG. 10 illustrates a graphical output 1000 , according to example embodiments.
- graphical output 1000 may be representative of the win probability for each player in a tennis match.
- graphical output 1000 may include indicator 1002 and indicator 1004 .
- Each of indicator 1002 and indicators 1004 may correspond to more exciting portions of the match.
- indicator 1002 may correspond to a break point failure.
- indicator 1004 may indicate a set up for a breakpoint.
- FIG. 11 A illustrates a graphical output 1100 , according to example embodiments.
- graphical output 1100 may take the form of an overlay on a broadcast video stream 1102 .
- graphical output 1100 may indicate a momentum shift between the two players of a tennis match.
- FIG. 11 B illustrates a graphical output 1150 , according to example embodiments.
- graphical output 1150 may take the form of an overlay on broadcast video stream 1102 .
- graphical output 1150 may include a current win probability of each player in the tennis match.
- output module 126 may be configured to generate various graphical representations. For example, output module 126 may be configured to generate graphical representations that depict or include information regarding the current win probabilities, clutch moments, or momentum of the players. In some embodiments, output module 126 may be configured to generate graphical representations that include non-artificial intelligence driven metrics. For example, output module 126 may generate graphical representations that include information such as forehand winner, backhand winner, and the like. Such graphical representations may be visually displayed over a current video feed of the match.
- output module 126 may generate these graphical representations responsive to certain trigger events. For example, if analytics model 122 determines that a moment in the match was a key moment in the match, output module 126 may be triggered to generate a graphical representation that includes a description of the importance of the next point. Similarly, if a moment in the match changes the current win probability of a player or momentum of a player, output module 126 may be triggered to generate a graphical representation that includes a description of this change.
- FIG. 12 A illustrates an architecture of computing system 1200 , according to example embodiments.
- System 1200 may be representative of at least a portion of organization computing system 104 .
- One or more components of system 1200 may be in electrical communication with each other using a bus 1205 .
- System 1200 may include a processing unit (CPU or processor) 1210 and a system bus 1205 that couples various system components including the system memory 1215 , such as read only memory (ROM) 1220 and random access memory (RAM) 1225 , to processor 1210 .
- System 1200 may include a cache of high-speed memory connected directly with, in close proximity to, or integrated as part of processor 1210 .
- System 1200 may copy data from memory 1215 and/or storage device 1230 to cache 1212 for quick access by processor 1210 .
- cache 1212 may provide a performance boost that avoids processor 1210 delays while waiting for data.
- These and other modules may control or be configured to control processor 1210 to perform various actions.
- Other system memory 1215 may be available for use as well.
- Memory 1215 may include multiple different types of memory with different performance characteristics.
- Processor 1210 may include any general purpose processor and a hardware module or software module, such as service 1 1232 , service 2 1234 , and service 3 1236 stored in storage device 1230 , configured to control processor 1210 as well as a special-purpose processor where software instructions are incorporated into the actual processor design.
- Processor 1210 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc.
- a multi-core processor may be symmetric or asymmetric.
- an input device 1245 may represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth.
- An output device 1235 (e.g., display) may also be one or more of a number of output mechanisms known to those of skill in the art.
- multimodal systems may enable a user to provide multiple types of input to communicate with computing system 1200 .
- Communications interface 1240 may generally govern and manage the user input and system output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.
- Storage device 1230 may be a non-volatile memory and may be a hard disk or other types of computer readable media which may store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs) 1225 , read only memory (ROM) 1220 , and hybrids thereof.
- RAMs random access memories
- ROM read only memory
- Storage device 1230 may include services 1232 , 1234 , and 1236 for controlling the processor 1210 .
- Other hardware or software modules are contemplated.
- Storage device 1230 may be connected to system bus 1205 .
- a hardware module that performs a particular function may include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as processor 1210 , bus 1205 , output device 1235 , and so forth, to carry out the function.
- FIG. 12 B illustrates a computer system 1250 having a chipset architecture that may represent at least a portion of organization computing system 104 .
- Computer system 1250 may be an example of computer hardware, software, and firmware that may be used to implement the disclosed technology.
- System 1250 may include a processor 1255 , representative of any number of physically and/or logically distinct resources capable of executing software, firmware, and hardware configured to perform identified computations.
- Processor 1255 may communicate with a chipset 1260 that may control input to and output from processor 1255 .
- chipset 1260 outputs information to output 1265 , such as a display, and may read and write information to storage device 1270 , which may include magnetic media, and solid-state media, for example.
- Chipset 1260 may also read data from and write data to RAM 1275 .
- a bridge 1280 for interfacing with a variety of user interface components 1285 may be provided for interfacing with chipset 1260 .
- Such user interface components 1285 may include a keyboard, a microphone, touch detection and processing circuitry, a pointing device, such as a mouse, and so on.
- inputs to system 1250 may come from any of a variety of sources, machine generated and/or human generated.
- Chipset 1260 may also interface with one or more communication interfaces 1290 that may have different physical interfaces.
- Such communication interfaces may include interfaces for wired and wireless local area networks, for broadband wireless networks, as well as personal area networks.
- Some applications of the methods for generating, displaying, and using the GUI disclosed herein may include receiving ordered datasets over the physical interface or be generated by the machine itself by processor 1255 analyzing data stored in storage device 1270 or RAM 1275 . Further, the machine may receive inputs from a user through user interface components 1285 and execute appropriate functions, such as browsing functions by interpreting these inputs using processor 1255 .
- example systems 1200 and 1250 may have more than one processor 1210 or be part of a group or cluster of computing devices networked together to provide greater processing capability.
- 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 program(s) of the program product define functions of the embodiments (including the methods described herein) and can be contained on a variety of computer-readable storage media.
- Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory (ROM) devices within a computer, such as CD-ROM disks readably by a CD-ROM drive, flash memory, ROM chips, or any type of solid-state non-volatile memory) on which information is permanently stored; and (ii) writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive or any type of solid state random-access memory) on which alterable information is stored.
- ROM read-only memory
- writable storage media e.g., floppy disks within a diskette drive or hard-disk drive or any type of solid state random-access memory
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Physical Education & Sports Medicine (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Algebra (AREA)
- Mathematical Optimization (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Analysis (AREA)
- Primary Health Care (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Evolutionary Computation (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
A computing system identifies data related to a tennis match between a first player and a second player. The data includes a current match state and a current in-match performance. The computing system generates an input data set that includes the data related to the tennis match. The generating includes modifying the current match state to assume that the first player will win a next point in the tennis match. Based on the input data set, the computing system measures an importance of the next point to the first player winning the tennis match.
Description
- This application claims priority to U.S. Provisional Application Ser. No. 63/267,964, filed Feb. 14, 2022, which is hereby incorporated by reference in its entirety.
- The present disclosure generally relates to a system and method of live counter-factual analysis in tennis.
- As the amount of data related to sports increases, teams, fans, and companies are increasingly more interested in fine-grained analysis of sporting events. While for some users, such as teams, coaches, and trainers, such metrics are critical to their team's or player's performance, other user's such as fans may utilize the information to engage in what-if discussions or debates regarding who is the best player of their generation or who is the best player in a certain category of statistics.
- In some embodiments, a method is disclosed herein. A computing system identifies data related to a tennis match between a first player and a second player. The data includes a current match state and a current in-match performance. The computing system generates an input data set that includes the data related to the tennis match. The generating includes modifying the current match state to assume that the first player will win a next point in the tennis match. Based on the input data set, the computing system measures an importance of the next point to the first player winning the tennis match by predicting, by the computing system, a first outcome of a current game based on the input data set, predicting, by the computing system, a second outcome of a current set based on the input data set and the predicted first outcome of the current game, predicting, by the computing system, a third outcome of the tennis match based on the input data set, the predicted first outcome of the current game, and the predicted second outcome of the current set.
- In some embodiments, a non-transitory computer readable medium is disclosed herein. The non-transitory computer readable medium includes one or more sequences of instructions, which, when executed by a processor, causes a computing system to perform operations. The operations include identifying, by the computing system, data related to a tennis match between a first player and a second player. The data includes a current match state and a current in-match performance. The operations further include generating, by the computing system, an input data set that includes the data related to the tennis match. The generating includes modifying the current match state to assume that the first player will win a next point in the tennis match. The operations include, based on the input data set, measuring, by the computing system, an importance of the next point to the first player winning the tennis match by predicting, by the computing system, a first outcome of a current game based on the input data set, predicting, by the computing system, a second outcome of a current set based on the input data set and the predicted first outcome of the current game, and predicting, by the computing system, a third outcome of the tennis match based on the input data set, the predicted first outcome of the current game, and the predicted second outcome of the current set.
- In some embodiments, a system is disclosed herein. The system includes a processor and a memory. The memory has programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations. The operations include identifying data related to a tennis match between a first player and a second player. The data includes a current match state and a current in-match performance. The operations further include generating an input data set that includes the data related to the tennis match. The generating includes modifying the current match state to assume that the first player will win a next point in the tennis match. The operations include, based on the input data set, measuring an importance of the next point to the first player winning the tennis match by predicting a first outcome of a current game based on the input data set, predicting a second outcome of a current set based on the input data set and the predicted first outcome of the current game, and predicting a third outcome of the tennis match based on the input data set, the predicted first outcome of the current game, and the predicted second outcome of the current set.
- So that the manner in which the above recited features of the present disclosure can be understood in detail, a more particular description of the disclosure, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrated only typical embodiments of this disclosure and are therefore not to be considered limiting of its scope, for the disclosure may admit to other equally effective embodiments.
-
FIG. 1 is a block diagram illustrating a computing environment, according to example embodiments. -
FIG. 2 is a block diagram illustrating predictive models of the prediction module ofFIG. 1 , according to example embodiments. -
FIG. 3 is a flow diagram illustrating a method of determining a player's leverage in a tennis match, according to example embodiments. -
FIG. 4 is a flow diagram illustrating a method of determining a player's momentum in a tennis match, according to example embodiments. -
FIG. 5 is a chart illustrating player momentum during a match between two players, according to example embodiments. -
FIG. 6 is a chart illustrating a key momentum swing at a critical point during a match, according to example embodiments. -
FIG. 7 is a chart illustrating season-level performance of several players, according to example embodiments. -
FIG. 8 is a chart illustrating a cluster analysis of all players in the World Tennis Association (WTA), according to example embodiments. -
FIG. 9 illustrates one or more graphical outputs, according to example embodiments. -
FIG. 10 illustrates one or more graphical outputs, according to example embodiments. -
FIG. 11A illustrates one or more graphical outputs, according to example embodiments. -
FIG. 11B illustrates one or more graphical outputs, according to example embodiments. -
FIG. 12A illustrates an architecture of a computing system, according to example embodiments. -
FIG. 12B illustrates a computer system having a chipset architecture, according to example embodiments. - 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.
- A recent trend in machine learning is to utilize interpretable techniques such as counter-factual analysis to explain predictions of individual events. Such techniques are powerful in sports where it can be used to answer the impact of a play or event on the overall outcome of the match by framing it as a “what-if” question, where two predictions are conducted—the first based on one outcome, and the second on the alternative outcome. The differences in the prediction output may then be compared.
- Such counter-factual analysis lends itself nicely to sports, such as tennis, where key moments like a break point occur often and can often decide the winner of the match. However, a limitation of such an approach is relying on a pre-defined notion of a key-moment only being a break point or game or set or match point. Instead, a key-moment could also include other points, which may depend on the relative strengths of the players as well as what has occurred already during the match (e.g., if a player is much stronger than another player, an early break point to the weaker player may not be important.)
- Accordingly, one or more techniques described herein provide a counter-factual method for tennis that first automatically highlights the key moments in a match using “leverage”, “clutch,” and “momentum” metrics, which may be created by chaining counter-factual predictions which capture the importance of a point contributing to a player winning the set and/or match, or the likelihood of a comeback. Not only can the present approach highlight important moments before they occur in an automatic fashion (and not based on a pre-canned notion of what are important points such as break points), it can also link player behaviors at a season level which shines a light on their tendencies in key moments.
- As those skilled in the art recognize, although the embodiments disclosed herein are discussed with specific attention to tennis, such techniques can be expanded to any sport, such as, but not limited to golf, baseball, basketball, soccer, and the like.
-
FIG. 1 is a block diagram illustrating acomputing environment 100, according to example embodiments.Computing environment 100 may includetracking system 102,organization computing system 104, and one ormore client devices 108 communicating vianetwork 105. -
Network 105 may be of any suitable type, including individual connections via the Internet, such as cellular or Wi-Fi networks. In some embodiments,network 105 may connect terminals, services, and mobile devices using direct connections, such as radio frequency identification (RFID), near-field communication (NFC), Bluetooth™, low-energy Bluetooth™ (BLE), Wi-Fi™ ZigBee™, ambient backscatter communication (ABC) protocols, USB, WAN, or LAN. Because the information transmitted may be personal or confidential, security concerns may dictate one or more of these types of connection be encrypted or otherwise secured. In some embodiments, however, the information being transmitted may be less personal, and therefore, the network connections may be selected for convenience over security. -
Network 105 may include any type of computer networking arrangement used to exchange data or information. For example,network 105 may be the Internet, a private data network, virtual private network using a public network and/or other suitable connection(s) that enables components incomputing environment 100 to send and receive information between the components ofenvironment 100. -
Tracking system 102 may be positioned in avenue 106. For example,venue 106 may be configured to host a sporting event that includes one ormore agents 112.Tracking system 102 may be configured to capture the motions of all agents (i.e., players) on the playing surface, as well as one or more other objects of relevance (e.g., ball, referees, etc.). In some embodiments,tracking system 102 may be an optically-based system using, for example, a plurality of fixed cameras. For example, a system of six stationary, calibrated cameras, which project the three-dimensional locations of players and the ball onto a two-dimensional overhead view of the court may be used. In another example, a mix of stationary and non-stationary cameras may be used to capture motions of all agents on the playing surface as well as one or more objects or relevance. As those skilled in the art recognize, utilization of such tracking system (e.g., tracking system 102) may result in many different camera views of the court. - In some embodiments,
tracking system 102 may be used for a broadcast feed of a given match. In such embodiments, each frame of the broadcast feed may be stored in agame file 110. - In some embodiments, game file 110 may further be augmented with other event information corresponding to event data, such as, but not limited to, game event information (fault, serve, ace, point, break point, game point, set point, etc.) and context information (game score, set score, match score, server, etc.).
-
Tracking system 102 may be configured to communicate withorganization computing system 104 vianetwork 105. In some embodiments,organization computing system 104 may receive, for example, data that may include human generated event data (providingorganization computing system 104 with point by point information, or giving shot location information for every shot (or just the first and last shot)). In some embodiments, the data may be received from an in-venue tracking system, such astracking system 102. In some embodiments, the data may be provided from a broadcast tracking system. -
Organization computing system 104 may be configured to utilize counter-factual predictions to identify key points within a tennis match.Organization computing system 104 may include at least a webclient application server 114, apre-processing agent 116,data store 118, aprediction module 120, and ananalytics module 122. Each ofpre-processing agent 116,prediction module 120, andanalytics module 122 may be comprised of one or more software modules. The one or more software modules may be collections of code or instructions stored on a media (e.g., memory of organization computing system 104) that represent a series of machine instructions (e.g., program code) that implements one or more algorithmic steps. Such machine instructions may be the actual computer code the processor oforganization computing system 104 interprets to implement the instructions or, alternatively, may be a higher level of coding of the instructions that is interpreted to obtain the actual computer code. The one or more software modules may also include one or more hardware components. One or more aspects of an example algorithm may be performed by the hardware components (e.g., circuitry) itself, rather as a result of the instructions. -
Data store 118 may be configured to store one or more game files 125. Each game file 125 may include data related to a given match. For example, a game file may include video data that includes a plurality of video frames captured by trackingsystem 102. In some embodiments, the video data may correspond to broadcast data of a given match, in which case, the video data may correspond to a plurality of video frames of the broadcast feed of a given match. - In some embodiments, each game file 125 may include event data related to a given match. For example, event data may refer to data that describes the various actions that take place during the match. Exemplary events or actions may include, but is not limited to, who serves, who defends, faults, points, break-points, match-points, and the like.
-
Pre-processing agent 116 may be configured to process data retrieved fromdata store 118. For example,pre-processing agent 116 may be configured to generate game files 125 stored indata store 118. For example,pre-processing agent 116 may be configured to generate a game file 125 based on data captured by trackingsystem 102. In some embodiments,pre-processing agent 116 may further be configured to store tracking data associated with each game in a respective game file 125. Tracking data may refer to the (x, y) coordinates of all players and balls on the playing surface during the game. In some embodiments,pre-processing agent 116 may receive tracking data directly from trackingsystem 102. In some embodiments,pre-processing agent 116 may derive tracking data from the broadcast feed of the game. - In some embodiments,
pre-processing agent 116 may be configured to receive play-by-play data from one or more third party systems. For example,pre-processing agent 116 may receive a play-by-play feed corresponding to the broadcast video data. In some embodiments, the play-by-play data may be representative of human generated data based on events occurring within the game. Such play-by-play data may be stored in a corresponding game file 125. -
Prediction module 120 may be configured to generate predictions for both the actual outcome of a point, game, set, and/or match and an alternative outcome of a point, game, set, and/or match. As those skilled in the art understand, tennis is a hierarchical game where winning points leads to winning games; winning games leads to winning sets; and winning sets leads to winning the match. The problem of predicting the winner of the next point, game, set, and match may be formulated as a multi-output model.Prediction module 120 may include four models that may be chained together to generate predictions on the point, game, set, and match levels. For example, the predicted point winner will affect the predicted game winner, which will affect the predicted set winner, which will affect the predicted match winner. Each model may generate a prediction in the order specified by the chain using all input features plus the prediction of the earlier model in the chain. - In some embodiments,
prediction module 120 may further include a second suite of models trained to predict the final game, final set, and final match score. - Given these chained models, counter-factual analysis may be made possible by adapting the current features to an alternative future outcome. For example, what is the likelihood of winning the next point, next game, next set, and next match if the player of interest wins or loses the current point. Such analysis requires both very fast feature generation, model inference, and subsequent logic, which is notably absent from conventional counter-factual analysis systems.
- As a tennis match evolves as a sequence of points,
prediction module 120 may perform a counter-factual analysis by looking one step into the future of the match. Instead of merely predicting the winner at the current point,prediction module 120 may be trained to predict the most likely winner in the case that the next point ended in a win or loss of a player by usingpre-processing agent 116 to update the current feature vectors andre-running prediction module 120. -
Analytics module 122 may be configured to analyze the predictions generated byprediction module 120. For example, with the score and winner predictions of the two next match states,analytics module 122 may be configured to answer what-if questions before the actual point is played out. For example, before a break point is played,analytics module 122 may already tell how likely it will be that the player conceding the break will be able to win the set, reach a tiebreak, or win a tiebreak, which enables predictive analysis before the point of interest occurs. - A current short coming in tennis analytics (and sports analytics generally) is that most of the metrics are static and only related to predefined key moments. If, for example, a key insight is delivered which falls outside of the pre-defined templates, it is often reported in hindsight. Using a more specific example, after 10 points, it may be reported that a player has won 7 out of the last 10 points. Based on this criterium, this may be construed as the player gaining momentum. Although it is fine as a coarse barometer of short term match dominance, it will miss a lot of important moments as it is missing match (and player specific) contextual information.
- For example, if a player is down 0-5 and wins 7 out of the last 10 points, the set-score would still be 1-5, and deuce in the current game which is not that interesting. In another example, a player may struggle to win her serve but then breaks the other serve to 15. None of this information is captured by simply counting points won.
-
Analytics module 122 may be configured to identify hand-crafted metrics (e.g., leverage, momentum, and clutch) based on the predictions generated byprediction module 120. For example, in some embodiments,prediction module 120 may includeleverage model 130,momentum model 132, andclutch model 134. -
Leverage model 130 may be configured to measure the importance of a particular point, play, or portion of a sporting event. Leverage may be defined as measuring the magnitude of how the win probability will change as a result of either winning or losing the point. For example, using the counter-factual prediction framework ofprediction module 120,leverage model 130 may determine leverage by using the current game-context and then adding the future state of a player winning or losing the next point and measuring the difference between the two. This allowsleverage model 130 to objectively measure the importance of a point, which may take into consideration the current match context and the relative player strength. -
Momentum model 132 may be configured to measure a momentum of a player or a team at a particular point in a game. In some embodiments,momentum model 132 may be configured to estimate the current momentum of a player, multiple players, or a team based on output fromleverage model 130 players. - Momentum may be defined as an exponentially weighted moving average of the leverage gained by a player. Mathematically, momentum may be represented as:
-
- where [x0, x1, . . . , xt] are the gained leverages of the last t points, α represents a smoothing factor, and yt represents the momentum at point t. In some embodiments α=0.33; however, in some embodiments, α may be greater than or less than 0.33. At a high level, setting α=0.33 may mean that a player may be attributed the leverage/importance of a point when she wins it and it is reduced when she loses it; moreover, the latest points may be weighted more heavily in the momentum equation.
- Accordingly, in this manner,
momentum model 132 may generate or measure a momentum of a player or a team based the leverage information. -
Clutch model 134 may be configured to measure a clutchness of player, player, or team. Clutch may be defined as an important point in the match where winning or losing the point has a significant effect on the current match win probability. In some embodiments, a point may be referred to as clutch when its leverage exceeds 10%. - As those skilled in the art understand, a limitation of current tennis metrics is that they are very simple and rigid. Break points, for example, are by definition important, as a player cannot win a set without a break. The more break points a player wins, the more dominant the player is given that the player holds server. Game points on a player's own serve are considered less important than break points but more important than all other points because the player is only one point away from winning the game. In the present case, the importance of winning this point for winning the match in the end may be ignored. As a result, key points cannot be pre-defined and are heavily contextual. Therefore, a metric is needed which can capture the in-game context to highlight the key points before those points are played. These points may be referred to as “clutch points.” Accordingly,
clutch model 134 may be configured to generate clutch points based on, for example, the momentum determined bymomentum model 132. - In some embodiments,
organization computing system 104 may includeoutput module 126.Output module 126 may be configured to generate one or more outputs that illustrate outputs generated byprediction module 120 and/oranalytics module 122. For example,output module 126 may generate an output that illustrates the evolution of win probabilities of both players in a match from the beginning of the match. -
Client device 108 may be in communication withorganization computing system 104 vianetwork 105.Client device 108 may be operated by a user. For example,client device 108 may be a mobile device, a tablet, a desktop computer, a set-top box, a streaming player, or any computing system capable of receiving, rendering, and presenting video data to the user. Users may include, but are not limited to, individuals such as, for example, subscribers, clients, prospective clients, or customers of an entity associated withorganization computing system 104, such as individuals who have obtained, will obtain, or may obtain a product, service, or consultation from an entity associated withorganization computing system 104. -
Client device 108 may include atleast application 128.Application 128 may be representative of a web browser that allows access to a web site or a stand-alone application.Client device 108 may accessapplication 128 to access one or more functionalities oforganization computing system 104.Client device 108 may communicate overnetwork 105 to request a webpage, for example, from webclient application server 114 oforganization computing system 104. For example,client device 108 may be configured to executeapplication 128 to access one or more predictions generated byprediction module 120 and/or analytics generated byanalytics module 122. The content that is displayed toclient device 108 may be transmitted from webclient application server 114 toclient device 108, and subsequently processed byapplication 128 for display through a graphical user interface (GUI) ofclient device 108. -
FIG. 2 is a block diagram illustrating the predictive models ofprediction module 120, according to example embodiments. As shown,prediction module 120 may includepoint winner model 202,game winner model 204, setwinner model 206, andmatch winner model 208. In some embodiments, each ofpoint winner model 202,game winner model 204, setwinner model 206, andmatch winner model 208 may take the form of a gradient boosting tree model. -
Point winner model 202 may be configured to predict whether a player will win the next point based onvarious inputs 212. As shown,inputs 212 may include court type 220 (e.g., grass, clay, hard),pre-match odds 222, and match state 224 (e.g., current game and set score), in-match statistics 226 (e.g., difference in points won, games won, breaks won in the current game, set, and match, serve percentages, return percentages, etc.).Such inputs 212 may be generated bypre-processing agent 116.Point winner model 202 may be trained to predict the outcome of the next point based oninputs 212. For example, the output frompoint winner model 202 may be a point-win probability 228, which provides a probability of the player winning the next point. -
Game winner model 204 may be configured to predict whether the player will win the current game and/or the next game based onvarious inputs 214. As shown,inputs 214 may be similar toinputs 212. For example,inputs 214 may similarly includecourt type 220,pre-match odds 222,match state 224, and in-match statistics 226. However, becausegame winner model 204 is downstream of point winner model in the chain of models,inputs 214 may also include the output frompoint winner model 202, i.e., point-win probability 228.Such inputs 214 may be generated bypre-processing agent 116.Game winner model 204 may be trained to predict the outcome of the game based oninputs 214. For example, the output fromgame winner model 204 may be a game-win probability 230, which provides a probability of the player winning the game. -
Set winner model 206 may be configured to predict whether the player will win the current set and/or the next set based onvarious inputs 216. As shown,inputs 216 may be similar toinputs 214. For example,inputs 216 may similarly includecourt type 220,pre-match odds 222,match state 224, and in-match statistics 226. However, becauseset winner model 206 is downstream ofpoint winner model 202 andgame winner model 204 in the chain of models,inputs 216 may also include the output frompoint winner model 202, i.e., point-win probability 228, and the output fromgame winner model 204, i.e., game-win probability 230.Such inputs 214 may be generated bypre-processing agent 116.Set winner model 206 may be trained to predict the outcome of the set based oninputs 216. For example, the output fromset winner model 206 may be a set-win probability 232, which provides a probability of the player winning the set. -
Match winner model 208 may be configured to predict whether the player will win the current match and/or the next match based onvarious inputs 218. As shown,inputs 218 may be similar toinputs 216. For example,inputs 218 may similarly includecourt type 220,pre-match odds 222,match state 224, and in-match statistics 226. However, becausematch winner model 208 is downstream ofpoint winner model 202,game winner model 204, and setwinner model 206 in the chain of models,inputs 218 may also include the output frompoint winner model 202, i.e., point-win probability 228, the output fromgame winner model 204, i.e., game-win probability 230, and the output fromset winner model 206, i.e., set-win probability 232.Such inputs 218 may be generated bypre-processing agent 116.Match winner model 208 may be trained to predict the outcome of the set based oninputs 218. For example, the output frommatch winner model 208 may be a match-win probability 234, which provides a probability of the player winning the match. - As shown, as output,
prediction module 120 may generateoutputs 210.Outputs 210 may include point-win probability 228, game-win probability 230, set-win probability 232, and match-win probability 234. - As recited above, as part of inputs 212-218, such as
match state 224,pre-processing agent 116 may make an assumption regarding the outcome of a point and may provide that assumption as part of inputs 212-218. For example, assume first thatpre-processing agent 116 makes an assumption that Player A will win the current point.Pre-processing agent 116 may update inputs 212-218 with that assumption andprediction module 120 may generateoutputs 210 based on the assumption that Player A will win the current point. Next,pre-processing agent 116 may make an assumption that Player B will lose the current point.Pre-processing agent 116 may update inputs 212-218 with that assumption andprediction module 120 may generateoutputs 210 based on the assumption that Player B will win the current point. Such outputs may allow foranalytics module 122 to perform a counter-factual analysis. -
FIG. 3 is a flow diagram illustrating amethod 300 of determining a player's leverage in a tennis match, according to example embodiments.Method 300 may begin atstep 302. - At
step 302,organization computing system 104 may identify data related to a tennis match between a first player and a second player. In some embodiments, the data may include a current match state. For example, the current match state may include information such as, but not limited to, current game and set score. In some embodiments, the data may further include player strength information. For example, the data may include a relative strength of the first player and a relative strength of the second player. In some embodiments, the relative strength may be reflective of each player's ranking in the tournament or league. - At
step 304,organization computing system 104 may generate an input data set based on the identified data and current match state. For example,pre-processing agent 116 may generate an input data set that includes the current match state (e.g., current game score, current set score, etc.) and relative strength of each player. In some embodiments, as part of generating the input data set,pre-processing agent 116 may modify the current match state. For example,pre-processing agent 116 may modify the current match state by assuming the first player (or the second player) will win a next point. - At
step 306,organization computing system 104 may predict an outcome of the tennis match based on the input data set and the modified match state. For example,pre-processing agent 116 may provide the input data set, as input, toprediction module 120.Prediction module 120 may use the input data set and modified match state to predict a game winner usinggame winner model 204. In some embodiments,prediction module 120 may use output from thegame winner model 204 to generate a set winner prediction using setwinner model 206. In some embodiments,prediction module 120 may use output fromset winner model 206 to generate a predicted match winner usingmatch winner model 208. Accordingly,prediction module 120 may use the input data set and modified match state to predict the first player's game win probability, set-win probability, and match-win probability if the first player wins the next point, as stipulated. - As those skilled in the art understand, such modification of the game state can be performed at any level. For example, rather than modify the current match state to assume the first player will win the next point,
pre-processing agent 116 may modify the current match state to assume the first player will win the next set. - At
step 308,organization computing system 104 may measure an importance of the next point. In some embodiments,analytics module 122 may generate an importance of the first player winning the next point to the first player winning the current set. In some embodiments,analytics module 122 may generate an importance of the first player winning the next point to the first player winning the current game. In some embodiments,analytics module 122 may generate an importance of the first player winning the next point to the first player winning the match. Accordingly,leverage model 130 may generate a player's leverage for the next point. The player's leverage may be defined as the magnitude of how the win probability (e.g., game, set, or match) will change as a result of the first player winning the next point (or losing the next point). - In some embodiments,
method 300 may includestep 310. Atstep 310,organization computing system 104 may determine a clutchness value of the next point. For example,clutch model 134 may analyze the player's leverage generated instep 308 to determine whether the next point has a significant effect on the current win probability (e.g., game, set, or match). For example, ifclutch model 134 determines that the player's leverage for the next point exceeds a threshold percentage (e.g., 10%), thenclutch model 134 may determine that the next point is a clutch point. The more clutch points a player wins, the more clutch that player may be considered. -
FIG. 4 is a flow diagram illustrating amethod 400 of determining a player's momentum in a tennis match, according to example embodiments.Method 400 may begin atstep 402. - At
step 402,organization computing system 104 may identify a set of points in a tennis match between the first player and the second player. For example,analytics module 122 may identify a set of t points up to time t. - At
step 404,organization computing system 104 may determine a gained leverage of the first player over the set of points. For example, for each point in the set of t points,analytics module 122 may generate a leverage based on the techniques discussed above in conjunction withFIG. 3 . As output,analytics module 122 may generate a set of gained leverages [x0, x1, . . . xt] over the last t points. - At
step 406,organization computing system 104 may generate a momentum of the first player based on the gained leverages. For example,momentum model 132 may generate an exponentially weighted moving average of the leverage gained by the player. The exponentially weighted moving average may represent or capture the momentum of the first player. Mathematically, this may be expressed as: -
- where [x0, x1, . . . , xt] are the gained leverages of the last t points, α represents a smoothing factor, and yt represents the momentum at point t.
-
FIG. 5 is achart 500 illustrating player momentum during a match between two players, according to example embodiments. - Chart 500 may include a
top section 502 and abottom section 504.Top section 502 may illustrate a counting of the consecutive points won;bottom section 504 may illustrate the contextually weighted estimate using counter-factual predictions generated byanalytics module 122. A positive value may indicate that Wang won more than give out of the last ten points and a negative value may favor Vekic. As shown, a negative value may favor Vekic. Highlighted inchart 500 is the point when Wang went on a run and wins 10 points in a row to win the second set 6-3 and is up 1-0 in the final third set. -
FIG. 6 is achart 600 illustrating a key momentum swing at a critical point during a match, according to example embodiments. - As shown, chart 600 captures what is considered a strong momentum swing. In some embodiments,
analytics module 122 may identify the momentum change looking back 8-12 points. If, for example, a threshold of 3% was reached, and there was a zero crossing and the threshold was reached for the other player,analytics module 122 may conclude that the momentum changed. Using this trigger,analytics module 122 can also report on other interesting insights, such as the points won metric in this interval and also whatprediction module 120 thinks who will win the next point. -
FIG. 7 is achart 700 illustrating season-level performance of several players, according to example embodiments. - In some embodiments, in addition to
analytics module 122 leveraging the counter-factual prediction framework to create dynamic metrics that can be used to enhance the story-telling aspects of a game within a single tennis match,analytics module 122 may further be able to capture the season-long behaviors of players, which can describe their emerging behaviors. Given the leverage, momentum and clutch metrics on a point-level,analytics module 122 can aggregate these metrics to generate insights into the season-level performance of players. Often player performance is measured in how many points a player was able to win, how many break points a player created or conceded and how many of these she converted. Again, as break points are all weighted equally this does not tell the whole story. The foregoing definition of clutch points may be used byanalytics module 122 to find, for example, the player who handled these important points the best. -
Chart 700 illustrates the individual performance of the top five ranked players at the end of 2019 in terms of points won and clutch points won 2019. As shown, the world number one player, Ashleigh Barty, did not have the highest points won percentage (52.85%) but she did win 55.36% (+2.51%) of all her clutch points, which made her the strongest clutch player in 2019. In contrast, Simona Halep performed equally well in terms of points won percentage (52.54%) but only won 49.62% (−2.92%) of her clutch points. -
FIG. 8 is achart 800 illustrating a cluster analysis of all players in the 2022 World Tennis Association (WTA), according to example embodiments. Chart 800 may provide an indication of which players in the WTA were most clutch in 2022. As shown, chart 800 may illustrate a comparison between those players that were most clutch and those players that were in the top 10 rankings. - This analysis could also provide an indication of future emerging stars who played clutch points well but did not finish the year or are not currently in the
Top 10. In some situations, having a low number of clutch points in a match or season can be a strong indication of dominance. In some situations, if a player has a match with many clutch points, that is a strong indicator of an exciting match which can be used as a barometer to draw viewers' attention during the game live, or highlight as a must re-watch game. -
FIG. 9 illustrates agraphical output 900, according to example embodiments. As shown,graphical output 900 may include a representation of a match between two players.Graphical output 900 may include awin probability portion 902, atimeline 904, and amatch summary 906. Winprobability portion 902 may graphically represent each player's win probability over the course of a game. In some embodiments, winprobability portion 902 may include outputs generated byanalytics module 122. For example, winprobability portion 902 may include one ormore indicators 908 and one ormore indicators 910.Indicators 908 may correspond to changes in momentum, as determined bymomentum model 132.Indicators 910 may correspond to clutch points, as determined byclutch model 134. -
Timeline 904 may include events that occur during the course of an event. In some embodiments,timeline 904 may include indicators of clutch points and momentum. In some embodiments, if a user clicks on an event intimeline 904,graphical output 900 may be updated to include a video corresponding to the key moment. For example, as shown, for the clutch point on the serve for Marie Bouzkova, if a user clicks on the corresponding event intimeline 904,output module 126 may provide the user with a video corresponding to that serve. -
FIG. 10 illustrates agraphical output 1000, according to example embodiments. As shown,graphical output 1000 may be representative of the win probability for each player in a tennis match. In some embodiments,graphical output 1000 may includeindicator 1002 andindicator 1004. Each ofindicator 1002 andindicators 1004 may correspond to more exciting portions of the match. For example, as shownindicator 1002 may correspond to a break point failure. Similarly,indicator 1004 may indicate a set up for a breakpoint. -
FIG. 11A illustrates agraphical output 1100, according to example embodiments. As shown,graphical output 1100 may take the form of an overlay on abroadcast video stream 1102. For example, as shown,graphical output 1100 may indicate a momentum shift between the two players of a tennis match. -
FIG. 11B illustrates agraphical output 1150, according to example embodiments. As shown,graphical output 1150 may take the form of an overlay onbroadcast video stream 1102. For example, as shown,graphical output 1150 may include a current win probability of each player in the tennis match. - More generally,
output module 126 may be configured to generate various graphical representations. For example,output module 126 may be configured to generate graphical representations that depict or include information regarding the current win probabilities, clutch moments, or momentum of the players. In some embodiments,output module 126 may be configured to generate graphical representations that include non-artificial intelligence driven metrics. For example,output module 126 may generate graphical representations that include information such as forehand winner, backhand winner, and the like. Such graphical representations may be visually displayed over a current video feed of the match. - In some embodiments,
output module 126 may generate these graphical representations responsive to certain trigger events. For example, ifanalytics model 122 determines that a moment in the match was a key moment in the match,output module 126 may be triggered to generate a graphical representation that includes a description of the importance of the next point. Similarly, if a moment in the match changes the current win probability of a player or momentum of a player,output module 126 may be triggered to generate a graphical representation that includes a description of this change. -
FIG. 12A illustrates an architecture ofcomputing system 1200, according to example embodiments.System 1200 may be representative of at least a portion oforganization computing system 104. One or more components ofsystem 1200 may be in electrical communication with each other using abus 1205.System 1200 may include a processing unit (CPU or processor) 1210 and asystem bus 1205 that couples various system components including thesystem memory 1215, such as read only memory (ROM) 1220 and random access memory (RAM) 1225, toprocessor 1210.System 1200 may include a cache of high-speed memory connected directly with, in close proximity to, or integrated as part ofprocessor 1210.System 1200 may copy data frommemory 1215 and/orstorage device 1230 tocache 1212 for quick access byprocessor 1210. In this way,cache 1212 may provide a performance boost that avoidsprocessor 1210 delays while waiting for data. These and other modules may control or be configured to controlprocessor 1210 to perform various actions.Other system memory 1215 may be available for use as well.Memory 1215 may include multiple different types of memory with different performance characteristics.Processor 1210 may include any general purpose processor and a hardware module or software module, such asservice 1 1232,service 2 1234, andservice 3 1236 stored instorage device 1230, configured to controlprocessor 1210 as well as a special-purpose processor where software instructions are incorporated into the actual processor design.Processor 1210 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric. - To enable user interaction with the
computing system 1200, an input device 1245 may represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. An output device 1235 (e.g., display) may also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems may enable a user to provide multiple types of input to communicate withcomputing system 1200.Communications interface 1240 may generally govern and manage the user input and system output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed. -
Storage device 1230 may be a non-volatile memory and may be a hard disk or other types of computer readable media which may store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs) 1225, read only memory (ROM) 1220, and hybrids thereof. -
Storage device 1230 may includeservices processor 1210. Other hardware or software modules are contemplated.Storage device 1230 may be connected tosystem bus 1205. In one aspect, a hardware module that performs a particular function may include the software component stored in a computer-readable medium in connection with the necessary hardware components, such asprocessor 1210,bus 1205,output device 1235, and so forth, to carry out the function. -
FIG. 12B illustrates acomputer system 1250 having a chipset architecture that may represent at least a portion oforganization computing system 104.Computer system 1250 may be an example of computer hardware, software, and firmware that may be used to implement the disclosed technology.System 1250 may include aprocessor 1255, representative of any number of physically and/or logically distinct resources capable of executing software, firmware, and hardware configured to perform identified computations.Processor 1255 may communicate with achipset 1260 that may control input to and output fromprocessor 1255. In this example,chipset 1260 outputs information tooutput 1265, such as a display, and may read and write information tostorage device 1270, which may include magnetic media, and solid-state media, for example.Chipset 1260 may also read data from and write data toRAM 1275. Abridge 1280 for interfacing with a variety ofuser interface components 1285 may be provided for interfacing withchipset 1260. Suchuser interface components 1285 may include a keyboard, a microphone, touch detection and processing circuitry, a pointing device, such as a mouse, and so on. In general, inputs tosystem 1250 may come from any of a variety of sources, machine generated and/or human generated. -
Chipset 1260 may also interface with one ormore communication interfaces 1290 that may have different physical interfaces. Such communication interfaces may include interfaces for wired and wireless local area networks, for broadband wireless networks, as well as personal area networks. Some applications of the methods for generating, displaying, and using the GUI disclosed herein may include receiving ordered datasets over the physical interface or be generated by the machine itself byprocessor 1255 analyzing data stored instorage device 1270 orRAM 1275. Further, the machine may receive inputs from a user throughuser interface components 1285 and execute appropriate functions, such as browsing functions by interpreting theseinputs using processor 1255. - It may be appreciated that
example systems processor 1210 or be part of a group or cluster of computing devices networked together to provide greater processing capability. - While the foregoing is directed to embodiments described herein, other and further embodiments may be devised without departing from the basic scope thereof. 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 program(s) of the program product define functions of the embodiments (including the methods described herein) and can be contained on a variety of computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory (ROM) devices within a computer, such as CD-ROM disks readably by a CD-ROM drive, flash memory, ROM chips, or any type of solid-state non-volatile memory) on which information is permanently stored; and (ii) writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive or any type of solid state random-access memory) on which alterable information is stored. Such computer-readable storage media, when carrying computer-readable instructions that direct the functions of the disclosed embodiments, are embodiments of the present disclosure.
- It will be appreciated to those skilled in the art that the preceding examples are exemplary and not limiting. It is intended that all permutations, enhancements, equivalents, and improvements thereto are apparent to those skilled in the art upon a reading of the specification and a study of the drawings are included within the true spirit and scope of the present disclosure. It is therefore intended that the following appended claims include all such modifications, permutations, and equivalents as fall within the true spirit and scope of these teachings.
Claims (20)
1. A method comprising:
identifying, by a computing system, data related to a tennis match between a first player and a second player, the data comprising a current match state and a current in-match performance;
generating, by the computing system, an input data set comprising the data related to the tennis match, the generating comprising modifying the current match state to assume that the first player will win a next point in the tennis match; and
based on the input data set, measuring, by the computing system, an importance of the next point to the first player winning the tennis match by:
predicting, by the computing system, a first outcome of a current game based on the input data set;
predicting, by the computing system, a second outcome of a current set based on the input data set and the predicted first outcome of the current game; and
predicting, by the computing system, a third outcome of the tennis match based on the input data set, the predicted first outcome of the current game, and the predicted second outcome of the current set.
2. The method of claim 1 , further comprising:
generating, by the computing system, a momentum of the first player based on the measured importance of the next point to the first player winning the tennis match.
3. The method of claim 2 , wherein generating, by the computing system, the momentum of the first player based on the measured importance of the next point to the first player winning the tennis match comprises:
identifying gained leverages of the first player over a previous number of points; and
generating a weighted moving average of the gained leverages.
4. The method of claim 2 , further comprising:
overlaying, by the computing system, a graphical representation of the generated momentum over a broadcast video feed of the tennis match.
5. The method of claim 1 , further comprising:
generating, by the computing system, a clutch metric for the first player based on the importance of the next point.
6. The method of claim 5 , wherein generating, by the computing system, the clutch metric for the first player based on the importance of the next point comprises:
determining that the next point has greater than a threshold effect on the predicted third outcome of the tennis match.
7. The method of claim 1 , further comprising:
overlaying, by the computing system, a graphical representation of a current win probability of the first player over a broadcast video feed of the tennis match.
8. The method of claim 1 , further comprising:
determining, by the computing system, that the next point meets a threshold level of importance; and
based on the determining,
generating, by the computing system, a graphical representation indicating the importance of the next point, and
overlaying, by the computing system, the graphical representation over a broadcast video feed of the tennis match.
9. The method of claim 1 , further comprising:
determining, by the computing system, a win probability of the first player;
generating, by the computing system, a graphical representation comprising the win probability; and
overlaying, by the computing system, the graphical representation over a broadcast video feed of the tennis match.
10. A non-transitory computer readable medium having one or more sequences of instructions stored thereon, which, when executed by a processor, causes a computing system to perform operations comprising:
identifying, by the computing system, data related to a tennis match between a first player and a second player, the data comprising a current match state and a current in-match performance;
generating, by the computing system, an input data set comprising the data related to the tennis match, the generating comprising modifying the current match state to assume that the first player will win a next point in the tennis match; and
based on the input data set, measuring, by the computing system, an importance of the next point to the first player winning the tennis match by:
predicting, by the computing system, a first outcome of a current game based on the input data set,
predicting, by the computing system, a second outcome of a current set based on the input data set and the predicted first outcome of the current game, and
predicting, by the computing system, a third outcome of the tennis match based on the input data set, the predicted first outcome of the current game, and the predicted second outcome of the current set.
11. The non-transitory computer readable medium of claim 10 , further comprising:
generating, by the computing system, a momentum of the first player based on the measured importance of the next point to the first player winning the tennis match.
12. The non-transitory computer readable medium of claim 11 , wherein generating, by the computing system, the momentum of the first player based on the measured importance of the next point to the first player winning the tennis match comprises:
identifying gained leverages of the first player over a previous number of points; and
generating a weighted moving average of the gained leverages.
13. The non-transitory computer readable medium of claim 11 , further comprising:
overlaying, by the computing system, a graphical representation of the generated momentum over a broadcast video feed of the tennis match.
14. The non-transitory computer readable medium of claim 10 , further comprising:
generating, by the computing system, a clutch metric for the first player based on the importance of the next point.
15. The non-transitory computer readable medium of claim 14 , wherein generating, by the computing system, the clutch metric for the first player based on the importance of the next point comprises:
determining that the next point has greater than a threshold effect on the predicted third outcome of the tennis match.
16. The non-transitory computer readable medium of claim 10 , further comprising:
overlaying, by the computing system, a graphical representation of a current win probability of the first player over a broadcast video feed of the tennis match.
17. A system comprising:
a processor; and
a memory having programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations comprising:
identifying data related to a tennis match between a first player and a second player, the data comprising a current match state and a current in-match performance;
generating an input data set comprising the data related to the tennis match, the generating comprising modifying the current match state to assume that the first player will win a next point in the tennis match; and
based on the input data set, measuring an importance of the next point to the first player winning the tennis match by:
predicting a first outcome of a current game based on the input data set,
predicting a second outcome of a current set based on the input data set and the predicted first outcome of the current game, and
predicting a third outcome of the tennis match based on the input data set, the predicted first outcome of the current game, and the predicted second outcome of the current set.
18. The system of claim 17 , wherein the operations further comprise:
generating a momentum of the first player based on the measured importance of the next point to the first player winning the tennis match, the generating comprising:
identifying gained leverages of the first player over a previous number of points; and
generating a weighted moving average of the gained leverages.
19. The system of claim 18 , wherein the operations further comprise:
overlaying a graphical representation of the generated momentum over a broadcast video feed of the tennis match.
20. The system of claim 17 , wherein the operations further comprise:
generating a clutch metric for the first player based on the importance of the next point, the generating comprising:
determining that the next point has greater than a threshold effect on the predicted third outcome of the tennis match.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/168,381 US20230256318A1 (en) | 2022-02-14 | 2023-02-13 | System and Method for Live Counter-Factual Analysis in Tennis |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263267964P | 2022-02-14 | 2022-02-14 | |
US18/168,381 US20230256318A1 (en) | 2022-02-14 | 2023-02-13 | System and Method for Live Counter-Factual Analysis in Tennis |
Publications (1)
Publication Number | Publication Date |
---|---|
US20230256318A1 true US20230256318A1 (en) | 2023-08-17 |
Family
ID=87559868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/168,381 Pending US20230256318A1 (en) | 2022-02-14 | 2023-02-13 | System and Method for Live Counter-Factual Analysis in Tennis |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230256318A1 (en) |
EP (1) | EP4359093A4 (en) |
CN (1) | CN117957040A (en) |
WO (1) | WO2023154922A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230267736A1 (en) * | 2022-02-23 | 2023-08-24 | Sony Group Corporation | Method, apparatus and computer program for generating sports game highlight video based on winning probability |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140236331A1 (en) * | 2013-02-21 | 2014-08-21 | Sap Portals Israel Ltd. | Real-time decision making in sports |
US20200226204A1 (en) * | 2019-01-11 | 2020-07-16 | PlayLine LTD. | System and method for statistically predicting the expected performance of a sporting entity |
US20200387817A1 (en) * | 2019-06-05 | 2020-12-10 | International Business Machines Corporation | Artificial intelligence assisted sports strategy predictor |
US11679299B2 (en) * | 2019-03-01 | 2023-06-20 | Stats Llc | Personalizing prediction of performance using data and body-pose for analysis of sporting performance |
US20240087137A1 (en) * | 2007-05-24 | 2024-03-14 | Pillar Vision, Inc. | Systems and methods for evaluating performance of players at sporting events using trajectory predictions |
US20240303509A1 (en) * | 2021-12-02 | 2024-09-12 | Sportlogiq Inc. | Systems and Methods for Player and Team Modelling and Prediction in Sports and Games |
US20250068678A1 (en) * | 2023-08-25 | 2025-02-27 | Stats Llc | System and methods for implementing a feature set of high-dimensional spatial data in sports predictions |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090170584A1 (en) * | 2007-12-28 | 2009-07-02 | Microsoft Corporation | Interactive scenario exploration for tournament-style gaming |
US9005016B2 (en) * | 2008-10-24 | 2015-04-14 | Lee Amaitis | Wagering on event outcomes during the event |
US8812417B2 (en) * | 2012-08-20 | 2014-08-19 | InsideSales.com, Inc. | Hierarchical based sequencing machine learning model |
US9770641B2 (en) * | 2014-09-15 | 2017-09-26 | CourtMatics Corporation | Point tracking and game analysis in tennis |
US11311808B2 (en) * | 2019-01-21 | 2022-04-26 | Tempus Ex Machina, Inc. | Systems and methods to predict a future outcome at a live sport event |
CN113543861A (en) * | 2019-03-01 | 2021-10-22 | 斯塔特斯公司 | Method and system for multi-task learning |
-
2023
- 2023-02-13 CN CN202380013030.3A patent/CN117957040A/en active Pending
- 2023-02-13 US US18/168,381 patent/US20230256318A1/en active Pending
- 2023-02-13 EP EP23753744.4A patent/EP4359093A4/en active Pending
- 2023-02-13 WO PCT/US2023/062488 patent/WO2023154922A2/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240087137A1 (en) * | 2007-05-24 | 2024-03-14 | Pillar Vision, Inc. | Systems and methods for evaluating performance of players at sporting events using trajectory predictions |
US20140236331A1 (en) * | 2013-02-21 | 2014-08-21 | Sap Portals Israel Ltd. | Real-time decision making in sports |
US20200226204A1 (en) * | 2019-01-11 | 2020-07-16 | PlayLine LTD. | System and method for statistically predicting the expected performance of a sporting entity |
US11679299B2 (en) * | 2019-03-01 | 2023-06-20 | Stats Llc | Personalizing prediction of performance using data and body-pose for analysis of sporting performance |
US20200387817A1 (en) * | 2019-06-05 | 2020-12-10 | International Business Machines Corporation | Artificial intelligence assisted sports strategy predictor |
US20240303509A1 (en) * | 2021-12-02 | 2024-09-12 | Sportlogiq Inc. | Systems and Methods for Player and Team Modelling and Prediction in Sports and Games |
US20250068678A1 (en) * | 2023-08-25 | 2025-02-27 | Stats Llc | System and methods for implementing a feature set of high-dimensional spatial data in sports predictions |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230267736A1 (en) * | 2022-02-23 | 2023-08-24 | Sony Group Corporation | Method, apparatus and computer program for generating sports game highlight video based on winning probability |
Also Published As
Publication number | Publication date |
---|---|
WO2023154922A2 (en) | 2023-08-17 |
WO2023154922A3 (en) | 2023-09-21 |
EP4359093A2 (en) | 2024-05-01 |
EP4359093A4 (en) | 2025-04-09 |
CN117957040A (en) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240165484A1 (en) | Method and system for interactive, interpretable, and improved match and player performance predictions in team sports | |
US20220270004A1 (en) | Micro-Level and Macro-Level Predictions in Sports | |
US20220253679A1 (en) | System and Method for Evaluating Defensive Performance using Graph Convolutional Network | |
US11679299B2 (en) | Personalizing prediction of performance using data and body-pose for analysis of sporting performance | |
CN116848561A (en) | Methods and systems for generating in-game insights | |
US20250232494A1 (en) | Recommendation engine for combining images and graphics of sports content based on artificial intelligence generated game metrics | |
US20230256318A1 (en) | System and Method for Live Counter-Factual Analysis in Tennis | |
CN113543861A (en) | Method and system for multi-task learning | |
US20240181343A1 (en) | System and method for individual player and team simulation | |
US20240066355A1 (en) | Live Tournament Predictions in Tennis | |
US20220355182A1 (en) | Live Prediction of Player Performances in Tennis | |
US20220343253A1 (en) | Virtual Coaching System | |
US20240394639A1 (en) | Market adjusted data driven team strength ratings for accurate tournament simulation | |
US20240070770A1 (en) | System and Method for Real-Time Minting and Enrichment of Sports Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: STATS LLC, ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SEIDL, ROBERT;MARKO, CHRISTIAN;LUCEY, PATRICK JOSEPH;SIGNING DATES FROM 20230227 TO 20230302;REEL/FRAME:062877/0648 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |