A system and method for determining real-time odds of lead changes or draws in a contest.

JP2026533099A5Pending Publication Date: 2026-10-13ゲット·ザ·リード·エルエルシー
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2026509302
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-15
Filing Date
2023-12-30
Publication Date
2026-10-13

AI Technical Summary

Technical Problem

Current systems and methods do not provide real-time odds for lead changes or ties during a live contest, limiting betting opportunities and user engagement.

Method used

A system and method that determines real-time odds of a team, player, or opponent taking the lead or resulting in a draw by employing a mathematical algorithm that considers bias, strength indicators, and historical data to calculate probabilities at any point during a competition.

Benefits of technology

Enables continuous betting opportunities by providing real-time odds for lead changes, draws, or maintaining the lead, enhancing user engagement and betting dynamics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The disclosed innovation introduces a real-time betting system that evaluates the probability of a team, player, or leading opponent maintaining their lead or ending in a draw during a dynamic scoring game. Unlike traditional live betting structures, this system provides continuous engagement by assessing probabilities at any given point in time, regardless of the final outcome. The system employs mathematical algorithms within a computing framework, adapting biases based on predefined criteria and utilizing strength indicators to correlate with team strength. Specifically, the system calculates and mitigates biases and determines the average probability. The primary objective is to perform these steps within predetermined time intervals, enabling dynamic adjustments based on factors such as the pace of play. This computer implementation operates without human intervention, querying external APIs regarding active games, processing real-time data, and delivering live odds to clients. This innovation transforms real-time betting, providing users with a dynamic and engaging betting experience.
Need to check novelty before this filing date? Find Prior Art

Description

[[Technical Field]]

[0001] Cross-Reference to Related Applications This application claims the benefit of priority from U.S. Provisional Application No. 63 / 532835, filed on August 15, 2023, the entire content of which is incorporated herein by reference.

[0002] The present invention generally relates to systems and methods for determining event probabilities, and in particular to systems and methods for determining real-time odds of a lead change or a tie occurring in a contest. [[Background Art]]

[0003] As long as there have been contests, humans have found ways to bet on their outcomes. Many systems and methods for facilitating betting on contests are known in the art. These include determining the high probability of a particular outcome on which a bet is to be placed. Since outcome probabilities are used to determine betting payouts, having a reliable method of calculating these probabilities is desired by those who rely on such methods when placing bets.

[0004] Many betting systems provide odds for certain events of a contest. These odds are calculated to predict the high probability of an outcome such as the final result of a match (e.g., spread betting). However, no system or method currently exists that determines probabilities for an event betting system at any point during a live contest. Specifically, no system or method currently exists that determines the probability of a tie or a lead change at any point during a live contest. Regardless of the current score, having the opportunity to bet on occurring events at any time is an unmet need in the art. [[Summary of the Invention]] [[Problem to be Solved by the Invention]]

[0005] Therefore, there is a need in the art for a system and related methods to determine in real time the odds of a team, player, or opponent taking the lead over other participants in a contest at any point in time during any competition in which the score (or equivalent success metric) fluctuates throughout the contest. [Means for solving the problem]

[0006] The inventors hereby disclose a system and related methods, as well as a computer program product, for determining in real time the odds that a team, player, or opponent will take the lead over other participants or bring the competition to a draw at any point during the competition in which the score (or equivalent success metric) fluctuates throughout the competition.

[0007] Unlike all other live betting structures (e.g., spread betting, moneyline), the probabilities (odds) determined by the system are not limited by the outcome of the match. In addition, the events for which probabilities are determined can occur at any point in the match or contest, not simply at the final score, keeping the user (ultimately the bettor) involved at every point in the match. The purpose of the system and method is to determine whether a draw or a change of lead will occur at any point in the competition. The probability of any of these three outcomes (maintaining the lead, losing the lead, or a draw) fluctuates in real time as the score, time, and other factors change. This type of bet does not exist today. The advantage is that there is always an opportunity to bet on an event that is occurring, regardless of the score. In a three-way bet, if one person wins, the other two lose, and one person needs to place a new bet in order to continue playing the match. If a three-way bet is not possible, only one person will lose.

[0008] As an overview and (mere) example, several embodiments of the present invention use process steps grouped by functional modules to determine three-way odds for lead changes, in other words, the probability of a draw, a lead change, or maintaining the lead for a specified event in a competition. In some embodiments, the technical improvement in the field of determining real-time betting probabilities is achieved by implementing method steps within a computing system that employs a mathematical algorithm that takes into account the determined probabilities of a draw, a lead change, or maintaining the lead, takes into account bias, and modifies the bias based on a given set of criteria + / -. Embodiments of the present invention then take into account bias and use a strength indicator to find a correlation algorithm that links the strength of teams to their expected probability results. Embodiments employ different formulas for different situations that occur, for example, when a strong team is leading at home versus away, or when a weak team is leading at home versus away. Embodiments of the present invention employ formulas that take into account the presence of bias, but by calculating this bias, these embodiments can minimize its effort. Finally, to determine the average of the probabilities, the average of the results of the above equations may be employed.

[0009] A further object of the present invention is to perform a predetermined method step in real time, entirely within a predetermined time interval. In embodiments, the predetermined time interval may be determined by factors such as the pace of play, every half second, after scoring, or some other predetermined value at which the odds are reset and the method step is performed again.

[0010] Another embodiment of the present invention is a computer implementation method for calculating three-way odds for a lead change at any defined point in time during a competition, substantially in real time and without human interaction. An exemplary embodiment includes the steps of: the computer detecting whether an active competition exists by querying an external API; if an active competition is detected, the computer initiating a task to begin processing real-time data; the computer receiving real-time data from the external API; establishing a predetermined time interval based on the type of competition; performing certain method steps entirely within the predetermined time interval; and pushing live odds to a client, where a lead change is characterized as either a participant in the competition taking the lead, maintaining the lead, or a draw occurring at any defined point in time.

[0011] Other embodiments of the present invention include a system and a computer program product having non-temporary signal storage means for storing computer program instructions which, when executed on a processor, perform any of the method steps disclosed and discussed herein.

[0012] In the attached drawings, similar reference numerals in separate figures refer to the same or functionally similar elements. The attached drawings, along with the detailed description below, are incorporated into the specification, forming part of it, further illustrating various embodiments, and all are useful in illustrating the various principles and advantages of the present invention. [Brief explanation of the drawing]

[0013] [Figure 1] This is a block diagram of exemplary components (modules) of a system configured to carry out a method according to one embodiment of the present invention. [Figure 2] This is an exemplary process flowchart according to one embodiment of the present invention. [Figure 3] This is an exemplary client / user diagram according to one embodiment of the present invention. [Figure 4] This is a simplified block diagram of an exemplary computing system according to one embodiment of the present invention. [Modes for carrying out the invention]

[0014] The claimed invention may be modified into alternative forms, of which specific embodiments are shown as examples in the drawings and described in detail herein. However, the drawings and their detailed description are not intended to limit the invention to any particular form disclosing the invention, but rather to cover all modifications, equivalents, and alternatives within the scope of the invention.

