System and method for determining real-time operation ratio of learning changes occured in a state

By using mathematical algorithms and real-time data processing, the probability of a team or player taking the lead, maintaining the lead, or drawing in a match is determined in real time. This solves the problem that existing technologies cannot determine the probability of a draw or change in the lead in a match in real time, thus improving the real-time performance and accuracy of the betting system.

CN122003705APending Publication Date: 2026-05-08GATELED CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GATELED CORP
Filing Date
2023-12-30
Publication Date
2026-05-08

AI Technical Summary

Technical Problem

Existing technology cannot determine the probability of a draw or lead change in real time during live matches, resulting in a lack of participation and accuracy in betting systems during the game.

Method used

By employing mathematical algorithms combined with real-time data processing, the probability of a team or player taking the lead, maintaining the lead, or drawing in a match is determined in real time through a calculation system. Deviations are taken into account and strength indicators are used to adjust the probabilities. The computer system automatically performs calculations and pushes the results within a predetermined time period.

Benefits of technology

It enables the determination of the probability of a draw or change in the lead at any moment in the game, improving the real-time performance and accuracy of the prediction system and enhancing user engagement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122003705A_ABST
    Figure CN122003705A_ABST
Patent Text Reader

Abstract

The disclosed innovation introduces a real-time guessing system that assesses the probability of teams, players, or competitors leading, keeping leading, or playing a tie during a dynamic score competition. Unlike a conventional live guessing structure, it offers continuous participation by evaluating the probability at any time, irrespective of the final result. The system adopts a mathematical algorithm in a computing framework, adjusts deviation based on a predefined criterion, and performs correlation analysis by using a strength index and team strength. It is noticeable, which calculates and eliminates the deviation, thereby determining the mean value of the probabilities. The main objective is to perform these steps within a predetermined period of time, allowing dynamic adjustments based on factors such as game rhythm. Such a computer-implemented method operates without human-computer interaction, queries active competitions in an external API, processes real-time data, and delivers a live occurrence ratio to a customer. According to the innovation, real-time guessing is changed, and dynamic and winning guessing experience is provided for the user.
Need to check novelty before this filing date? Find Prior Art

Description

Cross-references to related applications

[0001] This application is a non-provisional application filed on August 15, 2023, under U.S. Provisional Application No. 63 / 532835, and claims priority to that provisional application, the entire contents of which are incorporated herein by reference. Technical Field

[0002] This invention generally relates to systems and methods for determining the probability of events, and more specifically to systems and methods for determining the real-time occurrence ratio of lead changes or draws in a competition. Background Technology

[0003] As long as there are competitions, humans have always sought ways to predict the outcomes. Many systems and methods for facilitating competition prediction are known in this field. This includes determining the probabilities of a particular outcome being predicted. Since the probabilities of outcomes are used to determine the settlement amount for a prediction, those who rely on probability-based predictions desire a reliable method for calculating those probabilities.

[0004] Most betting systems provide probability odds for certain events in a match. These probability odds are calculated to predict the likely outcomes, such as the final result of a match (e.g., point spread betting). However, there is currently no system or method to determine the probability of an event betting system at any given moment during a live match. Specifically, there is currently no system or method to determine the probability of a draw or a change in lead at any given moment during a live match. The ability to always have the opportunity to bet on events regardless of the score is an unmet need in the current technological field.

[0005] Therefore, there is a need in this field for a way to determine, in real time, the probability that a team, player, or competitor is ahead of other participants in any competition (where scores (or equivalent success metrics) fluctuate throughout the event) at any given moment. Summary of the Invention

[0006] This paper discloses a system and related methods, as well as a computer program product, which determines in real time the probability of a team, player, or competitor leading other participants in the competition or the probability of a tie at any given moment during any competition (where the score or equivalent success metric fluctuates throughout the event).

[0007] Unlike all other live betting structures (e.g., point spread betting, win / loss prediction), the probabilities (occurrence ratios) determined by this system are not limited by the match outcome. Furthermore, the events for which probabilities are determined can occur at any point in the match or event, not just the final score, thus keeping users (ultimately, bettors) engaged at all stages of the match. The purpose of this system and method is to determine whether a tie or a change in lead will occur at any point in the competition. The probabilities of these three outcomes (maintaining the lead, gaining the lead, or a tie) fluctuate in real time with changes in the score, time, and other factors. This type of betting does not currently exist. Its advantage is that there is always an opportunity to bet on the event regardless of the score. If any of the three bets wins, the other two lose, and a re-bet is required to continue the match. If a three-way betting is not possible, only one side will lose.

[0008] By way of overview and examples only, some embodiments of the present invention use process steps grouped by functional modules to determine the three-way odds of a change in lead; in other words, to determine the probability of a draw, a change in lead, or maintaining the lead for a specific event in a competition. In some embodiments, improvements in the field of determining real-time betting probabilities can be achieved by executing method steps within a computational system, employing a mathematical algorithm that considers the determined probabilities of a draw, a change in lead, or maintaining the lead, as well as the bias, and modifies the bias based on a set of predetermined criteria plus / minus values. Embodiments of the present invention then consider the bias and use a strength index to find a relevant algorithm that correlates a team's strength with its expected probabilities. In the embodiments, different formulas are used for different scenarios. For example, when a strong team is leading at home, or when a weak team is leading at home. Embodiments of the present invention use formulas that take into account the presence of bias; however, by calculating this bias, these embodiments are able to minimize its impact. Finally, the average of the results of the above equations can be used to determine the average probability.

[0009] Another object of the present invention is to execute the prescribed method steps in real time—entirely within a predetermined time period. In embodiments, the predetermined time period may be determined by factors such as the pace of the game, every half second, after each score, or other predetermined values, wherein at the end of the predetermined time period, the score will be reset and the method steps will be executed again.

[0010] Another embodiment of the present invention is a computer-implemented method that calculates the three-way occurrence ratio of lead changes substantially in real time and without human intervention at any defined moment during a competition. An exemplary embodiment includes: detecting the existence of an ongoing competition by a computer querying an external API, and if an ongoing competition is detected, initiating a task by the computer to begin processing real-time data; receiving real-time data from the external API by the computer; establishing a predetermined time period based on the competition type; performing certain method steps entirely within the predetermined time period; and pushing the real-time occurrence ratio to a client, wherein the lead change is characterized as whether a participant gains a lead, maintains a lead, or a tie occurs at any defined moment.

[0011] Other embodiments of the invention include related systems and computer program products, the computer program products including non-transitory signal storage components for storing computer program instructions that, when executed on a processor, perform any method steps disclosed and discussed herein. Attached Figure Description

[0012] In the accompanying drawings, the same reference numerals refer to the same or functionally similar elements in the various views. The accompanying drawings, together with the following detailed description, are incorporated in and form part of this specification, and serve to further illustrate the various embodiments and explain all the various principles and advantages according to the invention, wherein:

[0013] Figure 1 This is a block diagram of exemplary components (modules) of a system configured to perform the method according to an embodiment of the present invention;

[0014] Figure 2 This is a flowchart of an exemplary process according to an embodiment of the present invention;

[0015] Figure 3 This is an exemplary client / user view according to an embodiment of the present invention; and

[0016] Figure 4 This is a simplified block diagram of an exemplary computing system according to an embodiment of the present invention.

[0017] While the claimed invention may be modified in alternative forms, specific embodiments thereof are illustrated by way of example in the accompanying drawings and will be described in detail herein. However, it should be understood that the drawings and their detailed description are not intended to limit the invention to the specific forms disclosed, but rather are intended to cover all modifications, equivalents, and alternatives falling within the scope of the invention. Detailed Implementation

[0018] Before describing the embodiments according to the present invention in detail, it should be noted that these embodiments primarily pertain to combinations of method steps and system components related to systems and methods that place computation within a communication network. Therefore, in the accompanying drawings, system components and method steps have been indicated with conventional symbols where appropriate, and only those specific details relevant to understanding the embodiments of the invention are shown so as not to obscure the disclosure with regard to details that will become obvious to those skilled in the art who will benefit from the description herein. Therefore, it should be understood that, for the sake of simplicity and clarity, common and easily understood elements useful or necessary in commercially viable embodiments may not be depicted in order to provide a clearer understanding of these different embodiments.

[0019] In this regard, each box in a flowchart or block diagram may represent a module, code segment, or portion of code, which includes one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the execution order of the functions marked in the boxes may differ from that marked in the diagram. For example, two boxes shown consecutively may actually be executed substantially simultaneously, or, depending on the functionality involved, these boxes may sometimes be executed in reverse order. It should also be noted that each box in a block diagram and / or flowchart, as well as combinations of boxes in block diagrams and / or flowcharts, can be implemented by a dedicated hardware system, or a combination of dedicated hardware and computer instructions, that performs the specified function or action.

[0020] While embodiments may be disclosed to include several features, other embodiments of the invention may include fewer than all such features. Therefore, for example, a claim may refer to only some features of the disclosed embodiments, and such a claim may not include features beyond those expressly enumerated.

[0021] This disclosure is not a literal description of all embodiments of the invention(s). Furthermore, this disclosure is not a list of all features of the invention(s) that must be present in all embodiments. Non-restrictive definition

[0022] The titles of this application and the titles of the various sections provided herein are for convenience only and should not be construed as limiting this disclosure in any way.

[0023] The following non-limiting definitions are provided as a guide for interpreting this invention:

[0024] The term "taking the lead" refers to seizing the lead from other participants in a competition. A participant's lead may be temporary or it may last throughout the competition. The lead can also fluctuate, meaning that opponents can seize the lead multiple times and then lose it until the final winner is determined.

[0025] The term "staying ahead" means maintaining a leading position in a competition without losing the lead.

[0026] The term "draw" means that the score is the same as the opponent's in a competition.

[0027] The term "competition" refers to a form of game, sport, race, event, or contest, particularly one conducted according to rules and decided by skill, ability, or luck. In some embodiments where a competition involves a sport or contest, it can be football, hockey, basketball, baseball, golf, tennis, cricket, rugby, martial arts, boxing, swimming, skiing, snowboarding, horse racing, car racing, rowing, cycling, wrestling, Olympic events, and medals. Competitions can also be unrelated to sports, for example, in entertainment, financial markets, etc.—as long as the fluctuating score or other measure of performance during the competition allows for the prediction of a winner. Competitions are integrated into embodiments in various ways. The terms "competition," "contest," "event," and other similar terms are used interchangeably herein.

[0028] The term "betting period" refers to a predetermined time period during which users can make bets before or during a match. A betting period can begin before the match starts, during which users can bet on which player will take the initial lead, how many lead changes or ties will occur throughout the match, or which team will ultimately win. Once the match has started and a player has taken the lead or a tie exists, each betting period continues until a lead change or tie occurs. When a lead change or tie occurs, the bet is paid out, and users can place new bets in the next betting period until the match ends. Exceptions may occur. For example, in a rugby match, a touchdown may or may not result in a lead change or tie. However, the scoring pair still in possession of the ball has the opportunity to score an extra point by kicking the ball, or two extra points by other means. A betting period does not end but continues until all these opportunities have been used.

[0029] The term "event" refers to a period of time in a competition or contest where the specific actions of one or more participants result in a change of lead or a tie. For example, in a basketball game, an "event" could be a period when a team scores and ties the score or takes the lead. Outside of sports (such as in entertainment and financial markets), this concept can be used, for example, in reality TV competitions, award ceremonies like the Oscars, or financial markets to determine the probability of taking the lead, maintaining the lead, or a tie, and to set up corresponding predictions. For example, an "event" in a reality TV competition could be a week's episode that ends with some participants gaining a certain number of points or an advantage. In basketball, an "event" could include the total number of ties (above / below), the total number of changes in lead (above / below), and who will score first. In an award ceremony, an "event" could be each category in which each participant is nominated for an award. In voting, an "event" could be defined by each hour or other time period of vote counting, the results of each batch of votes, or the vote count by the judging panel. In financial markets, an "event" could be which stock experiences the largest increase or decrease in value during a specific period. The live broadcast of the competition includes predictions of taking the lead, a tie, and maintaining the lead, as well as real-time data on the total number of ties and changes in the lead (above / below). Finally, when the match is tied, players can predict who will regain the lead, and then predict the total number of lead changes and ties (above / below).

[0030] The term "scoring event" refers to an event in which a team scores a point or achieves some equivalent metric.

[0031] The term "original event" refers to data representing a specific moment in a competition. This includes, but is not limited to, the current score, competition time, away team, home team, team strength, and player performance information.

[0032] The term "no event" refers to a period during the competition in which a particular action by one or more players does not end in a change of lead or a tie, but rather a player remains in the lead for the remainder of the competition.

[0033] The term "betting" refers to a risky game of chance involving a player (such as a platform) based on the outcome of a future event, typically involving a certain amount of in-game currency. As defined herein, such an "event" includes fluctuations in points or other performance metrics during a game or competition. Non-coin items can also be objects of "betting," such as points, coupons, free or upgrade tickets, or anything else that can be quantified as a "bet." "Betting" can be valid for a period of time, such as an "event" as defined herein. "Betting" can be integrated into implementations in various ways.

[0034] The term "user" refers to a person who makes a bet, often referred to as a customer or client. In some embodiments, a "user" may be a direct beneficiary of the output of the disclosed system or method, such as a sports betting platform party that uses the occurrence ratio determined by the present invention to accept bets.

[0035] The term "platform" refers to an entity or online organization that accepts betting on the outcome of an event.

[0036] The term "platform system" refers to a system that enables users to interact with computers in an electronic domain, based on a set of implicit and explicit rules, to predict the outcome of events. A "platform system" can be integrated into embodiments in various ways.

[0037] The term "invalid bet" refers to a bet that results in neither a win nor a loss, and the original bet amount is either refunded or carried over to the next event; otherwise, the user needs to place a new bet to continue participating in that bet. "Invalid bets" can be integrated into implementations in various ways.

[0038] The terms "both sides" or "camps" refer to competing participants in an event.

[0039] The term "casino" refers to a public place or building where traditional probability-based games (such as arcade games, card games, roulette, etc.) are played. Similarly, the term "horse racing casino" refers to a building or venue with a racecourse and facilities for conducting related entertainment activities. "Casino" and "horse racing casino" can be incorporated into various embodiments in multiple ways.

[0040] The term "settlement amount" refers to the total amount paid to a user by the platform when the user wins a bet, including the user's initial investment and any additional profits gained. To calculate the settlement amount for a win / loss prediction, the probability of the participant winning is multiplied by the user's betting amount. The resulting amount is the user's potential settlement amount, excluding the initial betting amount.

[0041] Unless otherwise expressly stated, the term "product" means any machine, article, and / or material composition. "Product" can also refer to the "computer program product" disclosed herein.

[0042] Unless otherwise expressly stated, the term "process" means any procedure, algorithm, method, etc.

[0043] Every process (whether referred to as a method, algorithm, or other name) inherently comprises one or more steps; therefore, all references to one or more “steps” of a process have an inherent prior basis when referring only to the term “process” or a similar term. Accordingly, any reference to one or more “steps” of a process in the claims has a sufficient prior basis.

[0044] Unless otherwise expressly stated, the term "invention" etc. means "one or more inventions disclosed in this application".

[0045] Unless otherwise expressly stated, the terms “embodiment,” “this embodiment,” “these embodiments,” “one or more embodiments,” “some embodiments,” “certain embodiments,” “one embodiment,” “another embodiment,” etc., mean “one or more (but not all) embodiments of the disclosed (one or more) inventions.”

[0046] Unless otherwise expressly stated, the term "variation of the invention" refers to an embodiment of the invention.

[0047] Unless otherwise expressly stated, reference to “another embodiment” in describing an embodiment does not imply that the mentioned embodiment is mutually exclusive with another embodiment (e.g., an embodiment described prior to the mentioned embodiment).

[0048] Unless otherwise expressly stated, the terms “including,” “comprise,” and their variations mean “including but not limited to.”

[0049] Unless otherwise expressly stated, the terms “a,” “an,” and “the” mean “one or more.”

[0050] Unless otherwise expressly stated, the term "multiple" means "two or more".

[0051] Unless otherwise expressly stated, the term "in this document" means "in this application, including anything that may be incorporated by reference".

[0052] When the phrase “at least one of…” modifies multiple things (such as an enumerated list of things), it means any combination of one or more of these things unless otherwise explicitly stated. For example, the phrase “at least one of a part, a car, and a wheel” means any one of the following: (i) a part; (ii) a car; (iii) a wheel; (iv) a part and a car; (v) a part and a wheel; (vi) a car and a wheel; or (vii) a part, a car, and a wheel. When the phrase “at least one of…” modifies multiple things, it does not mean “every single one” of the multiple things.

[0053] When numerical terms such as “one” or “two” are used as cardinal numbers to indicate the quantity of something (e.g., a small part, two small parts), they mean the quantity indicated by the numerical term, but not at least the quantity indicated by the numerical term. For example, the phrase “a small part” does not mean “at least one small part”, and therefore, the phrase “a small part” does not include, for example, two small parts.

[0054] Unless otherwise explicitly stated, the phrase "based on" does not mean "based on only". In other words, the phrase "based on" can describe both "based on only" and "based on at least". The phrase "based on at least" is equivalent to the phrase "based on at least partially".

[0055] Unless otherwise expressly stated, the term "represents" and similar terms are not exclusive. For example, unless otherwise expressly stated, the term "represents" does not mean "represents only". In other words, the phrase "the data represents a credit card number" can describe either "the data represents only a credit card number" or "the data represents a credit card number, and the data also represents other things".

[0056] The term "for example" and similar terms mean "for instance," and therefore do not limit the terms or phrases they explain. For example, in the sentence "The computer sends data (e.g., instructions, data structures) over the Internet," the term "for example" explains that "instructions" are examples of "data" sent by the computer over the Internet, and also explains that "data structures" are examples of "data" sent by the computer over the Internet. However, "instructions" and "data structures" are merely examples of "data," and other things besides "instructions" and "data structures" can also be "data."

[0057] "Processor" means one or more microprocessors, central processing units (CPUs), computing devices, microcontrollers, digital signal processors or similar devices, or any combination thereof, regardless of their architecture (e.g., chip-level multiprocessing / multi-core, RISC, CISC, interlock-free pipelined microprocessors, pipelined configuration, synchronous multithreading).

[0058] The term "each" and similar terms mean "individually." Therefore, if two or more things have "each" characteristics, then each of them has its own characteristics, which may differ from one another, but are not necessarily so. For example, "two machines each have their own function" means that the first such machine has a function, and the second such machine also has a function. The function of the first machine may be the same as or different from that of the second machine.

[0059] The term "that is" and similar words mean "that is to say," thus limiting the term or phrase it explains. For example, in the sentence "The computer sends data (i.e., instructions) over the Internet," the term "that is" explains that the "instructions" are the "data" sent by the computer over the Internet.

[0060] Any given range of numbers should include both integers and decimals within that range. For example, the range “1 to 10” should be interpreted as explicitly including integers (e.g., 1, 2, 3, 4, ..., 9) and non-integers (e.g., 1.1, 1.2, ..., 1.9) between 1 and 10.

[0061] If two or more terms or phrases are synonymous (e.g., because they are explicitly stated to be synonymous), then an instance of one such term / phrase does not imply that an instance of another such term / phrase must have a different meaning. For example, if a statement interprets the meaning of "including" as synonymous with "including but not limited to," then simply using the phrase "including but not limited to" does not imply that the term "including" means something other than "including but not limited to."

[0062] The term "determine" and its grammatical variations (e.g., determining price, determining value, determining objects that meet specific criteria) have an extremely broad scope. The term "determine" encompasses a wide variety of actions; therefore, "determine" can include estimation, calculation, processing, derivation, investigation, searching (e.g., looking in a table, database, or other data structure), ascertainment, and so on. Furthermore, "determine" can also include receiving (e.g., receiving information), accessing (e.g., accessing data in memory), and so on. Additionally, the term "determine" can include solving, selecting, choosing, establishing, and so on. The term "determine" does not imply certainty or absolute precision; therefore, "determine" can include estimation, inference, prediction, guessing, and so on. The term "determine" does not imply that mathematical processing must be performed, nor that numerical methods must be used, let alone algorithms or procedures. The term "determine" does not imply that any specific device must be used. For example, a computer is not necessarily required to perform a determining operation.

[0063] The terms "real-time" and "real-time process" refer to a process executed within a predefined time period associated with physical conditions (related to or within the system). With respect to current systems and methods, the predetermined time period can be determined by several factors, such as, but not limited to, the pace of the competition, every half-second, after a score, or other predetermined values ​​(related to the event or competition for which the process is running), wherein the occurrence ratio will be reset at the end of the predetermined time period, and the process will be executed again.

[0064] The term "computer-readable medium" refers to any medium, a combination of the same media, or different media, that contributes to providing data (e.g., instructions, data structures) that can be read by a computer, processor, or similar device. Such media can take many forms, including but not limited to non-volatile media, volatile media, and transmission media. For example, non-volatile media include optical discs or magnetic disks and other persistent storage devices. Volatile media include dynamic random access memory (DRAM), which typically constitutes main memory. Transmission media include coaxial cables, copper wires, and optical fibers, including conductors that form a system bus coupled to the processor. Transmission media can include or transmit sound waves, light waves, and electromagnetic radiation, such as electromagnetic radiation generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, but are not limited to: floppy disks, flexible disks, hard disks, magnetic tape, any other magnetic media, CD-ROMs, DVDs, any other optical media, punched cards, paper tape, any other physical media with a perforated pattern, RAM, PROM, EPROM, flash memory-EEPROM, any other memory chip or tape, a carrier wave as described below, or any other computer-readable medium. variable

[0065] The invention disclosed herein uses various collected and derived values ​​when determining probabilities according to embodiments. The definitions of these variables are presented as follows:

[0066] "Velocity" (static velocity or biased velocity) refers to the score difference resulting from differences in participants' abilities. Velocity is determined by evaluating factors including score difference and is isolated from the influence of differences in participants' abilities.

[0067] The "diffusion coefficient," known in chemistry and physics, quantifies the rate at which a particle diffuses or separates throughout a medium. Here, the diffusion coefficient is applied in a novel way to characterize the diffusion of points over time in a sport.

[0068] "Score difference" is the absolute value of the score difference and refers to the score difference between two or more participants in an event or competition.

[0069] "Leading Team Strength" is the historical plus-minus of the stronger teams. This factor is determined by averaging a team's plus-minus over several games. For example, if a team wins the first game by two points, its plus-minus is 2. If they lose the next game by six points, its plus-minus is -4. However, since this is an average, the historical average plus-minus is -2.

[0070] The Peckley number is a known dimensionless number in the field of continuum mechanics. It is closely related to the study of transport phenomena in continuous media. This paper uses the Peckley number in a novel way, as a dimensionless number to describe or characterize the diffusion rate of a game, based on velocity, the strength of the leading team, the strength of the trailing team, and the diffusion coefficient. calculate

[0071] It will be apparent to those skilled in the art that the various processes described herein can be implemented, for example, by a properly programmed general-purpose computer, special-purpose computer, and computing device. Typically, a processor (e.g., one or more microprocessors, one or more microcontrollers, one or more digital signal processors) will receive and execute instructions (e.g., from memory or similar devices) to perform one or more processes defined by those instructions. For example, the instructions may be embodied in one or more computer programs or one or more scripts.

[0072] Therefore, the description of a process is also a description of the apparatus used to perform that process. For example, the apparatus for performing the process may include a processor and input and output devices suitable for performing the process.

[0073] Furthermore, programs implementing such methods (and other types of data) can be stored and transmitted in several ways using a wide variety of media (e.g., computer-readable media). In some embodiments, hardwired circuitry or custom hardware may be used in place of or in combination with the software instructions that may implement the various embodiments. Thus, various combinations of hardware and software can be used, rather than just software.

[0074] When data (e.g., a sequence of instructions) is carried to a processor, various forms of computer-readable media may be involved. For example, data may (i) be delivered from RAM to the processor; (ii) be carried via wireless transmission media; (iii) be formatted and / or transmitted according to various formats, standards, or protocols, such as Ethernet (or IEEE 802.3), SAP, ATP, Bluetooth, TCP / IP, TDMA, CDMA, and 3G; and / or (iv) be encrypted in a variety of ways well known in the art to ensure privacy or prevent fraud.

[0075] Therefore, a description of a process is also a description of a computer-readable medium storing a program for performing that process. This computer-readable medium may (in any suitable format) store program elements suitable for performing the method.

[0076] Just as the description of each step in a process does not imply that all described steps are necessary, embodiments of the apparatus include a computer / computing device operable to perform some (but not necessarily all) of the processes described.

[0077] Similarly, just as a description of each step in a process does not imply that all described steps are necessary, embodiments of a computer-readable medium storing a program or data structure include a computer-readable medium storing a program that, when executed, causes a processor to perform a portion (but not necessarily all) of the described process.

[0078] In describing the database, those skilled in the art will understand that: (i) alternative database structures can be readily adopted; and (ii) other storage structures besides databases can be readily adopted. Any illustrations or descriptions of any sample databases presented herein are merely illustrative arrangements of information storage representation. Any other number of arrangements may be used besides those suggested by the tables illustrated, for example, in the accompanying drawings or elsewhere. Similarly, any illustrated entries in the database represent exemplary information only; those skilled in the art will understand that the number and content of entries may differ from those described herein. Furthermore, although the database is described as tabular, other formats, including relational databases, object-based models, and / or distributed databases, may be used to store and manipulate the data types described herein.

[0079] Similarly, database object methods or behaviors can be used to implement various procedures, such as those described in this article. Furthermore, databases can be stored locally in a known manner, or remotely on devices that access data in such databases.

[0080] Various embodiments can be configured to operate in a network environment that includes a computer communicating with one or more devices (e.g., via a communications network). The computer can communicate directly or indirectly with the devices via any wired or wireless medium (e.g., the Internet, a local area network, a wide area network, or Ethernet, a token ring network, a telephone line, a cable, a radio channel, an optical communication line, a business online service provider, an electronic bulletin board system, a satellite communication link, or any combination of the foregoing). Each device itself may include a computer or other computing devices adapted to communicate with a computer. Any number and type of devices can communicate with a computer.

[0081] In embodiments, a server computer or centralized facility may not be necessary or ideal. For example, the invention may be practiced in embodiments without a central facility on one or more devices. In such embodiments, any function performed by a server computer or any data stored on a server computer as described herein may instead be performed by one or more such devices or stored on one or more such devices.

[0082] In the described process, in one embodiment, the process can operate without any user intervention. In another embodiment, the process includes some human intervention (e.g., steps performed by a person or with human assistance). Determine the three-way occurrence ratio of the leading change

[0083] By way of example rather than limitation, the following disclosure discusses the invention in the context of calculating in real time the probability of a team or player taking the lead, maintaining the lead, or a tie occurring during a competition, wherein the score fluctuates continuously throughout the game. For ease of disclosure, we are discussing this in the context of a basketball game.

[0084] In a basketball game, there are two participating teams, each composed of individual players. Historical performance data for each team and each individual player is available. Furthermore, because the game is played live, data can be collected and processed during the game. Basketball is a sport where a tie, a change of lead, or one team maintaining a lead can occur at any given moment.

[0085] Users bet on whether a team or player will take the lead, maintain the lead, or tie with their opponent. The result of each bet is determined at the end of each event during the competition. Each match has a defined "event" to delineate the betting deadline, the win determination for that specific event, and the start of a new bet. New bets allow users to predict whether the current leader will maintain their lead, whether the opponent will overtake them, or whether the competitors will tie at the end of the next event.

[0086] As discussed above, basketball games include predictions for the total number of ties (greater than / less than), the total number of lead changes (greater than / less than), and who will score first. The live game segment offers three prediction options: "Leading," "Tie," and "Maintaining Lead," along with a real-time display of the total number of ties and lead changes (greater than / less than). Finally, when the game is tied, you can predict who will regain the lead, and then predict the total number of lead changes and ties (greater than / less than).

[0087] It's important to note that not all sports or events offer a three-way betting option. For example, in sports where a team or player must first draw with the leading opponent to gain the lead, such as ice hockey, football, and lacrosse, a three-way betting system still exists. However, a draw will no longer cancel out the bet on "gaining the lead," as a draw is a necessary condition for a team to take the lead.

[0088] In the exemplary embodiments and see Figure 1 The present invention 100 includes multiple modules or engines that perform prescribed functions and are interconnected to perform the desired function, namely, to determine in real time the probability of a team or player leading, maintaining a lead, or a draw during a match with fluctuating scores. These modules include: a match detection module 110; a round-by-round processing module 120; a participant strength calculation module 130; a real-time probability calculation module 140; and a client push module 150.

[0089] In an exemplary process for determining the three-way probability of events in a competition in real time, the competition detection module 110 queries an external API and searches for ongoing matches in a specified sport. When an ongoing match is found, the competition detection module 110 initiates a task to begin processing live, round-by-round data (via the round-by-round processing module 120), while other modules (such as the team strength module 130) begin running and collecting predetermined data for the match. Before the match begins, predetermined probability of occurrence is determined based on the participants' circumstances (known schedule and participants' historical data). This includes the probability associated with the number of draws and lead changes, and the probability of which team will score first. These predetermined probabilities (such as the probability of draws and lead changes) are based on data from the participant strength calculation module 130, diffusion coefficients, scoring speed, round pace, and the average score per scoring event. The probability of scoring first is based on scoring rate, diffusion coefficients, scoring speed, team strength, first-point success rate, and first possession success rate.

[0090] Once the match begins, the initial lead prediction is closed, and the system waits for the initial lead to be created. Once the match starts, the round-by-round processing module 120 is initialized, and after the initial lead is established, based on data points and formulas from the participant strength calculation module 130, the diffusion coefficient, scoring speed, absolute value of the score difference, remaining time, number of draws, number of lead changes, and the correlation between on-field team strength and real-time probabilities, (via the real-time probability calculation module 140) determine the probability of a draw, lead change, and gaining the lead. The real-time number of lead changes and draws is calculated using different data points collected in the participant strength calculation module 130 and the round-by-round processing module 120. These data points include the number of draws, the number of lead changes, the absolute value of the score difference, the diffusion coefficient, the scoring speed, remaining time, round pace, and the average score per scoring event.

[0091] Embodiments of the present invention follow a decision tree to determine which of several formulas to use in a given situation. Figure 2 An exemplary decision tree is shown. In a three-way match, some scenarios could include: 1) the home team (stronger) is leading; 2) the home team is weaker but leading; 3) the away team is stronger and leading; and 4) the away team is weaker but leading. These scenarios will be evaluated in terms of the probability of "maintaining the lead" and "a draw". Each of these scenarios determines which formula to use and the weights associated with each variable involved in the chosen formula.

[0092] When the game is tied, there are separate formulas for the number of ties, the number of lead changes, and which team will score next (or regain the lead). These formulas remove the absolute point difference from the equations and rely on the same and newly added statistical data as the previous formulas. The newly added statistical data includes the scoring success rate, the percentage of teams successfully regaining the lead, and whether it is the first possession of the round. The original statistical data used are the diffusion coefficient, scoring speed, remaining time, and the on-field strength of each team (and different team strength calculation formulas). These probability ratios are all set according to a two-way betting system, where users can bet on the total number of ties and the total number of lead changes to be greater or smaller, or bet on the team that will score next.

[0093] Scheduler

[0094] Although not specifically disclosed here for the sake of brevity, anyone with general skills in the field of computing and computing systems will readily recognize the necessity and implementation of a “scheduler” or “cron utility.” A cron utility is a job scheduler that allows repetitive tasks to be scheduled according to predefined times, dates, or time periods. By way of example, but not limited to, the scheduler could invoke the competition detection module 110 to check for new competitions every minute, or invoke the team strength module 130 to determine team strength values ​​every morning at 5:00 AM during a league season.

[0095] Competition Detection Module 110

[0096] This module engages with at least one external application programming interface (API) to inspect ongoing competitions (matches). If an ongoing competition is detected, a task is initiated for the round-by-round processing module 120 to begin processing the live round-by-round data.

