Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft Evaluation Metric #619

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rishab827
Copy link

I developed a metric to evaluate how well someone drafted, based on how their projections at the time of draft compared to their actual results. More specifically, I collected the drafted players for each team, and summed up the total projection and total actual scores of all the players, to then reduce to a single team score.

duplicates_removed = []
for pick in draftData:
pick_id = (pick.round_num, pick.round_pick)
if pick_id not in duplicates:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would there ever be duplicates in this data?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When I printed out league.draft, the draft picks would repeat so that the set was double the actual size, sometimes even triple. I couldn't find why, so I decided to just filter it out with this method.

Comment on lines +444 to +448
draftscore = actualsum - projectedsum
avgdraftscore = avg_actualsum - avg_projectedsum

#Weighting average points vs total points
real_score = 0.2 * draftscore + 0.8 * avgdraftscore
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like a draft score should incorporate the pick number in some way. Screwing up your 1st round pick should hurt you much more than screwing up your 10th round pick, for example. Simply using points wouldn't necessarily pick up on this, as a QB will have the largest raw points but probably isn't drafted until a few rounds later. Perhaps using pick value to weight each pick (or something similar to this).

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great point, I'll incorporate this.

Copy link
Owner

@cwendt94 cwendt94 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a really cool idea, thanks for submitting a PR!

High Level Comment

  • Make sure to remove your tester.py from PR and it has your creds showing
  • remove .DS_Store files
  • I think it would be good to move all of this function logic to utils.py so it doesn't bloat the league.py class. Then can just pass necessary data to function.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants