Welcome to Auction AId! A Fantasy Football auction draft tool designed to use your league's data to identify where you can find value during your next auction draft. The tool currently only supports leagues using ESPN for their Fantasy Football league using the API from cwendt94/espn-api.
If you'd like to learn more about how Auction AId works under the hood, read this blog post.
Please free to make suggestions, bug reports, or pull requests for features or fixes! If you enjoyed using Auction AId, feed my caffeine addiction.
- Supports ESPN leagues of any size or scoring format. Accuracy of results is best for 10, 12, or 14 team leagues using standard, half-ppr, or ppr scoring formats due to these being the formats supported by FantasPros projections.
- Uses actual league and draft history to predict winning Auction Values of players prior to draft, compared to their 'true' value using Value Over Replacement Player (VORP) calculations
- Provides historical context on auction values for players, which are useful reference, regardless of the Auction AId's accuracy
Currently, Auction AId is in a basic Beta version. In the future, it may be hosted online for easy access, but this version requires running the application on your local computer. This requires some basic knowledge of Python, React, and running applications through an IDE or terminal. My personal preference is using the Visual Studio IDE, so these instructions are from that perspective.
- Download the current code base from this GitHub repository and save to your preferred location on your local computer
- Open the
auction-aid-master
repository in the IDE (or navigate to the location in the terminal)
- Install the latest version of Python
- Create and activate Python virtual environment
- Using Visual Studio: https://code.visualstudio.com/docs/python/environments
- Using the terminal: https://www.freecodecamp.org/news/how-to-setup-virtual-environments-in-python/
- Install the required packages from
requirements.txt
pip install -r /path/to/requirements.txt
- Install Node.js and node package manager (npm) using instructions here
Auction AId allows for storing data locally or on AWS S3. If you'd like to save data to S3, the following updates must be made:
- Create an AWS S3 bucket
- Create a User in AWS IAM
- Assign the following S3 IAM Policy to the user. Update details to your bucket name.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::your-bucket-name/*"
},
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::your-bucket-name"
]
}
]
}
- Create AWS Access Keys for the User
- Update the
settings.py
file location in thebackend/config
folder:
# backend/config/settings.py
CURR_LEAGUE_YR = 2024
S3 = True # Update to True if running on S3
- Create a file titled
.env
in theauction-aid-master
folder - Populate the
.env
file with your S3 bucket details:
AWS_ACCESS_KEY_ID=your-S3-user-access-key
AWS_SECRET_ACCESS_KEY=your-S3-user-secret-access-key
AWS_S3_BUCKET_NAME_LEAGUE=your-bucket-name
- Open a terminal in the IDE or on the computer. Navigate to the
frontend
folder of theauction-aid
repository; if you're currently in theauction-aid
folder:
cd frontend
- Start the frontend web application
npm start
- Open an additional terminal in the IDE or on the computer. Navigate to the
backend
folder of theauction-aid-master
repository; if you're currently in theauction-aid
folder:
cd backend
- Run the backend of the application
python3 main.py
A successful result will show a message like the below:
The application is now running!
- Login to your league. If you are in an ESPN Private League, you can find your ESPN_S2 and SWID values manually or using a Google Chrome extension. See details here.
- Pick your 'League Settings' and 'Auction AId Settings'. The details for these settings are available by hovering over the info icon. More details can be found on the blog post here.
- Click 'Generate Auction Values (AV)'! Be patient :) if there is a lot of league history this may take some time!
This section will be updated as questions become asked frequently!
1.) What is Expected Auction Value (EAV) vs. True Auction Value (TAV)? EAV is what Auction AId expects your league to pay for a player based on draft history. TAV is what Auction AId believes a player is worth based on their past performances. To learn more, read here.
This project is possible thanks to:
- The great work on the espn-api from cwendt94/espn-api.
- I must give a shoutout to this post, which served as the foundation for Auction AId's approach for True Auction Value (TAV). Where ever you are, azmat, thank you for the inspiration!