Fantasy Football Advisor Dec 2013

Project Description

Fantasy Football Advisor is a recommendation system that suggests the best playing team composition for a given week. The recommendation is based on a statistical matchup analysis between the players of the user's roster and the opponent to team would face that week. Based on the analysis, a player may be retained on the squad and benched, made to play or dropped from the team. If recommend to be dropped, the system provides a suitable player from the pool of available players to be substituted. The user can compare two players by viewing graphical representations of the key fantasy football statistics used to compute the recommendation.

Team Members

  • Ramit Malhotra (Front End Development)
  • Pablo Arvizu (D3 Visualizations)
  • Chris Fan (Python Back End Development, Database Extraction/Transformation, Analysis Engine)
  • Ashwin Chandak (Recommendation/Analysis Logic)

Technical Details

Written in Python, the analysis engine creates a recommendation for each fantasy football player by calculating a ranked score based the player’s past performance statistics and comparing it against the next week team defensive capability. Github: https://github.com/christopherfan/IOLab_NFL

Key Components

  • Capturing NFL League Player Statistics: Full NFL player statistics are stored in a PostgreSQL database propagated from the NFL.com game center JSON feed. Database query engine leverages the nfldb interface.
  • Team Roster Extraction: Python engine can generate recommendations based on arbitrary rosters of nfl fantasy football team based off of text files
  • Statistical Analysis: Capable of generating max 20k calculations based on performance of 32 NFL teams, 50 free agent players, and 140 fantasy football players across 15 performance statistics
  • Optimal Team Composition: Engine calculates the optimal team composition maximizing total fantasy football points