|Thanks to Jake Conway for his help in getting the Elo rating system adapted for our league. The following write up is from Jake:
The Elo Rating System is probably most known for it’s use in international chess ratings, but it is also used for many other sports around the world. At the core, it is a system for estimating how well a given player/team should perform against an adversary, then updating that estimate after the results of the competition are available. For more details of the history of the Elo rating sytem, you can check it out on wikipedia (http://en.wikipedia.org/wiki/Elo_rating_system)
The basic equations used by the alogorithm are the prediction algorithm and the update algorithm. For each match, a predicted outcome is calculated for eeach team using the equation:
ExpectedA = 10^(A/400)/(10^(A/400)+10^(B/400))
A = Team A rating
B = Team B rating
This expected value should range from 0 to 1, and roughly represents the probability that team A will win against team B.
Once the game is played, the predicted outcome is compared to the actual outcome and the ratings are updated according to the following equation:
NewRating = OldRating + K * (Actual - Expected)
There are many different ways to select values for both K and the actual outcome. For our league, we use a simple approach for the actual outcome of 1 for a win, .5 for a tie, and 0 for a loss. (Using score ratios was considered, but with the small amount of games per season, it was too difficult to overcome the effects of just a single high-scoring game). The K value used in this league is 100, which is very high compared to most uses of the Elo system, but was necessary to get any sort of meaningful difference between the ratings of the teams in such a small number of games.
In general the Elo Rating will increase more quickly if you beat a team rated higher than you, and less quickly if the team is lower rated than you.