August 2, 2010 in Analytics News

FANTASY BASEBALL, REAL O.R.

Optimization model takes a swing at FB roster-selection problem.

SHARE: PRINT ARTICLE:print this page https://doi.org/10.1287/orms.2010.04.16

Fantasy Baseball (FB) is a game where participants own and manage a roster of active Major League baseball (MLB) players. Participants compete against one another using those players’ statistics in actual MLB games to score points in the Fantasy league. Given the data-intensive nature of FB, operations research (O.R.) methods can naturally be applied by a team’s owner to optimize its selection of MLB players to fill its roster. The FB roster selection problem is an O.R. resource allocation problem, which lends itself to optimization. A 0/1 integer programming model is described below, including an application for the 2010 season.

Fantasy Baseball

THE ADVENT OF the Internet revolutionized FB by enabling scoring to be automated online.According to a 2009 Forbes article, nearly 11 million people play FB [1]. Many FB leagues are played for money whereby owners ante up an entry fee at the beginning of the season.
A typical FB league consists of 10 to 15 teams. In order to set up a FB league for a particular season, the league’s owners draft teams
from among active MLB players and follow their statistics during the ongoing MLB season to compile their FB league scores.

Former Diamondbacks closer Chad Qualls, recently traded to Tamp Bay, doesn’t figure to
get many save opportunities as a Ray, thus diminishing his Fantasy Baseball value.

One approach that many FB leagues follow for allocating MLB players among the FB teams is to hold an auction prior to or at the outset of the MLB season. Each FB team has a fixed amount of auction money to bid for players and must fill its roster, according to a league-specified size and structure,within a budget. In an auction, each team – in order – calls out an MLB player who is then placed on the auction block. The player is awarded to the team that calls out the highest bid. The auction continues until all roster spots on all teams are filled.Another approach for stocking FB teams is to hold a serpentine draft of available MLB players until all FB teams’ rosters are filled.

The skills of FB team owners come into play in preparation for their league’s draft. Using various information sources and analytical tools, an owner must forecast performance of MLB players and assign a “value” to each player (e.g., in terms of auction dollars if the league is holding an auction). In many cases, an owner can rely on tout sheets prepared by various “experts” that may be purchased or, in some cases, are available for free online. The MLB Web site – http://www.mlb.com – provides free MLB player projections and auction values in February, preceding the start of the MLB season in late March or early April.

Fantasy Baseball is typically played in one of two formats. In head-to-head, each individual team plays against a different team each week to acquire wins through total points scored for the week. Teams with the most wins at the end of the season often enter into a playoff with the league winner being the team that doesn’t lose in the playoff. Alternatively, a league can forego a playoff system, and the league champion would be the team that recorded the most points during the season. The second popular FB format is known as rotisserie (after a New York City restaurant – La Rotisserie Francaise – where the original FB league met for lunch and played the game). Statistics compiled by the MLB players from each FB team are aggregated and ranked by category, and the team with the highest cumulative rank at the end of the season is declared the winner.

A FB league will set its own categories of baseball statistics – both batting and pitching – that are used in compiling the rankings. A typical format is “5x5,”with five batting categories – batting average (BA), runs (R), home runs (HR), runs batted in (RBI) and stolen bases (SB) – and five pitching categories – wins (W), saves (SV), earned run average (ERA), strikeouts (K) and walks + hits divided by innings pitched (WHIP).A common FB roster structure [2] consists of 23 players, selected from across all 30 MLB teams.An MLB player is eligible for a particular roster position if he played that position for at least x games in the previous season (e.g., x = 20). The 23 roster positions are broken down by position: nine pitchers, two catchers, one first baseman, one second baseman, one third baseman, one shortstop, one corner infielder (either a first baseman or third baseman), one middle infielder (either a second baseman or shortstop) and one utility player (a batter with eligibility at any position).

This article describes an application of a 0/1 integer program to a rotisserie FB format that uses an auction to allocate (draft) MLB players.The league’s scoring system is assumed to be 5x5.

Optimization Model

THE FB ROSTER SELECTION problem is to draft a team of MLB players such that all position constraints are satisfied and a budget cap is not exceeded. The objective is to maximize total score. As described above, a team’s score is computed by, first, ranking the teams for each of the 5x5 baseball categories. Within each category, a team is assigned points based on its rank. For example, in a 12-team FB league, the team with the most home runs is assigned 12 points for the home run category, the team with the second most home runs is assigned 11 points, etc. If two or more teams are tied for a particular rank, the points for that rank are distributed evenly across the tied teams. For example, if two teams have the most home runs, each team would receive 11.5 points. A team’s total score is computed by summing its points across each of the individual 5x5 categories.

Modeling an objective function that maximizes total score – which is based on the rankings of all of a league’s teams across each of the 10 categories – is computationally complex. It would require the roster composition of each of the teams in the league. In order to make the modeling more tractable, the following approach was adopted. A team can choose a target number for each of the 5x5 statistical categories, e.g., a team chooses a target of 300 home runs, 200 stolen bases, etc. A target number for a particular category may be established based on historical statistics of league scoring. In order to formulate the optimization model, 10 constraints – one per 5x5 statistical category – are added, requiring that the roster of players selected have a projected total for each category that is greater than or equal to the desired target. These targets can be used to estimate the ranks that would be achieved in each category, based on historical FB statistics for comparable leagues.

 

Table 1

To summarize, the inputs required to formulate the optimization model’s constraints include:

• Statistical projections for each MLB player for the upcoming year for the relevant 5x5 statistical categories

• Projected auction value of each MLB player

• Position eligibility for each MLB player

• Budget cap for each team

• FB roster size and structure

• Desired target for each of the 5x5 statistical categories

The objective function that was actually used in the FB roster selection problem was to minimize the amount of auction dollars spent. If a team did not use its entire budget, it could re-run the model with higher desired targets for one or more of the statistical categories.

In the example described in Table 1, statistical projections and auction values for each MLB player for the 2010 season were obtained from www.mlb.com [3]. The budget cap was assumed to be $260 (a typical value in rotisserie, auction leagues) with 12 teams in the league. The FB roster size was assumed to be 23, with position distribution described in Table 1. Note that 168 batters and 108 pitchers were to be selected in the league auction.

Regarding the desired targets for each statistical category, www.razzball.com [4] surveyed nine, 12-team “competitive” leagues in 2009. For each of the 5x5 categories, the average team and winning team’s value were computed.For example, the average team and winning team – averaged across the nine leagues – scored 1,047 and 1,159 runs, respectively. In addition, to move up one place in the rankings required 20.39 runs. In the implementation below, the desired goal was to achieve third place (10 points) in every statistical category, yielding a total score of 100. An implicit assumption is that a score of 100 is sufficient to win a 12-team league.A user of the model can, of course, perform sensitivity analysis and vary the desired targets.

Results

A 0/1 INTEGER PROGRAMMING MODEL was formulated and solved using the Excel Solver add-in. The 0/1 decision variables indicate whether a particular MLB player is chosen for a team’s roster or not. Since Solver is limited to solving problems with no more than 200 decision variables, the set of pitchers and the set of batters were chosen in two separate runs of the model. Since roster selection was split into two separate runs of the model, the budget constraint was arbitrarily divided with 61 percent of a team’s auction budget allocated to batters and 39 percent to pitchers (14 of the 23 roster spots – 61 percent – are reserved for hitters).

Each iteration of the model ran in one to two minutes, and an integer, optimal solution was always found. A feasible solution is not guaranteed. If a feasible solution cannot be found, then one or more of the target goals may need to be changed. Results for both batters and pitchers are shown below, including the 2010 projected statistics and auction values (as predicted by www.mlb.com).

Conclusion

IF ONLYOWNING and managing a FB team was as simple as running an Excel optimization model.As all FB owners experience, some of the MLB players selected by the model experienced injuries. As of the beginning of June, five of the players spent time on the 15-day disabled list, and a sixth was sent to the minors due to ineffective play. A number of the other selected players were not achieving their predicted performance. In reallife FB, an owner may exchange players during the season with other owners in the league (via trades) or by dipping into a free agent pool (i.e., players not selected at the initial draft auction). Moreover, auction values are also estimated. In real-life, they will vary, depending on a league’s composition of team owners (bidding styles, player preferences, etc.). Therefore, a FB team that uses the optimization model may be blocked by another team at the auction from getting its desired roster of players.

The value of the optimization model is that it enables an owner to develop a balanced roster that is competitive (or, at least, is predicted to be competitive) in all of the statistical categories while not exceeding the league’s budget constraint. In practice, an owner may choose to modify the projected MLB player statistics at a point in time that is closer to the draft (the mlb.com projections were posted in February, and auction drafts typically take place in the second half ofMarch). Although injuries cannot usually be predicted or avoided, it is possible to select an improved roster by updating projections closer to the draft date.

Seattle Mariners outfielder Ichiro Suzuki has seen his Fantasy Baseball stock plummet this
year. Can he turn things around over the final two months of the season?

REFERENCES

1. “Tips from Fantasy Baseball’s Best,” Forbes, Feb. 28, 2009.
2. S. A. Rowell, “Strategies Used in Rotisserie Baseball and Their Effects on the Player’s Auction,” University of Maryland, Department of Economics Working Paper, 2009.
3. “2010 Fantasy Preview,”www.mlb.com, February 2010.
4. “Fantasy Baseball Draft Strategy, Winning It,” www.razzball.com, Feb. 17.

Thomas A. Grossman
([email protected])

SHARE:

Keywords:
INFORMS site uses cookies to store information on your computer. Some are essential to make our site work; Others help us improve the user experience. By using this site, you consent to the placement of these cookies. Please read our Privacy Statement to learn more.