r/ML16•
ProBuffalo

New Madden Prediction Formula

New ML16 prediction formula

I essentially have two hobbies. Playing madden, and predicting football games. Back in September I created a rudimentary formula to predict games. Although it was arbitrary and didn’t have any basis in science, my formula did very well at predicting games. However, I continued to try to develop a better formula. The new formula that I’ll be using is used by several sports analysts in the NFL and NBA.

Link to formula: http://imgur.com/dChfMcM

The new formula is an ELO system. ELO is most prominently associated with ranking the world’s top chess players. You can read more about ELO rating systems here: https://en.wikipedia.org/wiki/Elo_rating_system

What are the Pros of using an ELO rating system?

ELO systems don’t require a lot of information. In fact, there’s only three variables in the equation. The ELO of the winning team before the game, the ELO of the losing team before the game, and the point differential. The ELO rating system also creates a very easy and accurate way to calculate point spreads. Additionally, this ELO rating system retains “memory” of previous seasons, whereas my previous formula did not. It was nearly impossible to predict early season games with my previous formula. Now it will be easy.

The formula relies on the ELO of the two teams in the previous weeks. To start the formula, I gave each user controlled team an ELO of 1500, and each AI controlled team an ELO of 1000. The formula is self-correcting. For example, if a team starts at 1500 ELO, but really should be up above 1600, that team will eventually find their way up there.

Results are dependent on previous ELO and point differential. When a team with 1520 ELO beats a team with 1450 ELO by 7 points, they might see their ELO go up to 1530. If they beat the other team by 35, their ELO might increase by 20. If the team with 1450 ELO beats the team with 1520 ELO by 7, their ELO may go up by 25. If they beat the favorite by 35, their ELO could go up dramatically. This is how the formula self-corrects.

Currently in ML16, the team with the highest ELO is the Jets, with 1649 points. The lowest full time user team is the Falcons, with 1321 points. For reference, the 2009 Lions finished with an ELO of 1223. Point spreads are calculated by taking the difference in ratings and dividing by 25. So if the Jets played the Falcons on a neutral field, the Jets would be a 13-point favorite. The Home team gets +1 point, so if the Jets were the home team, they would be a 14-point favorite, and would only be a 12-point favorite on the road.

A team’s win probability is calculated using the formula Pr(A) = 1 / (10^(-ELODIFF/400) + 1).

What are the downsides of an ELO rating system?

This system struggles when users enter or leave the league. For now, when a user joins or leaves the league, I reset the team’s ELO to 1300. This creates odd ratings for teams like the Panthers, who have had two ownership changes this season. This has ripple effects throughout the entire league. When Cyno joined with a rating of 1300, and started destroying his competition, the teams he played had their ELO ratings dramatically lowered. Given enough time, this will correct itself.

Another thing to note is that the formula doesn’t differentiate between games that are played and games that are simulated. The Conquistadors had most of their games simulated this season, so when he did play he had an artificially low ELO. Overall, the pros outweigh the cons.

You can see the ELO history of each team in this spreadsheet: https://docs.google.com/spreadsheets/d/1p1KA-CV8uyiaQ27oMKJbghYssO62SCRJtnx5U6Lh0aA/edit#gid=0

There are separate tabs for each team, with a graph of their ELO changes.

Posted Jan 25, 2017, 4:50 PM UTC

51
Loading comments…