|
|
|
## Objective:
|
|
|
|
- The team aims to create an automated framework that retrieves data, builds and updates a database, and compares the predicted outcome of multiple machine learning algorithms against daily betting odds.
|
|
|
|
- The initial system will evaluate NBA basketball, but could be expanded to analyze other sports.
|
|
|
|
- This project also aims to experiment with different feature sets as well as different types of machine learning algorithms to determine the best predictions.
|
|
|
|
# Overview:
|
|
|
|
|
|
|
|
## Objectives
|
|
|
|
Create an automated framework that retrieves data, builds/updates a database, and compares the predicted outcome of machine learning algorithms against daily betting odds to optimized moneyline wagers for sports games.
|
|
|
|
|
|
|
|
Experiment with different feature sets / types of machine learning algorithms to determine the best outcome predictions.
|
|
|
|
|
|
|
|
## Scope
|
|
|
|
|
|
|
|
Initially, we would start with NBA basketball , but could expand our analysis to other sports time permitting.
|
|
|
|
|
|
|
|
Initial scope is limited to professional basketball (NBA) as it is currently in season for the duration of our allotted timeline. Time permitting other sports will be considered, but the idea is to fully explore different feature sets and machine learning algorithms that optimize outcome predictions for NBA sports betting.
|
|
|
|
|
|
|
|
## Design Goals
|
|
|
|
|
|
|
|
Modularity/Flexibility - There are various components intended for this project, each with its own function, and we want to separate these accordingly to ensure high cohesion and low coupling. This will in turn produce more readable and maintainable code, as well as allow the system to be more robust to change. Also, given the various options for each component we want to ensure each module is flexible enough to handle all these options as well as allow for new ones (expandability) should they be needed.
|
|
|
|
|
|
|
|
Efficiency - We want to minimize the time it takes to predict games/optimize betting tickets, ultimately minimizing the response time to the client.
|
|
|
|
|
|
|
|
Performance - Machine Learning Models have shown promising results when predicting the outcome of sports. We would like to strive for similar results, but do no worse than 65%. Additionally, we would like to couple this performance with a betting strategy that returns positive profits over a 30 day period.
|
|
|
|
|
|
|
|
## System Architecture:
|
|
|
|
The architecture will followed a client-server tier 2 pattern, where the presentation layer/tier and application layer/tier are a standalone system (much like a client-server tier 1 pattern) whose only interaction beyond the client's machine is for data collection / accessing existing data servers online.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## Use Case Diagram:
|
| ... | ... | |
| ... | ... | |