We compiled two data sets. Our training set consisted of every matchup for the 2014-2015 NFL season, and our test set consisted of every matchup for the 2015-2016 NFL season. We looked at 28 attributes for (32 teams)*(16 games per team) = 512 instances within each of the two data sets.
In addition to a Win/Loss classification, our data had the following attributes for a given team on a given week:
In addition to a Win/Loss classification, our data had the following attributes for a given team on a given week:
- Location (Home or Away)
- Opponent
- Average Points Scored
- Average Points Allowed
- Average First Downs
- Average First Downs Allowed
- Average Total Yards Gained
- Average Total Yards Allowed
- Average Passing Yards Gained
- Average Passing Yards Allowed
- Average Rushing Yards Gained
- Average Rushing Yards Allowed
- Average Turnovers
- Average Turnovers Allowed
- Expected Offensive Points
- Expected Defensive Points
- Expected Special Teams Points
- Points Scored Momentum Differential*
- Points Allowed Momentum Differential*
- Scoring Momentum 3*
- Scoring Momentum 4*
- Turnover Momentum 3*
- Turnover Momentum 4*
- First Down Momentum Differential*
- Total Yardage Momentum Differential*
- Combined Yardage Momentum Differential*
- Win Differential*
*These attributes are defined by expressions we created in order to increase prediction accuracy. For the most part they attempt to numerically capture a team's confidence/momentum, an important yet difficult to measure factor in determining a game's outcome.