Lineup evaluation and course-adjusted score for global golf analysis
By analyzing golfers' hole-by-hole data and field strength, a score metric is generated, solving the problem of accuracy in golfer rankings and achieving unified ranking and hole-level predictions across different courses and tours.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- STAT LLC
- Filing Date
- 2022-03-25
- Publication Date
- 2026-05-29
AI Technical Summary
Existing technologies struggle to accurately rank golfers, especially due to the diversity of tours, the differences in courses, and the small sample size, making it difficult to train effective ranking models.
By analyzing golfers' hole-by-hole data through a computational system, stroke score metrics are generated and adjusted based on the strength of the course's lineup. Clustering algorithms are used to cluster hole types, and combined with lineup strength data from the official world golf rankings, more accurate rankings and predictions are generated.
It achieves uniformity in golfer rankings across different courses and tours, improves the accuracy of rankings and the precision of predictions, and can design a unique set of rankings for any course, providing hole-level predictions.
Smart Images

Figure CN117062655B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims priority to U.S. Provisional Application Serial No. 63 / 166,830, filed March 26, 2021, which is incorporated herein by reference in its entirety. Technical Field
[0003] This disclosure generally relates to a system and method for analyzing and ranking golfers. Background Technology
[0004] Ranking athletes in any sport is often a challenging task. It's even more difficult in golf because instead of playing a fixed number of matches against a group of average teams in a closed league, golf features tours of varying quality around the world. The athletes participating in these tournaments are typically independent contractors who have either been invited to the tournament or qualified through performances in other tournaments. Summary of the Invention
[0005] In some embodiments, this document discloses a method. A computational system retrieves historical hole-by-hole data for multiple holes across multiple golf tournaments for multiple athletes. The historical hole-by-hole data includes the yardage for each hole and the par associated with each hole. The computational system clusters the multiple holes into multiple clusters of hole types. The computational system generates a strokes-gained metric for each hole type for each athlete's hole-by-hole data. The computational system adjusts the strokes-gained metric for each hole type based on a field of strength metric associated with each tournament. The field of strength metric represents the strength of the athlete field in a given tournament. The computational system generates rankings for the multiple athletes based on the adjusted strokes-gained metric.
[0006] In some embodiments, this document discloses a non-transitory computer-readable medium. The non-transitory computer-readable medium includes one or more sequences of instructions that, when executed by one or more processors, cause a computing system to perform operations. The operations include retrieving historical hole-by-hole data for multiple holes across multiple golf tournaments for multiple athletes by the computing system. The historical hole-by-hole data includes the yardage for each hole and the par associated with each hole. The operations also include clustering the multiple holes into multiple clusters of hole types by the computing system. The operations further include generating a score metric for each hole type for each athlete's hole-by-hole data by the computing system. The operations also include adjusting the score metric for each hole type based on a strength lineup metric associated with each tournament. The strength lineup metric represents the strength of the athlete lineup in a given tournament. The operations also include generating rankings for multiple athletes by the computing system based on the adjusted score metric.
[0007] In some embodiments, a system is disclosed herein. The system includes a processor and a memory. The memory has programming instructions stored thereon that, when executed by the processor, cause the system to perform operations. The operations include retrieving historical hole-by-hole data for multiple holes across multiple golf tournaments for multiple athletes. The historical hole-by-hole data includes the yardage for each hole and the par associated with each hole. The operations also include clustering the multiple holes into multiple clusters of hole types. The operations further include generating a score metric for each hole type for each athlete's hole-by-hole data. The operations also include adjusting the score metric for each hole type based on a strength lineup metric associated with each tournament. The strength lineup metric represents the strength of the athlete lineup in a given tournament. The operations also include generating rankings for multiple athletes based on the adjusted score metric. Attached Figure Description
[0008] To gain a detailed understanding of the features described above, this disclosure can be described in more detail (as briefly summarized above) by referring to the embodiments, some of which are illustrated in the accompanying drawings. However, it should be noted that the drawings only show typical embodiments of this disclosure and are therefore not intended to limit the scope of the disclosure, as other equally effective embodiments are permissible.
[0009] Figure 1 This is a block diagram illustrating a computing environment according to an example embodiment.
[0010] Figure 2 This is a flowchart illustrating a method for generating golfer rankings according to an example embodiment.
[0011] Figure 3 This is a flowchart illustrating a method for predicting the outcome of an upcoming tournament according to an example embodiment.
[0012] Figure 4A This is a block diagram illustrating an example graphical user interface according to an example embodiment.
[0013] Figure 4B This is a block diagram illustrating an example graphical user interface according to an example embodiment.
[0014] Figure 5A This is a block diagram illustrating a computing device according to an example embodiment.
[0015] Figure 5B This is a block diagram illustrating a computing device according to an example embodiment.
[0016] For ease of understanding, the same reference numerals are used where possible to indicate the same elements commonly found in the figures. It is contemplated that elements disclosed in one embodiment may be advantageously used in other embodiments without specific description. Detailed Implementation
[0017] Ranking players is often difficult due to the nature of golf, the diversity of tours, and the variety of tournament venues. Tournaments can be held on a wide range of courses and with varying field strengths. Because of differences in individual skill sets among golfers, some players may be consistently competitive on one course but struggle on another. Sometimes, this variation may be attributed to a golfer's preference (e.g., a golfer might prefer the first course to the second). Other times, this variation may be due to field strength (e.g., the first course might be in a tournament with a weaker field than the second course in a second championship).
[0018] Furthermore, there is the issue of a small sample size. Golfers typically participate in around 20 accredited tournaments per year. Given this small sample size, it is often difficult to accurately train AI models to draw conclusions, especially considering the differences in individual skill sets.
[0019] This method improves upon traditional systems by generating one or more metrics using individual athletes' performance relative to the tournaments they are participating in, along with calculated recent deviations. In some embodiments, metrics may include course-independent global golf rankings, course-specific global golf rankings, and individual athlete and hole predictions. By employing this approach, the system allows for comparisons of golfers across continents and tours, creating a unique set of rankings for any course design. Furthermore, through hole-by-hole analysis, the system is capable of generating individual hole predictions for any golfer on any hole.
[0020] Figure 1This 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 communicating via a network 105.
[0021] Network 105 can be of any suitable type, including a standalone connection via the Internet, such as a cellular or Wi-Fi network. In some embodiments, network 105 may use radio frequency identification (RFID), near-field communication (NFC), or Bluetooth. TM Bluetooth Low Energy TM (low-energy Bluetooth, BLE), Wi-Fi TM Purple Bee TM Direct connections such as ZigBee, ambient backscatter communication (ABC), Universal Serial Bus (USB), Wide Area Network (WAN), or Local Area Network (LAN) are used to connect terminals, services, and mobile devices. Because the transmitted information may be private or confidential, one or more of these types of connections may need to be encrypted or otherwise protected for security reasons. However, in some embodiments, the information being transmitted may be less private, and therefore, the network connection may be chosen for convenience rather than security.
[0022] Network 105 may include any type of computer network arrangement for exchanging data or information. For example, 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 computing environment 100 to send and receive information between components of environment 100.
[0023] Tracking system 102 may be associated with golf course 106. For example, golf course 106 may be configured to host sporting events involving 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 relevant objects (e.g., ball position, weather forecast, hole number, course name, flag position, hazard position, stroke count, etc.). In some embodiments, tracking system 102 may be an optical-based system using, for example, multiple cameras. In some embodiments, tracking system 102 may be a radio-based system using, for example, radio frequency identification (RFID) tags worn by athletes or embedded in the objects 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, for each hole on the course, at least the player identity, stroke information, and position (e.g., (x, y) position) of all agents and objects (e.g., balls).
[0024] The tracking system 102 can be configured to communicate with the organizational computing system 104 via a network 105. The organizational computing system 104 can be configured to manage and analyze the data captured by the tracking system 102. The organizational computing system 104 may include at least a network client application server 114, a data storage 118, a ranking module 120, and a prediction engine 122.
[0025] Each of the ranking module 120 and the prediction engine 122 may consist of one or more software modules. One or more software modules may be a collection of code or instructions stored on a medium (e.g., the memory of the organization's computing system 104), representing a series of machine instructions (e.g., program code) that implement one or more algorithm steps. Such machine instructions may be actual computer code interpreted by the processor of the organization's computing system 104 to implement the instructions, or alternatively, may be higher-level encoding of the instructions interpreted to obtain 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 executed by the hardware component (e.g., circuitry) itself, rather than as a result of instructions.
[0026] Data storage 118 can be configured to store one or more event files 124. Each event file 124 can be captured and generated by tracking system 102. In some embodiments, each of the one or more event files 124 may include all raw data captured from a tournament or round. For example, the raw data included in each event file 124 may include, but is not limited to, hole-by-hole information for each golfer. Hole-by-hole information may include yardage and strokes.
[0027] Ranking module 120 can be configured to rank golfers globally. To this end, ranking module 120 can analyze hole-by-hole data from each event file, along with contextual information about each course and golfer lineup in the tournament (e.g., short 3, long 4, etc.), to create an adjusted score metric for each golfer. In contrast to the traditional approach of using under-par or over-par cumulative scores, by generating a score metric, ranking module 120 is able to consider the different expected scores across different courses. On low-scoring courses, relying on under-par or over-par cumulative scores can unduly influence a good performance. For example, a golfer who shoots -14 and leads the course by three strokes should be weighted similarly to a golfer who shoots +2 but leads by three strokes. By utilizing the score metric, ranking module 120 can account for this nuance in golf, thus considering different courses with different expected scores.
[0028] Furthermore, one of the benefits of considering hole-by-hole data rather than tournament or round data is that it significantly increases the sample size of the prediction engine 122. If the ranking module 120 considers each athlete's performance on each hole relative to the overall average, the ranking module 120 increases the sample size by eighteen times. This allows the ranking module 120 to gain much deeper insight into how athletes score on each type of hole and how their scoring varies.
[0029] Based on hole-by-hole data, ranking module 120 can determine each golfer's performance relative to the entire course on each hole, rather than over the entire round or tournament. In doing so, ranking module 120 can achieve not only overall rankings but also rankings for specific hole types. Such rankings enable prediction engine 122 to generate more accurate predictions, as prediction engine 122 can break down the course into specific holes and create predictions of how any player will perform on each hole.
[0030] For each hole played by a golfer, the ranking module 120 can generate a stroke score. This differs from traditional methods that analyze a golfer's performance on each round or in each tournament. In some embodiments, the ranking module 120 can categorize holes based on par and yardage. For example, the ranking module 120 can categorize holes into one of five types:
[0031] Short 3: 3 strokes or less (under 195.5 yards)
[0032] • Long 3: 3-yard pars exceeding 195.5 yards
[0033] Short 4: 4-yard or less
[0034] • Long 4-yard: A 4-yard par exceeding 449.5 yards
[0035] 5 strokes
[0036] As those skilled in the art will recognize, the above scope is exemplary and can be adjusted according to the administrator's preferences.
[0037] In some embodiments, the ranking module 120 may use a clustering algorithm to cluster holes into hole types. For example, the ranking module 120 may use a k-means clustering algorithm to cluster historical hole information into k clusters of hole types.
[0038] In some embodiments, for a 3-par distance, any distance between 178.5 yards and 212.5 yards can be considered both a short 3 and a long 3, weighted proportionally to one or the other based on length. A similar logic can be applied by the ranking module 120 for 4-par distances. Such a classification allows the ranking module 120 to stylize golfers based on their skill level.
[0039] In some embodiments, ranking module 120 may standardize the score metric based on a field strength metric associated with the tournament in which holes have been played. Ranking module 120 may retrieve field strength metrics from one or more third-party systems 115.
[0040] In some embodiments, one or more third-party systems 115 may be associated with a server or website configured to host field strength metrics for tournaments. For example, one or more third-party systems 115 may be configured to host field strength metrics associated with the Official World Golf Rankings. The Official World Golf Rankings assign field strength values to participants for each tournament. Ranking module 120 may retrieve field strength data generated by the Official World Golf Rankings from one or more third-party systems 115. To standardize all tournaments, ranking module 120 may use field strength numbers from the Official World Golf Rankings to adjust the stroke count metric for each hole.
[0041] It's important to note that the official world golf rankings do not predict a golfer's future performance in upcoming tournaments. Instead, the official world golf rankings assign world ranking points based solely on an athlete's performance in tournaments. In other words, the official world golf rankings may explain how each athlete earned their place in an upcoming tournament, but they do not predict their future performance in those tournaments.
[0042] Using a specific example from the official world golf rankings, the average field strength for tournaments Patrick Cantlay plays is 556. Will Zalatoris's average field strength is 232. Looking at their performances in these tournaments, this difference alone amounts to 0.5 strokes. That difference may seem small, but half a stroke is the difference between the 17th and 38th ranked golfers in the world.
[0043] In some embodiments, ranking module 120 may use one or more recent adjustments to further adjust the score metric. For example, ranking module 120 may utilize a decay formula to weight recent performance. Recent adjustments help ranking module 120 allocate more weight to more recently played holes compared to holes played 26 tournaments ago.
[0044] Using the adjusted score metric, ranking module 120 can generate golfer rankings based on the average course composition of strong tournaments. For example, based on the course composition of strong tournaments, ranking module 120 can determine that there are an average of 2.04 short 3s, 2.01 long 3s, 6.16 short 4s, 4.57 long 4s, and 3.21 5s per course. Ranking module 120 can generate an overall ranking for an athlete based on the average course composition of strong tournaments and the adjusted score metric. In some embodiments, rankings can be weighted based on one or more recent adjustments. For example, ranking module 120 can apply a decay factor of 0.94. In other words, each tournament can be weighted to 0.94 of the next tournament.
[0045] The prediction engine 122 can be configured to predict an athlete's performance in an upcoming tournament based on tournament hole information and field strength. For example, for a given tournament, the prediction engine 122 can identify hole information associated with each hole in each round. Hole information may include the yardage and par associated with the hole. Using the hole information, the prediction engine 122 can predict an athlete's performance in the tournament based on one or more of the adjusted score metrics generated by the ranking module 120 for each hole type based on historical athlete performance and the field strength ranking of the upcoming tournament.
[0046] Client device 108 can communicate with organizational computing system 104 via network 105. Client device 108 can be operated by a user. For example, client device 108 can be a mobile device, tablet, desktop computer, or any computing system with the capabilities described herein. Users can include, but are not limited to, individuals such as subscribers, customers, potential customers, or clients of entities associated with organizational computing system 104, such as individuals who have received, will receive, or may receive products, services, or advice from entities associated with organizational computing system 104.
[0047] Client device 108 may include at least application 132. Application 132 may represent a web browser that allows access to websites or standalone applications. Client device 108 may use access application 132 to access one or more functions of organizational computing system 104. Client device 108 may communicate via network 105 to request web pages, for example, from network client application server 114 of organizational computing system 104. For example, client device 108 may be configured to execute application 132 to access content managed by network client application server 114. Content displayed to client device 108 may be sent from network client application server 114 to client device 108 and subsequently processed by application 132 for display via a graphical user interface (GUI) in client device 108.
[0048] Figure 2 This is a flowchart illustrating a method 200 for generating golfer rankings according to an example embodiment. Method 200 may begin at step 202.
[0049] In step 202, the organization calculation system 104 can retrieve historical hole-by-hole data for multiple golfers. Hole-by-hole information may include the yardage and strokes associated with each hole, as well as the golfer's score on that hole.
[0050] In step 204, the organization calculation system 104 can generate a stroke score metric for each golfer based on hole-by-hole data. The ranking module 120 can analyze hole-by-hole data from each event file, along with contextual information about the lineup of each course and golfer in the tournament, to create the stroke score metric. The ranking module 120 can generate a stroke score metric for each hole type. For example, the ranking module 120 can generate stroke score metrics for short 3, long 3, short 4, long 4, and 5.
[0051] In step 206, ranking module 120 may adjust the score metric based on the field strength metric associated with the match play tournament to generate an adjusted score metric. In some embodiments, ranking module 120 may retrieve field strength metrics from one or more third-party systems 115. For example, ranking module 120 may retrieve field strength data from official world golf rankings from one or more third-party systems 115. Field strength data from official world golf rankings is assigned to tournaments based on each player's pre-tournament world golf ranking score. These scores are based on the final position from previous tournaments. Ranking module 120 may use field strength numbers from official world golf rankings to adjust the score metric for each hole.
[0052] In step 208, the organization calculation system 104 can generate an adjusted score metric for each hole type. For example, the ranking module 120 can aggregate the adjusted score metric for each hole in the hole-by-hole data to determine the adjusted score metric for each hole type. Hole types may include, but are not limited to, short 3, long 3, short 4, long 4, and 5.
[0053] In step 210, the organization calculation system 104 can generate golfer rankings based on the adjusted score metric for each hole type. The ranking module 120 can standardize the golfer rankings based on the average course composition. For example, the ranking module 120 can determine that the average course composition of a strong tournament includes 2.04 short 3s, 2.01 long 3s, 6.16 short 4s, 4.57 long 4s, and 3.21 5s per course. The ranking module 120 can generate an overall ranking for the athletes based on the average course composition of a strong tournament and the adjusted score metric.
[0054] Figure 3 This is a flowchart illustrating a method 300 for predicting the outcome of an upcoming tournament according to an example embodiment. Method 300 may begin at step 302.
[0055] In step 302, the organization computing system 104 may receive information about the upcoming tournament. For example, the prediction engine 122 may receive hole-by-hole information for each hole in each round of the tournament and for the players in the player roster. Exemplary hole information may include, but is not limited to, the number of short 3s, long 3s, short 4s, long 4s, and 5s. In some embodiments, exemplary hole information may include the hole type associated with each hole. Exemplary hole types may include, but are not limited to, short 3s (e.g., 3s under 195.5 yards), long 3s (e.g., 3s over 195.5 yards), short 4s (e.g., 4s under 449.5 yards), long 4s (e.g., 4s over 449.5 yards), and 5s.
[0056] In step 304, the organization calculation system 104 may receive a field strength metric for the upcoming tournament. In some embodiments, the prediction engine 122 may receive the field strength metric from one or more third-party systems 115. The field strength metric may represent a field strength metric generated by the official world golf rankings.
[0057] In step 306, the organization calculation system 104 can retrieve the adjusted score metric from the data storage 118. For example, the prediction engine 122 can retrieve the adjusted score metric generated by the ranking module 120 from the data storage 118 for each athlete in the athlete roster for each hole type.
[0058] In step 308, the organization calculation system 104 can generate athlete performance predictions for the upcoming tournament. Using hole-by-hole information, strength lineup metrics, and adjusted score metrics, the prediction engine 122 can predict the performance of each athlete.
[0059] In some embodiments, athlete performance predictions can be dynamically updated based on live tournament action. For example, prediction engine 122 can be configured to dynamically update athlete performance predictions after each hole in the tournament. In this way, athlete performance predictions can be updated in real-time, near real-time, or periodically (e.g., after each hole) based on live tournament data.
[0060] Furthermore, it is worth noting that while the above discussion pertains to individual tournaments, where each athlete or golfer competes against the rest of the field, those skilled in the art recognize that such technology can be applied to team competitions (e.g., the Ryder Cup) rather than to individual golfers, where tournament results are based on the performance of the golfer's team. In such a scenario, ranking module 120 and / or prediction engine 122 can aggregate data to generate team-level predictions.
[0061] In some embodiments, the ranking module 120 and the prediction engine 122 can be configured to handle various tournament types. For example, for Stableford scores, rather than total scores, Stableford scores use the points awarded for each hole. For example, an albatross is worth 5 points, an eagle is worth 4 points, a birdie is worth 3 points, even 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 ranking module 120 and the prediction engine 122 can be substantially the same as the functions described above. However, there is an additional step in ranking and generating future predictions: assigning points to the individual hole scores.
[0062] In some embodiments, ranking module 120 and prediction engine 122 can be configured to handle match rules (e.g., 1-on-1 or 2-on-2). In some embodiments, a 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, that only counts as a 1-point victory. Holes can be played until a player can no longer win, or until all 18 holes are played in a tie. If a player is 3 strokes behind with 2 holes remaining, that player cannot win the match, and the match is considered a "3-2 victory" for the leading player.
[0063] The aforementioned technology can be applied to matchmaking rules. For example, in an individual match, each player can be scored for each hole, compared, and a winner or tie can be determined. This continues until the match ends in a tie or a player accumulates enough points to win. In a matchmaking event such as a bracket-style tournament, the ranking module 120 and the prediction engine 122 can work together to simulate the outcome based on the probability that a player wins their pool and then wins consecutive single-elimination matches.
[0064] Figure 4A This 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 can be presented to a user via a client device 108.
[0065] GUI 400 may include predictions generated by prediction engine 122 for an upcoming tournament. As shown, prediction engine 122 can be trained to generate various predictions for an upcoming tournament. These predictions may include, but are not limited to, field evaluations and course-adjusted stroke metrics, the probability of a player making the cut, the probability of winning the first round, the probability of winning the tournament, the probability of finishing in the top 20, the probability of finishing in the top 10, and the probability of finishing in the top 5. For example, prediction engine 122 may estimate the number of players making the cut based on a sorted list; once the tournament is in progress, prediction engine 122 may adjust based on the predicted cut lines.
[0066] Figure 4B This 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 can be presented to a user via a client device 108. GUI 450 may be generated in response to a user selecting Daniel Berger.
[0067] As shown in the figure, GUI 450 can include historical and current data associated with Daniel Berger. Such historical and current data may include, but is not limited to, adjusted score for each hole type, current world ranking, etc.
[0068] Figure 5A The architecture of a system bus computing system 500 according to an example embodiment is illustrated. One or more components of system 500 can communicate electrically with each other using bus 505. System 500 may include a processor (e.g., one or more central processing units (CPUs), graphics processing units (GPUs), or other types of processors) 510 and a system bus 505, which couples various system components, including system memory 515 (e.g., read-only memory (ROM) 520 and random access memory (RAM) 525), to processor 510. System 500 may include a cache of high-speed memory that is directly connected to, adjacent to, or integrated into processor 510. System 500 may copy data from memory 515 and / or storage device 530 to cache 512 for fast access by processor 510. In this way, cache 512 can provide a performance improvement by avoiding delays for processor 510 while waiting for data. These and other modules can control or be configured to control processor 510 to perform various actions. Other system memory 515 can also be used. Memory 515 can include multiple different types of memory with different performance characteristics. Processor 510 can represent a single processor or multiple processors. Processor 510 can include one or more general-purpose processors or hardware or software modules, such as service 1 532, service 2 534, and service 5 536 stored in storage device 530 and configured to control processor 510, as well as dedicated processors that incorporate software instructions into the actual processor design. Processor 510 can essentially be a completely independent computing system, containing multiple cores or processors, buses, memory controllers, caches, etc. Multi-core processors can be symmetric or asymmetric.
[0069] To enable user interaction with system 500, input device 545 can be any number of input mechanisms, such as a microphone for voice, a touch-sensitive screen for gesture or graphical input, a keyboard, a mouse, motion input, voice, etc. Output device 535 (e.g., a display) can also be one or more of several output mechanisms known to those skilled in the art. In some cases, a multimode system allows the user to provide multiple types of input to communicate with system 500. Communication interface 540 typically controls and manages user input and system output. There are no limitations on operation on any particular hardware arrangement, therefore the basic features described herein can be readily replaced by developed improved hardware or firmware arrangements.
[0070] Storage device 530 may be a non-volatile memory and may be a hard disk or other type of computer-readable medium that can store computer-accessible data, such as magnetic tape, flash memory card, solid-state memory device, digital multifunction disk, tape cassette, random access memory (RAM) 525, read-only memory (ROM) 520 and combinations thereof.
[0071] Storage device 530 may include services 532, 534, and 536 for controlling processor 510. Other hardware or software modules are contemplated. Storage device 530 may be connected to system bus 505. In one aspect, a hardware module performing a specific function may include software components stored in a computer-readable medium that are connected to necessary hardware components (e.g., processor 510, bus 505, output device 535 (e.g., display), etc.) to perform the function.
[0072] Figure 5BA computer system 550 with a chipset architecture is illustrated according to an example embodiment. The computer system 550 may 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 distinct resources capable of executing software, firmware, and hardware configured to perform identified computations. One or more processors 555 may communicate with a chipset 560, which may control inputs to and outputs from one or more processors 555. In this example, the chipset 560 outputs information to an output 565 such as a display, and may read and write information to a storage device 570, which may include, for example, magnetic media and solid-state media. The chipset 560 may also read data from and write data to the storage device 575 (e.g., RAM). A bridge 580 may be provided for interfacing with various user interface components 585. Such a user interface component 585 may include a keyboard, microphone, touch detection and processing circuitry, pointing devices such as a mouse, etc. Typically, input to system 550 can come from any of a variety of machine-generated and / or artificially generated sources.
[0073] Chipset 560 can also interface 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, for broadband wireless networks, and for personal area networks. Some applications of the methods for generating, displaying, and using the GUI disclosed herein may include receiving ordered datasets via physical interfaces, or generating them by the machine itself through analysis of data stored in storage devices 570 or 575 by one or more processors 555. Furthermore, the machine may receive input from a user via user interface component 585 and perform appropriate functions, such as browsing functions, by interpreting this input using one or more processors 555.
[0074] It is understood that the example systems 500 and 550 may have more than one processor 510, or be part of a group or cluster of networked computing devices to provide greater processing power.
[0075] While the foregoing describes embodiments herein, other and further embodiments may be designed without departing from the basic scope of this document. For example, aspects of this 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 product defines the functionality of the embodiments (including the methods described herein) and may be contained on a variety of computer-readable storage media. Exemplary computer-readable storage media include, but are not limited to: (i) non-writable storage media on which information is permanently stored (e.g., read-only memory (ROM) devices within a computer, such as CD-ROM discs readable by a compact discread-only memory (CD-ROM) drive, flash memory, ROM chips, or any type of solid-state non-volatile memory); and (ii) writable storage media on which variable information is stored (e.g., floppy disks or any type of solid-state random access memory within a floppy disk drive or hard disk drive). Such computer-readable storage media are embodiments of this disclosure when carrying computer-readable instructions directing the functionality of the disclosed embodiments.
[0076] Those skilled in the art will understand that the foregoing examples are exemplary and not restrictive. All permutations, enhancements, equivalents, and modifications thereof will be included within the true spirit and scope of this disclosure after reading the specification and studying the accompanying drawings. Therefore, the appended claims include all such modifications, permutations, and equivalents that fall within the true spirit and scope of these teachings.
Claims
1. A method for analyzing and ranking athletes, comprising: The computing system retrieves historical hole-by-hole data for multiple holes in multiple golf tournaments for multiple athletes, wherein the historical hole-by-hole data includes the yardage of each hole and the par associated with each hole; The calculation system clusters the multiple holes into multiple clusters of hole types based on standard poles and yardage; The calculation system generates a score metric for each hole type based on each athlete's hole-by-hole data; The calculation system adjusts the score metric for each hole type based on a strength lineup metric associated with each tournament, the strength lineup metric representing the strength of the player lineup in a given tournament; and The calculation system generates rankings for the multiple athletes based on the adjusted stroke score metric.
2. The method according to claim 1, wherein, The ranking of the multiple athletes generated by the calculation system based on the adjusted stroke score metric includes: Generate a first ranking corresponding to the first adjusted score metric for the first hole type; and Generate a second ranking corresponding to the second adjusted score metric for the second hole type.
3. The method according to claim 2, wherein, The adjusted score metric varies based on the first adjusted score metric and the second adjusted score metric.
4. The method according to claim 1, wherein, The ranking of the multiple athletes, generated by the calculation system based on the adjusted stroke score metric, includes: A decay factor is applied to the stroke score metric, wherein the decay factor gives more weight to the more recent stroke score metric.
5. The method according to claim 1, further comprising: The computing system receives information about an upcoming tournament, including hole data for each target hole and the target athlete lineup. The calculation system accesses the adjusted stroke score metric for each target athlete in the target athlete roster; and The calculation system generates a predicted performance metric for each target athlete based on the hole data and the adjusted score metric for each target athlete.
6. The method according to claim 5, wherein, The calculation system generates the predicted performance metric for each target athlete based on the hole data and the adjusted score metric for each target athlete, including: Generate the probability of each target athlete advancing in the upcoming tournament.
7. The method according to claim 5, wherein, The calculation system generates the predicted performance metric for each target athlete based on the hole data and the adjusted score metric for each target athlete, including: Generate a predicted adjusted score metric for each target athlete; and Each target athlete is ranked based on the adjusted stroke score metric.
8. A non-transitory computer-readable medium comprising one or more sequences of instructions, which, when executed by one or more processors, cause a computing system to perform operations including: The calculation system retrieves historical hole-by-hole data for multiple holes in multiple golf tournaments for multiple athletes, wherein... The historical hole-by-hole data includes the yardage for each hole and the par associated with each hole; The calculation system clusters the multiple holes into multiple clusters of hole types based on standard poles and yardage; The calculation system generates a stroke score metric for each hole type based on each athlete's historical hole-by-hole data; The calculation system adjusts the score metric for each hole type based on a strength metric associated with each tournament, which represents the strength of the player lineup in a given tournament; as well as The calculation system generates rankings for the multiple athletes based on the adjusted stroke score metric.
9. The non-transitory computer-readable medium according to claim 8, wherein, The ranking of the multiple athletes generated by the calculation system based on the adjusted stroke score metric includes: Generate a first ranking corresponding to the first adjusted score metric for the first hole type; and Generate a second ranking corresponding to the second adjusted score metric for the second hole type.
10. The non-transitory computer-readable medium according to claim 9, wherein, The adjusted score metric varies based on the first adjusted score metric and the second adjusted score metric.
11. The non-transitory computer-readable medium according to claim 8, wherein, The ranking of the multiple athletes generated by the calculation system based on the adjusted stroke score metric includes: A decay factor is applied to the stroke score metric, wherein the decay factor gives more weight to the more recent stroke score metric.
12. The non-transitory computer-readable medium of claim 8, further comprising: The computing system receives information about an upcoming tournament, including hole data for each target hole and the target athlete lineup. The calculation system accesses the adjusted stroke score metric for each target athlete in the target athlete roster; and The calculation system generates a predicted performance metric for each target athlete based on the hole data and the adjusted score metric for each target athlete.
13. The non-transitory computer-readable medium according to claim 12, wherein, The calculation system generates the predicted performance metric for each target athlete based on the hole data and the adjusted score metric for each target athlete, including: Generate the probability of each target athlete advancing in the upcoming tournament.
14. The non-transitory computer-readable medium according to claim 12, wherein, The calculation system generates the predicted performance metric for each target athlete based on the hole data and the adjusted score metric for each target athlete, including: Generate a predicted adjusted score metric for each target athlete; and Each target athlete is ranked based on the adjusted stroke score metric.
15. A system for analyzing and ranking athletes, comprising: processor; as well as The memory stores programming instructions that, when executed by the processor, cause the system to perform operations including: Retrieve historical hole-by-hole data for multiple holes in multiple golf tournaments for multiple athletes, wherein the historical hole-by-hole data includes the yardage for each hole and the par associated with each hole; The multiple holes are clustered into multiple clusters of hole types based on standard poles and yardage; Generate a stroke score metric for each hole type based on the historical hole-by-hole data for each athlete; The score metric for each hole type is adjusted based on a strength lineup metric associated with each tournament, which represents the strength of the player lineup in a given tournament; and The rankings of the multiple athletes are generated based on the adjusted stroke score metric.
16. The system according to claim 15, wherein, The ranking of the multiple athletes is generated based on the adjusted stroke score metric, including: Generate a first ranking corresponding to the first adjusted score metric for the first hole type; and Generate a second ranking corresponding to the second adjusted score metric for the second hole type.
17. The system according to claim 15, wherein, The ranking of the multiple athletes is generated based on the adjusted stroke score metric, including: A decay factor is applied to the stroke score metric, wherein the decay factor gives more weight to the more recent stroke score metric.
18. The system according to claim 15, wherein, The operation also includes: Receive information about upcoming tournaments, including hole data for each target hole and the target athlete lineup; Access the adjusted stroke score metric for each target athlete in the target athlete roster; and A predicted performance metric for each target athlete is generated based on the hole data and the adjusted score metric for each target athlete.
19. The system according to claim 18, wherein, Generating the predicted performance metric for each target athlete based on the hole data and the adjusted score metric for each target athlete includes: Generate the probability of each target athlete advancing in the upcoming tournament.
20. The system according to claim 18, wherein, Generating the predicted performance metric for each target athlete based on the hole data and the adjusted score metric for each target athlete includes: Generate a predicted adjusted score metric for each target athlete; and Each target athlete is ranked based on the adjusted stroke score metric.