[0015] Before describing in detail embodiments of the present invention, it should be noted that these embodiments primarily consist of combinations of method steps and system components relating to systems and methods for locating computing functions within a communication network. Therefore, the system components and method steps are appropriately represented in the drawings by conventional symbols indicating only specific details relating to the understanding of these embodiments of the invention, so as not to obscure the invention with details that would be readily apparent to those skilled in the art who are interested in the description herein. Accordingly, it should be understood that, in order to make the examples simple and clear, general and well-understood elements that are useful or necessary in commercially viable embodiments may not be shown, in order to avoid hindering the perspective of these various embodiments.

[0016] In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. Note that in some alternative implementations, the functions described within a block may occur in a different order than shown in the diagram. For example, two consecutively shown blocks may actually execute substantially simultaneously, or they may sometimes execute in reverse order depending on the associated functionality. It should also be noted that each block in a block diagram and / or flowchart, and any combination of blocks within a block diagram and / or flowchart, may be implemented by a special hardware-based system, or a combination of special hardware and computer instructions, to perform a specified function or action.

[0017] While some embodiments of the invention may be disclosed as including several features, other embodiments of the invention may include fewer features than all of those features combined. Therefore, for example, a claim may cover fewer features than the entire set of features of the disclosed embodiment, and such a claim will not include features beyond those explicitly enumerated by that claim.

[0018] This disclosure is not a literal description of all embodiments of the invention. Nor is this disclosure a list of features of the invention that must be present in all embodiments.

[0019] Non-restrictive definition The title of this application and the headings of the sections provided herein are for convenience only and should not be construed as limiting the disclosure.

[0020] The following non-limiting definitions are provided as guidelines for interpreting the present invention.

[0021] The terms "take the lead" or "taking the lead" mean holding a leading position compared to other participants in a competition. A participant's lead may be temporary or may last throughout the competition. A lead may also fluctuate, that is, meaning that opponents may seize and lose the leading position multiple times before the final winner is determined.

[0022] The terms "keep the lead" or "keeping the lead" mean maintaining a leading position in a competition without losing the leading position during the competition.

[0023] The term "tie" means scoring or having an equal score with an opponent in a competition.

[0024] The term "competition" specifically refers to a form of play, sport, race, contest or match that is played in accordance with rules and determined by ability, strength or luck. In some embodiments where the competition relates to a sport or a game, the competition may be, for example, football, hockey, basketball, baseball, golf, tennis, soccer, cricket, rugby, martial arts, boxing, swimming, skiing, snowboarding, horse racing, automobile racing, boat racing, cycling, wrestling, Olympic sports, and medal winning. A competition may also be unrelated to sports, such as in entertainment, financial markets, and politics, as long as fluctuations in scores or other means of measuring achievement throughout the competition can produce a betting winner. Competitions are incorporated into these embodiments in various forms. The terms "competition", "game", "contest", and other similar terms are used interchangeably herein.

[0025] The term "betting interval" refers to a predetermined time interval during which a bet or wager can be placed by a user, either before or during a game. A betting interval can be the time before a game begins, during which a user can bet on which participant will take the lead first, how many lead changes or ties there will be throughout the game, or which team will ultimately win. Once the game has started and one participant has taken the lead, or a tie has occurred, each betting interval extends until a lead change or tie occurs. As soon as a lead change or tie occurs, the bet is paid, and the user can place a new bet in the next interval until the game ends. Exceptions can occur. For example, in football, a touchdown may or may not result in a lead change or tie. However, the scoring team still has the opportunity to retain possession of the ball and score an additional 2 points by kicking or other means. A betting interval does not end until all these opportunities have been played.

[0026] The term "event" refers to a time interval in a game during which a particular action by one or more participants ends in either a change of lead or a tie. For example, in baseball, an event might be an interval during which one team scores to tie the game or takes the lead. Outside the world of sports, such as in entertainment, financial markets, or politics, these embodiments may be used to determine the odds of taking a lead, maintaining a lead, or ending in a tie in actual competition, for example, on television, at awards ceremonies such as the Oscars, in election campaigns, or in financial markets, and to set corresponding bets. For example, an event in actual competition might be a week's program that ends with a certain number of points or an advantage for a particular participant. In a basketball game, an event might include the total number of ties (over / under), the total number of lead changes (over / under), and who scores first. At an awards ceremony, an event might be each category in which each participant is nominated for an award. In elections, events may be divided into time intervals, other time intervals for vote counting, the results of each group of counted votes, the counting of Republicans versus Democrats elected to Congress, or the counting of Electoral College votes for the President. In financial markets, events may be which stocks gain or lose the most value within a given period. In the live part of a game, there are bets on taking the lead, a draw, and maintaining the lead, along with a real-time total number of draws and lead changes (over / under). Finally, when the game ends in a draw, there are bets on who regains the lead, and then bets on the total number of lead changes and draws (over / under).

[0027] The term "scoring event" refers to an event in which a team scores a goal, or some equivalent indicator.

[0028] The term "raw event" refers to data representing a specific moment in a game. This includes, but is not limited to, information such as the current score, elapsed time, away team, home team, team strength, and player strength.

[0029] The term "nonevent" refers to a time interval in a competition during which a particular action by one or more participants does not result in a change of lead or a draw, but rather one participant maintains the lead for the remainder of the competition.

[0030] The terms “bet” or “wager” refer to a risk placed on a bookmaker or other third party, based on the outcome of a future event, and are typically a monetary amount. Such an event, as defined herein, includes fluctuations in points or other measures of performance in a match or competition. Non-monetary matters, such as points, coupons, free or upgraded tickets, or anything else that can be quantified against a “bet” or “wager,” may also be the subject of a “bet” or “wager.” A “bet” or “wager,” such as an event as defined herein, may be active over a period of time. A “bet” or “wager” may be incorporated into these embodiments in various ways.

[0031] The term “User” more generally refers to a person who places a bet or wager, known as a customer or client. In certain embodiments, the “User” may be a direct beneficiary of the output of the disclosed system or method, such as a sports betting bookmaker that utilizes the odds determined by the Invention to accept bets.

[0032] The term "bookmaker" refers to a physical or online institution that accepts bets on the outcome of an event.

[0033] The term "book" refers to a system that allows a computer-based user to interact with an electronically driven domain according to a set of both implicit and explicit rules in order to place bets on the outcome of an event. A "book" can be incorporated into various embodiments in different ways.

[0034] The term "no action" refers to a bet where no money is lost or won, the original bet amount is refunded, or, in some cases, a new bet is required for the user to continue betting, and the bet is carried over to the next event. "No action" can be incorporated into these embodiments in various ways.

[0035] The term "sides" refers to participants in a competition within an event.

[0036] The term "casinos" refers to a public room or public building where traditional gambling games such as slot machines, blackjack, and roulette are played. Similarly, the term "racino" refers to a complex or site that includes a racetrack and gambling facilities for playing casino games. "Casinos" or "racinos" can be incorporated into these embodiments in various ways.

[0037] The term "payout" refers to the total amount a bookmaker pays to a user if they win a bet, including both the user's original stake and their winnings. To calculate the moneyline payout, the odds of a participant winning are multiplied by the user's bet amount. The resulting number is the user's potential payout, excluding the original bet.

[0038] The term “Product” means any machine, manufacturer, and / or composition of matter unless otherwise specified. “Product” may also be a “computer program product” as disclosed herein.

[0039] The term "process" refers to processes, algorithms, methods, etc., unless otherwise specified.

[0040] Each process (whether called a method, an algorithm, or whatever other name it may be called) essentially comprises one or more steps, and therefore every reference to a “step” of a process has an essential antecedent in the term “process,” or in a mere enumeration of such terms. Thus, any reference to a “step” of a process in a claim has a sufficient antecedent.

[0041] Unless otherwise specified, the term "invention" refers to one or more inventions disclosed in this application.

[0042] Unless otherwise specified, phrases such as "an embodiment," "embodiment," "embodiments," "the embodiment," "the embodiments," "one or more embodiments," "some embodiments," "certain embodiments," "one embodiment," and "another embodiment" all mean "one or more embodiments (but not all) of the disclosed invention."

[0043] The term "variant" in this invention means a particular embodiment of the invention, unless otherwise specified.

[0044] References to "other embodiments" when describing one embodiment do not imply that the embodiment being referred to is mutually exclusive with another embodiment (for example, an embodiment described before the one being referred to), unless otherwise specified.

[0045] The terms "including" and "comprising," and their variations, mean "including, but not limiting," unless otherwise specified.

[0046] The terms "a," "an," and "the" mean "one or more" unless otherwise specified.

[0047] The term "multiple" means "two or more" unless otherwise specified.

[0048] The term “in this specification” means “in this application including anything which may be incorporated by reference,” unless otherwise specified.

[0049] The expression "at least one of" means any combination of one or more of those things when such an expression modifies multiple things (such as an enumerated list of things), unless otherwise specified. For example, the expression "at least one of widgets, cars, and wheels" means any of (i) widgets, (ii) cars, (iii) wheels, (iv) widgets and cars, (v) widgets and wheels, (vi) cars and wheels, or (vii) widgets, cars, and wheels. The expression "at least one of" does not mean "one of each of" the multiple things when such an expression modifies multiple things.

[0050] Numerical terms such as "1" and "2," when used as a cardinal to indicate a quantity (for example, "one widget," "two widgets"), mean the quantity indicated by that numerical term, but not at least the quantity indicated by that numerical term. For example, the expression "one widget" does not mean "at least one widget," and therefore, the expression "one widget" does not encompass, for example, two widgets.

[0051] The expression "based on ~" does not mean "based solely on ~" unless otherwise specified. In other words, the expression "based on ~" can describe both "based solely on ~" and "based at least on ~". The expression "based at least on ~" is equivalent to the expression "based at least partially on ~".

[0052] The term "represent" and similar terms are not mutually exclusive unless otherwise specified. For example, the term "represent" does not mean "represent only" unless otherwise specified. In other words, "the data represents a credit card number" describes both "the data represents only a credit card number" and "the data represents a credit card number, and the data also represents something else."

[0053] The terms "e.g." and similar terms mean "for example" and therefore do not limit the terms or expressions they describe. For example, in the sentence "A computer sends data (e.g., instructions, data structures) over the internet," the term "e.g." explains that "instructions" are an example of "data" that a computer may send over the internet, and similarly explains that "data structures" are an example of "data" that a computer may send over the internet. However, both "instructions" and "data structures" are merely examples of "data," and other things besides "instructions" and "data structures" can also be "data."

[0054] "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 architecture (e.g., chip-level multiprocessing / multicore, RISC, CISC, microprocessors without interlocked pipeline stages, pipeline configurations, simultaneous multithreading).

[0055] The term "each" and similar terms mean "to be taken individually." Therefore, if two or more things have "each" characteristics, each such thing has its own properties, which may or may not be different from one another. For example, the expression "each of the two machines has its own function" means that the first such machine has a certain function, and the second such machine also has a certain function. The function of the first machine may or may not be the same as the function of the second machine.

[0056] The term "i.e., that is" and similar terms mean "that is," and therefore limit the term or expression they describe. For example, in the sentence "Computers send data (i.e., instructions) over the internet," the term "i.e." explains that the "instructions" are the "data" that computers send over the internet.

[0057] Any given numerical range shall include all and fragments of the numbers within that range. For example, the range "1 to 10" shall be interpreted as specifically including integers (e.g., 1, 2, 3, 4, ..., 9) and non-integers (e.g., 1.1, 1.2, ..., 1.9) between 1 and 10.

[0058] If two or more terms or expressions are synonymous (for example, by an explicit statement that those terms or expressions are synonymous), then one instance of such term / expression does not imply that another instance of such term / expression must have a different meaning. For example, if a statement says that the meaning of “includes” is synonymous with “includes but not limited,” then the mere use of the expression “includes but not limited” does not imply that the term “includes” means anything other than “includes but not limited.”

[0059] The term "decide" and its grammatical variations (e.g., to determine a price, to determine a price, to determine an object that meets certain criteria) are used in a very broad sense. The term "decide" encompasses a wide variety of actions and therefore can include calculating, manipulating, processing, deriving, investigating, examining (e.g., examining a table, database, or another data structure), confirming, etc. It can also include receiving (e.g., receiving information), accessing (e.g., accessing data in memory), etc. It can also include resolving, selecting, choosing, establishing, etc. The term "decide" does not imply certainty or absolute precision and therefore can include estimating, extrapolating, predicting, inferring, etc. The term "decide" does not imply that mathematical processing must be performed, that numerical methods must be used, or that an algorithm or process must be used. The term "decide" does not imply that a particular device must be used. For example, computers do not always perform the task of making a decision.

[0060] The terms “real-time” or “real-time process” mean something that is performed within a predetermined time interval related to or tied to a physical state within the system. With respect to the system and method, the predetermined time interval may be determined by, but is not limited to, the pace of play, every half second, after a score, or any other predetermined value related to the contest or competition on which the process is performed, where the odds are reset at the end of the predetermined time interval and the process is performed again.

[0061] The term “computer-readable medium” refers to any medium, multiple identical media, or combinations of different media that participate in providing data (e.g., instructions, data structures) that may be read by a computer, processor, or similar device. Such media may take many forms, including, but are not limited to, non-volatile media, volatile media, and transmitting media. Non-volatile media include, for example, optical or magnetic disks and other persistent memory. Volatile media include dynamic random access memory (DRAM), which generally constitutes main memory. Transmitting media include coaxial cables, copper wires, and optical fibers, including wires with a system bus coupled to a processor. Transmitting media may include, or propagate, sound waves, light waves, and electromagnetic radiation, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tapes, any other magnetic media, CD-ROMs, DVDs, any other optical media, punch cards, paper tapes, any other physical media with perforated patterns, RAM, PROMs, EPROMs, FLASH-EEPROMs, any other memory chips or cartridges, carriers as described below, or any other media from which a computer can read.

