Method and System for Drafting One or More Players in a Fantasy Sport

- Yahoo

Methods, systems and computer readable mediums are provided for drafting one or more players in a fantasy sport. In one method, a list of available players available for drafting to a user's fantasy team is retrieved from a data store. Each available player has an associated ranking. A first candidate player and a second candidate player are identified from the available players based, at least in part, upon a first and a second drafting criterion, respectively. A weighted ranking is computed for at least one of the first and the second candidate player using at least one weighting factor corresponding to the first and the second drafting criterion. One of the first and the second candidate player is selected as a drafted player based upon the weighted ranking.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
TECHNICAL FIELD

The present disclosure relates generally to fantasy sports, and more specifically to a method for player drafting in fantasy sports.

BACKGROUND

All over the world, the sports fervor has been heightened by the advent of fantasy games. Fantasy sports leagues serve as means, by which a user can own teams in various sports including, but not limited to, football, basketball, soccer, baseball, hockey etc. and compete with other users in a virtual environment. The user may need to register with a website, for example, Yahoo! Sports, offering such a fantasy league and build his own team.

Typically, each player in the user's team is awarded fantasy points and the overall team's fantasy points may be an aggregate of the individual player's fantasy points. The fantasy points awarded to the player are generally based on the player's performance in an ongoing season of that sport. Accordingly, the user whose players, and consequently the team, performs the best is the winner of the fantasy game. Therefore, selection of the team, hereinafter, referred to as drafting, plays a very important role in deciding the user's winnability in the league.

Thus, in order to build a team which will generate the maximum fantasy points, the user manually drafts various players during a drafting phase of the fantasy league. The user usually combines his understanding of the fundamentals of the game, knowledge about the players, and a team building strategy to select a team such that the user has maximum chances of winning.

However, every user may not have sufficient expertise in the sport or enough knowledge about the players to be able to select the optimum team. Further, the drafting phase is a time-bounded process with each user having an upper bound on a drafting interval during which the user needs to draft a player. Consequently, even a knowledgeable user may make sub-optimal choices when pressed for time.

Auto-drafting solutions attempt to overcome this problem by picking a player on behalf of the user during the drafting phase, for example, when the drafting interval is over and the user has not made any selections, or when the user is not present and/or logged in during the drafting phase. One commonly used algorithm for auto-drafting is popularly known as “draft for need”. According to this technique, for each drafting round, the algorithm looks at specific needs of the user, for example, a player playing at a specific position or having a specific skill set, and selects a player having the highest ranking among available players satisfying the need. However, such a drafting strategy may result in overlooking one or more available players having higher ranking than the drafted player.

In another auto-drafting scheme, the user submits a list of players before the drafting phase. During the drafting phase, the players are selected according to the order given in the list, their ranking and availability. However, even in this scheme, a good knowledge about the game and the players is required for the user to create the list. Further, since a player that is not mentioned in the user's list is not drafted, a player with a better ranking than the players in the user's list for a given need may be overlooked during the drafting phase, thereby resulting in a sub-optimal team.

SUMMARY OF THE INVENTION

Methods, systems and computer program products are provided for drafting one or more players in a fantasy sport. In one method, a list of available players available for drafting to a fantasy team of the user at a drafting round is retrieved from a data store. Each available player has an associated ranking. A first candidate player identified from the available players based, at least in part, upon a first drafting criterion. A second candidate player is identified from the available players based, at least in part, upon a second drafting criterion. A weighted ranking is computed for at least one of the first candidate player and the second candidate player using at least one weighting factor corresponding to the first drafting criterion and the second drafting criterion. One of the first candidate player and the second candidate player is selected as a drafted player based upon the weighted ranking.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is an example implementation of a network in which a system for drafting one or more players in a fantasy sport may be deployed, according to one embodiment of the present invention.

FIG. 2 is a flowchart illustrating an example implementation of a method for drafting one or more players in a fantasy sport, according to one embodiment of the present invention.

FIG. 3 is a first example user interface for entering at least one weighting factor, according to one embodiment of the present invention.

FIG. 4 is an example list of available players, according to one embodiment of the present invention.

FIG. 5 is an example list of a first candidate player and a second candidate player along with weighted rankings, according to one embodiment of the present invention.

FIG. 6 is a second example user interface for entering the at least one weighting factor, according to one embodiment of the present invention.

FIG. 7 is a third example user interface for entering the at least one weighting factor, according to one embodiment of the present invention.

FIG. 8 is a schematic diagram illustrating an example computing system for drafting one or more players in a fantasy sport, according to one embodiment of the present invention.

DETAILED DESCRIPTION

Various embodiments of the present invention will be described in detail below with reference to accompanying drawings. It will be apparent, however, that these embodiments may be practiced without some or all of these specific details. In other instances, well known process steps or elements have not been described in detail in order not to unnecessarily obscure the description of the invention. The following example embodiments and their aspects are described and illustrated in conjunction with apparatuses, methods, and systems which are meant to be illustrative examples, not limiting in scope.

FIG. 1 illustrates an example implementation of a network environment 100 in which a system 102 for drafting one or more players in a fantasy sport may be deployed, according to one embodiment. Network environment 100 includes system 102, a network 104, and one or more client nodes 106. Network 104 generally represents one or more interconnected networks, over which system 102 and client nodes 106 can communicate with each other. Network 104 may include packet-based wide area networks (such as the Internet), local area networks (LAN), private networks, wireless networks, satellite networks, cellular networks, paging networks, and the like. A person skilled in the art will recognize that network 104 may also be a combination of more than one type of network. For example, network 104 may be a combination of a LAN and the Internet. In addition, network 104 may be implemented as a wired network, or a wireless network or a combination thereof. Client nodes 106 are communicatively coupled to system 102 via network 104.

Client nodes 106 are computing devices from which a user accesses services provided by system 102. Client nodes 106 have the capability to communicate over network 104. Client nodes 106 may further have the capability to provide the user, an interface to interact with the services provided by system 102. Client nodes 106 may be, for example, a desktop computer, a laptop computer, a mobile phone, a personal digital assistant, a television system, a gaming terminal and the like. Client nodes 106 may execute one or more client applications such as, without limitation, a web browser to access and view content over a computer network, an interactive on-demand user interface to access services provided by system 102. Client nodes 106, in various embodiments, may include a Wireless Application Protocol (WAP) browser or other wireless or mobile device protocol suites such as, without limitation, Nippon Telegraph and Telephone (NTT) DoCoMo's i-mode wireless network service protocol suites, Enhanced Data rates for GSM Evolution (EDGE), and the like.

System 102 is a network addressable system that hosts a variety of network applications related to, among others, one or more fantasy sports and accessible to one or more users over network 104. In one embodiment, system 102 may be deployed by a fantasy sports service provider, for example, Yahoo! Sports. The fantasy sports provided by the fantasy sport service provider may include fantasy version of a variety of sports such as, but not limited to, football, baseball, basketball, hockey, soccer, cricket, volleyball and the like. The fantasy sport service provider may run one or more fantasy leagues corresponding to the fantasy sports.

Users may register with the fantasy sport service provider and may participate in the fantasy leagues. To participate in the fantasy league, the users may need to build their fantasy teams. Each fantasy team includes a plurality of players drafted by the user.

A fantasy league corresponding to a fantasy sport may have a fantasy season, which, typically, may coincide with a regular season of respective real sport. Additionally, each player in the fantasy teams of the users may be awarded fantasy points after each game over the duration of the fantasy season according to rules followed by the fantasy league. Typically, the fantasy points awarded to the players depend upon the player's performance in the games during the regular season. Any scheme of awarding the fantasy points to the players may be employed without deviating from the spirit and scope of the present invention. The fantasy points of a user's fantasy team may be an aggregate of fantasy points awarded to the players in the fantasy team. Further, the fantasy team with the highest total fantasy points may be regarded as the champion of the fantasy league. The user owning that fantasy team may be declared as the winner and may be awarded a prize.

Generally, the fantasy league conducts a drafting process during which the users draft the players to their fantasy teams. The players may be selected from professional and/or collegiate players of the sport. The drafting process may include one or more drafting rounds. In each round, every user is allocated a turn when the user may draft one player to his fantasy team. In some implementations, the fantasy league may allow the user to skip a particular drafting round (where the user may not draft any player) or the user may draft more than one players in the drafting round.

System 102 assists the user in drafting one or more players to the fantasy team. In various embodiments of the present invention, system 102 may include an application server 108, a drafting module 110, a player database 112 and a user database 114.

Since the winner of the fantasy league is decided by players in the fantasy team of the user, it is important to draft the players in the fantasy team so as to maximize chances of the user to become the winner. The user may want to follow one or more drafting strategies, hereinafter interchangeably referred to as drafting criteria, while drafting the players. In various embodiments, the one or more drafting strategies may include drafting an available player with the highest ranking (hereinafter referred to as best player strategy); drafting an available player with the highest ranking who meets positional needs of the fantasy team (hereinafter referred to as drafting for need strategy); drafting an available player having the highest ranking and belonging to one or more scarce positions (herein after referred to as positional scarcity strategy). Various other strategies may also followed by the user. In various embodiments of the present invention, drafting module 110 enables the user to draft one or more players to the fantasy team according to the one or more drafting strategies.

In accordance with an embodiment, drafting module 110 retrieves one or more available players from player database 112 at the user's turn in a drafting round. Each player has an associated ranking. The ranking may denote the player's potential value to the fantasy team. The ranking may be based on a variety of factors, such as, but without limitation, past performances of the player, accumulated fantasy points in the current and/or past seasons, the player's win-loss record, the number of games played by the player, the player's injury record and the like. In various embodiments, the ranking may be represented in terms of ranking position, ranking points and the like, hereinafter, collectively referred to as the ranking. Further, in one embodiment, the rankings may be computed by system 102. According to another embodiment, the rankings may be obtained from one or more third-party data sources. The rankings may also be provided by the user, according to yet another embodiment.

Thereafter, drafting module 110 identifies a first candidate player based, at least in part upon, a first drafting criterion. Drafting module 110 further identifies a second candidate player based, at least in part, on a second drafting criterion.

Further, drafting module 110 computes weighted rankings for at least one of the first candidate player and the second candidate player using at least one weighting factor. In one embodiment of the present invention, the at least one weighting factor corresponds to the first drafting criterion and the second drafting criterion and denotes relative importance that the user would want to give to the first drafting criterion and the second drafting criterion. In one embodiment, a single weighting factor may correspond to both the first and the second drafting criteria. Alternatively, a separate weighting factor is used corresponding to each drafting criterion. In various embodiments, the at least one weighting factor is obtained from the user.

Thereafter, drafting module 110 selects one of the first candidate player and the second candidate player based on the weighted ranking as a drafted player. In one embodiment, the drafted player may be automatically drafted to the fantasy team. In this case, the user may or may not be present at the time of drafting. In another embodiment, the user may be presented the drafted player and prompted to approve the selection. In yet another embodiment, the user may be presented a list of predetermined number of the selected players in the order of the weighted ranking, for example, top three players according to the weighted ranking. The user may then make the final selection for drafting to the fantasy team.

Player database 112 stores the ranking of the players associated with the fantasy sports offered by the fantasy sport service provider, in one embodiment of the present invention. Player database 112 may also store player information including, but without limitation, professional information, personal information and drafting information

For each player, the personal information may include, but not limited to, name, coach's name, age, height, weight, place of residence and the like. The professional information may include performance of the player in current and past seasons, number of games played, debut year, win-loss records, other performance related statistical data and the like. The drafting information may include, without limitation, whether the player is an available player or has been drafted, the team to which the player belongs, a drafting round in which the player was drafted and the like. Additionally, player database 112 may also store fantasy points earned by the players.

User database 114 stores various types of information about the users. The user information may include, without limitation, login, password, a user profile, user preferences, the user's fantasy team(s) and the like. Further, in one embodiment, user database 114 may also store the user defined rankings of the players.

Player database 112 and/or user database 114 is a persistent data store and may include any hardware and/or software suitably configured for storing information as disclosed herein. Further, any databases disclosed herein may be any type of database, such as relational, hierarchical, graphical, object-oriented, and/or other database configurations.

Application server 108 provides network application access to one or more client nodes 106 via network 104. Application server 108 hosts a variety of applications that facilitate the user to access one or more services offered by the fantasy sport service provider. Application server 108 may host a registration system to enable the user to register with the fantasy sport service provider and/or to register with individual fantasy leagues. Application server 108 may further include a user authentication system to authenticate the users, for example, through a login name and password, before providing the users access to service related content. Application server 108 may also host the entire website architecture including, without limitation, webpage and applications implemented using Common Gateway Interface script (CGI), PHP Hyper-text Processor (PHP), Active Server Pages (ASP), Hyper Text Markup Language (HTML), Extensible Markup Language (XML), Java, Asynchronous JavaScript and XML, and the like.

FIG. 2 is a flowchart illustrating an example method 200 for drafting the one or more players in the fantasy team, in accordance with one embodiment of the present invention. According to one embodiment, method 200 is repeated at the user's turn in every drafting round. At step 202, a list of available players for drafting to a fantasy team of the user is retrieved from a database, for example, player database 112. In addition, the rankings of the available players are also retrieved. The rankings may be retrieved from player database 112 or from user database 114. In an embodiment, drafting module 110 retrieves the list of available players and the associated rankings. In additional embodiments, drafting module 110 may also retrieve any other player information, such as positions at which the available players play.

Thereafter, at step 204, a first candidate player is identified from the available players based, at least in part, upon a first drafting criterion. In one embodiment, the first drafting criterion is the positional need of the fantasy team. In this case, the positional need of the fantasy team may be determined by drafting module 110 based upon various factors, in accordance with one embodiment of the present invention. The various factors include, but are not limited to, one or more vacant positions in the fantasy team, number of players that still need to be drafted for each of the one or more vacant positions, whether the one or more vacant positions indicate vacancies in the user's starting roster and/or bench etc. Then, one or more players are identified from the available players that satisfy the positional need. A player is selected from the one or more identified players as the first candidate player in the order of the ranking. The order of the ranking used for selecting the first candidate player may depend upon how the ranking is represented. For example, if the ranking is represented by the ranking position, a player having the lowest ranking position is identified as the first candidate player. On the other hand, if the ranking is represented by ranking points, a player having the highest ranking points is selected as the first candidate player.

