My Professional Background
My name is Max Bosse and I am a research professional and data scientist applying the skills I have learned in my career to make informed NFL bets and win bestball and redraft contests. In my full-time position I use some of the largest consumer transaction datasets available to forecast company revenues using advanced modeling techniques. The reports we are able to put together using these alternative data sources help investors get a better read on company performance for the current quarter as our forecasts are consistently more accurate than consensus expectations.
In addition to forecasting company revenues our reports provide insights into the performance of various company segments, brands, analyze spend share by category and price bucket, and track trends by customer cohort.
I have learned a lot over the years and by applying these learnings to available NFL data I feel confident I can provide unique insights to NFL bettors, DFS players and fantasy football enthusiast.
My “NFL” Background
I have been playing fantasy football for a decade now but have taken it more seriously the last couple of years. In addition to being a part of an uber competitive fantasy league with college buddies, I got heavily involved in bestball last year over on Underdog Fantasy Sports and played the FFPC Playoff Contest last year as well. Last year I had success on all fronts, highlighted by placing 4th in the FFPC Playoff Contest and claiming the $25,000 prize.
For the last three years I have been posting on my old blog (linked below) with my picks ATS for the entire slate (though I missed games here and there) along with my personal wagers + props. I more or less used this blog as a journal for myself to track my bets + leans. In my free time I wrote other posts as well looking at individual players, outlining my picks for the FFPC Playoff Contest and talking through bestball strategy. In the past I have leaned on data to inform my decision making but I have leaned on the “eye test” and intuition as well. This will be a challenging year as the markets have become more efficient, though we have fared well the last few years and look to build on a particularly solid outing last year.
2019: 118-108-10 ATS, +3U
2020: 112-117-4 ATS, +7U
2021: 145-117-2 ATS, +61U
Challenges of Forecasting NFL Data
When forecasting the revenues for various companies there are many factors that can contribute to inaccuracies in our forecasts - for example a higher percentage of cash purchases than normal as these would not show up in our data. With the NFL the list of important factors that may not appear in the data is much longer. Let’s spell out a few of these below:
Injury - When a single player gets injured it impacts everything:
The injured player’s forecast
The player forecasts of others in that position group
The projected game script and volume for other position groups
Game outcome forecasts
Injuries are extremely important to account for when possible, but unfortunately the public is not always made aware of player injuries and/or the severity of certain injuries.
Weather - A variable that we can forecast but not always reliably as it changes abruptly and frequently.
Teams call different plays when it rains vs. when it snows vs. when the sun is shining. Game speed changes based on the condition of the field. Games take 2.5-3 hours and weather can change on a dime. Many DFS players account for weather, so much so that DraftKings even shows the weather for game time on the platform, however when projecting season stats by player or examining past player performance weather impacts/variance become more of a mystery. Even when accounting for weather the impacts are difficult to quantify.
Game plan - All teams want to win but how do they want to win?
Fast pace or slow pace
Hold lead or extend lead
Some teams run up the scoreboard when they are trampling an opponent. Some teams choose to put in the backups and run out the clock. To complicate things further some teams choose to run up the scoreboard one week and to run out the clock the next. The implications of how teams choose to handle game script can not be overstated.
The difficulty with the all of the above is that these important contextual factors typically do not show up in the raw data. Compounding this impact is the very important fact that NFL data is incredibly thin. There is a very very small sample size of data in which we use to forecast player and team performance and many of assumptions have to be made in order to do so. Tom Brady led the league in pass attempts last season and threw the ball 719 times. Jonathan Taylor led the league in rush attempts last year and ran the ball 332 times. These are rather small numbers.
My Modeling Process - Basics
My process is currently a work in progress. I have written nearly a hundred functions and have a plethora of Jupyter Notebooks and excel docs holding a number of different analyses and pivot tables I am using to evaluate players and teams. While I had hoped to have a finished report ready for the start of the season I simply couldn’t get there. That being said the base tables for my report are finished and I will be using this season as a beta test if you will to validate the techniques I am using. Let’s walk though a few of them.
Panel Creation
When looking at NFL data you can look at it a number of different ways. I found the most logical way to look at NFL data to be a mix of player position and statistical category. I created 7 panels for which I use for my analyses:
QB - This panel holds any player who dropped back to pass 20+ in a season - Primarily quarterbacks. Only passing statistical categories.
RB - This panel consists of players with rush attempts and does not include quarterbacks. We are looking at primarily RBs however a number of WRs are included in this panel (i.e Deebo Samuel, Tyreek Hill). Only rushing statistical categories.
RUSH - This panel consists of all players (including QBs) that had rush attempts, only rushing statistical categories.
WR - This panel consists of only designated wide receivers. Only receiving statistical categories.
TE - This panel consists of only designated tight ends. Only receiving statistical categories.
Pass-Catchers - This panel consists of all pass-catchers (WR, RB, TE). Only receiving statistical categories.
Flex - This panel is a combination of the RB and Pass-Catchers panels. Consisting of both rushing and receiving statistical categories.
Utilizing these panels, instead of panels created simply by position, allows for better examination of the statistical impacts on the core statistical categories (passing, rushing, receiving) from players outside of the positional group typically associated with them.
Fixed Panel
In addition to developing 7 panels, I turned each panel into a fixed panel by limiting the amount of players included in the data to a certain amount each season.
Benefits:
Less noise in the data
Makes comparisons season to season more like for like
Focuses more heavily on fantasy relevant players
Drawbacks:
Makes a small dataset even smaller
Normalized Metrics
While it may appear easy to determine how impactful a given player is by looking at their yards (1000), TDs (10), fantasy points scored (160) or final positional ranking (WR15) there are actually drawbacks in doing so. For example: How much more valuable was the WR15 in 2021 vs. the WR15 in 2020. Many would answer this question by looking up the WR15 in 2021 (Jaylen Waddle - 190) and compare to the WR15 in 2020 (Marvin Jones - 190). They are the same.
Follow up questions:
Does it matter how many points the WR1-WR14 scored in both 2021 and 2020?
Does it matter how many points the WR16-WR99 scored in both 2021 and 2020?
It does.
In DFS and fantasy performance and impact are relative and we therefore need to normalize our metrics to be able to compare across seasons.
To normalize metrics we simply take a players stats and divide by the sum of the panels stats.
Jaylen Waddle fantasy points in 2021/the sum of all WR fantasy points scored in the panel in 2021 = Jaylen Waddle fantasy points normalized
By normalizing metrics we can better visualize positional drop off points (tier breaks) from season to season to help guide our projections to aid us in drafting teams in bestball and redraft formats. One of the most difficult aspects of drafting is knowing what position you need to draft now and what position you can wait on.
Closing
There is a ton of analysis coming out nowadays aiding NFL fans on how to bet, who to draft for their fantasy teams and what DFS lineup to roll out on Sunday. Everyone has similar data. Here at MaxBets, we aim to analyze this data in a unique way to bring actionable insights and analyses to those interested in winning.
I am admittedly busier than I would like to be but I will be posting here at minimum once a week with my picks ATS (the entire slate) along with my personal bets. I hope to make this into something more actionable for others in the future. I will also be sprinkling in different analyses and findings I make along the way enroute to something more comprehensive utilizing my process outlined above in the future.
Cheers,
Max