[0062] variable The present invention, as disclosed herein, utilizes various collected and derived values ​​in determining probabilities, according to embodiments. The following definitions of these such variables are presented below.

[0063] "Velocity" (static velocity or biased velocity) is the score difference between participants at different strengths. Velocity is determined by assessing factors including score differences and separating the effect of differences in participants' strengths.

[0064] The "diffusion coefficient," known in the fields of chemistry and physics, quantifies the rate at which particles diffuse or separate through a medium. Here, the diffusion coefficient is applied in a novel manner to characterize the diffusion of points over time within a contest.

[0065] "Score delta" is the absolute value of the score difference, and relates to the score difference between two or more participants in a contest or competition.

[0066] "Leading team strength" is the historical plus / minus of a strong team. This factor is determined by averaging the team's plus / minus over several games. For example, if a team wins their first game by 2 points, their plus / minus is 2. If they lose their next game by 6 points, their plus / minus becomes -4. However, since this is an average, the average historical plus / minus is -2.

[0067] The Peclet number is known in the field of continuum mechanics. It is a type of dimensionless number relevant in the study of motion phenomena in continuum. Here, the Peclet number is used in a novel way to describe or characterize, as a dimensionless number, the rate at which play diffuses based on velocity, the strength of the lead team, the strength of the weaker team, and the diffusion coefficient.

[0068] Calculation It will be readily apparent to those skilled in the art that the various processes described herein may be implemented, for example, by appropriately programmed general-purpose computers, specialized computers, and computing devices. Generally, a processor (e.g., one or more microprocessors, one or more microcontrollers, one or more digital signal processors) receives instructions (e.g., from memory or a similar device), executes those instructions, and thereby carries out one or more processes defined by those instructions. Instructions may be embodied, for example, by one or more computer programs or one or more scripts.

[0069] Therefore, a description of a process is similarly a description of the apparatus for carrying out that process. The apparatus for carrying out the process may include, for example, a processor, as well as input and output devices suitable for carrying out the process.

[0070] Furthermore, programs implementing such methods (as well as other types of data) may be stored and transmitted in several forms using various media (e.g., computer-readable media). In some embodiments, hardwired circuits or custom hardware may be used in place of, or in combination with, some or all of the software instructions that can implement the processes of various embodiments. Thus, various combinations of hardware and software may be used instead of software alone.

[0071] Various forms of computer-readable media may be involved in transporting data (e.g., sequences of instructions) to the processor. For example, data may (i) be sent from RAM to the processor, (ii) be carried over a wireless transmission medium, (iii) be formatted and / or transmitted according to various formats, standards, or protocols such as Ethernet (or IEEE 802.3), SAP, ATP, Bluetooth, and TCP / IP, TDMA, CDMA, and 3G, and / or (iv) be encrypted in any of the various methods known in the art to ensure privacy and prevent tampering.

[0072] Therefore, a description of a process is similarly a description of a computer-readable medium that stores a program for carrying out the process. The computer-readable medium can store (in any suitable format) program elements suitable for carrying out this method.

[0073] Just as a description of the various steps in a process does not indicate that all described steps are necessary, an implementation of a device may include a computer / computing device capable of performing (but not necessarily performing) some of the processes described.

[0074] Similarly, so as not to indicate that a description of various steps in a process requires all of the described steps, embodiments of computer-readable media for storing a program or data structure include computer-readable media for storing a program that, when executed, may (but may not) cause a processor to perform some of the described processes.

[0075] When describing a database, those skilled in the art will understand that (i) alternative databases may readily be adopted for the database structure described, and (ii) other memory structures other than databases may readily be adopted. Any example or description of any exemplary sample database presented herein is a configuration for the stored representation of information. For example, any number of other configurations other than those suggested by tables shown in drawings or elsewhere may be adopted. Similarly, any entries shown in a database represent only exemplary information. Those skilled in the art will understand that the number and content of entries may differ from those described herein. Furthermore, regardless of any description of a database as a table, other formats (including relational databases, object-based models, and / or distributed databases) may be used to store and manipulate the data types described herein.

[0076] Similarly, the object methods or properties (behaviors) of a database can be used to implement various processes such as those described herein. In addition, databases may be stored locally or remotely from devices that access the data in such databases, in known manners.

[0077] Various embodiments may be configured to function within a network environment that includes a computer communicating with one or more devices (for example, via a communication network). The computer may communicate with the devices directly or indirectly via any wired or wireless medium (e.g., the Internet, LAN, WAN or Ethernet, Token Ring, telephone lines, cable lines, wireless channels, optical communication lines, commercial online service providers, bulletin board systems, satellite communication links, or any combination of the above). Each of the devices may comprise itself, a computer, or other computing devices adapted to communicate with the computer. Any number and types of devices may be communicating with the computer.

[0078] In some embodiments, a server computer or centralized authority may not be required or desired. For example, in some embodiments, the present invention may be practiced on one or more devices without a centralized authority. In such embodiments, any function described herein that is performed by a server computer or data stored on a server computer may instead be performed by or stored on one or more such devices.

[0079] When describing a process, in one embodiment, the process may operate without any user intervention. In another embodiment, the process may involve some human intervention (for example, a step may be performed by a human or with human assistance).

[0080] Determine the 3-way odds for the lead change. Rather than being limiting, the following disclosure discusses the invention in the context of calculating in real time the odds of a team or player taking a lead, maintaining a lead, or tying during a competition in which the score fluctuates throughout the contest. For the sake of facilitating the disclosure, the inventors discuss it in the context of a basketball game.

[0081] In the context of a basketball game, there are two participating teams, each consisting of individual players. Historical performance data is available for each team and for individual players. Furthermore, if the game is played live, data may be collected and processed throughout the game. Basketball is a contest in which the score can reflect a tie, a change in lead, or a team maintaining the lead at any given time.

[0082] Users bet on whether a team or player will take the lead, maintain their lead, or end up in a draw with their opponent. The outcome of each bet is determined at the final stage of each event during the competition. An event is defined for each match to mark the end of betting, the determination of the winning bet for that particular event, and the start of new betting, allowing users to bet on whether the current leader will maintain their lead, whether their opponent will take the lead, or whether their opponent will end up in a draw at the end of the next event.

[0083] As discussed above, in a basketball game, there are the total number of ties (over / under), the total number of lead changes (over / under), and who scores first. For the live part of the game, along with the real-time total number of ties and lead changes (over / under), there are bets on taking the lead, tying, and maintaining the lead. Finally, when the game ends in a tie, there are bets on who will regain the lead, followed by bets on the total number of lead changes and ties (over / under).