Thereafter, at step 206, a second candidate player is identified from the available players based, at least in part, upon a second drafting criterion. According to one embodiment, the second drafting criterion is the best player available. In one embodiment, an available player is selected as the second candidate player in the order of the ranking.

Thereafter, at step 208, weighted rankings for the first candidate player and the second candidate player are computed using at least one weighting factor corresponding to the first drafting criterion and the second drafting criterion. In one embodiment, a single weighting factor may correspond to both the first and the second drafting criteria. For example, the single weighting factor may take multiple values with one set of values indicating a preference for the first drafting criterion and another set of values indicating the preference for the second drafting criterion. In this case, the weighted rankings may be obtained by updating the ranking of either the first candidate player or the second candidate player using the single weighting factor. In another embodiment, separate weighting factors may be defined corresponding to the first and the second drafting criteria, for example, a first weighting factor for the first drafting criterion and a second weighting factor for the second drafting criterion. In this case, the weighted rankings may be calculated by updating the ranking of the first candidate player using the first weighting factor and by updating the ranking of the second candidate player using the second weighting factor.

The at least one weighting factor may be defined in a variety of ways, for example, integers, decimal values, percentages and the like. In one example implementation, the at least one weighting factor may take values between −60% and 60%, with negative values showing preference towards the first drafting criterion and positive values denoting preference towards the second drafting criterion. The at least one weighting factor may be discrete or continuous.

In an embodiment, an interface is provided to the user to enter the at least one weighting factor. The interface may allow the user to enter the at least one weighting factor in a variety of ways. For example, the user may be presented at least one text box to enter value of corresponding weighting factor, in accordance with one embodiment. In another embodiment, the user may set the at least one weighting factor by manipulating a slider. In additional embodiments, the user may select values for the at least one weighting factor using any of a drop down menu, one or more radio buttons, one or more check boxes and the like. Any other suitable technique may also be used to allow the user to enter the at least one weighting factor without deviating from the spirit and scope of the present invention.

In one embodiment, the at least one weighting factor may be stored in user database 114. According to one embodiment, the at least one weighting factor may be selected depending upon one or more of composition of the fantasy team and a drafting round. For example, the user may want to follow the draft for need strategy while drafting for the starting roaster and may follow the best available player strategy for drafting bench players. Accordingly, the user may choose to enter different weighting factors and drafting module 110 may apply respective weighting factors when drafting for the user's starting line-up and for bench players while calculating the weighted rankings. Similarly, the user may want to give preference to the first drafting criterion during early drafting rounds and may give more weightage to the second drafting criterion during later drafting rounds, thereby using different weighting factors depending upon the drafting round.

In one embodiment, the weighted ranking for a player may be computed by increasing/decreasing the ranking of the player by the value of the at least one weighting factor. According to another embodiment, the weighted ranking for the player may be computed by multiplying the ranking of the player by the value of the at least one weighting factor. Any other suitable technique may also be used to compute the weighted ranking based upon the at least one weighting factor.

Finally, at step 212, one of the first candidate player and the second candidate players is selected as a drafted player for the fantasy team based on the weighted ranking. In one embodiment, the drafted player may be automatically drafted to the fantasy team. Alternatively, the user may be prompted to confirm the selection of the drafted player before drafting the drafted player to the fantasy team.

In additional embodiments, a third candidate player is identified from the available players based, at least in part, upon a third drafting criterion. Weighting ranking is then computed for the third candidate player using a third weighting factor associated with the third drafting criterion. Thereafter, the drafted player may be selected from the first, second and third candidate players in the order of the weighted ranking. In one embodiment, the third drafting criterion is the positional scarcity. According to one embodiment, the positional scarcity may be represented using one or more scarce positions. In one example implementation, the one or more scarce positions may be identified as positions for which the number of suitable players is less than a threshold, for example, if the number of players suitable for Running Back position is less than 15, the Running Back position is identified as a scarce position. The threshold may be the same for all drafting rounds or different thresholds may be used for different drafting rounds. Alternatively, a scarce position is a position for which the number of players available for the position at a current drafting round is below a certain percentage of the total number of available players for that position before the drafting process. For example, if the number of players available for Wide Receiver position in the current drafting round is less than, say, 25% of the total number of players available for the Wide Receiver position at the beginning of the drafting process, then the Wide Receiver position is identified as the scarce position. In alternate embodiments, the scarce positions may also be identified by analyzing drafting trends of other users, for example, if more than a specific percentage of users, say, 70%, have already filled a certain position, then that position may be identified as the scarce position. In additional embodiments, the scarce positions may be determined using any one or more factors described herein. Any other techniques to identify the scarce positions may also be used instead of or in addition to the techniques described herein without deviating from the spirit and scope of the present invention. Once suitable players for the scarce positions are identified, a suitable player having the highest ranking may be selected as the third candidate player.

