## Monday, December 10, 2012

### Ranking system

This method would work for all the teams in a league but I just did this one for the top 25 teams in the NCAA college football rankings.
I'll be using letters to represent teams according to this:

First you make a grid where there is a 1 if the team in row X beats team in column Y.
So a 1 in row F and Column D means Georgia beat Florida.

Now the algorithm simply adds the ones in row X, adds 1 to that, and puts them for each non-zero entry in column X. So in row D there are four 1's, so 5 replaces all the 1's in column D. So after one iteration it looks like:

Now on the next iteration of the algorithm, every team that beat Florida which is team D, will get 5 points for beating them because Florida beat 4 teams. On the next iteration a team will also get points for the teams that the teams that Florida beat beat. And so on...
After 10 iterations the algorithm says that the ranking of these teams should be:
1. Florida (1244)
2. Alabama (999)
3. Georgia (799)
4. LSU (644)
5. Texas A&M (517)
6. Ohio State (20)
It dropped off quickly here because Ohio State only beat Michigan and Nebraska in the top 25 and they together only beat  Northwestern who didn't beat any top 25 team.
7. Utah State (18)
9. Notre Dame (13)
10. Oklahoma (12)
11. Stanford (9)
12. Oregon (3)
13. Oregon State (2)
14. Kansas State (1)
15. Northern Illinois (1)
16. Michigan (1)

The rest of the teams never beat a top 25 team.

Now I admit that to be fair the whole league would have to be taken into account not just the top 25 teams but I didn't feel like entering in all that information :)