[0084] It should be noted that not all sports or competitions offer options for three-way betting. For example, any sport where one team or player cannot take the lead without first challenging the leading opponent, such as hockey, soccer, or lacrosse. While the three-way betting system still exists, a draw no longer cancels out a bet on a team taking the lead, as a draw is required for a team to take the lead.

[0085] In an exemplary embodiment, referring to Figure 1, the present invention 100 includes a plurality of interconnected modules or engines to perform the functions described and to determine in real time the odds that a team or player will take the lead, maintain the lead, or tie during a competition in which the score fluctuates throughout the contest. These modules include a competition detection module 110, a play-by-play processing module 120, a participant strength calculation module 130, a real-time probability calculation module 140, and a push-to-client module 150.

[0086] In an exemplary process for determining the three-way odds of an event in a competition in real time, the competition detection module 110 queries an external API to search for matches taking place in a specified sport. Once an active match is found, the competition detection module 110 begins processing live sequential data (via the sequential processing module 120), and similarly initiates tasks that other modules (such as the team strength module 130) begin executing to collect predetermined data for that match. Prior to the start of the match, predetermined odds are determined in anticipation of the matchup (by knowing the schedule and historical data for the participants). This includes probabilities related to the number of draws and lead changes that will occur, and the odds of which team will score first. These predetermined odds, such as the probability of the number of draws and lead changes, are based on data from the participant strength calculation module 130, the diffusion coefficient, scoring rate, pace of play, and average points per scoring event. The first scoring probability is based on the scoring rate, diffusion coefficient, scoring rate, team strength, the ratio of successful first goals, and the ratio of successful first holds.

[0087] Once the match begins, the first lead bet is closed, and the system waits until the first lead is established. As the match begins, the sequential processing module 120 is started, and after the initial lead is taken, the probabilities of draws, lead changes, and taking the lead are determined (via the real-time probability calculation module 140) based on participant strength calculation module 130 data points and formulas, diffusion coefficient, scoring rate, absolute score difference, remaining time, number of draws that have occurred, number of lead changes that have occurred, and finally the relationship between the strength of the teams on the court and real-time probabilities. The real-time number of lead changes and draws that will occur is calculated using different data points collected within participant strength calculation module 130 and sequential processing module 120. These data points include the number of draws, number of lead changes, absolute score difference, diffusion coefficient, scoring rate, remaining time, pace of play, and average score per scoring event.

[0088] Embodiments of the present invention follow a decision tree for determining which of a plurality of formulas to use for a particular situation. An exemplary decision tree is shown in Figure 2. In a three-way odds match, some situations may include 1) a home team that is strong and leading (in terms of strength), 2) a home team that is weak and leading, 3) a home team that is strong and leading, and 4) a home team that is weak and leading. These situations will be evaluated for the probability determination of "maintaining the lead" and the probability determination of "draw," respectively. Each of these situations will determine which formula to use and the weights associated with each variable related to the selected formula.

[0089] When a match ends in a draw, separate formulas exist for the number of draws, the number of lead changes, and which team will score next (or regain the lead). These formulas remove the absolute goal difference from the equation and rely on the same additional statistics as the previous equation. The additional statistics include the percentage of successful goals scored, the percentage of successful leads regained, and whether it is the first hold in the sequence. The old statistics used are each team's diffusion coefficient, scoring rate, time remaining, and the strength of the teams on the court (along with the different team strength formulas). These odds are set to either over / under for the number of draws and lead changes, and for which team will score next, respectively, in two-way system betting.

[0090] Scheduler

[0091] While not specifically disclosed here for the sake of brevity of disclosure, those skilled in the art of computing and computational systems will readily recognize the need for and implementation forms of a “scheduler” or “cron utility.” A cron utility is a job scheduler that enables scheduling of recurring tasks at predetermined times, days, or intervals. For example, but not limited to, the scheduler could trigger a competition detection module 110 to check for new matches every minute, and a team strength module 130 to determine team strength values ​​at 5 a.m. each day during a league season.

[0092] Competition detection module 110

[0093] This module interfaces with at least one external application programming interface (API) to check for actively occurring matches. If an active match is detected, a task is initiated for the sequential processing module 120 to begin processing live sequential data.

[0094] Upon receiving a start command from the scheduler, this module queries at least one external API or database to determine if there are any matches currently in progress. If so, the module triggers the sequential processing module 120 to begin processing sequential events. The input required for this module is a criterion describing the service to be created when an active match is detected. This includes where to store information about the service to be created, the name of the subsequent service to be created, what this service depends on, and the locations for storing intermediate and final outputs. In an embodiment, this information is stored in a database table of running services that tracks which matches are currently being monitored. In this way, only one service is maintained per match, avoiding duplication.

[0095] At startup, 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 true if there are matches in progress, and false otherwise. The module then determines whether other instances of the same service are currently active or their creation is pending, and if so, takes no action. Once the module has verified all requested checks, it proceeds by triggering the start of the sequential processing module 120. The sequential processing module 120 will coordinate the collection and processing of the remaining steps to determine the probability output.

[0096] The competition detection module 110 is activated by the scheduler, which then activates the sequential processing module 120.

[0097] Sequential processing module 120

[0098] When activated, this module polls external APIs or other such services queried for active matches for sequential data.

[0099] This module coordinates the collection and processing of sequential data related to active matches. The module is instantiated externally by the match detection module 110 and passes the sequential data to the real-time probability calculation module 140. When the match detection module 110 detects the start of a new match, an API call triggers the creation of a new task in the sequential processing module 120. The module interprets match events in real time and interfaces with other supporting modules in the system. Each raw event processed by the module is stored in a long-term memory database for future reference.

[0100] When activated, this module instantiates a procedure that will repeat periodically at predefined configurable intervals until it terminates. For example, in the context of a basketball game with a 24-second shot clock, this interval may be set to 15 seconds. The first step of this procedure is to pull sequential data from a third-party API. The returned sequential data will represent, for example, each event that occurred during the game over the last minute. The sequential data is stored in memory for future reference. The module performs a comparison between new events received from the third-party API and events previously recorded in memory to determine the delta of which events have not yet been processed and stored. This ensures that no event is processed more than once, improving the accuracy of the system. The raw event data from the third-party API is converted into a flattened data structure and stored in a database table for long-term persistence. The raw sequential data is passed by the module to the probability module 140 for concurrent processing.

[0101] The sequential processing module 120 then determines whether it should remain active to process future plays. This check queries a third-party API, which returns a flag indicating whether the match has ended or not. If the match has ended, this interval is cleared and the module terminates. Immediately before termination, the module removes its own task record from the task database table. This data informs the active match detection module whether there is currently a task to process events from the specified match. If the match is still active, this interval is repeated at a predefined configurable interval.

[0102] This module is activated by the competition detection module 110, which activates one or more of the probability processing module 140 and the client broadcast module 150.

[0103] Participant strength calculation module 130

[0104] This module uses the latest available match data to determine team strengths based on predefined criteria, such as daily performance. The results are stored for reference in probability calculations.

[0105] This module determines strength data for each team in a league or participant in a contest. This module is triggered or activated in a scheduled manner via a scheduler. In the use case of a basketball season, the trigger might be defined, for example, to repeat once a day. This procedure begins by calling a third-party API to retrieve team statistics data for all teams for the previous and current seasons. The team strength values ​​are determined based on the retrieved statistics. Particular emphasis is placed on more recent games, 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 probability module 140, which ultimately determines which formulas the module will use to determine the probabilities.

[0106] This module is activated by the scheduler. The scheduler does not activate any other modules, but the data determined by this module is stored in the database so that it can be retrieved by the probability module 140.

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

[0108] This module receives input from other modules, characterizes the current match state, and determines appropriate formulas to apply to calculate the probability of event outcomes. (See, for example, the decision loop in Figure 2.) Historical data is captured from previous season play by the team strength module 130 and aggregated from stored sequential data. The probability module 140 retrieves the team strength data from the database. The probabilities of event outcomes are determined and made available for retrieval by the client broadcast module 150.

[0109] The probability module 140 is configured to sequentially receive data from module 120 describing predefined time intervals of a match and to determine a certain output (or multiple outputs) that characterizes 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, time remaining in the quarter, home team score, away team score, most recent scoring event, and most recent retention update. Upon startup, the module begins by aggregating additional required elements from external sources, including external modules (such as the team strength module 130) and database systems.

[0110] The module begins by retrieving the latest available team strength data for participating home and away teams from the team strength module 130. As discussed above, the team strength module 130 determines the team strength for all active teams in the league at predefined intervals and stores the results in a database table. The returned strengths are then used to characterize the relationships between teams by determining whether the stronger team has home-court advantage or the weaker team has home-court advantage. This information is then used by the probability module 140 when determining which formulas to apply when making probability determinations.

[0111] Database queries are performed by the module to gather additional information in the context of the current request, including the number of scoring events, lead changes, and draws that have occurred in the match so far. The following series of database queries collect the diffusion coefficient and bias velocity. These values ​​are determined by the team strength module 130 at predefined intervals using aggregation of historical league match data. The values ​​retrieved for velocity and diffusion coefficient are combined with the current absolute goal difference and elapsed time of the match to determine the scaled lead size. The final preparation step requires calculating the Peclet number for the dataset using the bias velocity, diffusion coefficient, and normalized team strength.

[0112] The calculated and collected variables are passed by the module to a set of individual functions responsible for calculating the probabilities of a draw and maintaining a lead. These functions accept the inputs defined above and select a formula (see Figure 2). The selection is based on which team is currently in the lead, their strength against their opponent, and whether or not that team has home-court advantage. The module applies the selected formula and returns the derived value to the caller function. This output is a value between 0 and 1.

[0113] The process steps in this module are performed once to calculate the probability of a tie and once to calculate the probability of maintaining the lead. (See the “Start Loop” in Figure 2.) The probability of taking the lead can then be simply determined as the reciprocal of the combined probability of a tie and the probability of maintaining the lead. These values ​​can be expressed in the American odds format through a weighted transformation algorithm, although other odds formats may be provided.

[0114] The calculated and collected variables are then passed by the module to a set of functions responsible for calculating the estimated total number of draws, the estimated total number of read changes, the real-time total number of draws, and the real-time total number of read changes. These functions accept the inputs defined above, apply algorithmic implementations of the mathematical formulas, and output positive numbers representing the specified values. The inputs, intermediate values, and outputs are aggregated into a message object structure, stored in a database table for long-term preservation, and returned to the function caller.

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

[0116] Client broadcast module 150

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

[0118] This module monitors subscribers and, accordingly, broadcasts probability module output from the (sequential module). The first component is used to track connection and disconnection events from clients. Connection events are triggered when a client accesses the system through a user interface, such as a web application, but is not limited to this. In an embodiment, the web application is a graphical interface that a person will access through their web browser to view real-time results of probability calculations. (See Figure 3.) When accessed by a user, it displays a page showing the matches scheduled for that day. The application running on the browser establishes, for example, a WebSocket connection with a server. The server sends probability data determined by the server in real time to the connected user's browser. As the matches progress, the application renders state updates on the screen showing the changing odds related to these probabilities.

[0119] The module processes the event and stores it along with a unique value used to identify the client. This data remains in a database table along with the current date and time. Disconnection events are triggered when a client exits the web application or when the connection is interrupted (reconnection is automatically triggered). The module processes the disconnection event and removes the unique identifier corresponding to that client from the database table. A second component retrieves the unique identifier from the database table and uses it to broadcast a message to those subscriber clients. The sequential processing module invokes the client broadcast module with the results of probability calculations. This allows the calculated probabilities to be broadcast to the user interface in real time.

[0120] Exemplary System

[0121] Figure 4 shows a block diagram of an exemplary system according to one embodiment of the present invention for determining in real time the odds of a team or player taking a lead, maintaining a lead, or tying during a competition in which the score fluctuates throughout the contest. System 400 shown in Figure 4 is just one example of a preferred system and is not intended to limit the scope of use or functionality of the embodiments of the present invention described above. System 400 can operate in a number of other general-purpose or dedicated computing system environments or computing system configurations. Examples of well-known computing systems, computing system environments, and / or computing system configurations that may be suitable for use with the information processing system 400 include, but are not limited to, personal computer systems, server computer systems, thin clients, fat clients, handheld or laptop devices, 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.

[0122] System 400 may be described in the general context of computer executable instructions being executed by a computer system. System 400 may be practiced in various computing environments, including traditional and distributed computing environments, where tasks are performed by remote processing devices linked through a communication network. In a distributed computing environment, program modules may reside in both local computing system storage media and remote computer system storage media, including memory storage devices.

[0123] Referring again to Figure 4, the system 400 includes a backend server 450. In some embodiments, the backend server 450 may be embodied as a general-purpose computing device. The components of the backend server 450 may include, but are not limited to, one or more processor devices or processing units 404, system memory 406, and a bus 408 that connects various system components, including the system memory 406, to the processor 404.

[0124] Bus 408 represents one or more of the various types of bus structures, including a memory bus or memory controller, peripheral bus, accelerated graphics port, and processor, or a local bus using one of the various bus architectures.

[0125] 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. The backend server 450 may further include other removable / non-removable, volatile / non-volatile computer system storage media 409, 410, 418, and 420. As a mere example, storage system 409 may be provided for reading from and writing to one or more solid disks and / or magnetic media (commonly referred to as “hard drives” 418). A magnetic disk drive for reading from and writing to removable non-volatile magnetic disks (e.g., “floppy disks”) and an optical disk drive for reading from and writing to removable non-volatile optical disks, such as CD-ROMs, DVD-ROMs, or other optical media, may be provided. In such cases, each may be connected to bus 408 by one or more data media interfaces. Memory 406 may include, for example, at least one program product 432 that embodies a set of program modules 434 configured to perform one or more features and / or functions of the present invention, as described with reference to Figures 1 to 3. Referring again to Figure 4, the program / utility 432 having the set of program modules 434 may be stored in memory 406, as well as in an operating system, one or more application programs, other program modules, and program data, not limited to, for example. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc., that perform a particular task or implement a particular abstract data type. The operating system, one or more application programs, other program modules, and program data, each or some combination thereof, may include an implementation of a network environment.In some embodiments, the program module 434 is configured to perform one or more functions and / or methodologies of embodiments of the present invention.

[0126] The backend server 450 may also communicate with one or more external devices that enable interaction with the backend server 450, and / or any devices that enable communication with one or more other computing devices (e.g., network cards, modems, etc.). Some (non-exclusive) examples of such devices include a keyboard, a pointing device, a display that presents system output (see Figure 3), one or more devices that enable a user to interact with the backend server 450, and / or any devices that enable the backend server 450 to communicate with one or more other computing devices (e.g., network cards, modems, etc.). Such communication may occur via I / O interfaces. In some embodiments, the backend server 450 may communicate with one or more networks 427, such as a local area network (LAN), a general wide area network (WAN), and / or a public network (e.g., the Internet), via a network adapter 426, enabling the system 400 to access one or more external APIs 480. As shown, the network adapter 426 communicates with other components of the backend server 450 via a bus 408. Other hardware and / or software components may also be used with the backend server 450.

[0127] As those skilled in the art will understand, aspects of the present invention may be embodied as systems, methods, or computer program products at any possible level of incorporated technical detail. A computer program product may include a computer-readable storage medium having computer-readable program instructions thereon for causing a processor to perform aspects of the present invention.

[0128] A computer-readable storage medium can be a tangible device capable of holding and storing instructions for use by an instruction-executing device. A computer-readable storage medium may be, for example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any preferred combination thereof. The computer-readable storage medium used herein should not be interpreted as a transient signal in itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmitting media (e.g., optical pulses through fiber optic cables), or electrical signals transmitted through wires.

[0129] Accordingly, embodiments of the present invention may take the form of a fully hardware implementation, a fully software implementation (including firmware, resident software, microcode, etc.), or a combination of software and hardware embodiments, all of which may generally be referred to herein as “circuits,” “modules,” or “systems.” Furthermore, embodiments 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 embodied.

[0130] Any combination of one or more computer-readable media may be used. The computer-readable media may be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. In the context of this disclosure, the computer-readable storage medium may be any tangible medium that may contain or store a program for use by or connection to an instruction execution system, instruction execution apparatus, or instruction execution device.

[0131] A computer-readable signal medium may include, for example, a propagating data signal containing computer-readable program code embodied therein, either within the baseband or as part of the carrier wave. Such a propagating signal may take any of various forms, including, but not limited to, electromagnetic, optical, or a preferred combination thereof. The computer-readable signal medium may be any computer-readable medium, rather than a computer-readable storage medium, that can communicate, propagate, or transfer a program for use by, or in connection with, an instruction execution system, instruction execution unit, or instruction execution device.

[0132] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device, or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical transmission fibers, wireless transmitters, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface within each computing / processing device receives computer-readable program instructions from the network and transfers them for storage in a computer-readable storage medium within each computing / processing device.

[0133] The computer-readable program instructions for performing the operation of the present invention may be either assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk and C++, and procedural programming languages ​​such as the C programming language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, as a standalone software package, partially on the user's computer, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or remote server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or the connection may be made to an external computer (for example, via the Internet using an Internet service provider). In some embodiments, for example, an electronic circuit including a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer-readable program instructions by utilizing state information of computer-readable program instructions for personalizing the electronic circuit, in order to carry out aspects of the present invention.

[0134] Aspects of the present invention have been discussed above with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to various embodiments of the present invention. It will be understood that each block in the flowcharts and / or block diagrams, and combinations of blocks within the flowcharts and / or block diagrams, can be implemented by computer program instructions.

[0135] These computer program instructions may be provided to a general-purpose computer, a dedicated computer, or other programmable data processing device to create a machine that creates means for instructions executed via the computer's processor or other programmable data processing device to implement functions / actions specified within blocks of a flowchart and / or block diagram. These computer program instructions may also be stored in a non-temporary computer-readable storage medium that can instruct a computer, other programmable data processing device, or other device to function in a particular manner so that the instructions stored in the computer-readable medium produce a product containing instructions that implement functions / actions specified within blocks of a flowchart and / or block diagram.

[0136] Computer program instructions may also be loaded onto a computer, other programmable data processing device, or other device to create a computer implementation process by causing a series of operational steps to be performed on the computer, other programmable device, or other device, so as to provide a process for instructions to be executed on the computer or other programmable device to implement a function / action specified in a block of a flowchart and / or block diagram.

[0137] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of the system, method, and computer program product according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, segment, or portion of an instruction, comprising one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions described within a block may not occur in the order shown in the figure. For example, two consecutively shown blocks may actually be executed substantially simultaneously, or blocks may sometimes be executed in reverse order depending on the functions they relate to. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, may be implemented by a dedicated hardware-based system that performs a specified function or action, or a combination of dedicated hardware and computer instructions.

[0138] The terms used herein are for the sole purpose of describing specific embodiments and are not intended to limit the invention. The singular forms “a,” “an,” and “the” used herein are intended to similarly include the plural form unless otherwise clearly indicated in the context. It will be further understood that the terms “comprises” and / or “comprising,” when used herein, specify the presence of the described features, integers, steps, actions, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, actions, elements, components, and / or groups thereof.

[0139] The description in this application has been presented for illustrative and explanatory purposes, but is not intended to be exhaustive or to limit the invention to any form disclosing the present invention. Many modifications and alterations 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 best illustrate the principles and practical applications of the invention and to enable those skilled in the art to understand various embodiments of the invention, with various modifications suitable for the specific use intended. [Explanation of symbols]

[0140] 100 The present invention 110 Competition Detection Module 120 Sequential processing module, Sequential module 130 Participant strength calculation module, team strength module 140 Real-time probability calculation module, probability module, probability processing module 150 Push-to-Client Modules, Client Broadcast Modules 400 System 404 Processor device or processing unit, processor 406 System memory, memory 408 Bus 409 Computer system storage media, storage system 410 Computer system storage media 418 Computer system storage media, hard drives 420 Computer System Storage Media 426 Network Adapters 427 Network 432 Program Products, Programs / Utilities 434 Program Modules 450 backend servers 480 External API

Claims