In various embodiments, upon drafting the drafted player to the user's fantasy team, the user may be suitably notified using a text message, an e-mail, an audible alert and the like. Additionally, player database 112 and/or user database 114 may be updated with the information of the drafted player, the drafting round, name of the user and the like.

Though various embodiments described above use the three strategies, namely, the draft for need, the best player and the positional scarcity criteria, it need not be so. Any other drafting criteria may also be similarly applied in conjunction with or instead of the three strategies described herein to take into account the user's drafting strategies while drafting a player to the user's fantasy team.

Various embodiments described above draft only one player to the user's fantasy team in a given drafting round. Additional embodiments of the present invention enable the user to draft more than one player in one drafting round. In this case, one or more first candidate players and one or more second candidate players are identified based upon the first drafting criterion and the second drafting criterion, respectively. Weighted rankings are then computed for the one or more first candidate players and the one or more second candidate players using the at least one weighting factor as described earlier. Finally, more than one of the one or more first candidate players and the one or more second candidate players, for example, top three of the first and second candidate players, are selected as drafted players for the user's fantasy team.

FIGS. 3-5 illustrate an example scenario for drafting a player to the user's fantasy team, according to an embodiment of the present invention. FIG. 3 is an example user interface 300 to allow the user to enter the one or more weighting factors, in accordance with one embodiment of the present invention. In this example, the user is prompted to enter a weighting factor. The weighting factor indicates relative importance given to two drafting criterion corresponding to two drafting strategies. In this case, the two drafting strategies are the best player strategy and the draft for need strategy.

As shown, a slider is provided to enable the user to enter the weighting factor by setting the slider at a desired position. The value of the weighting factor can be set within the range −60% to +60%. In this example, a negative value of the weighting factor indicates a preference for the best player strategy and a positive value denotes a preference for the draft for need strategy. In the example shown, the position of the slider may be set in discrete steps, though the position can also be set in a continuous manner in other embodiments. In this case, the user has set the weighting factor to +30%, thereby indicating his preference for the draft for need strategy. In one embodiment, the selected weighting factor is used to increase the ranking of a candidate player selected based upon the draft for need strategy. Alternatively, the selected weighting factor may be used to decrease the ranking of a candidate player selected based upon the best player strategy.

The relationship between the positive and negative values of the weighting factor vis-à-vis the draft for need and the best player strategies as described above is for example purposes only and should not be interpreted to limit the scope of the present invention. The weighting factor may equally be defined in such a way that a positive value may indicate a preference to the best player criterion and a negative value may indicate a preference to the draft for need criterion.

Further, on the commencement of the drafting process, when the user's turn arises, a list of the available players for drafting is retrieved from player database 112 and/or user database 114. FIG. 4 illustrates an example list of available players, in accordance with an embodiment of the present invention. As shown, the list of available players includes names of players, their positions and their ranking. In this case, ranking position is used to denote the ranking. Following description relates to fantasy football, though it can be readily applied to any other fantasy sport.

In this example, the available players include three Quarterbacks, namely, Tom Brown, Edward Homes and Alex Lee, with respective rankings of 28, 37 and 32. Further, there are two Running Backs Peter Morris (ranking 30) and Kevin Smith (ranking 42); and Sam Books (ranking 29) as a Wide Receiver.

Thereafter, a first candidate player is identified from the available players using the first drafting criterion (the positional need in the current example). Assuming that the positional need of the fantasy team is Running Back, Peter Morris and Kevin Smith are identified as suitable players satisfying the positional need. Further, since Peter Morris has better ranking than Kevin Smith, Peter Morris is selected as the first candidate player.

Further, a second candidate player is identified from the available players, based on a second drafting criterion, best player strategy, in this example. Consequently, Tom Brown having the best ranking, that is, the lowest ranking position, among the available players is selected as the second candidate player.

Thereafter, the weighting factor entered by the user is applied to Peter Morris' (i.e. the first candidate player) ranking to determine weighted ranking for Peter Morris. As shown in FIG. 3, the weighting factor equals +30%. Accordingly, Peter Morris' ranking is increased by 30%; thus the weighted ranking for Peter Morris becomes 21. The weighted ranking for Tom Brown (i.e. the first candidate player) remains unchanged at 28. FIG. 5 illustrates an example list of the first candidate player and the second candidate player along with the weighted rankings, according to one embodiment of the present invention. As explained earlier, the weighted ranking for the first candidate player, Peter Morris, and the second candidate player, Tom Brown, equals 21 and 28, respectively. The player with better weighted ranking, that is, Peter Morris with weighted ranking 21 is then selected as a drafted player for drafting to the user's fantasy team.

FIG. 6 illustrates another example user interface 600 to allow the user to enter the at least one weighting factor, according to one embodiment of the present invention. In this example, the user can enter separate weighting factors for two drafting strategies, namely, the best player strategy and the draft for need strategy.

As shown, the user may provide the weighting factors by checking an appropriate radio button. A negative value indicates that the user gives less preference, a zero indicates no preference given and a positive value indicates giving more preference to the respective drafting strategy. In the example shown, the user has selected 0% for the best player strategy and +60% for the draft for need strategy. Assume, for example, that Derek Waters having a ranking of 30 is identified as a candidate player befitting the draft for need strategy and Richard Jones with the lowest ranking of 10 is identified as a candidate player based on the best player strategy. Then their weighted rankings become 12 points and 10 points, respectively, and Richard Jones is selected as the drafted player.

FIG. 7 illustrates yet another example user interface 700 to allow the user to enter the at least one weighting factor, in accordance with one embodiment of the present invention. In this example, the user may enter three weighting factors corresponding to the best player strategy, the draft for need strategy and the positional scarcity strategy, respectively.

Additionally, as shown, the weighting factors take a value between 1 and 10, where the selected value is used to multiply ranking points of the candidate players to compute the weighted ranking. Thus, 1 indicates no preference and 10 indicates maximum preference. In the current example, the user selects 2 for the best player strategy, 5 for the draft for need strategy and 8 for the positional scarcity strategy. The weighted ranking may be calculated accordingly. For example, Stephen Lee (ranking points 700), befitting the best player strategy, has a weighted ranking of 1400. Further, Jack Fuller (ranking points 300) selected according to the draft for need strategy has a weighted ranking of 1500 and Jim Sanders (ranking points 200), identified according to the positional scarcity strategy has a weighted ranking of 1600. Consequently, Jim Sanders is selected as the drafted player to the user's fantasy team.

A person of ordinary skill in the art will appreciate that the example user interfaces described above are merely for illustrative basis and do not limit the scope of the invention. A variety of other user interfaces permitting the user to enter the at least one weighting factor may be used without deviating from the spirit and scope of the present invention. Some examples of such user interfaces include, but are not limited to, an audio interface, check boxes, drop-down menus, text boxes and the like.

Although systems and methods have been described above with reference to specific embodiments, some or all of the elements or operations thereof may be implemented using a computer system having general purpose hardware architecture. FIG. 8 illustrates an example hardware system 800 to implement drafting module 110 according to one embodiment. Hardware system 800 includes at least one processor 802, a system memory 804, and a mass storage 806. The system memory 804 has stored therein one or more application software, programming instructions, i.e., drafting code 808, for implementing the methods disclosed herein, an operating system and drivers directed to the functions described herein. Mass storage 806 provides permanent storage for the data and programming instructions 808 for the methods disclosed herein, whereas system memory 804 (e.g., DRAM) provides temporary storage for the data and programming instructions 808 when executed by processor 802. In an embodiment, the various database disclosed in conjunction with the present invention may reside in mass storage 806. A network/communication interface 810 provides communication between hardware system 800 and any of a wide range of networks, such as an Ethernet (e.g., IEEE 802.3) network, etc. Additionally, hardware system 800 includes a high performance input/output (I/O) bus 812 and a standard I/O bus 814. System memory 804 and network/communication interface 810 couple to bus 812. Mass storage 806 couple to bus 814. An I/O Bus Bridge 816 couples the two buses 812 and 814 to each other.

In one embodiment, various methods and processes described herein are implemented as a series of software routines run by hardware system 800. These software routines comprise a plurality or series of instructions to be executed by a processor in a hardware system, such as processor 802. Initially, the series of instructions are stored on a storage device, such as mass storage 806. However, the series of instructions can be stored on any suitable storage medium, such as a diskette, CD-ROM, ROM, EEPROM, DVD, Blu-ray disk, etc. Furthermore, the series of instructions need not be stored locally, and could be received from a remote storage device, such as server on a network, via network/communication interface 810. The instructions 808 are copied from the storage device, such as mass storage 806, into system memory 804 and then accessed and executed by processor 802.