[0097] Upon receiving a call command from the scheduler, this module queries at least one external API or database to determine if there is an ongoing match. If so, the module triggers the round-by-round processing module 120 to begin processing round-by-round events. The input required by this module is a set of criteria describing the services to be created when an ongoing match is detected. This includes the location for storing information about services already created, the name of any subsequent services to be created, the targets of the services' dependencies, and the location for storing intermediate and final outputs. In this embodiment, this information is stored in a database table that runs the services and tracks the matches currently being monitored. In this way, only one service needs to be maintained per match, avoiding duplication.

[0098] Upon invocation, the module requests data from a third-party API, for example, via an HTTP request. The result of this request is a boolean field indicating whether a match is in progress—true if it is, false otherwise. The module then determines whether other instances of the same service are currently active or waiting to be created; if so, no action is taken. Once the module has verified all necessary checks, it initiates the round-by-round processing module 120. The round-by-round processing module 120 coordinates the collection and processing of the remaining steps to determine the probabilistic output.

[0099] The scheduler calls the competition detection module 110, which in turn calls the round-by-round processing module 120.

[0100] Round-by-round processing module 120

[0101] Once activated, this module will poll external APIs or other such services that are querying ongoing matches for round-by-round data.

[0102] This module coordinates the collection and processing of round-by-round data for ongoing matches. It is instantiated externally by the match detection module 110 and passes the round-by-round data to the real-time probability calculation module 140. If the match detection module 110 detects the start of a new match, an API call triggers the creation of a new task in the round-by-round processing module 120. This module parses match events in real time and interacts with other supporting modules in the system. Each raw event processed by this module is stored in a long-term storage database for future reference.

[0103] Once activated, this module instantiates a program that loops through predefined, configurable time periods until it is exited. For example, in a basketball game with a 24-second shot clock, this time period could be set to 15 seconds. The first step of the program is to retrieve per-round data from a third-party API. For example, the returned per-round data would represent every event that has occurred in the game over the past minute. The per-round data is stored in memory for future reference. The module compares new events received from the third-party API with previously recorded events in memory to determine the difference between the number of events that have not yet been processed and those that have been stored. This ensures that no event is processed more than once and improves the accuracy of the system. The raw event data from the third-party API is transformed into a flattened data structure and stored in a database table for long-term persistence. The raw per-round data is then passed by this module to the probability module 140 for concurrent processing.

[0104] Then, the round-by-round processing module 120 determines whether it should remain active to process future matches. This check queries a third-party API, which returns a flag indicating whether the match has ended. If the match has ended, the time slot is cleared, and the module exits. Before exiting, the module deletes its own task record from the task database table. This data informs the active match detection module whether there are currently tasks to process events from a specific match. If the match is still in progress, the time slot repeats in a predefined, configurable time period.

[0105] This module is called by the competition detection module 110, which in turn calls one or more of the probability processing module 140 and the client broadcast module 150.

[0106] Participant Strength Calculation Module 130

[0107] This module uses the latest available match data on a predefined basis (such as daily data) to determine team strength. The results are stored for reference in probability calculations.

[0108] This module determines the strength data of each team or event participant in the league. This module is triggered or invoked as scheduled via a scheduler. For example, for a basketball season use case, the trigger condition for this module can be defined as repeating once a day. The program first calls a third-party API to retrieve team statistics for all teams in the previous and current seasons. Then, team strength values ​​are determined based on the retrieved statistics. Recent games are given special emphasis, but historical trends are also considered. The output is stored in a database table for long-term persistence. The team strength data is used by the probability module 140, which ultimately determines which formula this module will use to calculate the probabilities.

[0109] This module is invoked by the scheduler. Although it does not invoke other modules, the data determined by this module is stored in the database for retrieval by the probability module 140.

[0110] Real-time probability calculation module ("probability module") 140

[0111] This module takes input from other modules, characterizing the current game state, and determines an appropriate formula for calculating the probability of event outcomes. (For example, see...) Figure 2 The decision-making loop. Historical data is compiled from round-by-round data captured and stored by the team strength module 130 from previous seasons. The probability module 140 retrieves team strength data from the database. The probability of the event outcome is determined and can be retrieved by the client broadcast module 150.

[0112] The probability module 140 is configured to receive data from the turn-by-turn module 120, which describes predefined time periods in the game, and to determine one or more outputs representing the probabilities of various events occurring. Required inputs may include, but are not limited to, data elements representing the home team, away team, current quarter, remaining time in the quarter, home team score, away team score, latest scoring event, and latest possession update. Upon invocation, this module first aggregates additional required elements from external sources, including external modules (such as the team strength module 130) and database systems.

[0113] This module first requests the latest available team strength data for the participating home and away teams from the team strength module 130. As discussed above, the team strength module 130 determines the strength of all active teams in the league according to a predefined time period and stores the results in a database table. Then, by determining whether strong or weak teams have home-court advantage, and vice versa, the returned strength data is used to characterize the relationships between the teams. The probability module 140 uses this information to determine which formula to apply in probability calculations.

[0114] This module performs database queries to gather additional information about the current request context, including the number of scoring events, the number of lead changes, and the number of draws that have occurred so far in the match. A subsequent series of database queries collects the diffusion coefficient and deviation velocity. These values ​​are determined by the team strength module 130 using aggregations of historical league match data over predefined time periods. The retrieved velocity and diffusion coefficient values ​​are combined with the current absolute score difference and match time to determine the scaled lead size. The final preparatory step is to calculate the Pekley number for the dataset using the deviation velocity, diffusion coefficient, and normalized team strength.

[0115] This module passes the calculated and collected variables to a set of independent functions, which are responsible for calculating the probability of a draw and maintaining the leading probability. These functions will accept the input defined above and select a formula (see...). Figure 2 The formula is chosen based on which team is currently leading, their relative strength to their opponent, and whether they have home-field advantage. The module applies the selected formula and returns the resulting value to the calling function. The output is a value between 0 and 1.

[0116] The processing step in this module is executed once to calculate the probability of a tie, and once to maintain the calculation of the leading probability (see [link]). Figure 2 (The "starting loop" in the text). Subsequently, the probability of gaining the lead can be simply determined by the reciprocal of the sum of the probabilities of a tie and maintaining the lead. These values ​​are processed by a weighted transformation algorithm to provide a representation in the American occurrences ratio format; however, other occurrences ratio formats can also be provided.

[0117] The calculated and collected variables are also passed by this module to a series of functions responsible for calculating the estimated total number of draws, the estimated total lead change, the real-time total number of draws, and the real-time total lead change. These functions accept the inputs defined above, apply mathematical algorithms, and output a positive number indicating the specified value. The inputs, intermediate values, and outputs are aggregated into a message object structure, persisted to a database table for long-term storage, and returned to the function caller.