1. A computer implementation system for providing and managing a client service for substantially real-time odds for lead changes during a scheduled match of a sporting competition, wherein the system is: A system comprising one or more processors configured to execute a process using computer-readable instructions stored in non-temporary memory, wherein the process The steps include implementing a broadcast process that connects to clients, assigns a unique identifier to each client connection, and stores that identifier, A discretizing step of discretizing a sports competition in parts by defining a set of defined competition situations, wherein each defined competition situation is structured to identify which competitor is leading in the score and whether that competitor has a determined strength that is stronger or weaker than other competitors in the particular type of sports competition, A step of determining the strength of a competitor in a scheduled match of the aforementioned sporting competition, A step of defining a decision tree that establishes that each defined competition situation triggers the system to use one formula selected from a plurality of separate formulas for determining the odds of lead change, and a set of assigned weights associated with the variables in the selected formula for that defined competition situation, wherein the lead change odds formula uses a scaled lead size and stored diffusion coefficient and bias velocity values ​​when determining the odds; Steps include querying an external API to search for scheduled matches in a specific sport, The process includes: initiating a task to start a step of processing live sequential data in response to detecting an active match, and collecting predetermined data for the active match; The steps include connecting to a source of live match data based on a defined sport-dependent time interval and receiving live sequential data of the active match from the source of live match data, The steps include storing the received live sequential data in a long-term memory device for future reference, The steps include comparing the received live sequential data in the currently defined sport-dependent time interval with previously received live sequential data to identify new sequential activities, The steps include determining that the active match is one of the defined competitive situations, using the identified new sequential activity and the determined strength of the competitors, The steps include tracking client connections and disconnections for the aforementioned active match, In response to the step of determining that the active match is one of the defined game situations, the decision tree is used to generate the substantially real-time odds of a lead change using the selected formula and the set of assigned weights associated with the variables in the lead change formula for the defined game situation. Includes, The step of generating the odds for the lead change involves calling the broadcast process and sending the generated odds for the lead change to connected clients in real time in response to sending the generated odds for the lead change. system.

2. The system according to claim 1, wherein the lead change odds calculation formula calculates the Peclet number using the bias velocity, diffusion coefficient, and team strength.

3. The system according to claim 1, wherein the process further comprises the step of flattening the live sequential data before the step of storing it.

4. The system according to claim 1, further comprising the step of implementing a job scheduler for scheduling repetitive tasks and predetermined time.

5. The system according to claim 1, further comprising the step of determining the odds of a lead change in a match before the state of a scheduled match.

6. The system according to claim 1, wherein the sport is basketball.

7. A computer implementation method, The steps include implementing a broadcast process that connects to clients, assigns a unique identifier to each client connection, and stores that identifier, A discretizing step of discretizing a sports competition in parts by defining a set of defined competition situations, wherein each defined competition situation is structured to identify which competitor is leading in the score and whether that competitor has a determined strength that is stronger or weaker than other competitors in the particular type of sports competition, A step of determining the strength of a competitor in a scheduled match of the aforementioned sporting competition, A step of defining a decision tree that establishes that each defined competition situation triggers the system to use one formula selected from a plurality of separate formulas for determining the odds of lead change, and a set of assigned weights associated with the variables in the selected formula for that defined competition situation, wherein the lead change odds formula uses a scaled lead size and stored diffusion coefficient and bias velocity values ​​when determining the odds; Steps include querying an external API to search for scheduled matches in a specific sport, The process includes: initiating a task to start a step of processing live sequential data in response to detecting an active match, and collecting predetermined data for the active match; The steps include connecting to a source of live match data based on a defined sport-dependent time interval and receiving live sequential data of the active match from the source of live match data, The steps include storing the received live sequential data in a long-term memory device for future reference, The steps include comparing the received live sequential data in the currently defined sport-dependent time interval with previously received live sequential data to identify new sequential activities, The steps include determining that the active match is one of the defined competitive situations, using the identified new sequential activity and the determined strength of the competitors, The steps include tracking client connections and disconnections for the aforementioned active match, In response to the step of determining that the active match is one of the defined game situations, the decision tree is used to generate the substantially real-time odds of a lead change using the selected formula and the set of assigned weights associated with the variables in the lead change formula for the defined game situation. Includes, The step of generating the odds for the lead change involves calling the broadcast process and sending the generated odds for the lead change to connected clients in real time in response to sending the generated odds for the lead change. Computer implementation method.

8. The computer implementation method according to claim 7, wherein the lead change odds calculation formula calculates the Peclet number using the bias velocity, diffusion coefficient, and team strength.

9. The computer implementation method according to claim 7, further comprising the step of flattening the live sequential data before the storage step.

10. The computer implementation method according to claim 7, further comprising the step of implementing a job scheduler for scheduling repetitive tasks and predetermined times.

11. The computer implementation method according to claim 7, further comprising the step of determining the odds of a lead change in a match before the state of the scheduled match.

12. The computer implementation method according to claim 7, wherein the sport is basketball.

13. A computer-readable non-temporary medium comprising a computer-readable instruction that, when executed by a computer, is executable by a computer to perform a method of performing the following steps, wherein the steps are: The steps include implementing a broadcast process that connects to clients, assigns a unique identifier to each client connection, and stores that identifier, A discretizing step of discretizing a sports competition in parts by defining a set of defined competition situations, wherein each defined competition situation is structured to identify which competitor is leading in the score and whether that competitor has a determined strength that is stronger or weaker than other competitors in the particular type of sports competition, A step of determining the strength of a competitor in a scheduled match of the aforementioned sporting competition, A step of defining a decision tree that establishes that each defined competition situation triggers the system to use one formula selected from a plurality of separate formulas for determining the odds of lead change, and a set of assigned weights associated with the variables in the selected formula for that defined competition situation, wherein the lead change odds formula uses a scaled lead size and stored diffusion coefficient and bias velocity values ​​when determining the odds; Steps include querying an external API to search for scheduled matches in a specific sport, The process includes: initiating a task to start a step of processing live sequential data in response to detecting an active match, and collecting predetermined data for the active match; The steps include connecting to a source of live match data based on a defined sport-dependent time interval and receiving live sequential data of the active match from the source of live match data, The steps include storing the received live sequential data in a long-term memory device for future reference, The steps include comparing the received live sequential data in the currently defined sport-dependent time interval with previously received live sequential data to identify new sequential activities, The steps include determining that the active match is one of the defined competitive situations, using the identified new sequential activity and the determined strength of the competitors, The steps include tracking client connections and disconnections for the aforementioned active match, In response to the step of determining that the active match is one of the defined game situations, the decision tree is used to generate the substantially real-time odds of a lead change using the selected formula and the set of assigned weights associated with the variables in the lead change formula for the defined game situation. Includes, The step of generating the odds for the lead change involves calling the broadcast process and sending the generated odds for the lead change to connected clients in real time in response to sending the generated odds for the lead change. Computer-readable media.

14. The computer-readable medium according to claim 13, wherein the lead change odds calculation formula calculates the Peclet number using the bias velocity, diffusion coefficient, and team strength.

15. The computer-readable medium according to claim 13, wherein the step further comprises flattening the live sequential data before the storage step.

16. The computer-readable medium according to claim 13, further comprising the step of implementing a job scheduler for scheduling repetitive tasks and predetermined times.

17. The computer-readable medium according to claim 13, wherein the step further comprises determining the odds of a lead change in a match before the state of a scheduled match.

18. The computer-readable medium according to claim 13, wherein the sport is basketball.