In one embodiment, hardware system 800 may also include I/O ports 818, a keyboard and pointing device 820, a display 822 coupled to bus 812. I/O ports 818 are one or more serial and/or parallel communication ports that provide communication between additional peripheral devices, which may be coupled to hardware system 800. A host bridge 824 couples processor 802 to high performance I/O bus 812. Hardware system 800 may further include video memory (not shown) and a display device coupled to the video memory. Collectively, these elements are intended to represent a broad category of computer hardware systems, including but not limited to general purpose computer systems based on the x86-compatible processors manufactured by Intel Corporation of Santa Clara, Calif., and the x86-compatible processors manufactured by Advanced Micro Devices (AMD), Inc., of Sunnyvale, Calif., as well as any other suitable processor.

Hardware system 800 may include a variety of system architectures; and various components of hardware system 800 may be rearranged. For example, a cache 826 may be on-chip with processor 802. Alternatively, cache 826 and processor 802 may be packed together as a “processor module,” with processor 802 being referred to as the “processor core.” Furthermore, certain embodiments of the present invention may not require nor include all of the above components. For example, the peripheral devices shown coupled to standard I/O bus 814 may couple to high performance I/O bus 812. In addition, in some embodiments only a single bus may exist with the components of hardware system 800 being coupled to the single bus. Furthermore, hardware system 800 may include additional components, such as additional processors, storage devices, or memories.

An operating system manages and controls the operation of hardware system 800, including the input and output of data to and from software applications (not shown). The operating system provides an interface between the software applications being executed on the system and the hardware components of the system. According to one embodiment of the present invention, the operating system is the LINUX operating system. However, the present invention may be used with other suitable operating systems, such as the Windows® 95/98/NT/XP/Server operating system, available from Microsoft Corporation of Redmond, Wash., the Apple Macintosh Operating System, available from Apple Computer Int. of Cupertino, Calif., UNIX operating systems, and the like.

While the present invention and its various functional components have been described in particular embodiments, it should be appreciated that the present invention can be implemented in hardware, software, firmware, middleware or a combination thereof and utilized in systems, subsystems, components or sub-components thereof. When implemented in software, the elements of the present invention are the instructions/code segments to perform the necessary tasks. The program or code segments can be stored in a machine readable medium, such as a processor readable medium or a computer program product, or transmitted by a computer data signal embodied in a carrier wave, or a signal modulated by a carrier, over a transmission medium or communication link. The machine-readable medium or processor-readable medium may include any medium that can store or transfer information in a form readable and executable by a machine (e.g., a processor, a computer, etc.).

Further, although various figures in the specification illustrate the foregoing systems as separate systems, the functionality represented by each system may be combined into other systems. Furthermore, the functionality represented by each depicted system may be further separated. Still further, implementations of the present invention may operate in network environments that include multiples of one or more of the individual systems and sites disclosed herein. In addition, other implementations may operate in network environments where one or more of the systems described herein have been omitted.

The present invention has been explained with reference to specific embodiments. For example, while embodiments of the present invention have been described with reference to specific hardware and software components, those skilled in the art will appreciate that different combinations of hardware and/or software components may also be used, and that particular operations described as being implemented in hardware might also be implemented in software or vice versa. Other embodiments will be evident to those of ordinary skill in the art. It is therefore not intended that the present invention be limited, except as indicated by the appended claims.

Claims

1. A method for drafting one or more players in a fantasy sport, the method comprising:

retrieving, from a data store, a list of available players available for drafting to a fantasy team of the user at a drafting round, each available player having an associated ranking;
identifying, at a server, a first candidate player from the available players based, at least in part, upon a first drafting criterion;
identifying, at the server, a second candidate player from the available players based, at least in part, upon a second drafting criterion;
computing, at the server, a weighted ranking for at least one of the first candidate player and the second candidate player using at least one weighting factor corresponding to the first drafting criterion and the second drafting criterion; and
selecting, at the server, one of the first candidate player and the second candidate player as a drafted player based upon the weighted ranking.

2. The method of claim 1, wherein the first drafting criterion is positional need of the fantasy team, wherein identifying the first candidate player comprises:

identifying one or more players from the available players satisfying the positional need; and
selecting, in the order of the ranking, one player from the one or more identified players as the first candidate player.

3. The method of claim 1, wherein the second drafting criterion is best available player, wherein identifying the second candidate player comprises selecting, in the order of the ranking, one available player of the available players as the second candidate player.

4. The method of claim 1, wherein computing the weighted ranking comprises updating the ranking of the first candidate player with the at least one weighting factor.

5. The method of claim 1, wherein computing the weighted ranking comprises updating the ranking of the second candidate player with the at least one weighting factor.

6. The method of claim 1, wherein the at least one weighting factor comprises a first weighting factor and a second weighting factor, wherein computing the weighted ranking comprises:

updating the ranking of the first candidate player with the first weighting factor; and
updating the ranking of the second candidate player with the second weighting factor, wherein the first weighting factor corresponds to the first drafting criterion and the second weighting factor corresponds to the second drafting criterion.

