Presentation on theme: "Fantasy Football Forecasting"— Presentation transcript:
1Fantasy Football Forecasting By Derick Owens and Amanda Zimecki
2Fantasy Football: What is it? Standard League – ConventionsDraft:Nine Starting PlayersQuarterback (QB) (Max 3)Two Running Backs (RB) (Max 4)Two Wide Receivers (WR) (Max 4)Tight End (TE) (Max 3)Flex (RB, WR, or TE)Kicker (K) (Max 2)Defense/Special Teams (D/ST) (Max 3)Seven Bench PlayersAny permutation of the above listed players
3Fantasy Football – Scoring By standard league conventions, scoring is as follows:All PlayersTouchdown = 6 PointsTurnover = -2 PointsQB15 Passing Yards = 1 Point10 Rushing Yards = 1 PointRBWR10 Receiving Yards = 1 Point
6“Hidden” ValuesPlayers have “hidden” statistics that make them more (or less) valuable, although their fantasy scoring may be the same or similar to other playersSuch statistics include, but are not limited to:Touches (RB)Targets (WR, TE)Injuries/Suspensions (Games Played)Performance in Specific Conditions (Cold/Wind)There are also statistics that can be derived from basic statistics to better “describe” a player, such as:Completion % (QB)Catch % (TE, WR, RB)
7ObjectiveOur objective is to create an algorithm to forecast and thus draft the “best” team based on past statisticsTo create this algorithm, there are a few things we need:Past StatisticsWeights for those statisticsA scoring/rating systemNeural Network AlgorithmOutput comparisons (Are all teams produced optimal?)
8Data Source & Benchmark – comparison siteAs a benchmark, we’re going to compare our rating to how many fantasy points the player had in the previous seasonWe will also compare our ratings to expert rankings
9Neural Network wSum = weighted sum of the inputs T = threshold/bias value
10WeightsEach statistic of a position is given a specific weightDetermined by us from previous knowledge and researchWeights are calculated based on their importance to that positionΣwp = 1
11Our Threshold Tp = Sp / [ ( ΣSq / q ) * 2], where: T = Threshold S = Statistic (being calculated)q = All Playersp = Individual Player
12Scoring/Rating System Yards per season, TDs per season, Games Played, Touches, Targets, Extra Points MadeR = (Sp / (ΣSq / Σq)) * w, where:S = statisticp = individual playerw = weightq = all playersR = individual player ratingTurnoversR = 1 - ( T *0.05) / 1 * wCatch & Field Goal Percentagea = Base score of average ( ΣSq / Σq )(+ / -) .1 each standard deviation (b) below/above the position averageR = a(+ / -) * .1(b)
14Million Dollar Algorithm? Fantasy KingsWeekly Draft“Salary Cap” of $50,000Each player is assigned a dollar valueYou can draft any permutation of players given that you don’t go over the salary capPositions:1 QB, 3 WR, 2 RB, 1 TE, 1 FLEX (TE, RB, OR WR), 1 D/ST92,867,930,357,760 permutations based on 32 starting players at each position
15Our Objective Now Limit the number of permutations based on match-ups Mid-ranked RBs vs. last-ranked defenses, for example.Maximize dollar valueMin($) = Max(Points)The objective is not to find the best permutationThe odds of accomplishing this are 1/92,867,930,357,760Making this an intractable problemThe objective is to optimize and beat the other playersWhile also exploring the possibility of making this problem tractableHow will we do this?
16Neural Network & Knapsack In order to optimize the permutations, we’ll use our current neural network algorithm combined with the knapsack problemIn order to implement the Knapsack problem, we’ll need to calculate a player’s dollar value to go along with that player’s rating.This will create a test set of optimized permutations.Even with the optimized set of permutations, nothing is guaranteed.Even with a completely optimized set that uses the full salary cap, there are chaotic factors that constantly interfere with a forecast:WeatherInjuriesSuspensionsEtc.
17Chaos Theory Tackles Adrian Peterson Many teams drafted Adrian Peterson as their #1 overall pickResults:
18Knapsack – Greedy Implementation We’re using the greedy implementation of the Knapsack ProblemUse as much as the knapsack as possible“Fitting” the most possible “stuff” into the sackComplexity is m/2 (given that you can use the same item an unlimited amount of times), where:m is the maximum value of the items to fit into the sack (as close to salary cap as possible)Value is equal to the dollar amount assigned to the playerDollar amounts are predetermined by Draft Kings based on player performanceHowever, we have a limited amount of items to fit into the sack9, which is the number of playersEach item will be unique (item = player(our rating, $ value))Since these constraints will be applied to the greedy implementation, complexity will get worse. Output from a programmed implementation should tell us more about its complexity.