US10722799B2 - Fantasy sports data analysis for game structure development - Google Patents
Fantasy sports data analysis for game structure development Download PDFInfo
- Publication number
- US10722799B2 US10722799B2 US16/276,855 US201916276855A US10722799B2 US 10722799 B2 US10722799 B2 US 10722799B2 US 201916276855 A US201916276855 A US 201916276855A US 10722799 B2 US10722799 B2 US 10722799B2
- Authority
- US
- United States
- Prior art keywords
- contest
- instance
- generation period
- participants
- entry slots
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000011161 development Methods 0.000 title description 4
- 238000007405 data analysis Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims description 37
- 238000012423 maintenance Methods 0.000 claims description 21
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000003442 weekly effect Effects 0.000 abstract description 4
- 238000013459 approach Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000005457 optimization Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000002910 structure generation Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/65—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/3286—Type of games
- G07F17/3288—Betting, e.g. on live events, bookmaking
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/3244—Payment aspects of a gaming system, e.g. payment schemes, setting payout ratio, bonus or consolation prizes
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/326—Game play aspects of gaming systems
- G07F17/3272—Games involving multiple players
- G07F17/3276—Games involving multiple players wherein the players compete, e.g. tournament
Definitions
- the present disclosure is generally related to analysis of short-term fantasy sport data for structuring game development contests.
- Daily fantasy contests are a fast growing market.
- participants build a team of real-world athletes, and the team earns points based on the actual real-world performance of the athletes. For example, if a participant in a fantasy basketball league has Lebron James on his or her team, then the user will earn points based on the statistics Lebron James produces in actual basketball games.
- the present disclosure seeks to address problems and failings in the art.
- One aspect of the present disclosure relates to analyzing fantasy sports data to generate and/or manage the delivery of and user experience of fantasy sports games and contests, including timing and payout structure(s) for short-term fantasy contests, such as daily, weekly, etc. fantasy sports contests, that motivate and appeal to contestants and is/are reasonably structured and concisely represented.
- a daily fantasy contest system is provided to automatically adjust to user demand without overshooting profitable levels and offer a variety of different contests, as well as offer contests with guaranteed and non-guaranteed payouts.
- a method comprising obtaining, by a computing device and for a contest, a tentative payout structure comprising a payout amount for each winning place of a number of winning places for the contest; determining, by the computing device, a number of buckets and a size for each bucket indicating how many of the number of winning places to assign to the bucket; and determining, by the computing device, a related payout structure using the tentative payout structure of prize amounts for each winning place, the related payout structure specifying a prize amount for each bucket, each winning place's prize amount being determined by the bucket to which it is assigned and the bucket's prize amount.
- a method comprising creating, by a computing device, an initial number of instances of a contest at a beginning of a contest generation period associated with the contest, each contest instance having a same number of available entry slots for possible contest participants to enter the contest prior to the contest's start time; monitoring, by the computing device, a number of available contest instances to ensure that there are at least a maintenance number of available contest instances for possible contest participants to enter the contest prior to the contest's start time; creating, by the computing device and for a first portion of the contest generation period, an additional instance of the contest to replace a filled contest instance such that there are a maintenance number of available contest instances, the additional contest instance having the same number of entry slots as the filled contest instance; and for a second portion of the contest generation period before the contest's start time: estimating, by the computing device, a number of possible contest participants likely to enter the contest during the second portion of the contest generation period; and creating, by the computing device, an additional instance of the contest to replace the filled
- a system comprises at least one computing device, each computing device comprising a processor and a storage medium for tangibly storing thereon program logic for execution by the processor, the stored program logic comprising obtaining logic executed by the processor for obtaining, for a contest, a tentative payout structure comprising a payout amount for each winning place of a number of winning places for the contest; determining logic executed by the processor for determining a number of buckets and a size for each bucket indicating how many of the number of winning places to assign to the bucket; and determining logic executed by the processor for determining a related payout structure using the tentative payout structure of prize amounts for each winning place, the related payout structure specifying a prize amount for each bucket, each winning place's prize amount being determined by the bucket to which it is assigned and the bucket's prize amount.
- a system comprises at least one computing device, each computing device comprising a processor and a storage medium for tangibly storing thereon program logic for execution by the processor, the stored program logic comprising creating logic executed by the processor for creating an initial number of instances of a contest at a beginning of a contest generation period associated with the contest, each contest instance having a same number of available entry slots for possible contest participants to enter the contest prior to the contest's start time; monitoring logic executed by the processor for monitoring a number of available contest instances to ensure that there are at least a maintenance number of available contest instances for possible contest participants to enter the contest prior to the contest's start time; creating logic executed by the processor for creating, for a first portion of the contest generation period, an additional instance of the contest to replace a filled contest instance such that there are a maintenance number of available contest instances, the additional contest instance having the same number of entry slots as the filled contest instance; and for a second portion of the contest generation period before the contest's start time: estimating logic executed by the
- a computer readable non-transitory storage medium for tangibly storing thereon computer readable instructions that when executed cause at least one processor to obtain, for a contest, a tentative payout structure comprising a payout amount for each winning place of a number of winning places for the contest; determine a number of buckets and a size for each bucket indicating how many of the number of winning places to assign to the bucket; and determine a related payout structure using the tentative payout structure of prize amounts for each winning place, the related payout structure specifying a prize amount for each bucket, each winning place's prize amount being determined by the bucket to which it is assigned and the bucket's prize amount.
- a computer readable non-transitory storage medium for tangibly storing thereon computer readable instructions that when executed cause at least one processor to create an initial number of instances of a contest at a beginning of a contest generation period associated with the contest, each contest instance having a same number of available entry slots for possible contest participants to enter the contest prior to the contest's start time; monitor a number of available contest instances to ensure that there are at least a maintenance number of available contest instances for possible contest participants to enter the contest prior to the contest's start time; create, for a first portion of the contest generation period, an additional instance of the contest to replace a filled contest instance such that there are a maintenance number of available contest instances, the additional contest instance having the same number of entry slots as the filled contest instance; and for a second portion of the contest generation period before the contest's start time: estimate a number of possible contest participants likely to enter the contest during the second portion of the contest generation period; and create an additional instance of the contest to replace the filled contest instance
- a system comprising one or more computing devices configured to provide functionality in accordance with such embodiments.
- functionality is embodied in steps of a method performed by at least one computing device.
- program code to implement functionality in accordance with one or more such embodiments is embodied in, by and/or on a computer-readable medium.
- FIG. 2 provides an example of a process flow for a heuristic algorithm used in accordance with one or more embodiments.
- FIG. 3 provides an example of a leftover distribution process flow for use in accordance with one or more embodiments.
- FIG. 4 provides an example of a payout structure determined in accordance with embodiments of the present disclosure.
- FIG. 5 provides an illustrative summarization of a payout structure optimization using a heuristic approach in accordance with one or more embodiments of the present disclosure.
- FIG. 6 provides an illustrative summarization of a payout structure optimization using an integer programming approach in accordance with one or more embodiments of the present disclosure.
- FIG. 7 provides a sample graphical user interface (GUI) screen in accordance with one or more embodiments of the present disclosure.
- GUI graphical user interface
- FIG. 8 provides an example of another graphical user interface (GUI) screen in accordance with one or more embodiments of the present disclosure.
- GUI graphical user interface
- FIG. 9 illustrates some components that can be used in connection with one or more embodiments of the present disclosure.
- FIG. 10 is a detailed block diagram illustrating an internal architecture of a computing device in accordance with one or more embodiments of the present disclosure.
- terms, such as “a,” “an,” or “the,” again, may be understood to convey a singular usage or to convey a plural usage, depending at least in part upon context.
- the term “based on” may be understood as not necessarily intended to convey an exclusive set of factors and may, instead, allow for existence of additional factors not necessarily expressly described, again, depending at least in part on context.
- the present disclosure includes a fantasy sports data analysis for game structure development system, method and architecture.
- Some advantages in connection with embodiments of the present disclosure include without limitation: a) minimizing manual intervention in management and/or payout structure generation; b) automatically adjusting to user demand without overestimating the demand; c) simultaneously handling contests with both guaranteed and non-guaranteed payouts; and/or d) generating contest packages that allow for a high degree of user choice in terms of which contest to join.
- Embodiments of the present disclosure include a contest generation and payout structure system, method and architecture.
- a contest can be generated and a corresponding payout structure is generated in accordance with contest creation and payout structure generation parameters.
- Demand for online contests is rapidly growing with many millions of people actively involved at present. Such current and future online demands are addressed by computing devices specifically designed in accordance with one or more embodiments of the present disclosure.
- Embodiments of the present disclosure can be used by a web site provider, for example, to make various contests and associated payout structures available to contest participants that visit the provider's web site.
- a contest participant can register with the contest provider, view advertisements included on the provider's web site, provide information that may be used in targeting advertisements to the contest participant, etc.
- the contest generation system, method and architecture provides contest participants an ability to participate in fantasy contests, such as sports fantasy contests.
- Embodiments of the present disclosure can be used to provide short-term contests, such as and without limitation short-term sports fantasy contests, which can run for less than a full season, such as and without limitation on a daily, e.g., one-day competitions, or weekly, e.g., one-week competitions, basis. While embodiments of the present disclosure are described in connection with short-term contests, it should be apparent that embodiments may be used in connection with contests of any duration or time frame, including full season contests.
- FIG. 1 provides an illustration of components, including contest generation and payout components, in accordance with one or more embodiments of the present disclosure.
- system 100 is available to various entities, such as and without limitation contest specifiers, contest providers and contest participants.
- system 10 might be provided by a contest provider.
- System 100 comprises a contest management component, or contest manager, 102 , a contest payout structure generation component, or payout structure generator, 104 and data storage 106 .
- System 100 may include a number of server computers, or computing devices.
- System 100 may be accessible via computer devices, such as and without limitation computing devices 108 , 110 and 112 of contest specifiers, contest participants and contest providers, respectively.
- Data storage 106 may include a number of physical data storage devices storing data in any structure or format.
- data storage 106 can store contest specifications of contest specifiers, contest parameters of contest providers, information about contest participants, information about each contest created by system 100 , etc.
- the system 100 receives a contest specification from a contest specifier, such as and without limitation a service provider, website, and/or a sports league, e.g., National Football League (NFL), National Basketball Association (NBA), Major League Baseball (MLB), National Hockey League (NH L), National College Athletic Association (NCAA) football, basketball, etc.).
- a contest specifier such as and without limitation a service provider, website, and/or a sports league, e.g., National Football League (NFL), National Basketball Association (NBA), Major League Baseball (MLB), National Hockey League (NH L), National College Athletic Association (NCAA) football, basketball, etc.).
- Such a specification comprises information designating a given contest, such as and without limitation an entry fee to be paid by each participant in the contest, contest capacity information, which can identify the number of participants for a given instance of the contest or for all instances of the contest, a payout type, e.g., guaranteed, non-guaranteed, etc., for the contest, prize pool, e.g., total amount of the prize to be apportioned to the contest winner(s), prize breakdown, etc.
- a prize breakdown can indicate how a prize pool is divided, apportioned or allocated between the winning users.
- a contest provider can specify, for each sports league, rules of a corresponding fantasy game, or contest, such as and without limitation, what constitutes a valid fantasy team, how real-world athletes accumulate points in the game, etc.
- a contest provider may also provide information used to set parameters for contest creation and regeneration, such as and without limitation a number of contest instances to be initially created and a number of unfilled contest instances available.
- a contest provider may provide information indicating how risk prone or risk averse the provider would like to be, whether to use a flat or spiked payout for competitions, etc.
- System 100 may use the information in contest creation and generation and payout structure generation.
- System 100 is able to offer any number of contests and instances of each contest in accordance with any parameter setting at any time. As is described in more detail below, multiple instances of a contest are possible. Each instance of a given contest can be considered to share a contest “type”. While system 100 , contest manager 102 and payout structure generator 104 are described herein in connection with short-term contests, such as daily fantasy sports, it should be apparent that they can be used for managing, and generating payout structures for, any contest of any duration.
- system 100 operates in real-time to monitor user, e.g., contest participant, behavior and contest fill rates, and makes determinations such as when to offer new contests and/or contest instances.
- contest manager 102 is configured to, among other things, create contest instances, monitor the activity of contest participants in connection with the contest instances, create additional contest instances to replace contest instances filled to capacity during the contest's contest generation period, and determine whether or not to dynamically adjust contest creation parameters, e.g., a parameter, n, identifying a number of instances of a contest to create at the start of a given contest generation period and a maintenance parameter, m, specifying a maintenance level; and payout structure generator 104 is configured, among other things, to automatically generate a prize payout structure for each contest in accordance with the contest's contest type and other considerations. As such, there is very little if any need for manual intervention in the management of fantasy contests offered using system 100 .
- contest manager 102 may determine a contest generation period for a given day and sports league.
- a contest generation period refers to an interval of time between the start of the contests that ran on the preceding day for a contest provider, and the start of the contests being offered for the contest provider on the current day. For example and without limitation, on weeknights, the bulk of MLB games begin, at the earliest, at 7:00 PM Eastern time, and hence a Daily Fantasy contest provider, such as and without limitation Yahoo!TM, might have most of its MLB contests start at 7:00 PM Eastern Time. In this situation, the contest generation period refers to the time between the start of the previous day's MLB contests, and 7:00 PM Eastern Time on the current day.
- contest generation period might refer to the time between the start of the MLB contests on the most recent day in which contests were offered, and 7:00 PM Eastern Time of the current day.
- contest management 102 can provide contest creation for a contest provider to offer some additional MLB contests that may start at some designated time after 7:00 PM using statistics from MLB games that started after the contest began.
- a number of contest participants compete against each other and are then ordered, or ranked, based on performance.
- prize money can be distributed to the participants based on their rank in the order, with higher ranks receiving more money than lower ranks.
- Embodiments of the present disclosure may be used with any type of contest now known or later developed.
- contest types include without limitation double up, 50/50, quadruple up, tournament.
- double up contest slightly less than 50% of the contest participants double their money and the remaining contest participants win nothing.
- 50/50 contest 50% of the participants will almost double their money, and the remaining contest participants win nothing.
- quadruple up contest roughly the top 25% of the participants quadruple their money, and the remaining contest participants win nothing.
- payouts are determined by apportioning the prize pool among the winning contest participants.
- a tournament refers to any contest having a payout structure in which the first place winner wins the most amount of money, the second place winner wins an amount that is less than the first place amount, and so on; such a structure satisfies prize amount monotonicity.
- system 100 can receive input from a contest specifier, contest provider and contest participants, or other users of system 100 .
- system 100 can receive configuration information, which may be submitted as a configuration file, input via a user interface such as might be provided using one or more web pages.
- the configuration specified by the provider can comprise such information as the types of contests to be offered by the system 100 on the provider's behalf, and, for each contest type, one or more contest creation and/or management parameters.
- a contest provider may provide initial values for the parameter, n, specifying a number of identical contests, which may be referred to herein as contest instances, of the given type to create at the start of a given contest generation period, and the parameter, m, specifying a maintenance level.
- the parameters can vary from one contest configuration to another, and the parameters may be dynamically altered by contest manager 102 .
- the parameters may depend on the number of possible participants.
- m might be set to 0, precluding contest replacement, for a contest having a large capacity, e.g., each contest instance has a large number of participant slots, while m might be set to a number between 2 and 6 for a low-capacity contest, e.g., each contest instance has a small number of participant slots.
- contest manager 102 automatically creates the number, n, instances of the contest type at the start of a contest generation period.
- System 100 monitors contest instances and determines whether or not a contest instance is closed, e.g., a contest is closed when the number of participants reaches capacity, e.g., the number of participants signed up to participate in a contest instance reaches the allowed number of participants for the contest instance.
- contest manager 102 makes a determination whether the number of unfilled contest instances of a contest falls below mi. If contest manager 102 determines that the number of unfilled contest instances falls below the value of m, it can automatically create a number of new contest instances to bring the number of unfilled contest instances to m.
- contest manager 102 uses the contest generation period, the end of which may be identified based on a specified contest start time parameter, to determine whether or not to create a new contest instance.
- contest manager 102 might forego creating a new contest instance, even in a case that the number of unfilled contest instances is below the maintenance number, m, instances if a start time of the contest is within a given amount of time, which may be specified by a contest provider, for example.
- contest manager 102 is able to adjust to user demand, and can do so without user intervention. If demand is substantially higher one week than in the previous week, more contest instances are likely to fill to capacity, but they can be immediately replaced by new contest instances by contest manager 102 .
- contest manager 102 may be configured to use a larger number for n as the number of contest instances to be created at the start of the contest generation period, so that system 100 gives users, e.g., potential contest participants, a greater number of choices in terms of which instance of a contest to join.
- some users may prefer to join contests that are currently well below capacity, in the hope that the contest will fail to fill, while others may prefer to choose a contest based on the experience level of users who have already joined, if the contest provider makes user experience statistics publicly available.
- the contest manager 102 may be configured to automatically update the system parameters, n and m, based on demand. For example, if the system determines that contests are not filling at a fast enough rate on Mondays, or are filling too quickly on Thursdays, then the system 100 might adjust the value of n and/or in used on Mondays and the value of n and/or in used on Thursdays accordingly.
- contest manager 102 makes a determination whether or not to regenerate contest instances using the maintenance parameter, m, as existing contests fill.
- contest manager 102 may choose to stop regenerating, or creating new, contest instances even though the number of contest instances falls below m.
- contest manager 102 may stop creating new instances of a contest altogether or may alter its contest regeneration approach.
- contest manager 102 may elect to create one or more new contest instances, each of which has an entry capacity, e.g., the number of entry slots available, determined by the contest manager 102 using observations made by the contest manager 102 , such as and without limitation contest participation data collected from one or more previous contest generation periods.
- contest manager 102 uses at least one previous contest generation period to determine a number of users who joined contests with the same entry fee, F, in the last Y minutes before contest start time in the previous contest generation period(s).
- F entry fee
- the system can use the previous day's MLB data to estimate how many additional participants are likely to enter a contest with entry fee F in the time remaining, Y.
- Contest manager 102 can subtract from the estimated number of additional participants the number of currently unfilled openings in contests with entry fee F.
- the result, U is an estimate of the number of users likely to enter a new contest instance with entry fee F if it is created.
- the result, U represents an estimated need for available entry slots in a time remaining of a contest's contest generation period. If the number of estimated users, U, exceeds the capacity of a contest instance just filled, contest manager 102 can automatically create a new contest instance that has the same number of slots, e.g., has the same capacity, as the filled contest instance that is being replaced by the new contest instance. If not, contest manager 102 can create a new contest instance with a capacity of U.
- payout structure generator 104 determines a structure to be used to divide a contest's prize pool among the winning contest participants. In accordance with at least one such embodiment, payout structure generator 104 generates a payout structure that apportions a prize pool among the winning contest participants such that the exact amount of the prize pool is apportioned to the contest winners and the prize amounts satisfy monotonicity of prizes, which ensures that the first place, or ranked, prize amount is at least as much as the second place prize amount, which is at least as much as the third place prize amount and so on.
- the prize amounts are rounded to a nice number while ensuring that the total amount of the payout apportioned to the winners is equal to the total prize pool.
- payout structure generator 104 is configured to use as input the total prize pool, the number of winners, the first prize amount and the entry fee and generates a prize payout structure.
- payout structure generator 104 selects tentative prize amounts, e.g., using a power law distribution, defines a mathematical optimization problem to generate a payout structure and satisfy problem conditions, or constraints, (monotonicity, roundness of payouts, total budget, number of winners) in generating the payout structure.
- problem conditions or constraints, (monotonicity, roundness of payouts, total budget, number of winners) in generating the payout structure.
- constraints constraints
- any approach may be used to define tentative prizes, such as and without limitation exponentially or logarithmically declining tentative prize generation approaches.
- payout structure generator 104 uses a set of buckets, each of which has an associated prize amount, assigns one or more of a contest's winning places, e.g., first place, second place, etc., to one of the buckets in the set.
- each winning place assigned to a bucket has the same associated prize amount, which is the prize amount associated with the bucket.
- embodiments of the present disclosure may generate a payout structure without using buckets.
- buckets may be superfluous for small tournaments with few participants and each winner is paid a distinct prize.
- the payout structure generator 104 uses a nice number criteria for generating a payout structure comprising aesthetically pleasing prize amounts to be displayed with a contest instance.
- a prize amount of $1,000.00 is preferable to $1,012.11 and/or $1,012.00.
- a prize amount can be rounded up or rounded down to an aesthetically pleasing amount.
- Such an aesthetically pleasing amount is referred to herein as a nice number.
- a nice number may be an amount that does not include cents to the right of the decimal point.
- An aesthetically pleasing nice number can be based on expressed and/or observed user nice number preferences.
- payout structure generator 104 generates a payout structure that includes, to the extent possible, aesthetically pleasing prize amounts.
- the payout structure generated by the payout structure generator 104 may be displayed in connection with a contest instance that is available for selection by a user, e.g., a potential contest participant, and may not reflect the prize amounts that are to be awarded to the contest winners.
- the actual prize amounts may differ from the generated payout structure.
- the participants might be awarded some split the prize amount associated with the winning place at which they tied, which prize amount is identified by the payout structure generated by the payout structure generator 104 .
- the payout structure generator 104 may use any algorithm or procedure to generate a nice number, or an aesthetically pleasing number.
- the algorithm that is used can be based on user preference, which may comprise monetary denomination preferences, round number preferences. What constitutes a nice number can differ based on the currency being used with the payout structure, aesthetic preferences of users with respect to rounded prize amounts to be used, etc.
- U.S. currency users are likely to prefer an amount, e.g., $1, $5, etc., excluding cents.
- amounts larger than $10 users are likely to prefer an amount that is some multiple of $5, where the multiple may differ depending on the amount being rounded.
- the following provides a non-limiting example of properties that may be used in identifying a nice number, X, for less than or equal to 1000:
- payout structure generator 104 generates a payout structure in which each non-zero amount is at least a minimum amount, E, where E is at least, and can preferably be more than, the entry fee paid to enter the contest.
- E a minimum amount
- E the minimum amount
- E might be 1.5 times the entry fee.
- the payout structure generator 104 uses a two-stage approach using buckets and nice numbers in generating a payout structure for a contest.
- payout structure generator 104 generates a tentative payout structure which may or may not satisfy bucketing and nice numbers criteria.
- the tentative payout structure may comprise a number, N, tentative prizes.
- the number, N may be a preferred number of winning places for a contest set by a contest specifier, for example and without limitation.
- payout structure generator 104 takes into account prize amount monotonicity in determining the tentative payout structure, such that ⁇ 1 ⁇ 2 ⁇ . . . ⁇ N .
- the payout structure generator 104 uses the tentative payout structure to generate at least one related payout structure, which takes into account bucketing and nice number considerations.
- the related payout structure generated by the payout structure generator 104 may be published, e.g., on a web site such as and without limitation a fantasy contest web site, in connection with a contest instance provided to potential and actual contest participants.
- B represents a contest's total prize pool, or prize pool
- N represents the number of winning contest participants that are intended to share in the prize pool
- E represents a minimum prize amount
- P i represents the prize associated with place i determined by the payout structure generator 104 .
- B, the first place prize amount, P 1 , and N may be user-defined parameters, e.g., set by contest specifier and/or provider.
- the first place prize amount, P 1 may vary widely in fantasy sports contests.
- a range of first place prizes amount might be from 0.05 times B to nearly 0.5 times B.
- a first place prize amount might be 0.15 times B, such that the first place winner is designated to win 15% of the prize pool. It should be apparent that any first place prize amount may be used with embodiments of the present disclosure.
- N may be roughly 25% of the total number of contest participants, although this choice may vary as well, such that any value is contemplated for N.
- payout structure generator 104 in the first stage, payout structure generator 104 generates a tentative payout structure in accordance with a power law that uses a constant, a, indicating a rate, e.g., how quickly or slowly, that the payout amounts fall from the first prize amount to the last prize amount.
- power law ensures that the payoffs drop off at a desirable pace from first place to second place to third place and so on.
- a desirable pace may be expressed as a pace that is fast enough that the very top finishers are richly rewarded relative to the rest of the winners, but slow enough that winning contest participants in, for example the tenth percentile, still win an acceptable amount of money.
- users should be intuitively comfortable with a payout structure that mirrors that seen in real life.
- payout structure generator 104 assigns each winning place a prize amount of E dollars to satisfy a minimum payout condition.
- the minimum payout, E is at least equal to the entry fee.
- the remaining amount of the prize pool, which may be referred herein as the remaining budget may be determined to be total prize pool, B, less N times E, or B ⁇ (N ⁇ E).
- the payout structure generator 104 can apportion the remaining budget according to a power law function, such that the amount of the remaining budget given to winning place i is proportional to 1/i ⁇ , where ⁇ is a fixed constant greater than zero, e.g., ⁇ >0. For any positive value of ⁇ , the resulting payouts satisfy a monotonicity condition that ensures that a higher-ranked winning place's prize amount is at least as great as a lower-ranked winning place's prize amount.
- payout structure generator 104 selects a value for ⁇ that ensures that the payout amounts of a payout structure sum to the amount of the prize pool, B.
- the value of ⁇ used in 1/i ⁇ may be selected in accordance with the following:
- the above expression may be solved for a with a given level of precision by binary search.
- the level of precision may be set to any level, such as and without a 0.1, 0.001, etc. precision level.
- a tentative payout, ⁇ i , for place i may be expressed as:
- a power law function is used to distribute a prize pool amount excluding a first place prize amount to each winning place other than first place.
- first place may be assigned a predetermined first place prize amount and the remaining prize pool, e.g., a total prize pool less the first place prize amount, can be distributed to winning places other than first place using the power law function.
- the tentative payout structure generated by the payout structure generator 104 in the first stage can be expressed as ⁇ 1 , . . . , ⁇ N , where a tentative payout, ⁇ i , represents a tentative payment for the i th place winner.
- the payout structure generator 104 uses the tentative payout structure in selecting a related payout structure satisfying bucketing and nice number conditions.
- the payout structure generator 104 can generate a number of related payout structure candidates, measure a closeness of each candidate to the tentative payout structure, and select the candidate that is closest, relative to the other candidates, to the tentative payout structure.
- closeness may comprise a Euclidean distance, e.g., a sum-of-squared error, where the distance between two payout structures (P 1 , . . . P N ) and (Q 1 , . . . , Q N ) may be expressed as ⁇ i (P i ⁇ Q i ) 2 .
- the payout structure generator 104 can identify the related payout structure candidate that is closest to a tentative payout structure determined in the first stage while taking into account bucketing and nice number conditions.
- payout structure generator 104 identifies the related payout structure by using optimization, which can be performed using various methods.
- payout structure generator 104 in accordance with one or more embodiments, given a target number of buckets, r, the set, ⁇ 1, . . . , N ⁇ , of winning places is partitioned into the set of r buckets, which set is represented as S 1 , . . . , S r , each bucket containing a set of consecutive winning places; and, each payout, ⁇ i in a set of payouts, ⁇ 1 , . . . , ⁇ r is assigned to a respective bucket, such that (S 1 , . . . , S r , ⁇ 1 , . . . , ⁇ r ) is an optimal, or optimized, solution.
- an optimized solution might assign a nice number that is between E and B to each payout, ⁇ i in the set ⁇ 1 , . . . , ⁇ r , since using any higher payout may result in a total payout exceeding the prize pool.
- the range can be set such that numbers much above P 1 , which is the contest provider's specified amount to be awarded to the first place winner, can be avoided.
- any definition may be used to identify nice numbers spread out exponentially as they increase, with an effect that the number of nice numbers below a fixed value, x, is proportional to log(x), such that there may be O(log B) nice numbers between E and B.
- a heuristic algorithm is used to find an optimized solution, which solution yields the related payout structure closest to the tentative payout structure and satisfies the bucketing and nice numbers conditions.
- FIG. 2 provides an example of a process flow for a heuristic algorithm used in accordance with one or more embodiments.
- step 202 may correspond to the first stage of operation and steps 204 , 206 , 208 and 210 may correspond to the second stage.
- a tentative payout structure e.g., ⁇ 1 , . . . , ⁇ N .
- bucket sizes are initialized. Each bucket's size identifies the number of winning places included in the bucket.
- bucket sizes can be chosen to achieve a bucket size monotonicity, with bucket size decreasing monotonically, such that the size of the first bucket, S 1 , which corresponds to the winner of the contest, is less than or equal to the size of the second bucket, S 2 , which has a smaller size than the next bucket and so on. This can be expressed as
- a first number of the buckets e.g., the first four buckets
- a size e.g., a size of 1
- the payout structure generator 104 continues processing to set a bucket size,
- ⁇
- a determination may be made whether or not to continue the process of determining the number of buckets and the size of each bucket. Such a determination may use N and the size of the buckets up to and including the t th bucket.
- the process may terminate if the payout structure generator 104 determines the following two conditions to be true: ⁇ 2
- ⁇ + ⁇ i 1 t
- ⁇ + ⁇ i 1 t
- one or more determinations may be made in determining whether or not to accept a current set of initial bucket sizes at step 204 .
- such determinations may comprise the following: 4
- + ⁇ i 1 t
- + ⁇ i 1 t
- the size of the S t+1 bucket which size is represented as
- , of bucket S t+2 can be expressed as:
- brackets represent a floor function which may be used to map the result determined within the brackets to the largest nice number not greater than the result, e.g., the result can be rounded down to the nearest integer value if the result is a non-integer value.
- the factor, ⁇ may be any value, which may be determined heuristically and/or may be different for different contests, e.g., a value used for a small contest, e.g., a contest with a small number of participants, may be different than the value used for a large contest, e.g., a contest with a large number of participants.
- ⁇ may be initially set to 1, and a number of buckets can be determined using the initial value. If the number of buckets is larger than the desired number of buckets, r, the value of ⁇ may be increased and the new value of ⁇ may be used to determine a new number of buckets generated using the new value. For example and without limitation, such an iterative process may indicate that a value of 1.4 for ⁇ yields a reasonable number of buckets and satisfies the bucket number specified by r.
- Processing continues at step 206 to determine each bucket's associated prize amount, or payout.
- its associated prize amount may be determined using the first tentative prize, ⁇ 1 , rounded, e.g., rounded down, to the nearest nice number.
- the difference between the first tentative prize, ⁇ 1 , and the nearest nice number selected as the first bucket's associated prize amount is a leftover, L, for the first bucket.
- a nearest nice number is selected for each of the remaining buckets, S 2 , . . . , S 1 .
- a prize amount, ⁇ i for a given bucket, S i , of the remaining buckets can be determined using R i /
- a bucket merger performed at step 206 may result in a situation in which the size of a bucket, S i is greater than the size of bucket, S i+1 .
- Step 208 may be used to preserve monotonic bucket sizes, e.g.,
- Step 208 may be performed to adjust buckets sizes to ensure increasing bucket size when moving from a higher prize to a smaller prize.
- a determination is made whether or not the size of bucket, S i , for i 1 to r ⁇ 1 is larger than the size of bucket, S i+1 . If it is, winning places can be shifted to bucket, S i+1 until the size of bucket, S i+1 is at least equal to the size of bucket, S i .
- step 206 results in a non-zero leftover remaining from the last bucket.
- the leftover may be distributed, at step 210 by modifying the payout of one or more of the buckets.
- FIG. 3 provides an example of a leftover distribution process flow for use in accordance with one or more embodiments.
- step 304 processing continues at step 304 to distribute the leftover amount, as much as possible, to some or all of the beginning buckets. While the prize amount associated with the first bucket might be modified in some cases, it may be that the first place prize amount is set by the contest specifier and/or provider, e.g., the first place prize amount is set to $1 million dollars, and cannot be changed. Consequently and in one illustrative approach, the leftover may be distributed with one or more buckets after the first place bucket. By way of a none-limiting example, the leftover might be distributed to one or more of the buckets after the first bucket that have one winning place associated with the bucket.
- the second, third, fourth, and possibly fifth, buckets may have been assigned one winning place each, and at least some of the leftover, L, may be distributed to one or more of these buckets, e.g., to some or all of buckets S 2 , . . . , S 5 .
- the payout amount, ⁇ i associated with bucket, S i , can be adjusted to equal min ⁇ i +L, ( ⁇ i ⁇ 1 + ⁇ i )/2 ⁇ , rounded down to a nice number. In so doing, as much of L as possible can be distributed without resulting in too large an increase in each prize.
- step 308 a determination is made whether there is any leftover, L, remaining after the distribution performed at step 304 . If there is no leftover remaining after step 304 , processing ends.
- processing continues at step 308 to perform a second distribution.
- an increase to a bucket's prize amount may result in a prize amount associated with bucket that is not a nice number; however, such a case might be limited to the last bucket, S k .
- the remaining leftover can be distributed using the last bucket, S k , or the last two buckets, S k and S k ⁇ 1 .
- the last bucket, S k in the set of buckets, is typically the largest bucket when using monotonically increasing bucket sizes.
- the amount of L remaining after step 304 may be distributed to the last two buckets, e.g., S k ⁇ 1 and S k .
- an amount of money available is determined by summing all of the prizes in these buckets plus L.
- the prize amount associated with a bucket multiplied by the number of winning places associated with the bucket yields the bucket's prizes.
- the prize amount associated with the last bucket can be set to be a minimal possible amount, E.
- Various alternatives for distributing L can be considered, each of which includes a possible size and integer prize amount for the penultimate bucket, S k ⁇ 1 . Nice number considerations may be ignored.
- the last bucket can be made to have an integer size with a payout E.
- a “heuristic cost” may be determined to penalize for various violations of considerations, or constraints, used in determining an optimized solution.
- a candidate's heuristic cost can reflect that the number of winners determined for the candidate is less than or greater than N, bucket size monotonicity is not upheld with the candidate, etc.
- a candidate's heuristic cost may include a charge, e.g., a charge of 100, for each unit of difference if the potential solution's number of winners is less than N
- the candidate's heuristic cost may include a charge, e.g., a charge of 1, for each unit of difference between the candidate's number of winners and N if the candidate's number of winners is larger than N
- the heuristic cost may include a charge, e.g., a charge of 10, for each unit of violation in bucket size monotonicity.
- Each candidate's heuristic cost can be used to select one of the candidates.
- the candidate that is selected is the one with the minimal heuristic cost relative to the heuristic cost(s) of the other candidates considered.
- a prize and size solution may be selected for the penultimate bucket that violates the various considerations, or problem solution constraints, the least.
- FIG. 4 provides an example of a payout structure determined in accordance with embodiments of the present disclosure.
- the prize pool, B is equal to $3000
- the first prize, P 1 is equal to $300
- the number of winners, N is equal to 853
- the smallest prize amount, E is equal to $2.
- the payout structure generator 102 operating in accordance with one or more embodiments of the present disclosure determines the number of buckets to be 13, where buckets 1-5 each has one winning place assigned to the bucket, buckets 6 and 7 each have two winning places assigned to the bucket, and so on.
- the bucket sizes satisfy bucket size monotonicity such that the bucket size increase monotonically from the first bucket to the last.
- the prize amounts associated with each bucket satisfy prize amount monotonicity such that the prize amounts decrease monotonically from the first bucket to the last.
- Each bucket's prize amount is a nice number, which satisfies aesthetic prize amount preferences, which may specified by and/or determined for the user.
- the nice number used for a prize amount can be generated using a nice number generator such as that discussed hereinabove.
- the aggregate bucket size of 853 is equal to N
- the total prize pool is equal to B
- the prize amount associated with the first bucket corresponds to the first place prize, P 1
- the last bucket has a prize amount corresponding to the smallest prize amount, E.
- contest manager 102 may identify the winning participants as well as an ordering, or ranking, of the winning participants, e.g., from 1 to 853, and use the pay structure 404 generated by payout structure generator 104 using parameters 402 as a guide for assigning a prize amount to each of the 853 winners.
- the pay structure 404 the first place winner is to receive $300, the second place winner is to receive $200, etc., with the last 649 winners to receive $2 each.
- FIG. 5 provides an illustrative summarization of a payout structure optimization using a heuristic approach in accordance with one or more embodiments of the present disclosure.
- the payout structure optimization problem can be optimized to find a set of buckets and corresponding prize amounts given a set of ideal payouts for N contest winners, a total prize pool and a minimum payout amount.
- expression 502 can be optimized to determine an optimal solution comprising a set of buckets and corresponding prize amounts, e.g., (S 1 , . . . , S r , ⁇ 1 , . . . , ⁇ r ).
- An optimal solution found by optimizing expression 502 yields a related payout structure closest to an initial payout structure subject to any conditions, e.g., conditions 504 .
- a heuristic approach may be used in identifying optimized solution to the payout structure generation problem. It should be apparent that other approaches in addition to a heuristic approach may find an optimized solution. By way of a non-limiting example, and integer linear approach may be used.
- FIG. 6 provides an illustrative summarization of a payout structure optimization using an integer programming approach in accordance with one or more embodiments of the present disclosure.
- expression 602 can be optimized to determine an optimal solution that assigns a winning place of N winning places to a bucket of a set of buckets and a prize amount to each bucket in the bucket set.
- An optimal solution found by optimizing expression 602 yields a related payout structure closest to an initial payout structure subject to any conditions, e.g., conditions 604 .
- an integer program used to in the integer approach can use variables x i,j,k and ⁇ tilde over (x) ⁇ j,k .
- variable x i,j,k is a binary contest participant, or contestant, variable, e.g., the variable has a value of 0 or 1.
- the number of contest variables can be determined based on the specified number of contest winners, N, the number of buckets, r, and the number of prize amounts, m, e.g., N ⁇ r ⁇ d.
- ⁇ tilde over (x) ⁇ i,j,k , i is an index into an ordering, or ranking, of the winning places, e.g., 1 to N
- j is a bucket index, e.g., 1 to j
- k is a prize amount index, e.g., 1 to d.
- variable ⁇ tilde over (x) ⁇ j,k may be used as binary auxiliary variable, e.g., the variable has a value of 0 or 1.
- the number of auxiliary variables can be determined based on the number of buckets, r, and the number of prize amounts, d, e.g., r ⁇ d.
- ⁇ tilde over (x) ⁇ j,k , j is a bucket index, e.g., 1 to r
- k is a prize amount index, e.g., 1 to d.
- the payout structure generator 104 may select a payout structure generation technique based on the number of winners.
- the payout structure generator 104 may use a heuristic approach or a linear programming approach, for a contest with a large number of winners and may use another approach for a contest with a small number of winners.
- the payout structure generator 104 may use parameters B, N, E and X to determine a payout structure.
- the parameters B, N, E are the same parameters discussed in connection with other payout structure generation techniques discussed herein.
- the parameter X represents a target percentage used to determine a tentative prize amount for the first place winner, e.g., X represents a target percentage of the prize pool that can be used in determining the first place prize amount.
- the resulting value for ⁇ 1 can be rounded down to the nearest nice number. If rounding ⁇ 1 down to the nearest nice number results in a first place prize amount that is less than half of the total prize pool, e.g., 0.5 ⁇ B, ⁇ 1 can be rounded up to the nearest nice number. Otherwise, the first place prize amount, P 1 , may be determined by rounding ⁇ 1 to the closest nice number.
- P 1 can be redefined to be 0.6 ⁇ B rounded to the nearest integer
- B ⁇ P 1 ⁇ 2 ⁇ E P 1 can be redefined to be 0.6 ⁇ (B ⁇ E) rounded to the nearest integer.
- the second place prize amount, P 2 can be set to ⁇
- FIG. 7 provides a sample graphical user interface (GUI) screen in accordance with one or more embodiments of the present disclosure.
- GUI graphical user interface
- the GUI screen examples shown in FIGS. 7 and 8 may be provided by one or more server computers via an electronic communications network, such as and without limitation the internet, and generated by a web browser a number of user computing devices, for example.
- FIG. 7 provides a listing of MLB contests with guaranteed payouts.
- Each line below the title line corresponds to an instance of a contest generated by contest manager 102 .
- Fields 702 , 704 , 706 , 708 and 710 display information for each contest instance including a contest description in field 702 , number of current participants and maximum number of possible participants in field 704 , an entry fee amount in field 706 , a prize pool amount, e.g., a total amount of the prizes to be awarded, in field 708 and a contest start time in field 710 .
- the contest start time may be used to by the contest manager 102 to determine a contest generation period.
- Each contest instance entry may also include none or more of icons 714 and 716 .
- the presence of icon 714 in connection with a contest instance indicates that a user can enter the contest instance more than once.
- the presence of icon 716 in connection with a contest instance indicates that the contest instance is guaranteed to run even if it does not fill to capacity.
- Each contest instance has an associated button 712 , which is selectable by a user to enter the corresponding contest instance.
- FIG. 8 provides an example of another graphical user interface (GUI) screen in accordance with one or more embodiments of the present disclosure.
- GUI graphical user interface
- the GUI screen example of FIG. 8 can be displayed in response to a user's selection of a contest instance from the GUI screen example of FIG. 7 .
- the user may exit the screen, e.g., to navigate back to the GUI screen shown in FIG. 7 , by selecting icon 802 .
- the GUI screen example shown in FIG. 8 includes a payout structure display portion 804 , which provides at least a portion of a payout structure generated by the payout structure generator 104 . If the entire payout structure is not fully displayed in area 804 , the user may use a scrolling capability to view the payout structure, for example.
- the GUI screen example includes an area 810 to display the number of winning places, which value can be determined by the payout structure generator 104 .
- Area 806 of the GUI screen example includes a listing of entrants, or contest participants.
- the contest is a MLB contest.
- Area 808 includes a listing of the MLB games whose players are available to be selected by a participant. The user is able to scroll through the MLB game listing.
- FIG. 9 illustrates some components that can be used in connection with one or more embodiments of the present disclosure.
- one or more computing devices e.g., one or more servers, user devices or other computing device, are configured to comprise functionality described herein.
- a computing device 902 can be configured to execute program code, instructions, etc. to provide functionality in accordance with one or more embodiments of the present disclosure.
- the same or another computing device 902 may be configured to execute program code to implement functionality in accordance with one or more embodiments of the present disclosure.
- Computing device 902 can serve content to user computing devices 904 via a network 906 for display at the computing devices 904 using a browser application, for example.
- User computing devices 904 can include without limitation devices 108 , 110 and/or 112 .
- Data store 908 which can include data store 106 , can be used to store program code to configure a server 902 to functionality in accordance with one or more embodiments of the present disclosure.
- the user computing device 904 can be any computing device, including without limitation a personal computer, personal digital assistant (PDA), wireless device, cell phone, internet appliance, media player, home theater system, and media center, or the like.
- a computing device includes a processor and memory for storing and executing program code, data and software, and may be provided with an operating system that allows the execution of software applications in order to manipulate data.
- a computing device such as server 902 and the user computing device 904 can include one or more processors, memory, a removable media reader, network interface, display and interface, and one or more input devices, e.g., keyboard, keypad, mouse, etc. and input device interface, for example.
- server 902 and user computing device 904 may be configured in many different ways and implemented using many different combinations of hardware, software, or firmware.
- a computing device 902 can make a user interface available to a user computing device 904 via the network 906 .
- the user interface made available to the user computing device 904 can include content items, or identifiers (e.g., URLs) selected for the user interface in accordance with one or more embodiments of the present invention.
- computing device 902 makes a user interface available to a user computing device 904 by communicating a definition of the user interface to the user computing device 904 via the network 906 .
- the user interface definition can be specified using any of a number of languages, including without limitation a markup language such as Hypertext Markup Language, scripts, applets and the like.
- the user interface definition can be processed by an application executing on the user computing device 904 , such as a browser application, to output the user interface on a display coupled, e.g., a display directly or indirectly connected, to the user computing device 904 .
- the network 906 may be the Internet, an intranet (a private version of the Internet), or any other type of network.
- An intranet is a computer network allowing data transfer between computing devices on the network. Such a network may comprise personal computers, mainframes, servers, network-enabled hard drives, and any other computing device capable of connecting to other computing devices via an intranet.
- An intranet uses the same Internet protocol suit as the Internet. Two of the most important elements in the suit are the transmission control protocol (TCP) and the Internet protocol (IP).
- TCP transmission control protocol
- IP Internet protocol
- a network may couple devices so that communications may be exchanged, such as between a server computing device and a client computing device or other types of devices, including between wireless devices coupled via a wireless network, for example.
- a network may also include mass storage, such as network attached storage (NAS), a storage area network (SAN), or other forms of computer or machine readable media, for example.
- a network may include the Internet, one or more local area networks (LANs), one or more wide area networks (WANs), wire-line type connections, wireless type connections, or any combination thereof.
- LANs local area networks
- WANs wide area networks
- sub-networks such as may employ differing architectures or may be compliant or compatible with differing protocols, may interoperate within a larger network.
- a router may provide a link between otherwise separate and independent LANs.
- a communication link or channel may include, for example, analog telephone lines, such as a twisted wire pair, a coaxial cable, full or fractional digital lines including T1, T2, T3, or T4 type lines, Integrated Services Digital Networks (ISDNs), Digital Subscriber Lines (DSLs), wireless links including satellite links, or other communication links or channels, such as may be known to those skilled in the art.
- ISDNs Integrated Services Digital Networks
- DSLs Digital Subscriber Lines
- wireless links including satellite links, or other communication links or channels, such as may be known to those skilled in the art.
- a computing device or other related electronic devices may be remotely coupled to a network, such as via a telephone line or link, for example.
- a wireless network may couple client devices with a network.
- a wireless network may employ stand-alone ad-hoc networks, mesh networks, Wireless LAN (WLAN) networks, cellular networks, or the like.
- a wireless network may further include a system of terminals, gateways, routers, or the like coupled by wireless radio links, or the like, which may move freely, randomly or organize themselves arbitrarily, such that network topology may change, at times even rapidly.
- a wireless network may further employ a plurality of network access technologies, including Long Term Evolution (LTE), WLAN, Wireless Router (WR) mesh, or 2nd, 3rd, or 4th generation (2G, 3G, or 4G) cellular technology, or the like.
- LTE Long Term Evolution
- WLAN Wireless Router
- 2nd, 3rd, or 4th generation 2G, 3G, or 4G
- Network access technologies may enable wide area coverage for devices, such as client devices with varying degrees of mobility, for example.
- a network may enable RF or wireless type communication via one or more network access technologies, such as Global System for Mobile communication (GSM), Universal Mobile Telecommunications System (UMTS), General Packet Radio Services (GPRS), Enhanced Data GSM Environment (EDGE), 3GPP Long Term Evolution (LTE), LTE Advanced, Wideband Code Division Multiple Access (WCDMA), Bluetooth, 802.11b/g/n, or the like.
- GSM Global System for Mobile communication
- UMTS Universal Mobile Telecommunications System
- GPRS General Packet Radio Services
- EDGE Enhanced Data GSM Environment
- LTE Long Term Evolution
- LTE Advanced Long Term Evolution
- WCDMA Wideband Code Division Multiple Access
- Bluetooth 802.11b/g/n, or the like.
- Signal packets communicated via a network may be compatible with or compliant with one or more protocols.
- Signaling formats or protocols employed may include, for example, TCP/IP, UDP, DECnet, NetBEUI, IPX, Appletalk, or the like.
- Versions of the Internet Protocol (IP) may include IPv4 or IPv6.
- the Internet refers to a decentralized global network of networks.
- the Internet includes local area networks (LANs), wide area networks (WANs), wireless networks, or long haul public networks that, for example, allow signal packets to be communicated between LANs.
- Signal packets may be communicated between nodes of a network, such as, for example, to one or more sites employing a local network address.
- a signal packet may, for example, be communicated over the Internet from a user site via an access node coupled to the Internet. Likewise, a signal packet may be forwarded via network nodes to a target site coupled to the network via a network access node, for example.
- a signal packet communicated via the Internet may, for example, be routed via a path of gateways, servers, etc. that may route the signal packet in accordance with a target address and availability of a network path to the target address.
- a peer-to-peer (or P2P) network may employ computing power or bandwidth of network participants in contrast with a network that may employ dedicated devices, such as dedicated servers, for example; however, some networks may employ both as well as other approaches.
- a P2P network may typically be used for coupling nodes via an ad hoc arrangement or configuration.
- a peer-to-peer network may employ some nodes capable of operating as both a “client” and a “server.”
- FIG. 10 is a detailed block diagram illustrating an internal architecture of a computing device, e.g., a computing device such as server 902 or user computing device 904 , in accordance with one or more embodiments of the present disclosure.
- internal architecture 1000 includes one or more processing units, processors, or processing cores, (also referred to herein as CPUs) 1012 , which interface with at least one computer bus 1002 .
- CPUs processing cores
- Computer-readable medium, or media 1006 , network interface 1014 , memory 1004 , e.g., random access memory (RAM), run-time transient memory, read only memory (ROM), etc.
- media disk drive interface 1020 as an interface for a drive that can read and/or write to media including removable media such as floppy, CD-ROM, DVD, etc. media
- display interface 1010 as interface for a monitor or other display device
- keyboard interface 1016 as interface for a keyboard
- pointing device interface 1018 as an interface for a mouse or other pointing device
- miscellaneous other interfaces not shown individually such as parallel and serial port interfaces, a universal serial bus (USB) interface, and the like.
- USB universal serial bus
- Memory 1004 interfaces with computer bus 1002 so as to provide information stored in memory 1004 to CPU 1012 during execution of software programs such as an operating system, application programs, device drivers, and software modules that comprise program code, and/or computer-executable process steps, incorporating functionality described herein, e.g., one or more of process flows described herein.
- CPU 1012 first loads computer-executable process steps from storage, e.g., memory 1004 , computer-readable storage medium/media 1006 , removable media drive, and/or other storage device.
- CPU 1012 can then execute the stored process steps in order to execute the loaded computer-executable process steps.
- Stored data e.g., data stored by a storage device, can be accessed by CPU 1012 during the execution of computer-executable process steps.
- Persistent storage can be used to store an operating system and one or more application programs. Persistent storage can also be used to store device drivers, such as one or more of a digital camera driver, monitor driver, printer driver, scanner driver, or other device drivers, web pages, content files, playlists and other files. Persistent storage can further include program modules and data files used to implement one or more embodiments of the present disclosure, e.g., listing selection module(s), targeting information collection module(s), and listing notification module(s), the functionality and use of which in the implementation of the present disclosure are discussed in detail herein.
- a computer readable medium stores computer data, which data can include computer program code that is executable by a computer, in machine readable form.
- a computer readable medium may comprise computer readable storage media, for tangible or fixed storage of data, or communication media for transient interpretation of code-containing signals.
- Computer readable storage media refers to physical or tangible storage (as opposed to signals) and includes without limitation volatile and non-volatile, removable and non-removable media implemented in any method or technology for the tangible storage of information such as computer-readable instructions, data structures, program modules or other data.
- Computer readable storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, DVD, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other physical or material medium which can be used to tangibly store the desired information or data or instructions and which can be accessed by a computer or processor.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
Abstract
Description
┌β2 |S t |┐+┌β|S t|┐+Σi=1 t |S i |>N, and
┌β|S t|┐+Σi=1 t |S i |≤N.
4|S t|+2|S t|+Σi=1 t |S i |>N, and
2|S t|+Σi=1 t |S i |≤N,
Claims (18)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/276,855 US10722799B2 (en) | 2015-10-06 | 2019-02-15 | Fantasy sports data analysis for game structure development |
US16/939,700 US11358060B2 (en) | 2015-10-06 | 2020-07-27 | Fantasy sports data analysis for game structure development |
US17/838,473 US20220314123A1 (en) | 2015-10-06 | 2022-06-13 | Fantasy sports data analysis for game structure development |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/876,101 US10207188B2 (en) | 2015-10-06 | 2015-10-06 | Fantasy sports data analysis for game structure development |
US16/276,855 US10722799B2 (en) | 2015-10-06 | 2019-02-15 | Fantasy sports data analysis for game structure development |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/876,101 Division US10207188B2 (en) | 2015-10-06 | 2015-10-06 | Fantasy sports data analysis for game structure development |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/939,700 Continuation US11358060B2 (en) | 2015-10-06 | 2020-07-27 | Fantasy sports data analysis for game structure development |
Publications (2)
Publication Number | Publication Date |
---|---|
US20190176042A1 US20190176042A1 (en) | 2019-06-13 |
US10722799B2 true US10722799B2 (en) | 2020-07-28 |
Family
ID=58447306
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/876,101 Active 2037-05-25 US10207188B2 (en) | 2015-10-06 | 2015-10-06 | Fantasy sports data analysis for game structure development |
US16/276,723 Active US10786738B2 (en) | 2015-10-06 | 2019-02-15 | Fantasy sports data analysis for game structure development |
US16/276,855 Active US10722799B2 (en) | 2015-10-06 | 2019-02-15 | Fantasy sports data analysis for game structure development |
US16/939,700 Active 2035-11-17 US11358060B2 (en) | 2015-10-06 | 2020-07-27 | Fantasy sports data analysis for game structure development |
US17/838,473 Pending US20220314123A1 (en) | 2015-10-06 | 2022-06-13 | Fantasy sports data analysis for game structure development |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/876,101 Active 2037-05-25 US10207188B2 (en) | 2015-10-06 | 2015-10-06 | Fantasy sports data analysis for game structure development |
US16/276,723 Active US10786738B2 (en) | 2015-10-06 | 2019-02-15 | Fantasy sports data analysis for game structure development |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/939,700 Active 2035-11-17 US11358060B2 (en) | 2015-10-06 | 2020-07-27 | Fantasy sports data analysis for game structure development |
US17/838,473 Pending US20220314123A1 (en) | 2015-10-06 | 2022-06-13 | Fantasy sports data analysis for game structure development |
Country Status (1)
Country | Link |
---|---|
US (5) | US10207188B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10463975B2 (en) * | 2016-06-30 | 2019-11-05 | Oath Inc. | Automatic fantasy sports data analysis method and apparatus |
US20210350675A1 (en) * | 2020-05-08 | 2021-11-11 | Big Money Brackets Inc. | System and method for operating fantasy sports leagues |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060052159A1 (en) | 2004-09-07 | 2006-03-09 | Tom Cahill | Multivendor progressive gaming system |
US20070202943A1 (en) | 2004-03-31 | 2007-08-30 | Alfred Thomas | Symbol Driven Contributions For A Prize Pool In A Wagering Game |
US20080139305A1 (en) | 2006-09-29 | 2008-06-12 | Bally Gaming, Inc. | Networked system and method for group play gaming |
US20120088576A1 (en) | 2009-06-11 | 2012-04-12 | Lawrence Shepherd | System and method for providing a communal jackpot |
US20120231878A1 (en) | 2011-03-07 | 2012-09-13 | Angelo Joseph F | System and method for group lottery waging |
US20130252704A1 (en) | 2010-08-07 | 2013-09-26 | Shfl Entertainment (Australasia) Pty Limited | Methods and Systems for Electronic Gaming |
US20130281170A1 (en) | 2012-04-23 | 2013-10-24 | Steven Weiss | Video gaming equipments with alternative purchaseable bonus events |
US20140229866A1 (en) * | 2008-11-24 | 2014-08-14 | Shindig, Inc. | Systems and methods for grouping participants of multi-user events |
US20150273345A1 (en) * | 2014-03-31 | 2015-10-01 | Matthew E. Ford | Systems and methods for playing a fantasy legend game |
US20150279164A1 (en) | 2014-03-26 | 2015-10-01 | Cfph, Llc | Event wagering with group and/or in run options |
-
2015
- 2015-10-06 US US14/876,101 patent/US10207188B2/en active Active
-
2019
- 2019-02-15 US US16/276,723 patent/US10786738B2/en active Active
- 2019-02-15 US US16/276,855 patent/US10722799B2/en active Active
-
2020
- 2020-07-27 US US16/939,700 patent/US11358060B2/en active Active
-
2022
- 2022-06-13 US US17/838,473 patent/US20220314123A1/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070202943A1 (en) | 2004-03-31 | 2007-08-30 | Alfred Thomas | Symbol Driven Contributions For A Prize Pool In A Wagering Game |
US20060052159A1 (en) | 2004-09-07 | 2006-03-09 | Tom Cahill | Multivendor progressive gaming system |
US20080139305A1 (en) | 2006-09-29 | 2008-06-12 | Bally Gaming, Inc. | Networked system and method for group play gaming |
US20140229866A1 (en) * | 2008-11-24 | 2014-08-14 | Shindig, Inc. | Systems and methods for grouping participants of multi-user events |
US20120088576A1 (en) | 2009-06-11 | 2012-04-12 | Lawrence Shepherd | System and method for providing a communal jackpot |
US20130252704A1 (en) | 2010-08-07 | 2013-09-26 | Shfl Entertainment (Australasia) Pty Limited | Methods and Systems for Electronic Gaming |
US20120231878A1 (en) | 2011-03-07 | 2012-09-13 | Angelo Joseph F | System and method for group lottery waging |
US20130281170A1 (en) | 2012-04-23 | 2013-10-24 | Steven Weiss | Video gaming equipments with alternative purchaseable bonus events |
US20150279164A1 (en) | 2014-03-26 | 2015-10-01 | Cfph, Llc | Event wagering with group and/or in run options |
US20150273345A1 (en) * | 2014-03-31 | 2015-10-01 | Matthew E. Ford | Systems and methods for playing a fantasy legend game |
Also Published As
Publication number | Publication date |
---|---|
US10207188B2 (en) | 2019-02-19 |
US20220314123A1 (en) | 2022-10-06 |
US20190176041A1 (en) | 2019-06-13 |
US20190176042A1 (en) | 2019-06-13 |
US20170095739A1 (en) | 2017-04-06 |
US10786738B2 (en) | 2020-09-29 |
US20200353360A1 (en) | 2020-11-12 |
US11358060B2 (en) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220314123A1 (en) | Fantasy sports data analysis for game structure development | |
Schrijvers et al. | Incentive compatibility of bitcoin mining pool reward functions | |
Zhang et al. | Sponsored data plan: A two-class service model in wireless data networks | |
US8676360B2 (en) | App rating system | |
CN108066989B (en) | Random matching team forming method and device and application server | |
US8369243B2 (en) | Minimizing bandwidth costs for online games | |
Lotfi et al. | Economics of quality sponsored data in non-neutral networks | |
JP2016520380A (en) | A system for managing direct challenges between users in fantasy sports and other games | |
Malik et al. | Why bitcoin will fail to scale? | |
Siddiqui et al. | Bitcoinf: Achieving fairness for bitcoin in transaction-fee-only model | |
CN106534970A (en) | Method for determining recommended video, data processing server and system for determining recommended video | |
US11351465B1 (en) | Skill-based, short-term fantasy sports method and system with game theory input | |
US20140172138A1 (en) | Information types for an app rating system | |
KR101184095B1 (en) | Method and apparatus for providing character in online game | |
CN108846654A (en) | The distribution method and device of ideal money | |
Chen et al. | Hazards regression for freemium products and services: a competing risks approach | |
JP5981882B2 (en) | Server device for game user, control method thereof and computer program used therefor | |
Park et al. | Bayesian inference of natural rankings in incomplete competition networks | |
Chen et al. | The shrinkage of the Pythagorean exponents | |
Chen et al. | Evolutionary equilibrium analysis for decision on block size in blockchain systems | |
US11436893B2 (en) | Skill-based, short-term fantasy sports method and system with game theory input | |
US12087134B2 (en) | Computerized method for operating a feature in a game and a system thereof | |
KR102255471B1 (en) | Method for providing predictive data of game result and server implementing the same | |
KR101191472B1 (en) | Method and server for providing group play service | |
US20230141632A1 (en) | Systems and methods for optimizing gameplay on an electronic social gaming platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
AS | Assignment |
Owner name: YAHOO! INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:THALER, JUSTIN;SVIRIDENKO, MAXIM;LIBERTY, EDO;AND OTHERS;SIGNING DATES FROM 20151005 TO 20160205;REEL/FRAME:048761/0328 Owner name: YAHOO HOLDINGS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO! INC.;REEL/FRAME:048761/0361 Effective date: 20170613 Owner name: OATH INC., NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO HOLDINGS, INC.;REEL/FRAME:048762/0001 Effective date: 20180124 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: VERIZON MEDIA INC., NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OATH INC.;REEL/FRAME:054258/0635 Effective date: 20201005 |
|
AS | Assignment |
Owner name: YAHOO ASSETS LLC, VIRGINIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.);REEL/FRAME:058982/0282 Effective date: 20211117 |
|
AS | Assignment |
Owner name: ROYAL BANK OF CANADA, AS COLLATERAL AGENT, CANADA Free format text: PATENT SECURITY AGREEMENT (FIRST LIEN);ASSIGNOR:YAHOO ASSETS LLC;REEL/FRAME:061571/0773 Effective date: 20220928 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |