Title

The main idea of this project is to implement a simple sports betting strategy in order to maximize overall profit. paper

Who

Noah Ehrhardt (nehrhar2), Geoff Grossman-Mckee (ggrossm1), Michael Chung (mchung18)

Introduction

We will be reimplementing a paper that we read about using machine learning for sports betting. The main objective was to profit from the sports betting market using machine learning. They achieved this by applying convolutional neural networks for match outcome prediction and by designing a strategy for bet distribution according to the odds and model predictions in order to make profit. We chose this topic because there was a collective interest in the area of sports betting as it is a growing industry. This will be a classification problem using neural networks.

Related Work

This article’s goal was to implement a betting strategy for the English Premier League in order to try to maximize overall profit. They described that instead of aiming for a higher accuracy in predicting outcomes, it was better to focus on maximizing overall profit. They did this using a classification neural network for six different categories: Win Home, Win Home or Draw, Draw, Win Away, Win Away or Draw, and No Bet. The article mentioned that they had to use a custom loss function so that the model was to the overall gain of the strategy.
List of articles:
https://towardsdatascience.com/machine-learning-for-sports-betting-not-a-basic-classification-problem-b42ae4900782
https://towardsdatascience.com/predict-nba-games-make-money-machine-learning-project-b222b33f70a3

Data

  • What data are you using (if any)?
    • If you’re using a standard dataset (e.g. MNIST), you can just mention that briefly. Otherwise, say something more about where your data come from (especially if there’s anything interesting about how you will gather it).

      We will be using data from the National Basketball Association from seasons 2000 to 2014, which is available to query online. The data provides player-level and team-level statistics, and we will be utilizing both of those sets of data. Additionally, we will be taking data from bookmakers. We will have to use a combination of a few different book makers as there isn’t a singular definitive “book maker” across the time frame that we are examining.
    • How big is it? Will you need to do significant preprocessing?
      It is relatively big, but should not take unreasonably long to train. Since this is mostly numerical data - and not images or videos or anything like that - the training should not be limited by time. There will be a decent amount of preprocessing that needs to take place in order to get it into an easily usable database.

Methodology

  • What is the architecture of your model?
    • How are you training the model?
      We will be training our model using both linear regression algorithms, log-linear regressions, and neural networks. This will be a relatively complicated process since we will be combining the results of multiple different models together and therefore need to figure out a weighting system and a way to decorrelate results from the different models. We have not determined the exact architecture of the model yet, as this will be something that requires experimentation, but we have thought about a few different types of models and decided on using a CNN as our main deep learning algorithm.
    • If you are implementing an existing paper, detail what you think will be the hardest part about implementing the model here.
      We are implementing an existing paper, but they did not give significant details about their model architecture or methodology for coding. The hardest part will likely be trying to implement the loss function they described / potentially adapt it to make it better. We will also likely adjust the architecture to remove some of their linear layers, which could prove to be challenging.
    • If you are doing something new, justify your design. Also note some backup ideas you may have to experiment with if you run into issues.
      N/A

Metrics

  • What constitutes “success?”
    • What experiments do you plan to run?
      We plan to run experiments across a number of years of NBA games using multiple different betting strategies and model architectures. We will then compare the profit generated from each model / scenario in order to determine when our model is the most effective and what parameters we should use.
    • For most of our assignments, we have looked at the accuracy of the model. Does the notion of “accuracy” apply for your project, or is some other metric more appropriate?
      Accuracy is partially applicable (the accuracy of our picks overall obviously matters). However, the most useful metric is profitability - this can be determined using the odds of the game. If we only looked at accuracy, our model would optimize for picks that were almost guaranteed to hit, which might not be the smartest strategy given that those bets would likely have very poor odds.
    • If you are implementing an existing project, detail what the authors of that paper were hoping to find and how they quantified the results of their model.
      They were looking to find a profitable betting strategy using a combination of player statistics, book odds, and other data. They quantified the results of their model by looking at the number of betting “units” of profit they made. This is a useful metric because it allows us to standardize the concept of profit and doesn’t rely on dollar amounts. Additionally, they looked at the overall accuracy of their game winner picks, giving them a metric to determine whether there model was good at predicting winners regardless of whether they could beat the models of the bookmakers.
    • If you are doing something new, explain how you will assess your model’s performance.
      Our current plan is to not change much besides the model architecture and potentially the statistics we use as inputs. This would mean we were using the same metrics for determining performance. We have not fully decided yet, but we may look at a different sport. However, this would fundamentally have the same metrics for determining success (profitability of our model’s predictions and the overall accuracy of predictions). The one thing that might change is how “accurate” our predictions are, as some sports are inherently more prone to chance and therefore less easy to predict than others.
    • What are your base, target, and stretch goals?
      Our base goal is to design a model that replicates the performance of the model described in the paper, both in terms of profitability and accuracy of predictions. Our target goal is to slightly beat that model by including other statistics and implementing a better model architecture. Our stretch goal is to potentially adapt this model to be easily applicable to other sports / betting strategies.

Ethics

  • Why is Deep Learning a good approach to this problem?
    Deep learning models can use large datasets to find patterns that would be invisible to a human. Most people rely on illogical processes to make bets, but a deep-learning model can make more accurate predictions by utilizing large datasets. In fact, many bookmakers use their own deep-learning models to set the odds. We will try to build a model to beat them.
  • Who are the major “stakeholders” in this problem, and what are the consequences of mistakes made by your algorithm?
    Stakeholders include sportsbooks, sports bettors, casinos, athletes, and teams. If we made the algorithm public and it turns out that it was overfitted, people using the algorithm could lose money. Even if the model was accurate, bettors could misinterpret the concept and lose a lot of money on one large bet.

Division of Labor

Noah: learn about the model in the paper and try to implement it in python
Michael: find and process the data
Geoff: research sports betting and how books make odds

Reflection (check-in #2)

link

Final Project

Github Repo: link
Poster: link
Reflection: link

Built With

Share this project:

Updates