[0118] This module is called by turn-by-turn module 120. Data from this module 140 is output back to turn-by-turn module 120, which collects the data, stores it, and then sends the output data to client broadcast module 150.

[0119] Client broadcast module 150

[0120] A unique identifier for each client connection is stored. In response to a broadcast event, the data is pushed to all connected clients.

[0121] This module monitors subscribed clients and broadcasts the output of the probability module (from the round-by-round module) accordingly. The first component is used to track connection and disconnection events from clients. A connection event is triggered when a client accesses the system via a user interface (such as, but not limited to, a web application). In an embodiment, the web application is a graphical interface accessed by a person via their web browser to view the real-time results of probability calculations (see...). Figure 3 When accessed by a user, a page is displayed showing the day's scheduled matches. The application, running in a browser, establishes a connection with the server, for example, via WebSocket. The server transmits real-time probability data to the connected user's browser. As the matches progress, the application renders status updates on the screen, indicating the ratio of changes associated with those probabilities.

[0122] This module handles the event and stores it along with a unique value used to identify the client. This data, along with the current date and time, is stored in a database table. A disconnection event is triggered when the client closes the web application or the connection is interrupted (automatically triggering a reconnection). This module handles the disconnection event and removes the unique identifier corresponding to that client from the database table. A second component is used to retrieve this unique identifier from the database table and broadcast the message to those subscribed clients. The round-by-round processing module calls the client broadcast module with the result of probability calculations. This allows the calculated probability to be broadcast to the user interface in real time.

[0123] Exemplary System

[0124] Figure 4 The diagram illustrates a block diagram of an exemplary system according to an embodiment of the present invention, which is used to determine in real time the probability of a team or player taking the lead, maintaining the lead, or drawing the game during a competition (score fluctuations throughout the entire match). Figure 4 The system 400 shown is merely one example of a suitable system and is not intended to limit the scope or functionality of the embodiments of the invention described above. System 400 can operate with many other general-purpose or special-purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations suitable for use with information processing system 400 include, but are not limited to: personal computer systems, server computer systems, thin clients, fat clients, handheld devices or laptops, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, clusters, and distributed cloud computing environments that include any of the systems or devices described above.

[0125] System 400 can be described in the general context of computer-executable instructions executed by a computer system. System 400 can be implemented in various computing environments, such as traditional computing environments and distributed computing environments, where tasks are performed by remote processing devices linked via a communication network. In a distributed computing environment, program modules can reside on storage media (including memory storage devices) of both local and remote computer systems.

[0126] See you again Figure 4 System 400 includes a back-end server 450. In some embodiments, the back-end server 450 may be embodied as a general-purpose computing device. Components of the back-end server 450 may include, but are not limited to, one or more processors or processing units 404, system memory 406, and a bus 408 that couples various system components, including system memory 406, to the processor 404.

[0127] Bus 408 represents one or more of several types of bus architectures, including memory bus or memory controller, peripheral bus, accelerated graphics port, and processor bus or local bus using a wide variety of bus architectures.

[0128] System memory 406 may also include computer system readable media in the form of volatile memory, such as random access memory (RAM) and / or cache memory. Back-end server 450 may also include other removable / non-removable, volatile / non-volatile computer system storage media 409, 410, 418, and 420. By way of example only, storage system 409 may be provided for reading and writing non-removable or removable non-volatile media, such as one or more solid-state drives and / or magnetic media (generally referred to as "hard disk" 418). Furthermore, disk drives for reading and writing removable non-volatile magnetic disks (e.g., "floppy disks") and optical disk drives for reading and writing removable non-volatile optical disks (such as CD-ROMs, DVD-ROMs, or other optical media) may be provided. In these cases, each storage medium may be connected to bus 408 via one or more data media interfaces. Memory 406 may include at least one program product 432, which includes a set of program modules 434 configured to perform one or more of the present invention, for example, references. Figures 1 to 3 The described features and / or functions. See again Figure 4Program / utility 432 (having a set of program modules 434) can be stored in memory 406, such as, but not limited to, an operating system, one or more applications, other program modules, and program data. Typically, program modules can include routines, programs, objects, components, logic, data structures, etc., which perform specific tasks or implement specific abstract data types. Each of the operating system, one or more applications, other program modules, and program data, or some combination thereof, can include an implementation of a network environment. In some embodiments, program modules 434 are configured to perform one or more functions and / or methods of embodiments of the present invention.

[0129] The backend server 450 can also communicate with one or more external devices that are enabled to interact with the backend server 450; and / or with any device that is enabled to communicate with one or more other computing devices (e.g., a network interface card, modem, etc.). Some (non-limiting) examples of such devices include: a keyboard, a pointing device, a display that presents system output (see [link to documentation]). Figure 3 This includes devices such as network adapters 426, one or more devices that enable users to interact with backend server 450, and / or any device that enables backend server 450 to communicate with one or more other computing devices (e.g., network interface cards, modems, etc.). Such communication can be via I / O interfaces. In some embodiments, backend server 450 can communicate with one or more networks 427 (such as local area networks (LANs), wide area networks (WANs), and / or public networks (e.g., the Internet)) via network adapter 426, thereby enabling system 400 to access one or more external APIs 480. As depicted, network adapter 426 communicates with other components of backend server 450 via bus 408. Other hardware and / or software components may also be used with backend server 450.

[0130] Those skilled in the art will understand that aspects of the present invention can be embodied as a system, method, or computer program product at any possible level of technical detail integration. Such computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to execute aspects of the present invention.

[0131] A computer-readable storage medium can be a tangible device capable of holding and storing instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. As used herein, a computer-readable storage medium should not be construed as a transient signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses passing through fiber optic cables), or electrical signals transmitted through wires.

[0132] Therefore, aspects of the present invention may take the form of a completely hardware embodiment, a completely software embodiment (including firmware, resident software, microcode, etc.), or a combination of hardware and software embodiments, all of which are generally referred to herein as “circuit,” “module,” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer-readable media on which computer-readable program code is contained.

[0133] Any combination of one or more computer-readable media may be used. The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. Computer-readable storage media include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any suitable combination thereof. In the context of this disclosure, a computer-readable storage medium may be any tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0134] Computer-readable signal media may include a propagated data signal containing computer-readable program code, for example, in baseband form or as part of a carrier wave. Such propagated signals can take a wide variety of forms, including but not limited to electromagnetic, optical, or any suitable combination thereof. A computer-readable signal medium may be any computer-readable medium that is not a computer-readable storage medium, and may deliver, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or apparatus.