7. The method of claim 1 further comprising providing an interface to the user to enter the at least one weighting factor.

8. The method of claim 1 further comprising:

identifying, at the server, a third candidate player based, at least in part, upon a third drafting criterion;
computing, at the server, weighted ranking for the third candidate player using a third weighting factor corresponding to the third drafting criterion; and
selecting, at the server, one of the first candidate player, the second candidate player and the third candidate player as the drafted player based upon the weighted ranking.

9. The method of claim 8, wherein the third drafting criterion is positional scarcity.

10. The method of claim 1 further comprising selecting the at least one weighting factor based, at least in part, upon one or more of composition of the fantasy team and a drafting round.

11. A system for drafting one or more players in a fantasy sport, the system comprising:

one or more network interfaces;
at least one processor;
a memory; and
computer program code stored in a computer readable storage medium, wherein the computer program code, when executed, is operative to cause the at least one processor to: retrieve, from a data store, a list of available players available for drafting to a fantasy team of the user at a drafting round, each available player having an associated ranking; identify, at a server, a first candidate player from the available players based, at least in part, upon a first drafting criterion; identify, at the server, a second candidate player from the available players based, at least in part, upon a second drafting criterion; compute, at the server, a weighted ranking for at least one of the first candidate player and the second candidate player using at least one weighting factor corresponding to the first drafting criterion and the second drafting criterion; and select, at the server, one of the first candidate player and the second candidate player as a drafted player based upon the weighted ranking.

12. A tangible, non-transitory computer-readable medium encoded with computer-executable instructions for drafting one or more players in a fantasy sport, the computer-executable instructions, when executed, operable to cause at least one processor to:

retrieve, from a data store, a list of available players available for drafting to a fantasy team of the user at a drafting round, each available player having an associated ranking;
identify, at a server, a first candidate player from the available players based, at least in part, upon a first drafting criterion;
identify, at the server, a second candidate player from the available players based, at least in part, upon a second drafting criterion;
compute, at the server, a weighted ranking for at least one of the first candidate player and the second candidate player using at least one weighting factor corresponding to the first drafting criterion and the second drafting criterion; and
select, at the server, one of the first candidate player and the second candidate player as a drafted player based upon the weighted ranking.

13. The computer-readable medium of claim 12, wherein the first drafting criterion is positional need of the fantasy team, the computer readable medium further comprising computer-executable instructions operable to cause the at least one processor to:

identify one or more players from the available players satisfying the positional need; and
select, in the order of the ranking, one player from the one or more identified players as the first candidate player.

14. The computer-readable medium of claim 12, wherein the second drafting criterion is best available player, the computer readable medium further comprising computer-executable instructions operable to cause the at least one processor to select, in the order of the ranking, one available player of the available players as the second candidate player.

15. The computer-readable medium of claim 12 further comprising computer-executable instructions operable to cause the at least one processor to update the ranking of the first candidate player with the at least one weighting factor.

16. The computer-readable medium of claim 12 further comprising computer-executable instructions operable to cause the at least one processor to update the ranking of the second candidate player with the at least one weighting factor.

17. The computer-readable medium of claim 12, wherein the at least one weighting factor comprises a first weighting factor and a second weighting factor, the computer-readable medium further comprising computer-executable instructions operable to cause the at least one processor to:

update the ranking of the first candidate player with a first weighting factor; and
update the ranking of the second candidate player with a second weighting factor, wherein the first weighting factor corresponds to the first drafting criterion and the second weighting factor corresponds to the second drafting criterion.

18. The computer-readable medium of claim 12 further comprising computer-executable instructions operable to cause the at least one processor to provide an interface to the user to enter the at least one weighting factor.

19. The computer-readable medium of claim 12 further comprising computer-executable instructions operable to cause the at least one processor to:

identify, at the server, a third candidate player based, at least in part, upon a third drafting criterion;
compute, at the server, weighted ranking for the third candidate player using a third weighting factor corresponding to the third drafting criterion; and
select, at the server, one of the first candidate player, the second candidate player and the third candidate player as the drafted player based upon the weighted ranking.

20. The computer-readable medium of claim 12 further comprising computer-executable instructions operable to cause the at least one processor to select the at least one weighting factor based, at least in part, upon one or more of composition of the fantasy team and a drafting round.

Patent History
Publication number: 20110306427
Type: Application
Filed: Jun 11, 2010
Publication Date: Dec 15, 2011
Applicant: Yahoo! Inc. (Sunnyvale, CA)
Inventor: David Pawson (San Mateo, CA)
Application Number: 12/813,707
Classifications
Current U.S. Class: Network Type (e.g., Computer Network, Etc.) (463/42)
International Classification: A63F 9/24 (20060101);