Golf tournament simulation
By analyzing and adjusting the golf players' hole-by-hole data, the probability of players' performance in different venues is generated, and the problem of player rankings in golf is solved, and a more accurate championship prediction is achieved.
Patent Information
- Application Number
- CN202380054686.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-28
- Filing Date
- 2023-07-28
- Publication Date
- 2025-03-18
AI Technical Summary
In golf, it is difficult to accurately rank players because the diversity of tournaments and the diversity of the tournament's field causes players to perform significantly on different courses, and the sample size is small, making it difficult to train accurate artificial intelligence models.
The calculation system retrieves the historical hole-by-hole data of multiple holes in multiple golf tournaments of multiple players. The cluster holes are clustered into hole-type clusters, and the number of strokes score indicators for each hole-type of each player's hole-by-hole data are generated. These indicators are adjusted based on the on-site strength indicators to generate the player's performance probability on each hole, and finally simulate the player's performance to generate the expected results of the championship.
By adjusting the score indicators of the number of strokes and generating the player's performance probability, the system can more accurately simulate the player's performance in different venues, improving the accuracy of prediction of championship results.
Smart Images

Figure CN119654186A_ABST
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Application Serial No. 63 / 369,732, filed on July 28, 2022, which is incorporated herein by reference in its entirety. Technical Field
[0002] The present disclosure generally relates to systems and methods for simulating golf tournaments using adjusted stroke scoring metrics. Background Art
[0003] Ranking players in sports is often a difficult task. It is even more difficult in golf because there is no set schedule of tournaments for common teams in a closed league. Instead, in golf there are tours of varying quality all around the globe. Players who participate in these tournaments are often independent contractors who are either invited to the tournament or have qualified through performances in other tournaments. Summary of the invention
[0004] In some embodiments, a method is disclosed herein. A computing system retrieves historical hole-by-hole data for a plurality of holes of a plurality of golf tournaments for a plurality of players. The historical hole-by-hole data includes a yardage for each hole and a par associated with each hole. The computing system clusters the plurality of holes into a plurality of hole type clusters. The computing system generates a stroke score metric for each hole type for each player's hole-by-hole data. The computing system adjusts the stroke score metric for each hole type based on a field strength metric associated with each tournament, the field strength metric representing the field strength of the players in the target tournament. The computing system generates a player performance probability for each hole for each player in the target tournament based on at least one adjusted stroke score metric. The player performance probability includes the probability of each player achieving each possible score on each hole. The computing system simulates player performance by using the player performance probabilities for each player to generate an expected result for the tournament.
[0005] In some embodiments, a non-temporary computer-readable medium is disclosed herein. The non-temporary computer-readable medium includes one or more instruction sequences, which, when executed by a processor, cause a computing system to perform operations. These operations include retrieving historical hole-by-hole data of multiple holes of multiple golf tournaments for multiple players by the computing system. The historical hole-by-hole data includes the yardage of each hole and the par associated with each hole. These operations also include clustering the multiple holes into multiple hole type clusters by the computing system. These operations also include generating a score index for each hole type of each player's historical hole-by-hole data by the computing system. These operations also include adjusting the score index for each hole type based on the field strength index associated with each tournament by the computing system. The field strength index represents the field strength of the player in the target tournament. The operation also includes generating a player performance probability for each player in each hole in the target tournament by the computing system based on at least one adjusted score index. The player performance probability includes the probability of each player obtaining each possible score on each hole. The operation also includes simulating player performance by the computing system using the player performance probability of each player to generate an expected result of the target tournament.
[0006] In some embodiments, a system is disclosed herein. The system includes a processor and a memory. Programming instructions are stored on the memory, and when the processor executes these instructions, the system performs operations. These operations include retrieving historical hole-by-hole data of multiple holes of multiple golf tournaments for multiple players. The historical hole-by-hole data includes the yardage of each hole and the par associated with each hole. The operations also include clustering the multiple holes into multiple hole type clusters. The operations also include generating a score index for each hole type of the historical hole-by-hole data for each player. The operations also include adjusting the score index for each hole type based on the field strength index associated with each tournament. The field strength index represents the field strength of the player in the target tournament. The operations also include generating a player performance probability for each player in each hole in the target tournament based on at least one adjusted score index. The player performance probability includes the probability of each player achieving each possible score in each hole. The operation also includes simulating player performance by using the player performance probability of each player to generate an expected result of the target tournament. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] In order to be able to understand the above-mentioned features of the present disclosure in detail, the present disclosure briefly summarized above may be described in more detail with reference to the embodiments, some of which are shown in the accompanying drawings. However, it should be noted that the accompanying drawings only show typical embodiments of the present disclosure and are therefore not to be considered as limiting its scope, as the present disclosure may allow for other equally effective embodiments.
[0008] Figure 1 is a block diagram of a computing environment shown in accordance with an example embodiment.
[0009] Figure 2 is a flow chart illustrating a method of generating an adjusted stroke scoring metric for each golfer according to an example embodiment.
[0010] Figure 3 is a flow chart illustrating a method of predicting the outcome of an upcoming tournament, according to an example embodiment.
[0011] Figure 4A is a block diagram illustrating an example graphical user interface according to an example embodiment.
[0012] Figure 4B is a block diagram illustrating an example graphical user interface according to an example embodiment.
[0013] Figure 5A is a block diagram illustrating a computing device according to an example embodiment.
[0014] Figure 5B is a block diagram illustrating a computing device according to an example embodiment.
[0015] To facilitate understanding, like reference numerals have been used, where possible, to designate like elements in the figures. It is contemplated that elements disclosed in one embodiment may be beneficially utilized on other embodiments without specific recitation. DETAILED DESCRIPTION
[0016] Due to the nature of the sport of golf, it is often difficult to rank players due to the diversity of tours and the diversity of fields at tournaments. Tournaments may be held on a wide variety of courses and field strengths. Due to differences in golfers' individual skill sets, certain players may perform consistently on one course and struggle on another. Sometimes this difference may be attributed to golfer preference (e.g., a golfer may prefer course number one over course number two). Other times, this difference may be attributed to field strength (e.g., course number one may have a weaker field strength in a tournament compared to course number two in a tournament).
[0017] Additionally, small sample sizes are an issue. Golfers typically play in about 20 sanctioned tournaments per year. Given such a small sample size, it is often difficult to accurately train AI models to draw conclusions, especially given the differences in individual skill sets. These limitations also limit the ability of traditional systems to simulate tournament performance.
[0018] The present method improves upon conventional systems by utilizing individual players' performance relative to the tournaments they play in, as well as calculated recent deviations, to generate an adjusted stroke scoring metric for each player. Using the adjusted stroke scoring metric, the present system can be configured to generate the probability of each player achieving each possible score on each hole in the tournament. The present system can then use these probabilities to simulate a player's performance in a tournament.
[0019] Figure 1 is a block diagram illustrating a computing environment 100 according to an example embodiment. The computing environment 100 may include a tracking system 102, an organizational computing system 104, one or more client devices 108, and one or more third-party systems 115 in communication via a network 105.
[0020] Network 105 can be of any suitable type, including a separate connection through the Internet (e.g., a cellular network or a Wi-Fi network). In some embodiments, network 105 can use a direct connection (e.g., radio frequency identification (RFID), near field communication (NFC), Bluetooth TM , Bluetooth Low Energy TM (BLE), Wi-Fi TM 、ZigBee TM , ambient backscatter communication (ABC) protocol, USB, WAN or LAN) to connect terminals, services and mobile devices. Because the information transmitted may be private or confidential, one or more of these types of connections may be required to be encrypted or otherwise protected for security reasons. However, in some embodiments, the information transmitted may not be so private, and therefore, the network connection may be selected for convenience rather than security.
[0021] The network 105 may include any type of computer network arrangement for exchanging data or information. For example, the network 105 may be the Internet, a private data network, a virtual private network using a public network, and / or other suitable connections that enable components in the computing environment 100 to send and receive information between components of the environment 100.
[0022] Tracking system 102 may be associated with course 106. For example, course 106 may be configured to host a sporting event including one or more agents 112 (or golfers). Tracking system 102 may be configured to record the movement of all agents (i.e., players) on the course and one or more other related objects (e.g., ball position, weather forecast, hole number, course name, flagpole position, obstacle position, shot count, etc.). In some embodiments, tracking system 102 may be an optical-based system, such as using multiple cameras. In some embodiments, tracking system 102 may be a radio-based system, such as using a radio frequency identification (RFID) tag worn by a player or embedded in an object to be tracked. Typically, tracking system 102 may be configured to sample and record at a high frame rate. Tracking system 102 may be configured to store at least player identity, shot information, and the location (e.g., (x, y) position) of all players and objects (e.g., balls) for each hole on the course.
[0023] Tracking system 102 may be configured to communicate with organization computing system 104 via network 105. Organization computing system 104 may be configured to manage and analyze data captured by tracking system 102. Organization computing system 104 may include at least web client application server 114, data storage 118, golf module 120.
[0024] The golf module 120 may be composed of one or more software modules. One or more software modules may be a collection of codes or instructions stored on a medium (e.g., a memory of the organization computing system 104) that represent a series of machine instructions (e.g., program code) that implement one or more algorithm steps. Such machine instructions may be actual computer code that the processor of the organization computing system 104 interprets to implement the instructions, or may be a higher-level encoding of instructions that is interpreted to obtain the actual computer code. One or more software modules may also include one or more hardware components. One or more aspects of the example algorithm may be performed by the hardware component (e.g., circuit) itself, rather than as a result of instructions.
[0025] The data storage 118 may be configured to store one or more event files 128. Each event file 128 may be captured and generated by the tracking system 102. In some embodiments, each of the one or more event files 128 may include all of the raw data captured from a tournament or round. For example, the raw data contained in each event file 128 may include, but is not limited to, hole-by-hole information for each golfer. The hole-by-hole information may include yardage and number of strokes.
[0026] The golf module 120 may be configured to generate potential outcomes for an upcoming tournament. As shown, the golf module 120 may include a ranking module 122, a prediction engine 124, and a simulation module 126.
[0027] Ranking module 122 can be configured to rank golfers globally. To this end, ranking module 122 can analyze the hole-by-hole data of each event file, as well as background information (e.g., short par 3 holes, long par 4 holes, etc.) about each course and golfer in the tournament to create an adjusted stroke score metric for each golfer. By generating a stroke score metric (a strokes gained metric), ranking module 122 is able to take into account different score expectations between different courses, in contrast to the traditional method of using the cumulative strokes under par or over par. Relying on the cumulative strokes under par or over par may inappropriately weight good performance on courses with very low scores. For example, a golfer who scores -14 and is three strokes ahead of the whole course should be similarly weighted to a golfer who has a stroke of +2 but is three strokes ahead of the whole course. By utilizing the stroke score metric, ranking module 122 can take into account such nuances in golf, thereby taking into account that different courses have different score expectations.
[0028] Additionally, one of the benefits of considering hole-by-hole data rather than tournament or round data is that it greatly increases the sample size of the prediction engine 124. For example, by considering how each player performed on each hole relative to the field average, the ranking module 122 effectively increases the sample size of the prediction engine 124 by eighteen times. This enables the ranking module 122 to further delve into how players score on each type of hole and the differences in their scores.
[0029] Based on the hole-by-hole data, the ranking module 122 can determine how each golfer performs on each hole relative to the course, rather than over the entire round or the entire tournament. In this way, the ranking module 122 can achieve not only an overall ranking, but also rankings for specific hole types. Such rankings can enable the prediction engine 124 to generate more accurate predictions because the prediction engine 124 can break down the course into specific holes and create a prediction of how any player will perform on each hole.
[0030] For each hole played by a golfer, the ranking module 122 can generate a score value. This is more advantageous than traditional methods, which analyze golfers' performance on a per round or per tournament basis. In some embodiments, the ranking module 122 can classify holes based on par, yardage, and hole standard deviation. For example, the ranking module 122 can classify holes into one of the following eight types: Shorter / easier / less varied par 3s Longer / harder / more varied par 3 holes Shorter / easier / more varied par 4 holes Shorter / harder / less varied par 4s Longer / easier / less varied par 4s Longer / harder / more varied par 4 holes Shorter / easier par 5 holes Longer / harder par 5 holes
[0031] As will be appreciated by those skilled in the art, the foregoing ranges are exemplary and may be adjusted based on administrator preferences.
[0032] In some embodiments, the ranking module 122 may cluster the holes into hole types using a clustering algorithm. For example, the ranking module 122 may cluster the historical hole information into k clustered hole types using a k-means clustering algorithm.
[0033] In some embodiments, for a par 3, the historical clustering of a single hole may contain multiple hole types. A hole may be: a par 3 with two shorter / easier / less varied parts and a par 3 with two longer / harder / more varied parts. For prediction purposes, this hole will be two types of holes. The ranking module 122 may apply similar logic to par 4s. This classification may allow the ranking module 122 to stylize golfers according to their strengths.
[0034] In some embodiments, the ranking module 122 may generate a strength of field metric associated with the tournament in which the holes were played. For example, the ranking module 122 may use raw historical data for each player at the field (e.g., pure strokes gained or lost in the tournament) to generate the strength of field metric. In some embodiments, the ranking module 122 may generate a round-level strength of field metric. For example, the first round of a tournament may have a different strength of field metric than the fourth round of the tournament. This difference in strength of field metric may be due to field reduction between rounds.
[0035] In some embodiments, the ranking module 122 can also generate a tour adjustment. The ranking module 122 can generate a tour adjustment by observing the score data of players who have participated in multiple tours and comparing their performances. For example, the DP World Tour is 0.79 strokes worse than the PGA Tour; the Asian Tour is 1.60 strokes worse than the PGA Tour.
[0036] In some embodiments, one or more third-party systems 115 may be associated with a server or website configured to host field strength indicators for a tournament. For example, one or more third-party systems 115 may be configured to host field strength indicators associated with the Official World Golf Ranking. The Official World Golf Ranking assigns a field strength value to each tournament based on the players participating in the tournament.
[0037] It is important to note that the Official World Golf Ranking does not predict a golfer's future performance in upcoming tournaments. Instead, the Official World Golf Ranking only assigns world ranking points based on a player's performance in a tournament. In other words, the Official World Golf Ranking may explain how each player earned a spot in an upcoming tournament, but it does not predict future performance in an upcoming tournament.
[0038] Using the Official World Golf Ranking as an example, the average field strength in tournaments played by Patrick Cantlay was 556. The average field strength in tournaments played by Will Zalatoris was 232. This difference alone is equivalent to 0.5 strokes in terms of their performances in these tournaments. This difference may not seem like much, but a half-stroke difference is the difference between the 17th ranked golfer in the world and the 38th ranked golfer in the world.
[0039] In some embodiments, the ranking module 122 may further adjust the stroke score metric using one or more recency adjustments. For example, the ranking module 122 may weight recency using a decay formula. The recency adjustment helps the ranking module 122 give more weight to holes played more recently than holes played 26 tournaments ago.
[0040] Using the adjusted stroke score index, the ranking module 122 can generate a ranking of golfers based on the average course composition of a strong tournament. For example, based on the course composition of a strong tournament, the ranking module 122 can determine that, on average, in each golf course, there are 2.54 shorter / easier / less varied par 3 holes, 1.55 longer / harder / more varied par 3 holes, 1.26 shorter / easier / more varied par 4 holes, 3.26 shorter / harder / less varied par 4 holes, 4.04 longer / easier / less varied par 4 holes, 1.88 longer / harder / more varied par 4 holes, 2.10 shorter / easier par 5 holes, and 1.38 longer / harder par 5 holes. The ranking module 122 can generate an overall ranking of a player based on the average course composition of a strong tournament and the adjusted stroke score index. In some embodiments, the ranking can be weighted based on one or more recent adjustments. For example, the ranking module 122 may apply a decay factor of 0.94. In other words, each tournament may be weighted 0.94 of the next tournament.
[0041] Prediction engine 124 can be configured to predict the performance of players in the upcoming tournament hole by hole. Prediction engine 124 can use the following items to generate the probability that a player obtains multiple possible scores on a hole: the adjusted obtained strokes normalized for the on-site strength of the hole type, the player standard deviation of the hole type, the estimated average hole score based on historical hole information, and the estimated hole standard deviation using historical hole information. In some embodiments, the data before each hole-punching can be used to generate the estimated average hole score. Using this information, prediction engine 124 can use clustering algorithms to calculate clustering to determine clustering, and then use the set hole score and standard deviation as our prediction of the future game situation of the hole. In some embodiments, the hole position may not be directly considered. However, the difficult hole position may affect the clustering to which the hole is assigned. For example, if a hole has an easy hole position in two rounds and a difficult hole position in two rounds, the hole may belong to multiple clustering types. In order to make a prediction, prediction engine 124 can regard a hole as multiple types, thereby bringing some changes to the playing style of the hole. For example, for each possible shot from one to fourteen, the prediction engine 124 may generate a probability of the player's number of strokes on that hole based on the player's adjusted stroke scoring metric for that hole type, the player's standard deviation, the expected hole score, and the expected hole standard deviation.
[0042] To generate the probability of a player getting multiple possible scores on a given hole, the prediction engine 124 can use a one versus rest logistic regression model. The one versus rest logistic model can generate a model for each possible score type. For example, there may be a regression model for one-shot scores, a second regression model for two-shot scores, and so on. The probabilities generated by the various models may add up to 100. In this way, the prediction engine 124 can generate the probability of a player getting each possible score on a given hole.
[0043] The simulation module 126 may be configured to simulate player performance in a tournament. For example, given the individual player performance probabilities for each hole, the simulation module 126 may simulate the entire tournament to generate a predicted winner or ranking of golfers in the tournament. In some embodiments, the simulation module 126 may utilize Monte Carlo simulation.
[0044] In some embodiments, the simulation module 126 can be configured to dynamically update the simulation results in real time, near real time, or periodically. For example, the simulation module 126 can receive a score indication in a tournament. In some embodiments, the indication can represent the actual result of a given hole for a given player. Based on the actual score, the simulation module 126 can re-simulate the player performance to generate a new tournament prediction. In this way, the simulation module 126 can provide updated simulation results to the end user regularly or periodically.
[0045] In some embodiments, the golf module 120 can be configured to handle various tournament types. For example, for the Stableford scoring method, instead of the total score, the Stableford scoring method uses the score points for each hole. For example, an albatross is worth 5 points, an eagle is worth 4 points, a birdie is worth 3 points, a par is worth 2 points, a bogey is worth 1 point, and a double bogey or worse is worth 0 points. The process performed by the golf module 120 may be substantially the same as the aforementioned functions. However, there is an additional step in ranking and generating future predictions, which is to assign points to the scores of each hole.
[0046] In some embodiments, the golf module 120 can be configured to handle match play rules (e.g., 1 vs. 1 or 2 vs. 2). In some embodiments, each hole can be scored individually, and only one point can be won on any given hole. For example, if a golfer beats his opponent by 4 strokes on a hole, it will only count as a 1-point win. Hole play can be played until a player can no longer win, or 18 holes are played in the case of a tie. If a player is 3 strokes behind with 2 holes left, the player can no longer win the match, and the match will be recorded as a "3 vs. 2 win" for the leading player.
[0047] The above techniques can be applied to match play rules. For example, for each match, holes can be scored and compared for each player, and then a winner or tie is determined. This process continues until the match ends in a tie or a player scores enough points to win. In match play where a bracket tournament occurs, the golf module 120 can simulate outcomes based on the likelihood of a player winning their pool and then winning consecutive single elimination matches.
[0048] Additionally, it is worth noting that while the foregoing discussion refers to individual tournaments where each player or golfer competes against other players in the field, those skilled in the art recognize that this technology can be applied to team competitions (e.g., the Ryder Cup) where the outcome of a tournament is not for each golfer for himself, but rather is based on the performance of a team of golfers. In this case, the golf module 120 can aggregate data to generate team-level predictions.
[0049] In addition, as will be appreciated by those skilled in the art, the golf module 120 can be used to map performances in tours together. For example, the golf module 120 can be configured to identify a player's performance in the PGA Tour, the LIV Tour, and any other tour. Such mapping can be in a joint tournament, such as the Masters or the British Open.
[0050] Furthermore, while the above discussion focuses on men's golf, those skilled in the art will appreciate that these techniques may be applied to women's golf, as well as combined or hybrid tournaments that include golfers from both the men's and women's tours.
[0051] Client devices 108 may communicate with organizational computing system 104 via network 105. Client devices 108 may be operated by users. For example, client devices 108 may be mobile devices, tablet computers, desktop computers, or any computing system having the functionality described herein. Users may include, but are not limited to, individuals, such as subscribers, clients, potential clients, or customers of an entity associated with organizational computing system 104, such as individuals who have obtained, will obtain, or may obtain products, services, or consulting from an entity associated with organizational computing system 104.
[0052] The client device 108 may include at least an application 132. The application 132 may represent a web browser that allows access to a website or a stand-alone application. The client device 108 may use the access application 132 to access one or more functions of the organization computing system 104. The client device 108 may communicate over the network 105 to request a web page, for example, from a web client application server 114 of the organization computing system 104. For example, the client device 108 may be configured to execute the application 132 to access content managed by the web client application server 114. Content displayed to the client device 108 may be transmitted from the web client application server 114 to the client device 108 and then processed by the application 132 for display through a graphical user interface (GUI) of the client device 108.
[0053] Figure 2 2 is a flow chart illustrating a method 200 for generating an adjusted stroke score metric for each golfer according to an example embodiment. The method 200 may begin at step 202 .
[0054] In step 202, the organization computing system 104 may retrieve historical hole-by-hole data for a plurality of golfers. The hole-by-hole information may include the yardage and strokes associated with each hole, as well as the golfer's score for the hole.
[0055] In step 204, the organization computing system 104 may generate a stroke scoring metric for each golfer based on the hole-by-hole data. The ranking module 122 may analyze the hole-by-hole data for each event file and the background information about the golfers' presence at each course and tournament to create the stroke scoring metric. The ranking module 122 may generate a stroke scoring metric for each hole type. For example, the ranking module 122 may generate a stroke scoring metric for each of the eight hole types.
[0056] At step 206, the ranking module 122 may adjust the stroke score metric of each golfer based on the field strength metric associated with the tournament in which the hole was played to generate an adjusted stroke score metric. For example, the ranking module 122 may generate the field strength metric. In some embodiments, the ranking module 122 may use each player's raw historical data at the field (e.g., pure strokes gained or lost in the tournament) to generate the field strength metric. In some embodiments, the ranking module 122 may generate the field strength metric at the round level. For example, the first round of a tournament may have a different field strength metric than the fourth round of the tournament. This difference in field strength metric may be due to field reduction between rounds.
[0057] At step 208, the organizational computing system 104 may generate an adjusted stroke score metric for each golfer for each hole type. For example, the ranking module 122 may aggregate the adjusted stroke score metrics for each hole in the hole-by-hole data to determine an adjusted stroke score metric for each hole type. Hole types may include, but are not limited to, short par 3 holes, long par 3 holes, short par 4 holes, long par 4 holes, and par 5 holes.
[0058] Figure 3 is a flow chart illustrating a method 300 of predicting an upcoming tournament outcome according to an example embodiment. The method 300 may begin at step 302 .
[0059] At step 302, the organization computing system 104 may receive information about an upcoming tournament. For example, the prediction engine 124 may receive hole-by-hole information for each hole in each round of the tournament and for the players in the player field. Exemplary hole information may include, but is not limited to: the number of shorter / easier / less varied par 3 holes, the number of longer / harder / more varied par 3 holes, the number of shorter / easier / more varied par 4 holes, the number of shorter / harder / less varied par 4 holes, the number of longer / easier / less varied par 4 holes, the number of longer / harder / more varied par 4 holes, the number of shorter / easier / more varied par 5 holes, and the number of longer / harder par 5 holes.
[0060] At step 304, the organization computing system 104 may generate field strength indicators for the upcoming tournament. For example, the ranking module 122 may generate the field strength indicators. In some embodiments, the ranking module 122 may use raw historical data of each player on the field (e.g., pure strokes gained or lost in the tournament) to generate the field strength indicators. In some embodiments, the ranking module 122 may generate the field strength indicators at the round level. For example, the first round of a tournament may have different field strength indicators than the fourth round of the tournament. This difference in field strength indicators may be due to field reduction between rounds.
[0061] At step 306, the organizational computing system 104 may retrieve the adjusted stroke scoring metric from the data store 118. For example, the prediction engine 124 may retrieve the adjusted stroke scoring metric generated by the ranking module 122 from the data store 118 for each player at the player site for each hole type.
[0062] At step 308, the organization computing system 104 may generate a predicted probability of player performance for each hole in the upcoming tournament. The prediction engine 124 may generate the probability of a player obtaining multiple possible scores on a hole using one or more of the following items: an adjusted stroke score metric, a player standard deviation, a predicted average hole score based on historical hole information, and a predicted hole standard deviation using historical hole information. In order to generate the probability of a player obtaining multiple possible scores on a given hole, the prediction engine 124 may use a one-to-many logistic regression model. The one-to-many logistic model may generate a model for each possible score type. For example, there may be a regression model for one-shot scores, a second regression model for two-shot scores, and the like. The probabilities generated by the various models may add up to 100. In this way, the prediction engine 124 may generate the probability of a player obtaining each possible score on a given hole.
[0063] At step 310, the organization computing system 104 may simulate player performance in a tournament. For example, given individual player performance probabilities for each hole, the simulation module 126 may simulate the tournament. In some embodiments, the simulation module 126 may utilize Monte Carlo simulation.
[0064] At step 312, the organization computing system 104 may receive a tournament score indication. For example, the organization computing system 104 may receive the actual result of a given hole for a given player.
[0065] At step 314, the organization computing system 104 may generate an updated projection based on the instructions. For example, based on actual scores, the simulation module 126 may re-simulate player performance to generate a new tournament projection. In this manner, player performance projections may be updated in real time, near real time, or periodically (e.g., after each hole) based on real-time tournament data.
[0066] Figure 4A 4 is a block diagram illustrating an example graphical user interface (GUI) 400 according to an example embodiment. GUI 400 may represent an exemplary graphical user interface that may be presented to a user via client device 108.
[0067] GUI 400 may include predictions generated by golf module 120 for an upcoming tournament. As shown, golf module 120 may generate a percentage probability of a player achieving each of a plurality of possible scores on a given hole. For example, for player 286684, on hole 5, a par 3 hole, the player has a 0% probability of achieving an albatross, a 0.03% probability of achieving an eagle, a 10.40% probability of achieving a birdie, a 62.42% probability of achieving a par, a 25.76% probability of achieving a bogey, and a 1.38% probability of achieving a double bogey.
[0068] Figure 4B 4 is a block diagram illustrating an example graphical user interface (GUI) 450 according to an example embodiment. GUI 450 may represent an exemplary graphical user interface that may be presented to a user via client device 108. As shown, GUI 450 may compare the median end-of-round scores of two players (Aaron Rai and Cameron Davis) after 1,000 simulations.
[0069] Figure 5A The architecture of a system bus computing system 500 according to an example embodiment is shown. One or more components of the system 500 can communicate with each other electrically using a bus 505. The system 500 may include a processor (e.g., one or more CPUs, GPUs, or other types of processors) 510 and a system bus 505, which couples various system components including a system memory 515 (e.g., a read-only memory (ROM) 520 and a random access memory (RAM) 525) to the processor 510. The system 500 may include a cache of high-speed memory directly connected to the processor 510, close to the processor 510, or integrated as part of the processor 510. The system 500 may copy data from the memory 515 and / or the storage device 530 to the cache 512 for fast access by the processor 510. In this way, the cache 512 can provide a performance improvement that avoids delays in the processor 510 when waiting for data. These and other modules can control or be configured to control the processor 510 to perform various actions. Other system memories 515 may also be used. The memory 515 may include a variety of different types of memory with different performance characteristics. Processor 510 may represent a single processor or multiple processors. Processor 510 may include one or more general purpose processors or hardware modules or software modules, such as server 1 532, server 2 534, and server 5 536 stored in storage device 530 and configured to control processor 510 as well as dedicated processors (where software instructions are incorporated into the actual processor design). Processor 510 may essentially be a completely independent computing system, including multiple cores or processors, buses, memory controllers, caches, etc. Multi-core processors may be symmetric or asymmetric.
[0070] To enable a user to interact with the system 500, the input device 545 can be any number of input mechanisms, such as a microphone for voice, a touch screen for gesture or graphic input, a keyboard, a mouse, motion input, voice, etc. The output device 535 (e.g., a display) can also be one or more of a variety of output mechanisms known to those skilled in the art. In some cases, a multimodal system can enable a user to provide multiple types of input to communicate with the system 500. The communication interface 540 can generally control and manage user input and system output. There is no limitation on the operation of any particular hardware arrangement, so the basic features here can be easily replaced by improved hardware or firmware arrangements as they are developed.
[0071] The storage device 530 may be a non-volatile memory and may be a hard disk or other type of computer-readable medium capable of storing computer-accessible data, such as a magnetic tape, a flash memory card, a solid-state memory device, a digital versatile disk, a cassette, a random access memory (RAM) 525, a read-only memory (ROM) 520, and a mixture thereof.
[0072] The storage device 530 may include servers 532, 534, and 536 for controlling the processor 510. Other hardware or software modules are contemplated. The storage device 530 may be connected to the system bus 505. In one aspect, a hardware module that performs a particular function may include a software component stored in a computer-readable medium that interfaces with the necessary hardware components (e.g., the processor 510, the bus 505, the output device 535 (e.g., a display), etc.) to perform the function.
[0073] Figure 5BA computer system 550 with a chipset architecture according to an example embodiment is shown. The computer system 550 can be an example of computer hardware, software, and firmware that can be used to implement the disclosed technology. The system 550 may include one or more processors 555, which represent any number of physically and / or logically different resources capable of executing software, firmware, and hardware configured to perform the identified calculations. The one or more processors 555 can communicate with a chipset 560, which can control the input and output of the one or more processors 555. In this example, the chipset 560 outputs information to an output 565 (e.g., a display), and can read and write information to a storage device 570, which can include, for example, magnetic media and solid-state media. The chipset 560 can also read data from a storage device 575 (e.g., RAM) and write data to the storage device 575. A bridge 580 for interfacing with various user interface components 585 can be provided to interface with the chipset 560. Such user interface components 585 may include a keyboard, a microphone, touch detection and processing circuits, a pointing device (e.g., a mouse), and the like. In general, input to system 550 may come from any of a variety of sources, including machine-generated and / or human-generated.
[0074] Chipset 560 may also interact with one or more communication interfaces 590, which may have different physical interfaces. Such communication interfaces may include interfaces for wired and wireless local area networks, broadband wireless networks, and personal area networks. Some applications of the methods disclosed herein for generating, displaying, and using GUIs may include receiving an ordered data set through a physical interface, or generated by the machine itself through one or more processors 555 (which analyzes data stored in storage devices 570 or 575). In addition, the machine may receive input from a user through a user interface component 585, and perform appropriate functions, such as browsing functions, by interpreting these inputs using one or more processors 555.
[0075] It will be appreciated that example systems 500 and 550 may have more than one processor 510 or be part of a group or cluster of computing devices networked together to provide increased processing capabilities.
[0076] Although the foregoing is directed to the 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 a computer system. The program of the program product defines the functions of the embodiments (including the methods described herein) and may be contained on various computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., a read-only memory (ROM) device within a computer, such as a CD-ROM disk, flash memory, ROM chip, or any type of solid-state non-volatile memory that can be read by a CD-ROM drive), in which information is permanently stored; and (ii) writable storage media (e.g., a floppy disk within a floppy disk drive or hard drive or any type of solid-state random access memory), on which modifiable information is stored. When such a computer-readable storage medium carries computer-readable instructions indicating the functions of the disclosed embodiments, the storage medium is an embodiment of the present disclosure.
[0077] Those skilled in the art will recognize that the above examples are illustrative and not restrictive. After reading the specification and studying the drawings, it will be clear to those skilled in the art that all permutations, enhancements, equivalents and improvements are included in the true spirit and scope of the present disclosure. Therefore, the following appended claims are intended to include all modifications, permutations and equivalents that fall within the true spirit and scope of these teachings.
Claims
1. A method comprising: retrieving, via a computing system, historical hole-by-hole data for a plurality of holes of a plurality of golf tournaments for a plurality of players, wherein the historical hole-by-hole data includes a yardage for each hole and a par associated with each hole; clustering, via the computing system, the plurality of holes into a plurality of hole type clusters; generating, via the computing system, a stroke score indicator for each hole type in the historical hole-by-hole data for each player; adjusting, via the computing system, the stroke scoring indicator for each hole type based on a field strength indicator associated with each tournament, the field strength indicator representing the field strength of players in a target tournament; generating, via the computing system, a player performance probability for each player on each hole in the target tournament based on at least one adjusted stroke score metric, wherein the player performance probability includes a probability of each player achieving each possible score on each hole; and Player performance is simulated, via the computing system, using the player performance probabilities for each player to generate a projected outcome of the target tournament.
2. The method according to claim 1, wherein: Clustering, via the computing system, the plurality of holes into the plurality of hole type clusters comprises: Each hole of the plurality of holes is assigned to the plurality of hole type clusters, wherein the plurality of hole type clusters include a par 3 short hole, a par 3 long hole, a par 4 short hole, a par 4 long hole, and a par 5 hole.
3. The method according to claim 1, further comprising: The field strength index is generated based on raw historical hole-by-hole data for each player's round-by-round play.
4. The method according to claim 1, wherein: The player performance probabilities were generated using a one-vs-all logistic regression model.
5. The method of claim 4, wherein the one-to-many logistic regression model generates probabilities of the first player achieving multiple possible scores on each hole.
6. The method according to claim 5, further comprising: generating, using a first regression model, a first probability that the first player will obtain a first score of the plurality of possible scores on a first hole; as well as Using a second regression model, a second probability is generated that the first player will achieve a second score of the plurality of possible scores on the first hole.
7. The method according to claim 1, further comprising: receiving, via the computing system, a score indication for the target tournament; as well as Based on the scores, a predicted outcome of the target tournament is updated via the computing system.
8. A non-transitory computer readable medium comprising one or more sequences of instructions which, when executed by a processor, cause a computing system to perform operations comprising: retrieving, via the computing system, historical hole-by-hole data for a plurality of holes of a plurality of golf tournaments for a plurality of players, wherein the historical hole-by-hole data includes a yardage for each hole and a par associated with each hole; clustering, via the computing system, the plurality of holes into a plurality of hole type clusters; generating, via the computing system, a stroke score indicator for each hole type in the historical hole-by-hole data for each player; adjusting, via the computing system, the stroke scoring indicator for each hole type based on a field strength indicator associated with each tournament, the field strength indicator representing the field strength of players in a target tournament; generating, via the computing system, a player performance probability for each player on each hole in the target tournament based on at least one adjusted stroke score metric, wherein the player performance probability includes a probability of each player achieving each possible score on each hole; and A projected outcome of the target tournament is generated, via the computing system, by simulating player performance using the player performance probabilities for each player.
9. The non-transitory computer-readable medium of claim 8, wherein clustering, via the computing system, the plurality of holes into the plurality of hole type clusters comprises: Each hole of the plurality of holes is assigned to a plurality of hole type clusters, wherein the plurality of hole type clusters include a par 3 short hole, a par 3 long hole, a par 4 short hole, a par 4 long hole, and a par 5 hole.
10. The non-transitory computer-readable medium of claim 8, further comprising: The field strength index is generated based on raw historical hole-by-hole data for each player's round-by-round play.
11. The non-transitory computer-readable medium of claim 8, wherein the player performance probabilities are generated using a one-to-many logistic regression model.
12. The non-transitory computer-readable medium of claim 11, wherein the one-to-many logistic regression model generates probabilities of the first player achieving the plurality of possible scores on each hole.
13. The non-transitory computer readable medium of claim 12, further comprising: generating, using a first regression model, a first probability that the first player will obtain a first score of the plurality of possible scores on a first hole; as well as Using a second regression model, a second probability is generated that the first player will achieve a second score of the plurality of possible scores on the first hole.
14. The non-transitory computer-readable medium of claim 8, further comprising: receiving, via the computing system, a score indication for the target tournament; as well as Based on the scores, a predicted outcome of the target tournament is updated via the computing system.
15. A system comprising: processor; as well as A memory having programming instructions stored thereon, and when the processor executes the programming instructions, the system performs operations, the operations comprising: retrieving historical hole-by-hole data for a plurality of holes of a plurality of golf tournaments for a plurality of players, wherein the historical hole-by-hole data includes a yardage for each hole and a par associated with each hole; clustering the plurality of holes into a plurality of hole type clusters; generating a stroke score metric for each hole type in the historical hole-by-hole data for each player; adjusting the stroke scoring indicator for each hole type based on a field strength indicator associated with each tournament, the field strength indicator representing the field strength of the players in the target tournament; generating a player performance probability for each player on each hole in the target tournament based on at least one adjusted stroke score metric, wherein the player performance probability includes a probability of each player achieving each possible score on each hole; and A projected outcome of the target tournament is generated by simulating player performance using the player performance probabilities for each player.
16. The system of claim 15, wherein clustering the plurality of holes into a plurality of hole type clusters comprises: Each hole of the plurality of holes is assigned to a plurality of hole type clusters, wherein the plurality of hole type clusters include a par 3 short hole, a par 3 long hole, a par 4 short hole, a par 4 long hole, and a par 5 hole.
17. The system of claim 15, further comprising: The field strength index is generated based on raw historical hole-by-hole data for each player's round-by-round play.
18. The system of claim 15, wherein the player performance probabilities are generated using a one-to-many logistic regression model that generates probabilities of a first player achieving the plurality of possible scores on each hole.
19. The system of claim 18, further comprising: generating, using a first regression model, a first probability that the first player will obtain a first score of the plurality of possible scores on a first hole; as well as Using a second regression model, a second probability is generated that the first player will achieve a second score of the plurality of possible scores on the first hole.
20. The system of claim 15, further comprising: receiving a score indication for the target tournament; as well as Based on the score, the predicted outcome of the target tournament is updated.