[0135] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a suitable computing / processing device, or downloaded via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network) to an external computer or external storage device. This network may include copper transmission cables, optical fiber transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to a computer-readable storage medium within the suitable computing / processing device.

[0136] Computer-readable program instructions used to perform the operations of this invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, integrated circuit system configuration data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as Smalltalk, C++, etc.) and procedural programming languages ​​(such as C or similar programming languages). The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer, partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network (including a local area network (LAN) or a wide area network (WAN)) or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, by using status information from the computer-readable program instructions to personalize the electronic circuit system, the electronic circuit system (e.g., a programmable logic circuit system, a field-programmable gate array (FPGA), or a programmable logic array (PLA)) may execute the computer-readable program instructions to perform various aspects of this invention.

[0137] Various aspects of the invention have been discussed above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to various embodiments of the invention. It should be understood that each block and combination of blocks in the flowchart illustrations and / or block diagrams can be implemented by computer program instructions.

[0138] These computer program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to manufacture a machine such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create a component to implement the function / action specified in one or more boxes of a flowchart and / or block diagram. These computer program instructions may also be stored in a non-transitory computer-readable storage medium that instructs a computer, other programmable data processing apparatus, or other device to function in a particular manner such that the instructions stored in the computer-readable medium produce an article of writing including the instructions that implement the function / action specified in one or more boxes of a flowchart and / or block diagram.

[0139] Computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device. The instructions that execute on the computer or other programmable apparatus provide a process that implements a function / action specified in one or more boxes of a flowchart and / or block diagram.

[0140] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the invention. In this regard, each block in a flowchart or block diagram may represent a module, instruction segment, or part of an instruction, comprising one or more executable instructions for implementing a specified logical function(s). In some alternative implementations, the functions marked in the blocks may occur in a different order than that indicated in the drawings. For example, two blocks shown consecutively may actually be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order, depending on the specific functionality involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks, may be implemented by a dedicated hardware system that performs the specified function or action or executes a combination of dedicated hardware and computer instructions.

[0141] The terminology used herein is for describing particular embodiments only and is not intended to limit the invention. Unless the context clearly specifies otherwise, the singular forms “a,” “an,” and “the” used herein are also intended to include the plural forms. Furthermore, it should be understood that, when used in this specification, the terms “comprising” and / or “including” mean the presence of the stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or combinations thereof.

[0142] The description in this application is presented for illustrative and descriptive purposes only and is not intended to be exhaustive or limited to the disclosed forms of the invention. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the invention. These embodiments have been selected and described to better explain the principles and practical application of the invention and to enable those skilled in the art to understand the various embodiments of the invention, as well as various modifications suitable for particular uses.

Claims

1. A method for calculating the three-way occurrence ratio of a leading change substantially in real time and without human intervention at any defined moment during a competition, the method comprising: Detect whether there is an ongoing competition; Receive round-by-round data; Process round-by-round data; Calculate team strength; Calculate real-time probabilities; as well as Push the live event ratio to customers. The change in lead is characterized as whether a participant in the competition gains the lead, maintains the lead, or a tie occurs at any given defined moment.

2. A system for calculating the occurrence ratio of leading changes substantially in real time and without human intervention at any defined moment during a competition, the system comprising: Competition detection module; Round-by-round processing module; Participant strength calculation module; Real-time probability calculation module; as well as Client-side push module.

3. The system of claim 2, wherein the competition detection module queries an external API and, if an ongoing competition is found, initiates a task to the round-by-round processing module to begin processing live round-by-round data.

4. The system according to claim 2, wherein the competition detection module initiates other modules, and after the competition detection module initiates the initiation, the initiated modules collect predetermined data.

5. The system of claim 2, wherein the real-time probability calculation module determines the probabilities of a tie, a change in lead, and gaining the lead.

6. The system of claim 2, wherein the live round-by-round data includes a data type selected from the following: number of draws, number of lead changes, absolute score difference, diffusion coefficient, scoring speed, remaining time, round pace, and average score per scoring event.

7. The system of claim 2, wherein the round-by-round processing module coordinates the collection and processing in the remaining steps to determine the probability output.

8. The system according to claim 2, wherein the round-by-round processing module transmits the round-by-round data to the real-time probability calculation module.

9. The system of claim 2, wherein the round-by-round processing module stores event data in a long-term storage database for future reference.

10. The system according to claim 2, wherein the round-by-round processing module invokes one or more of the probability processing module and the client push module.

11. The system of claim 2, wherein the participant strength calculation module determines strength data and makes the strength data available to other modules for processing by the other modules.

12. The system of claim 2, wherein the real-time probability calculation module obtains input from other modules, characterizes the current game state, and determines an appropriate formula for use in calculating the probability of event outcomes.

13. The system of claim 2, wherein the real-time probability module is invoked by the round-by-round module, the data from the real-time probability module is output back to the round-by-round module, the round-by-round module collects the data, stores the data, and then sends the output data to the client broadcast module.

14. The system of claim 2, wherein the system is further configured to generate and store a unique identifier for each client connection.

15. The system of claim 14, wherein the client broadcast module pushes event data to each client connection based on each unique client identifier.

16. A computer-implemented method for calculating the three-way occurrence ratio of a leading change substantially in real time and without human intervention at any defined moment during a competition, the method comprising: A specially programmed computer that queries an external API detects whether an ongoing competition exists, and if an ongoing competition is detected, the specially programmed computer initiates a task to begin processing real-time data. The real-time data is received from the external API by the specially programmed computer; Establish predetermined time periods based on competition type; Calculate the occurrence ratio; The calculations are performed entirely within the predetermined time period; and The occurrence ratio is pushed to the client. The change in lead is characterized as whether a participant in the competition gains the lead, maintains the lead, or a tie occurs at any given defined moment.

17. A computer program product configured to run on a dedicated computer to determine, substantially in real-time and without human intervention, the three-way occurrence ratio of a leading change at any defined moment during a competition, said computer program product comprising: A dedicated computer that queries an external API detects whether there is an ongoing competition, and if an ongoing competition is detected, the specially programmed computer initiates a task to begin processing real-time data. Receive the real-time data from the external API; Establish predetermined time periods based on competition type; Calculate the occurrence ratio; The calculation is performed entirely within the predetermined time period; as well as The occurrence ratio is pushed to the client. The change in lead is characterized as whether a participant in the competition gains the lead, maintains the lead, or a tie occurs at any given defined moment.