System and method for athletic ability rating
By employing dynamic rating methods and machine learning models, this system solves the challenge of rating global football teams and players, enabling flexible and accurate ratings for different leagues, countries, and continents, and providing a rating system applicable to football teams and players worldwide.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- STAT LLC
- Filing Date
- 2024-10-31
- Publication Date
- 2026-04-21
AI Technical Summary
Existing technology makes it difficult to effectively compare the quality of football teams and players across different leagues, countries, and continents globally, especially in women's football where the gap is even greater and there is a lack of reliable rating systems.
The system employs a dynamic rating method, receiving data from multiple data sources through a computer system. It uses deterministic algorithms to generate and adjust ability scores, dynamically updates player and team ratings, and rearranges icons on a graphical user interface. Combining machine learning models and the Elo rating system, it adapts to the rating needs of different leagues, countries, and continents.
It enables flexible and accurate rating of football teams and players worldwide, and can quickly adapt to all teams globally, adjusting ratings across leagues and continents, improving the accuracy and scalability of ratings, and is applicable to both men's and women's football.
Smart Images

Figure CN121909477A_ABST
Abstract
Description
Cross-references to related applications
[0001] This application claims priority to U.S. Patent Application No. 63 / 595,036, filed November 1, 2023, pursuant to 35 USC §119, the entire disclosure of which is incorporated herein by reference. Technical Field
[0002] Various embodiments of the present invention generally relate to methods and systems for rating the abilities of players in a sports team. Background Technology
[0003] Assigning ability measures to players on sports teams, such as global football teams, is a key element in achieving accurate predictions for the sport. Understanding the abilities of players on participating teams is helpful, from predicting the probability of winning a match to forecasting a player's expected number of shots on goal. To leverage these models on a large scale within the sport's evolving landscape, it would be beneficial to implement these player ability ratings extensively in both men's and women's competitions.
[0004] Conducting ratings on a large scale can be challenging. For example, most football matches are played between teams within the same domestic league. This makes judging the quality of teams and players within a league relatively straightforward. However, due to the lack of matches outside the domestic league, comparing the quality of teams and players from different leagues, countries, and especially continents can be more challenging. This problem is even more pronounced in women's football, where the gap in team and player ability is greater, and there are even fewer matches between teams from different leagues, countries, and continents.
[0005] The present invention aims to overcome one or more of these aforementioned challenges. The background description provided herein is intended to generally present the background of the invention. Summary of the Invention
[0006] In some embodiments, this document discloses a method. This method generates dynamic ratings for entities and rearranges icons associated with the entities on a graphical user interface (GUI) of a computer system. The computer system receives a first set of data associated with one or more parameters of the entity via one or more data sources. The computer system calculates multiple ability scores based on the first set of data associated with the one or more parameters using a deterministic algorithm. The computer system generates a first player rating based on each of the multiple ability scores using a deterministic algorithm. The computer system dynamically adjusts the multiple ability scores based on a second set of data received associated with one or more parameters of the entity using a deterministic algorithm. The computer system updates the first player rating based on the adjusted multiple ability scores using a deterministic algorithm. Based on the updated first player rating, the computer system automatically rearranges the icons to positions above or below their current positions on the GUI.
[0007] In some embodiments, this document discloses a method for generating an overall rating for an entity. A computer system receives a first set of data associated with the entity via one or more data sources. The computer system calculates a first plurality of capability scores based on the first set of data associated with one or more parameters using a deterministic algorithm. The computer system generates a first rating based on each of the first plurality of capability scores using a deterministic algorithm. The computer system calculates a second plurality of capability scores based on the first set of data associated with one or more parameters using a deterministic algorithm. The computer system generates a second rating based on each of the second plurality of capability scores and the first rating using a deterministic algorithm. The computer system dynamically adjusts the first plurality of capability scores and the second plurality of capability scores based on the received second set of data associated with one or more parameters of the entity using a deterministic algorithm. The computer system updates the first rating and the second rating based on the adjusted plurality of capability scores using a deterministic algorithm. The computer system automatically rearranges the icon to a position above or below the icon's current position on the graphical user interface (GUI) based on the updated second rating.
[0008] In some embodiments, a system is disclosed herein. The system includes a processor and a memory. The memory has programming instructions stored thereon that perform operations when executed by the processor. The operations include generating dynamic ratings for entities and rearranging icons associated with entities on a graphical user interface (GUI) of a computer system. The operations also include receiving a first set of data associated with one or more parameters of the entity via one or more data sources. The operations further include calculating multiple ability scores based on the first set of data associated with the one or more parameters via a deterministic algorithm. The operations also include generating a first player rating based on each of the multiple ability scores via a deterministic algorithm. The operations further include dynamically adjusting the multiple ability scores based on a second set of data associated with one or more parameters of the entity received via a deterministic algorithm. The operations further include updating the first player rating based on the adjusted multiple ability scores via a deterministic algorithm. The operations also include automatically rearranging icons above or below their current positions on the GUI based on the updated first player rating. Attached Figure Description
[0009] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various exemplary embodiments and, together with the description, serve to explain the principles of the disclosed aspects.
[0010] Figure 1 An exemplary environment is described that uses a machine learning model to generate dynamic ratings based on one aspect of the disclosed topic.
[0011] Figure 2An exemplary flowchart for generating dynamic ratings based on one aspect of the disclosed topic is depicted.
[0012] Figure 3 Another exemplary flowchart for generating player ratings is depicted based on one aspect of the disclosed topic.
[0013] Figure 4 Another exemplary flowchart is depicted for generating an overall rating for a sports team based on one aspect of the disclosed topic.
[0014] Figure 5 An exemplary graphical user interface for displaying a hierarchical rating system is depicted, based on one aspect of the disclosed subject matter.
[0015] Figure 6 A simplified calculation for dynamic rating is described based on one aspect of the disclosed topic.
[0016] Figure 7 An exemplary graphical user interface for displaying a hierarchical rating system is depicted.
[0017] Figure 8 A flowchart for training a machine learning model is depicted based on one aspect of the disclosed topic.
[0018] Figure 9 An example computing device according to one or more embodiments is described.
[0019] Figure 10 An exemplary chart displaying player ratings is depicted according to one or more embodiments.
[0020] Figure 11 Depicting a method based on one or more embodiments Figure 10 The player ratings display an example chart showing the sports team ratings.
[0021] It is worth noting that, for the sake of simplicity and clarity, certain aspects of the accompanying drawings depict general configurations of various embodiments. Descriptions and details of known features and techniques may be omitted to avoid unnecessarily obscuring other features. Elements in the figures are not necessarily drawn to scale; the dimensions of some features may be enlarged relative to other features to improve understanding of the exemplary embodiments. Detailed Implementation
[0022] The general discussion of the invention provides a brief, general description of suitable computing environments in which the invention may be practiced. In one embodiment, any of the disclosed systems, methods, and / or graphical user interfaces can be executed or implemented by a computing system consistent with or similar to that described and / or explained in this invention. Although not essential, aspects of the invention are described in the context of computer-executable instructions, such as routines executed by data processing apparatuses, for example, server computers, wireless devices, and / or personal computers. Those skilled in the art will understand that aspects of the invention can be practiced with other communication, data processing, or computer system configurations, including: internet devices, handheld devices (including personal digital assistants (“PDAs”), wearable computers, various cellular or mobile phones (including VoIP), dumb terminals, media players, gaming devices, virtual reality devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, set-top boxes, network personal computers, minicomputers, mainframe computers, etc. In practice, the terms “computer,” “server,” etc., are generally used interchangeably herein and refer to any of the aforementioned apparatuses and systems, as well as any data processor.
[0023] Various aspects of the invention can be embodied in a dedicated computer and / or data processor specifically programmed, configured, and / or constructed to execute one or more of the computer-executable instructions explained in detail herein. While various aspects of the invention, such as certain functions, are described as performing exclusively on a single device, the invention can also be practiced in a distributed environment, where functions or modules are shared among different processing devices linked via communication networks, such as local area networks (“LANs”), wide area networks (“WANs”), and / or the Internet. Similarly, techniques presented herein relating to multiple devices can be implemented in a single device. In a distributed computing environment, program modules can reside in local and / or remote memory storage devices.
[0024] Various aspects of the present invention can be stored and / or distributed on non-transitory computer-readable media, including magnetic or optically readable computer disks, hardwired or pre-programmed chips (e.g., EEPROM semiconductor chips), nanotechnology memories, biological memories, or other data storage media. Alternatively, computer-implemented instructions, data structures, screen displays, and other data according to various aspects of the present invention can be distributed over a period of time via the Internet and / or other networks (including wireless networks) on a propagation medium (e.g., electromagnetic waves, sound waves, etc.) and / or they can be made available on any analog or digital network (packet switching, circuit switching, or other schemes).
[0025] The programmatic aspect of this technology can be considered a "product" or "manufactured item," typically carried on a machine-readable medium or in the form of embodied executable code and / or associated data. "Storage" type media includes computers, processors, etc., or their associated modules, such as any or all of various semiconductor memories, tape drives, disk drives, etc., which can provide non-transitory storage for software programming at any time. Sometimes, all or part of the software can communicate via the Internet or various other telecommunications networks. For example, such communication enables the loading of software from one computer or processor to another, such as from a management server or host of a mobile communication network to a server's computer platform and / or from a server to a mobile device. Therefore, another type of medium that can carry software elements includes light waves, radio waves, and electromagnetic waves, such as physical interfaces between local devices, used via wired and fiber optic networks, and via various air links. Physical elements carrying such waves, such as wired or wireless links, fiber optic links, etc., can also be considered as media carrying software. As used herein, unless limited to non-transitory, tangible "storage" media, the term "readable medium" for a computer or machine refers to any medium that participates in providing instructions to a processor for execution.
[0026] The terminology used above may be interpreted in the broadest and most reasonable manner, even when used in conjunction with a detailed description of certain specific examples of the invention. In fact, the foregoing may even emphasize certain terms; however, any term intended to be interpreted in any limiting manner will be disclosed and specifically defined in the Detailed Description section. The foregoing general and detailed descriptions are exemplary and explanatory only and are not intended to limit the features.
[0027] As used herein, the terms “comprising,” “including,” “having,” “including,” or other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that includes a list of elements may include not only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
[0028] In this invention, relative terms, such as, for example, “approximately,” “substantially,” “roughly,” and “approximately,” are used to indicate possible variations of ±10% in the value.
[0029] The term “exemplary” is used in the sense of “example” rather than “model.” As used herein, unless the context otherwise specifies, the singular forms “a,” “an,” and “the” include plural referents.
[0030] Other embodiments of the invention will be apparent to those skilled in the art upon consideration of this specification and the practice of the disclosed invention. This specification and examples should be considered as exemplary only.
[0031] Various embodiments of the present invention generally relate to rating the abilities of players and teams in sports. As discussed above, existing systems have shortcomings. For example, none of the existing methods cover the application of rating systems in men's and / or women's football on a scale similar to that described herein. In particular, in the context of football, the rating system disclosed herein can be implemented in men's football (covering over 13,000 teams in 183 countries and 413 leagues) and women's football (covering over 2,000 teams in 68 countries and 140 leagues) worldwide.
[0032] Although this article uses football as an example, the techniques described are equally applicable to other team sports such as American football, basketball, cricket, rugby, and baseball.
[0033] The disclosed technology may employ algorithms and / or machine learning methods.
[0034] The technical advantages of the disclosed technology include improved sports match rating reports. For example, some aspects involve determining representative parameters and ratings from numerous data sources to improve the performance, accuracy, and results of the information to be mapped to match graphs. In doing so, the disclosed technology provides improvements over existing solutions. The technology disclosed herein improves sports match rating reports by, for example, generating and dynamically adjusting and refining team ratings based on one or more specified parameters in player performance data, match reports, and / or a hierarchical structure. By employing a process of dynamically adjusting and refining team ratings within a hierarchical structure, the range and number of teams that can be rated, as well as the data considered in generating and adjusting team ratings, are significantly increased, resulting in more accurate sports match rating reports and a more accurate ability to predict match outcomes. Therefore, the technology disclosed herein applies a technical solution for generating team ratings using hierarchical structures in an efficient and scalable manner, which would not be possible without such a technical solution.
[0035] As used herein, a "machine learning model" typically comprises instructions, data, and / or a model configured to receive input and apply one or more of weights, biases, classifications, or analyses to the input to generate an output. For example, the output may include a classification of the input, an input-based analysis, a design, process, prediction, or recommendation associated with the input, or any other suitable type of output. Machine learning models are typically trained using training data, such as empirical data and / or samples of input data, which are fed into the model to build, tune, or modify one or more aspects of the model, such as weights, biases, criteria used to form classifications or clusters, etc. The various aspects of a machine learning model can operate on the input linearly and in parallel via a network (e.g., a neural network) or via any suitable configuration.
[0036] The execution of a machine learning model can include deploying one or more machine learning techniques, such as generative learning, linear regression, logistic regression, random forests, gradient boosting machines (GBM), deep learning, graph neural networks (GNNs), and / or deep neural networks. Supervised and / or unsupervised training can be employed. For example, supervised learning can include providing training data and labels corresponding to the training data, such as ground truth. Unsupervised methods may include clustering, classification, etc. K-means clustering or K-nearest neighbors can also be used, and these can be supervised or unsupervised. A combination of K-nearest neighbors and unsupervised clustering techniques can also be used. Any suitable type of training can be used, such as stochastic, gradient boosting, random seeding, recursive, epoch-based, or batch-based training.
[0037] While several examples in this document relate to certain types of machine learning, it should be understood that the techniques according to the invention can be adapted to any suitable type of machine learning. It should also be understood that the examples above are merely illustrative. The techniques and methods of the invention may be suitable for any suitable activity.
[0038] Compared with existing technologies, the technology disclosed herein has advantages such as (1) being able to analyze as many sports teams as possible; and (2) being able to provide ratings for both men's and women's sports teams.
[0039] The disclosed system relies on a team ability rating system that is flexible enough to provide ratings for teams in any sport and to allow for comparisons between teams from any league in the world within the same sport. For example, teams in men's football (covering over 13,000 teams in 183 countries and 413 leagues) and / or women's football (covering over 2,000 teams in 68 countries and 140 leagues) can be rated, and although the rating systems for both sports are separate, the same or similar algorithms can be used.
[0040] To cover as many teams as possible, the ability rating system is built using final match score data. Many leagues lack detailed in-game information; therefore, the rating system may not be able to rely on the necessary detailed in-game match data to achieve the required coverage.
[0041] A rating system can ensure that the system is built in a way that doesn't require changing the framework for men's and women's football. Ratings for men's teams may not be compared with those for women's teams because the systems can be separate. However, rating systems can use similar methodologies and / or can learn from each other.
[0042] The publicly available system can be quickly adapted to all teams worldwide. The rating system enables rapid transmission of rating changes between leagues and across continents. Some leagues have very little communication with other leagues, countries, and continents, and therefore require a system that can use fair and easy-to-understand comparisons of sports teams globally. Furthermore, when a team is promoted or relegated between leagues, the rating system can adjust its rating for the new season accordingly.
[0043] As an example, the Elo rating system can be used. The Elo rating system can be, for example, a rating system used in sports such as chess. After each match, the system updates the ability rating by comparing the expected result based on each player's / team's pre-match rating with the actual result of the match. If a player / team performs worse than expected, the player / team loses a rating (e.g., associated with a relatively low rating).
[0044] The stronger a team is, the more likely it is to lose its rating due to a poor result, because its pre-match expectations of winning are usually high. Elo can be a zero-sum system. In other words, for every team that gains or loses an Elo rating during a match, the other team may experience the opposite change. For example, if one team loses 20 rating points, the other team will gain 20 rating points.
[0045] To ensure a rating system can flexibly adapt to the vast number of teams globally, especially those from different leagues, countries, and continents who rarely play each other, making reliable comparative information difficult to provide, a tiered ability rating system can be used. This system assigns ability scores to each continent, country, league, and team. The final ability score is obtained by summing these four ratings together. While this article uses four ratings as an example, it should be understood that any suitable number of ratings can be used. For example, consider Arsenal Football Club, the English top-flight (Premier League) club. Their ability rating is the sum of four separate ability ratings: continent, country, league, and within the league.
[0046] The tiered structure of a league will adjust a team's Elo rating for each match. However, when matches occur between teams from different elements of that tier, the league, national, and continental levels can be adjusted. Only the highest tier of the tier may be affected. Below is an example of Elo rating adjustments.
[0047] Example 1: Manchester United Women vs. Manchester City Women in the English Women's Super League. In this case, only the league ratings of both teams are updated; no other hierarchical values are updated because they are the same (both teams have the same league, country, and continent).
[0048] Example 2: Manchester City (Premier League) vs. York City (National League North) in the FA Cup. In this case, both teams' league ratings can be updated, and their overall league ratings (Premier League and National League North) will also be adjusted.
[0049] Example 3: In the FA Cup, Manchester United and Manchester City (both Premier League teams) face off. In this case, the league ratings of both teams can be updated without updating any other hierarchical values, because the two teams still belong to the same league, even though the competitions are different.
[0050] Example 4: In the UEFA Women's Champions League, Manchester City Women (English Women's Premier League) faces Barcelona Women (Spanish Women's First Division). In this case, the league ratings of both teams, as well as the ratings for England and Spain, can be updated. Alternatively, the league ratings can remain unchanged, as only the highest level of the affected tier structure can be altered (besides the always-updated league ratings).
[0051] Example 5: In the FIFA Club World Cup, Manchester City (Premier League) faced Vasco da Gama (Brazilian Serie A). We updated both teams' league ratings, as well as their continental ratings for Europe and South America. We did not change the league or country ratings because we only adjusted the highest level of the affected hierarchy (in addition to the ever-updated league ratings).
[0052] When updates apply beyond league-wide ratings, a percentage of rating changes resulting from matches may be applied to the highest tier. In the last example above, if Manchester City's Elo rating change based on the final result is +50, a certain percentage of those 50 rating points can be added to Manchester City's league-wide team score, with the remainder added to the European continental rating (and deducted from the South American continental rating). This percentage is a model parameter and can vary for leagues, countries, and continents. 100% of rating changes resulting from league matches are added to the team score.
[0053] When a team is in promotion or relegation, it's crucial to ensure that its new preseason rating is reasonable within the context of the new league. Typically, a team's ability changes significantly during promotion or relegation because promotion brings more funding and relegation brings less. Furthermore, some leagues may have easier promotion and relegation than others, necessitating a model with sufficient generality to reasonably predict a team's initial performance during promotion or relegation.
[0054] Therefore, league change adjustment calculations can be added to this method. For illustrative purposes, an example is provided. For instance, consider the promotion and relegation of teams in the Championship, the second tier of the English football system. The adjustment calculation is based on the percentile of the team's rating within the league it is about to join. It should be noted that the final team rating includes the league rating that will change due to promotion or relegation. Therefore, what needs to be adjusted is the team's ability score within the league.
[0055] For example, in the 2021 / 2022 season, three teams were promoted from the Championship (England's second tier) to the Premier League (England's first tier). Newly promoted teams are considered relatively weaker in their new leagues. Therefore, their league ratings are adjusted based on the lower percentile of the Premier League team ratings from the 2020 / 2021 season. Percentiles are model parameters that are adjusted for each league based on historical knowledge of the ease with which teams have transitioned between promotion and relegation between these leagues.
[0056] For teams promoted to a new league, the in-league rating of all newly promoted teams can be multiplied by a constant that ensures their new average in-league rating equals the lower percentile in the higher-level league (most commonly the 25th percentile). For relegated teams, the same method is used, except the percentile value of their previous season's in-league rating is higher (most commonly the 75th percentile). Therefore, it can be ensured that relegated teams' new in-league ratings are on average in the higher percentile of the new league (e.g., on average among high-performing teams in the new league).
[0057] The advantage of this method is that it not only takes into account the previous season's performance in the newly adjusted ratings (e.g., the league champion should be rated higher than other promoted teams), but also focuses the new teams' abilities on the possible performance level, which can be optimized during model training.
[0058] In some examples, not all competitions are of equal importance. For instance, the Community Shield is less important than the Champions League final. Therefore, this factor needs to be considered when studying how certain competitions can potentially influence changes in the ability ratings of teams, leagues, countries, and continents.
[0059] Therefore, this rating method can include a match importance factor, which adjusts the "importance value" in Elo's calculation. This value controls how many ratings are available for exchange in a match; higher importance means a team can gain or lose more ratings, and lower importance means they can gain or lose fewer ratings. For example, importance can be adjusted in two ways:
[0060] The importance of a match is based on its competitiveness. This is determined by the type of competition the match belongs to. For example, domestic leagues and inter-national competitions are generally more important than domestic cup competitions.
[0061] Based on the importance of matches in a match week. A match week is when each team plays its matches in the season. In this case, higher importance is assigned to the first nine match weeks of the domestic league. While these matches may not necessarily be more important to the teams themselves, they are more important for this approach, which focuses on learning from preseason expectations and improving team performance. This may be due to new player signings and is particularly important for teams that have just completed promotion / relegation adjustments.
[0062] Furthermore, just as team-level Elo models attempt to quantify team ability by modeling team results, player-level Elo models attempt to quantify player ability based on their team's results when that player's characteristics are on the field. This can provide a universal player quality index that can rank all players globally. These models can also be used to improve the accuracy of pre-match / real-time win probability predictions in matches where teams are incomplete, such as in cup competitions where team-based Elo models cannot accurately reflect strength (e.g., Aston Villa's 5-0 victory over Liverpool in the 2019 League Cup, because Liverpool's first team had to travel to Qatar for another match within 24 hours, thus fielding their youngest squad in club history) or in matches where key players are absent.
[0063] For example, using only Premier League data from the 2013 / 14 to 2020 / 21 seasons, a player's Elo is initialized with their club's Elo team when they first appear in the database, and updated match-by-match based on the following factors: i) the player's playing time in that match, ii) the expected score based on the difference between the player's team and the opposing team's Elo team, and iii) the team's actual goal difference at the end of the match. The actual goal difference metric can alternatively be expected goals (xG) instead of actual goals, and can alternatively consider the results while the player is on the field.
[0064] The disclosed technology can scale the final rating of each team to generate a value that is easy for the public to understand. For example, in the case of a power ranking system, the final rating of each team can be obtained, and then a rating of 0-100 can be created for each team using a power converter and a minimum / maximum scaling converter, where the best team in the world is rated 100 points (and the worst is rated 0 points) on any given day.
[0065] As discussed in this paper, one or more machine learning models can be trained to understand sports terminology. Therefore, the machine learning models disclosed herein are sports machine learning models. Such sports machine learning models can be trained using sports-related data (e.g., tracking data, event data, etc., as discussed in this paper). Sports machine learning models trained on sports-related data for understanding sports terminology can be trained on sports-related data to adjust one or more weights, layers, nodes, biases, and / or synapses. Sports machine learning models can include components (e.g., weights, layers, nodes, biases, and / or synapses) that collectively establish one or more of the following associations: player and team or league; team and player or league; score and team; rating event and player; sporting event and player or team; win and player or team; loss and player or team, etc. Sports machine learning models can establish associations between sports information and statistics within the context of an event. Sports machine learning models can be trained to adjust one or more weights, layers, nodes, biases, and / or synapses to establish associations of certain sports statistics given the context of an event. For example, a team's win metric can be automatically associated with an opposing team's loss metric. As another example, a static score can be considered a positive attribution for the scoring team and a negative attribution for the losing team. As yet another example, a given score can be ranked relative to one or more other scores based on its relative position compared to those scores.
[0066] Sports machine learning models can be trained on tracking data and / or event data, as discussed in this paper. Such data can include player and / or object location information, movement information, trends, and changes. For example, a sports machine learning model can be trained by modifying one or more weights, layers, nodes, biases, and / or synapses to establish associations about the field surface and / or about the given location of one or more agents. As another example, a sports machine learning model can be trained by modifying one or more weights, layers, nodes, biases, and / or synapses to establish associations about the field surface and / or about the given movement or trend of one or more agents. As yet another example, a sports machine learning model can be trained by modifying one or more weights, layers, nodes, biases, and / or synapses to establish associations between sporting events and corresponding time boundaries, teams, players, coaches, referees, and environmental data associated with the location of the corresponding sporting event.
[0067] Sports machine learning models can be trained by modifying one or more weights, layers, nodes, biases, and / or synapses to establish associations of position, movement, and / or trend information in relation to sports objectives. Sports objectives can be score-related objectives (e.g., points, goals, shots, number of shots, scoring points, etc.), player outcomes (e.g., passes, objects such as ball movement, player positions, etc.), player positions, etc. Sports machine learning models can be trained in relation to sports objectives, game outcomes, player positions, etc., associated with a given sport (e.g., football, American football, basketball, baseball, tennis, golf, rugby, hockey, team sports, individual sports, etc.). For example, an American football-based sports machine learning model can be trained to establish associations or other connections regarding player position information on an American football field. An American football-based sports machine learning model can also be trained to establish associations or other connections regarding sports data about multiple players and American football-specific sports objectives.
[0068] Depending on various factors, the type of one or more machine learning models for a given sport can be determined based on the attributes of the specific sport to which one or more machine learning models are applicable (e.g., generative learning, linear regression, logistic regression, random forest, gradient boosting machine (GBM), deep learning, graph neural network (GNN), and / or deep neural network). Attributes may include, for example, the type of sport (individual or team sport), sport boundaries (e.g., time factors, number of players, object factors, periods of ball possession (e.g., overlapping or independent), field surface type (e.g., restricted, unrestricted, virtual, real, etc.), player positions, etc.
[0069] Depending on the context, a sports machine learning model can receive input data including data related to a specific sport and can generate a matrix representation based on the features of a given sport. The sports machine learning model can be trained to determine the latent features of a given sport. For example, the matrix may include fields and / or subfields related to player information, team information, object information, sport boundary information, sport surface information, etc. Attributes associated with each field and / or subfield can be populated within the matrix based on received or extracted data. The sports machine learning model can perform operations based on the generated matrix. Features can be updated based on input data or updated training data, which is based on, for example, sports data associated with features of a previously untrained model related to a given sport. Therefore, the sports machine learning model can be iteratively trained based on sports data or simulated data.
[0070] Figure 1 An exemplary environment 100 that can be used with the techniques described herein is depicted. One or more user devices 112 can communicate via an electronic network 110. The one or more user devices 112 can be associated with a user, such as a user viewing and / or interacting with a generated interactive display, an administrator of one or more components of environment 100, etc. As will be discussed further below, one or more computing systems 102 can communicate with one or more other components of environment 100 via electronic network 110.
[0071] User device 112 may be configured to enable a user to access and / or interact with other systems in environment 100. For example, user device 112 may each be a computer system, such as, for example, a desktop computer, a mobile device, a tablet computer, etc. In some embodiments, user device 112 may include one or more electronic applications, such as programs, plug-ins, browser extensions, etc., installed on the memory of user device 112. In some embodiments, electronic applications may be associated with one or more other components in environment 100. For example, electronic applications may include one or more of system control software, system monitoring software, software development tools, etc.
[0072] In various embodiments, environment 100 may include data storage device 114 (e.g., a database). Data storage device 114 may include server systems and / or data storage systems, such as computer-readable storage devices, such as hard disks, flash drives, disks, etc. In some embodiments, data storage device 114 includes application programming interfaces for exchanging data with and / or interacting with other systems, such as one or more other components of the environment. Data storage device 114 may include and / or act as a repository or source for storing event data, user data, generated displays, output data, etc. (e.g., to be transferred to user device 112 or any of the other components of environment 100).
[0073] In some embodiments, components of environment 100 are associated with a common entity, such as a service provider, account provider, etc. For example, in some embodiments, computing system 102 and data storage device 114 may be associated with a common entity. In some embodiments, one or more components of the environment are associated with an entity different from another. For example, computing system 102 may be associated with a first entity (e.g., a service provider), while data storage device 114 may be associated with a second entity (e.g., a storage entity that provides storage services to the first entity). The systems and devices of environment 100 can communicate in any arrangement.
[0074] like Figure 1 The depicted computing system 102 may include a data streaming module 104. In various embodiments, the data streaming module 104 is configured to receive a plurality of event data, match data, user data, content, advertising, and / or real-time streaming or streaming audio / video data, and other aspects that may be collected and / or compiled by the computing system 105 or using components separate from the environment 100. In examples, match data and / or event data may include actions performed by players during a match that provide information to a generated interactive display. In various embodiments, data may be received by the data streaming module 104 nearly simultaneously with, or at least substantially simultaneously with, the occurrence of a player's event action. Data may be received by the computing system 102 via an electronic network 110.
[0075] According to some embodiments, the data stream module 104 may receive on-field data or broadcast data associated with a sporting event. Such on-field data or broadcast data can be used to generate the event data discussed herein. For example, such on-field data or broadcast data may be provided to one or more event machine learning models. The one or more event machine learning models may be trained based on training data, including historical or simulated on-field data / broadcast data, historical or simulated event data (e.g., labeled data), historical or simulated event actions, etc. Depending on the machine learning algorithm, the training data may be used to train the event machine learning model by modifying one or more weights, layers, synapses, biases, etc., as discussed herein. Alternatively or additionally, such on-field data or broadcast data may supplement the received event data for validation and / or for generating interactive displays.
[0076] The computing system 102 may also include a display generation module 106. In various embodiments, the display generation module 106 may be configured to generate an interactive display using data received by the data stream module 104. In various embodiments, the display generation module 106 may be configured to generate an interactive display. The interactive display may include at least one graphical representation of one or more of the aspects described herein. In various embodiments, the interactive display is generated in real time when data is received (e.g., by the data stream module 104). The computing system 102 may also include a transmission module 108. In various embodiments, the transmission module 108 may be configured to transmit the interactive display to a user interface.
[0077] like Figure 1The depicted environment 100 may also include an electronic network 110. In various embodiments, the electronic network 110 may be a wide area network (“WAN”), a local area network (“LAN”), a personal area network (“PAN”), etc. In some embodiments, the electronic network 110 includes the Internet, and information and data provided between various systems occur online. “Online” may mean connecting to or accessing source data or information from a location remote from other devices or networks connected to the Internet. Alternatively, “online” may refer to connecting to or accessing an electronic network (wired or wireless) via a mobile communication network or device. The Internet is a global computer network system—a network of networks in which one party at a computer or other device connected to the network can obtain information from any other computer and communicate with parties at other computers or devices. The most widely used part of the Internet is the World Wide Web (often abbreviated as “WWW” or referred to as the “Web”). A “website page” typically encompasses location, data storage device, etc., which is hosted and / or operated by a computer system so that it can be accessed online, and may include data configured to enable programs, such as web browsers, to perform operations such as sending, receiving or processing data, generating visual displays and / or interactive interfaces.
[0078] Despite Figure 1 While depicted as separate components, it should be understood that in some embodiments, a component or part of a component in environment 100 may be integrated with or incorporated into one or more other components. In another example, computing system 102 may be integrated into a data storage system. The data storage system may be configured to communicate with and / or receive / transmit data with other components of environment 100 via electronic network 110. In some embodiments, the operation or aspects of one or more of the components discussed above may be distributed across one or more other components. Any suitable arrangement and / or integration of various systems and devices within environment 100 may be used.
[0079] The methods described herein can be performed on or between one or more computing devices. Figure 2An example method 200 for generating dynamic ratings for sports teams is described. Method 200 can be used to generate dynamic ratings for sports teams for output and user use. For example, a sports team could be an English Premier League (EPL) team, and method 200 can generate an icon for display on a graphical user interface (GUI) that includes the EPL team's dynamic rating relative to other EPL teams and other teams globally. In some examples, a sports team could be an esports team. For example, a sports team could be a League of Legends (LoL) team, and method 200 can generate an icon for display on a graphical user interface (GUI) that includes the LoL team's dynamic rating relative to other LoL teams and other LoL teams globally. The sports-related techniques disclosed herein can be similarly applied to esports teams (e.g., based on the esports team's league, position, hierarchy, etc.).
[0080] Method 200 includes a first step 202, in which a first set of data can be received from data storage device 114 and / or one or more data sources separate from data storage device 114. The first set of data may be associated with one or more parameters related to generating a team's rating. For example, the first set of data may include one or more of the following: a first match report, a first set of player data, geographic location, and / or a first score report. In some examples, the first set of data may be collected manually by one or more users. One or more users may access score reports including matches between multiple teams. The score reports may include the final match score (e.g., a match ending 2-0 or 1-1). For example, the geographic location of a team may be Germany, the United Kingdom, France, the United States, Colombia, Argentina, etc. One or more parameters may include, for example, match importance weights based on competitiveness and / or match importance weights based on the match week. One or more parameters control the impact of a particular match on a team's dynamic rating.
[0081] In step 204, multiple ability scores for the team can be calculated based on the first set of data. For example, a first and second ability score can be generated based on the team's geographical location. The first ability score could be a national ability score. The second ability score could be a continental ability score. A third ability score can be generated for the league associated with the team. This third ability score could be a league ability score. A fourth ability score can be generated within the league associated with the team. This fourth ability score could be a league-specific ability score. While this document describes four ability scores for multiple ability scores, any desired number of ability scores can be used to generate the team's first rating.
[0082] In step 3, 206, a first rating can be generated by summing multiple ability scores or using other applicable relationships. For example, a first rating can be generated by adding national ability scores, continental ability scores, league ability scores, and league-specific ability scores. In one example, the first rating could be the Elo rating for a sports team. The first rating can be incorporated into a hierarchical rating system (…). Figure 5 (As shown) and can assign a position within the tiered rating system to the first rating.
[0083] In step 4, 208, multiple ability scores can be dynamically adjusted upon receiving the second set of data. The second set of data can be associated with one or more parameters related to generating the team's rating. For example, the second set of data may include one or more of the following: a second match report, second set of player data, geographic location, and / or a second score report. The second set of data can be used to update one or more of the following: national ability score, continental ability score, league ability score, and intra-league ability score. For example, receiving a second score report associated with the team can update the intra-league ability score based on that report. As another example, receiving a second score report associated with a team, and the report detailing matches between the team associated with a league and different teams associated with different leagues. In such an example, the intra-league ability score and the league ability score can be updated. As yet another example, the second score report detailing matches between the team associated with a league and different teams associated with the same league, but the matches are independent of the league's events. In such an example, only the intra-league ability score can be updated.
[0084] In step 5.210, the first rating is updated based on multiple dynamically adjusted ability scores. This first rating is updated via a deterministic algorithm. The deterministic algorithm can adjust the ability scores based on a first set of data and a second set of data, thereby updating the first rating relative to the hierarchical rating system. For example, in step 6.212, the team's first rating can be represented by an icon in a graphical user interface (GUI). Figure 7 (As shown). When the first rating is updated via a deterministic algorithm, the icon positions can be rearranged within the GUI. The rearrangement of icons within the GUI indicates whether a team's position is improved or worsened relative to other teams in the hierarchical rating system.
[0085] Figure 3An example method 300 for generating dynamic ratings of players for a sports team is described. Method 300 can be used to generate dynamic player ratings for output and user use. For example, a player could be a player from an English Premier League (EPL) team, and method 300 can generate an icon for display on a graphical user interface (GUI) that includes the dynamic ratings of the EPL team's player relative to other EPL teams and other players globally. In some examples, a sports team's players could be esports players from an esports team. For example, an esports player could be a League of Legends (LoL) player, and method 300 can generate an icon for display on a GUI that includes the LoL player's dynamic rating relative to other LoL players globally. The techniques disclosed herein for sports can be similarly applied to esports teams (e.g., based on the esports team's league, position, hierarchy, etc.).
[0086] Method 300 includes a first step 302, in which a first set of data can be received from data storage device 114 and / or one or more data sources separate from data storage device 114. The first set of data may be associated with one or more parameters related to generating a player's rating. For example, the first set of data may include one or more of the following: a first match report, first set of player data, geographic location, tournament level data, and / or a first score report. In one example, tournament level data may include tracking data, number of successful passes, distance covered, number of chances created, number of attempted passes, etc. One or more users may consult match reports including matches between multiple teams to identify and / or confirm tracking data used to monitor player on-field and off-field time. In some examples, the first set of data may be collected manually by one or more users. One or more parameters may include, for example, expected team rating, actual team rating, expected goals value, expected possession value, weighted goals value, and / or defensive or offensive value. One or more parameters may control the degree to which a value influences a player's dynamic rating.
[0087] In step 304, multiple ability scores for a player can be calculated based on the first set of data. For example, a first ability score and a second ability score can be generated from among multiple ability scores based on the first set of data. In one example, the first ability score could be a first player attribute score. In another example, the second ability score could be a second player attribute score that is different from the first player attribute score. Any number of ability scores can be generated based on the first set of data as needed to generate dynamic player ratings.
[0088] In step 306, a first player rating can be generated by summing multiple ability scores or other adaptation relationships. For example, a first player rating can be generated by adding the first ability score and the second ability score. In one example, the first player rating could be a player's Elo rating. The first player rating can be incorporated into a hierarchical rating system (…). Figure 5 (As shown) and can assign a position within the tiered rating system to the first player rating.
[0089] In step 4.308, multiple ability scores can be dynamically adjusted upon receiving the second set of data. The second set of data can be associated with one or more parameters related to generating the player's rating. For example, the second set of data may include one or more of the following: a second match report, a second set of player data, a second geographic location, second tournament level data, and / or a second score report. The second set of data can be used to update one or more of the first and / or second ability scores. For example, receiving second tournament level data associated with the player and updating the first ability score based on the second tournament level data. In such an example, the second tournament level data may include the player's tracking information. Tracking information can indicate the distance the player has covered and identify when the player is on and off the field.
[0090] In step 5.310, the first player rating can be updated based on multiple dynamically adjusted ability scores. This first player rating can be updated via a deterministic algorithm. The deterministic algorithm can adjust the ability scores based on a first set of data and a second set of data, thereby updating the first player rating relative to the hierarchical rating system. For example, in step 6.312, the player's first player rating can be represented by an icon in a graphical user interface (GUI). Figure 7 (As shown). When the first player rating is updated via a deterministic algorithm, the icon positions can be rearranged within the GUI. The rearrangement of icons within the GUI represents the player's rise or fall in position relative to other players in the hierarchical rating system. In some examples, the first player rating may be stored in data storage device 114 and / or one or more data sources separate from data storage device 114.
[0091] Figure 4An example method 400 is described, which generates a dynamic overall rating for a sports team based on one or more individual player ratings. Method 400 can be used to generate a dynamic overall rating for a sports team based on one or more individual player ratings for output and user use. For example, the sports team could be an English Premier League (EPL) team, and method 400 can generate an icon for display on a graphical user interface (GUI) that includes the EPL team's dynamic rating relative to other EPL teams and other teams globally. In some examples, the sports team could be an esports team. For example, the sports team could be a League of Legends (LoL) team, and method 400 can generate an icon for display on a graphical user interface (GUI) that includes the LoL team's dynamic rating relative to other LoL teams and other LoL teams globally. The sports-related techniques disclosed herein can be similarly applied to esports teams (e.g., based on the esports team's league, position, hierarchy, etc.).
[0092] Method 400 includes a first step 402, in which a first set of data can be received from data storage device 114 and / or one or more data sources separate from data storage device 114. The first set of data may be associated with one or more parameters related to generating an overall rating for a sports team. For example, the first set of data may include one or more of the following: a first match report, a first set of player data, geographic location, and / or a first score report.
[0093] In step 404, multiple ability scores for the team can be calculated based on the first set of data. For example, a first and second ability score can be generated based on the team's geographical location. The first ability score could be a national ability score. The second ability score could be a continental ability score. A third ability score can be generated for the league associated with the team. This third ability score could be a league ability score. A fourth ability score can be generated within the league associated with the team. This fourth ability score could be a league-specific ability score. While this document describes four ability scores for multiple ability scores, any desired number of ability scores can be used to generate an overall rating for the team.
[0094] In step 3, 406, an overall rating can be generated by summing multiple ability scores and one or more ratings, or by other applicable relationships. One or more player ratings can be generated, as described in method 300. Each player rating in the one or more player ratings can be incorporated into the overall rating by summing multiple ability scores or by other applicable relationships. For example, an overall rating can be generated by adding national ability scores, continental ability scores, league ability scores, league-specific ability scores, and one or more player ratings. In step 4, 408, multiple ability scores and / or one or more player ratings can be dynamically adjusted upon receiving the second set of data. The second set of data can be associated with one or more parameters related to generating the sports team's rating. The second set of data can include one or more of the following: a second match report, a second set of player data, geographic location, and / or a second score report.
[0095] The second set of data can be used to update one or more of the following: national ability score, continental ability score, league ability score, and intra-league ability score. For example, receiving a second score report associated with a sport team can update the intra-league ability score based on that report. As another example, receiving a second score report associated with a sport team, and the report detailing matches between the sport team associated with a league and different sport teams associated with different leagues. In such an example, the intra-league ability score and the league ability score can be updated. As yet another example, the second score report detailing matches between the sport team associated with a league and different sport teams associated with the same league, but these matches are independent of the league's events. In such an example, only the intra-league ability score can be updated.
[0096] In step 5.410, the overall rating is updated based on dynamically adjusted multiple ability scores and one or more player ratings. This overall rating can be updated via a deterministic algorithm. The deterministic algorithm can adjust the ability scores and one or more player ratings based on a first set of data and a second set of data, thereby updating the overall rating relative to the hierarchical rating system. For example, in step 6.412, the team's overall rating can be represented by icons in a graphical user interface (GUI). Figure 7 (As shown). When the first rating is updated via a deterministic algorithm, the icon positions can be rearranged within the GUI. The rearrangement of icons within the GUI indicates whether a team's position is improved or worsened relative to other teams in the hierarchical rating system.
[0097] In another example, the overall rating may consist of only one or more player ratings. For instance, one or more player ratings could include starting eleven ratings and substitute player ratings. In such an example, each player in the starting eleven of a sporting match can have a player rating, and their combination forms the starting eleven rating. Non-starting players can each have a player rating, and their combination forms the substitute player rating. The starting eleven ratings and substitute player ratings can be summed or have another relationship applied to form the overall rating of the sports team. When obtained in this way, the overall rating can be statistically weighted in a different way than an overall rating calculated using multiple ability scores and one or more player ratings.
[0098] In one example, the overall rating can be output by a machine learning model (e.g., an overall rating machine learning model). The machine learning model can be trained using a training data set that includes historical or simulated characteristics associated with a first and second data set, based on historical, simulated, or actual match reports (e.g., using tracking data and / or event data), historical or simulated score reports, etc. The machine learning model can receive the first and second data sets as input. Match reports can be provided to the machine learning model as input, or can be accessed by the machine learning model in other ways. The machine learning model learns the association between the first and second data sets. Based on such input data and / or access, the machine learning model can output an overall rating for the sports team. For example, the machine learning model can generate and output an overall rating based on one or more match reports from sports matches between two sports teams. The machine learning model can update the output overall rating based on a third set of data received. For each new set of data received, the machine learning model can output an updated overall rating.
[0099] One or more player ratings allow users to differentiate various aspects of a player across a large number of players. For example, one or more player ratings can consider both defensive and offensive statistics simultaneously. In one example, one or more player ratings can accurately weigh goals scored by a player as a defender against goals scored by a player as an attacker. One or more player ratings can also provide information on the impact of players on and off the field. For instance, if a player with a certain rating is on the field, the rating can provide an indication of the match outcome based on its relationship to the ratings of other players on the field. Once that player leaves the field, the indication of the match outcome can be adjusted based on the replacement of the initial player by certain players with different ratings.
[0100] Furthermore, dynamic team ratings can be statistically anchored through player ratings to provide more relevant data. For example, while the statistical weighting of goals scored may be unfair for dynamic team ratings, identifying a correlation between goals scored and specific players with a particular rating within the team provides additional statistical context for the dynamic team ratings.
[0101] Figure 5 An example GUI interface representing a hierarchical rating system is depicted. Teams can be positioned within the GUI to display their ratings associated with each of multiple ability scores. For example, multiple teams are ranked based on their ratings to show their relative strength compared to other teams within the multi-team pool.
[0102] Figure 6 A simplified calculation of player ratings for method 300, performed by a deterministic algorithm, is described.
[0103] Figure 7 A sample GUI interface representing a hierarchical rating system is depicted. Players can be positioned within the GUI to display a player's rating associated with each of multiple ability scores. For example, multiple players are ranked based on their ratings to show their relative strength compared to other players among the multiple players.
[0104] Figure 8 A flowchart illustrating a method for training a machine learning model based on one aspect of the disclosed topic is provided. Figure 8 As shown in flowchart 800, training data 812 may include one or more of stage inputs 814 and known results 818 associated with the machine learning model to be trained. Stage inputs 814 may originate from any applicable source, including the components or sets shown in the figures provided herein. Known results 818 may be included for machine learning models generated based on supervised or semi-supervised training. Supervised machine learning models may be trained without using known results 818. Known results 818 may include known or expected outputs for future inputs that are similar to or in the same category as stage inputs 814 that do not have corresponding known outputs.
[0105] Training data 812 and training algorithm 820 can be provided to training component 830, which can apply training data 812 to training algorithm 820 to generate a trained machine learning model 850. According to one embodiment, a comparison result 816 can be provided to training component 830, which compares the previous output of the corresponding machine learning model to apply the previous result to retrain the machine learning model. Training component 830 can use comparison result 816 to update the corresponding machine learning model. Training algorithm 820 can utilize machine learning networks and / or models, including but not limited to, deep learning networks such as deep neural networks (DNN), convolutional neural networks (CNN), fully convolutional networks (FCN), and recurrent neural networks (RCN), probabilistic models (such as Bayesian networks and graphical models), and / or discriminative models (such as decision forests and maximum margin methods). The output of flowchart 800 can be the trained machine learning model 850.
[0106] The machine learning models disclosed herein can be trained by adjusting one or more weights, layers, and / or biases during the training phase. During the training phase, historical or simulated data can be provided as input to the model. The model can adjust one or more of its weights, layers, and / or biases based on such historical or simulated information. The adjusted weights, layers, and / or biases can be configured based on the training to a production version of the machine learning model (e.g., a trained model). Once trained, the machine learning model can output its output according to the subject matter disclosed herein. According to one implementation, one or more machine learning models disclosed herein can be continuously updated based on the use or implementation of the machine learning model's output.
[0107] It should be understood that the aspects in this invention are merely exemplary, and other aspects may include various combinations of features from other aspects, as well as additional or fewer features.
[0108] Generally, any process or operation discussed in this invention, which is understood to be computer-implementable, such as the processes shown in the flowcharts disclosed herein, can be executed by one or more processors of a computer system, such as any system or apparatus in the exemplary environment disclosed herein, as described above. A process or process step executed by one or more processors may also be referred to as an operation. One or more processors may be configured to execute these processes by accessing instructions (e.g., software or computer-readable code) that, when executed by one or more processors, cause one or more processors to perform the process. The instructions may be stored in the memory of the computer system. The processor may be a central processing unit (CPU), a graphics processing unit (GPU), or any suitable type of processing unit.
[0109] A computer system, such as the system or apparatus that implements the processes or operations in the examples above, may include one or more computing devices, such as one or more of the systems or apparatuses disclosed herein. One or more processors of the computer system may be included in a single computing device or distributed across multiple computing devices. The memory of the computer system may include the respective memory of each of the multiple computing devices.
[0110] Figure 9 This is a simplified functional block diagram of a computer 900, an apparatus that can be configured to perform the methods disclosed herein, according to an exemplary aspect of the present invention. For example, according to an exemplary aspect of the present invention, the computer 900 can be configured as a system. In various aspects, any of the systems described herein can be the computer 900, which includes, for example, a data communication interface 920 for packet data communication. The computer 900 may also include a central processing unit (“CPU”) 902 in the form of one or more processors for executing program instructions. Although the computer 900 can receive programming and data via network communication, the computer 900 may include an internal communication bus 908 and a storage unit 906 (such as ROM, HDD, SDD, etc.) that can store data on a computer-readable medium 922.
[0111] Although instruction 924 may be temporarily or permanently stored within other modules of computer 900 (e.g., processor 902 and / or computer-readable medium 922), computer 900 may also have storage for techniques used to execute those presented herein, such as those related to... Figures 2 to 4 The instructions 924 described herein are stored in memory 904 (such as RAM). Computer 900 may also include input and output ports 912 and / or a display 910 for connection to input and output devices such as a keyboard, mouse, touchscreen, monitor, display, etc. Various system functions can be implemented in a distributed manner on multiple similar platforms to distribute the processing load. Alternatively, the system can be implemented by appropriately programming a single computer hardware platform.
[0112] The programmatic aspect of this technology can be considered a "product" or "manufactured item," typically carried on a machine-readable medium or in the form of embodied executable code and / or associated data. "Storage" type media includes computers, processors, etc., or their associated modules, such as any or all of various semiconductor memories, tape drives, disk drives, etc., which can provide non-transitory storage for software programming at any time. Sometimes, all or part of the software can communicate via the Internet or various other telecommunications networks. For example, such communication enables the loading of software from one computer or processor to another, such as from a management server or host of a mobile communication network to a server's computer platform and / or from a server to a mobile device. Therefore, another type of medium that can carry software elements includes light waves, radio waves, and electromagnetic waves, such as physical interfaces between local devices, used via wired and fiber optic networks, and via various air links. Physical elements carrying such waves, such as wired or wireless links, fiber optic links, etc., can also be considered as media carrying software. As used herein, unless limited to non-transitory, tangible "storage" media, the term "readable medium" for a computer or machine refers to any medium that participates in providing instructions to a processor for execution.
[0113] Figure 10 A graphical representation of one or more player ratings is shown in 1000. In one example, player ratings for some "outstanding" and "understanding" players can be displayed. Player A left the EPL in 2020 and disappeared from the small dataset used; their player rating tended to plateau around a player rating value of approximately 1400. After playing a few games in 2014, Player B's player rating did not update again until he returned to the EPL in 2017, after which the rating rose rapidly and showed no signs of plateauing before the current dataset. On the other hand, Players C and D declined from an initial player rating value of approximately 1000. As more datasets are provided, player ratings tend to stabilize (e.g., after three full seasons, Player B's player rating surpasses that of his teammate Player E, as this matches the data received from data source 114). The update weights can be adjustable parameters to allow for faster changes. In one example, method 300 can be used iteratively, for example, to process all the data for the first time to produce a final player rating value (e.g., about 1600 for player B), which is used as an initial weight input for subsequent processing (e.g., player B starts with about 1600 instead of about 1000).
[0114] Figure 11A graphical representation of the overall rating based on one or more player ratings is depicted (1100). This achieves a pattern consistent with human expectations. For example, Team A's performance gradually declined from approximately 2016 to 2020, becoming an increasingly weaker team. Teams B and C had roughly equal ratings until approximately 2018, after which Team B significantly outperformed. Furthermore, short-term differences between matches can be estimated, allowing for more accurate predictions about the probability of winning (e.g., pre-match or real-time predictions). For instance, at the end of 2020, although Team B's recent average overall rating was approximately 1350, in one match, Team B fielded a lineup with an overall rating of only approximately 1250, while at the same time, Team B also had an above-average overall rating of approximately 1250. This suggests that the two teams in this match were actually closer in strength than might have been based on the Elo rating without considering the specific lineups.
[0115] While the disclosed methods, apparatus, and systems are described with reference to exemplary data transmission, it should be understood that the disclosed aspects are applicable to any environment, such as desktop or laptop computers, car entertainment systems, home entertainment systems, etc. Furthermore, the disclosed aspects are applicable to any type of Internet protocol.
[0116] It should be understood that in the foregoing description of exemplary aspects of the invention, various features of the invention are sometimes combined together in a single aspect, drawing, or description therein to simplify the invention and aid in understanding one or more of the various inventive aspects. However, this approach of the invention should not be interpreted as reflecting an intention that the claimed invention requires more features than expressly recited in each claim. Rather, as reflected in the following claims, inventive aspects exist in fewer features than all features in a single foregoingly disclosed aspect. Therefore, the claims following the detailed description are hereby expressly incorporated into the detailed description, wherein each claim exists independently as a separate aspect of the invention.
[0117] Furthermore, while some aspects described herein include features included in other aspects but not others, combinations of features from different aspects should be within the scope of this invention and form different aspects, as should be understood by those skilled in the art. For example, any of the claimed aspects may be used in any combination in the following claims.
[0118] Therefore, while certain aspects have been described, those skilled in the art will recognize that other and further modifications can be made thereto without departing from the spirit of the invention, and it is intended that all such changes and modifications fall within the scope of the invention. For example, functions can be added or removed from the block diagram, and operations can be interchanged between function blocks. Operations can be added or removed to the method within the scope of the invention.
[0119] The subject matter disclosed above should be considered illustrative rather than restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments that fall within the true spirit and scope of the invention. Therefore, to the maximum extent permitted by law, the scope of the invention should be determined by the broadest permissible interpretation of the following claims and their equivalents, and should not be constrained or limited by the foregoing detailed description. While various embodiments of the invention have been described, it will be apparent to those skilled in the art that many more embodiments are possible within the scope of the invention. Therefore, the invention is not limited except as provided in the appended claims and their equivalents.
Claims
1. A method for generating dynamic ratings for entities and rearranging icons associated with said entities on a graphical user interface (GUI) of a computer system, the method comprising: Receive a first set of data associated with one or more parameters of the entity via one or more data sources; Multiple capability scores are calculated based on the first set of data associated with the one or more parameters using a deterministic algorithm; A first player rating is generated based on each of the plurality of ability scores using the deterministic algorithm. The plurality of capability scores are dynamically adjusted based on a second set of data received in association with one or more parameters of the entity, using the deterministic algorithm. The first player rating is updated based on the adjusted multiple ability scores using the deterministic algorithm. Based on the updated first player rating, the icon is automatically rearranged to a position above or below its current position on the GUI.
2. The method of claim 1, wherein the one or more parameters include one or more of the following: expected team rating, actual team rating, expected goals value, expected possession value, weighted goals value, and / or defensive or offensive value.
3. The method according to claim 1, wherein the entity is a player of a sports team.
4. The method of claim 1, wherein the one or more parameters include competition-based match importance weights and / or match week-based match importance weights.
5. The method according to claim 1, wherein the first set of data includes one or more of the following: a first match report, a first set of player data, geographical location, event level data, and / or a first score report.
6. The method of claim 5, wherein the event-level data includes one or more of the following: tracking data, number of successful passes, running distance, number of chances created, and number of attempted passes.
7. The method of claim 1, wherein the first player rating is stored in the one or more data sources.
8. The method of claim 1, wherein the GUI is represented as a hierarchical rating system, and wherein the icon of the entity represents a player of a sports team.
9. A method for generating an overall rating for an entity, the method comprising: Receive the first set of data associated with the entity via one or more data sources; A first plurality of ability scores are calculated based on the first set of data associated with one or more parameters using a deterministic algorithm; A first rating is generated based on each of the first plurality of ability scores using the deterministic algorithm. A second plurality of capability scores are calculated based on the first set of data associated with the one or more parameters via the deterministic algorithm; A second rating is generated based on each of the second plurality of ability scores and the first rating using the deterministic algorithm. The first plurality of capability scores and the second plurality of capability scores are dynamically adjusted based on a second set of data received in association with one or more parameters of the entity, using the deterministic algorithm. The first rating and the second rating are updated based on the adjusted multiple ability scores using the deterministic algorithm. as well as Based on the updated second rating, the icons are automatically rearranged to a position above or below their current position on the graphical user interface (GUI).
10. The method of claim 9, wherein the first rating is a rating of a player on a sports team, and wherein the second rating is a rating of the sports team.
11. The method of claim 9, wherein the second set of data includes one or more of the following: a second match report, a second set of player data, a second geographic location and / or a second score report.
12. A system for generating dynamic ratings for entities and rearranging icons associated with said entities on a graphical user interface (GUI), said system comprising: The memory stores instructions; A generative machine learning model, which is trained to generate dynamic ratings; A processor, operatively connected to the memory and configured to execute instructions to perform the following operations: Receive a first set of data associated with one or more parameters of the entity via one or more data sources; Multiple capability scores are calculated based on the first set of data associated with the one or more parameters using a deterministic algorithm; A first player rating is generated based on each of the plurality of ability scores using the deterministic algorithm. The plurality of capability scores are dynamically adjusted based on a second set of data received in association with one or more parameters of the entity, using the deterministic algorithm. The first player rating is updated based on the adjusted multiple ability scores using the deterministic algorithm. as well as Based on the updated first player rating, the icon is automatically rearranged to a position above or below its current position on the GUI.
13. The system of claim 12, wherein the one or more parameters include one or more of the following: expected team rating, actual team rating, expected goals value, expected possession value, weighted goals value, and / or defensive or offensive value.
14. The system of claim 12, wherein the entity is a player of a sports team.
15. The system of claim 12, wherein the one or more parameters include competition-based match importance weights and / or competition-week-based match importance weights.
16. The system of claim 12, wherein the first set of data includes one or more of the following: a first match report, a first set of player data, geographical location, event level data, and / or a first score report.
17. The system of claim 16, wherein the event-level data includes one or more of the following: tracking data, number of successful passes, running distance, number of chances created, and number of attempted passes.
18. The system of claim 12, wherein the first player rating is stored in the one or more data sources.
19. The system of claim 12, wherein the GUI is represented as a hierarchical rating system, wherein the icon of the entity represents a player of a sports team.
20. The system of claim 12, wherein the first player rating is iteratively updated when additional data sets are received from the one or more data sources.