Power Rankings (Football) Algorithm

rashly

Regular
ok, i am in an online gaming league for a quake3 mod (urban terror) and we have a really crappy system to decide which teams make the playoffs. it goes by percentages of wins vs. losses, but this doesnt work because it is a 10 weeks season, there are more than 10 teams, and only 6 make the playoffs. teams that have easier schedules than others can make the playoffs over better teams.

so: college and highschool football (american) implement power rating systems where teams get more points for beating a better team. there are very simple algorithms for this where each team gets a certain amount of points for beating each team by a certain amount (.75 for beating a team by 1, .8 for beating a team by 3, etc...) and after these are all added up at the end of the season, for each loss a team has a total is subtracted based on the winning team's rating at the end.

now, this is pretty simple but not as effective as the algorithms used in college sports where ther are programs that do multiple passes of the data to get a final powerpoint rating.

ive been doing some research on these and have not found much that would help me actually write a program (C++) that does the ratings after the data is entered. anyone here have any idea for an algorithm that would do the calculations, or have been in a league which had a system like this?

thanks in advance.
 
My first reaction would be that to take score into accound would make it very hard to balance the algorithm, since this aint football. A probabilistic/bayesian which just takes wins/losses into account seems a plain better approach to me.

Elo is one such system, with some quick googling I also came across glicko which determines both a rating and a standard deviation to indicate the uncertainty about the rating. Some code for Glicko can be found online, such as here. Extensive googling can probably turn up more.
 
thanks alot man. i tried those algorithms that are made for chess with the data from the lague that i am in, and they dont work too well. with my league there are only 10 games for each team, and only about 16 teams, so the data is not very representative using the chess systems (and these systems require there to be previous rankings).

so, i am still looking for an algorithm that is good for this kind of league.
 
Hm, of course you need a previous ranking (or giving them all the same starting value), or how else would you tell that a "worse" team beat a "better" team? The problem with your league system is that it just doesn't seem to generate enough data. Say, if a team has 9:1 wins and an "easy" schedule, is that better than another team that has 7:3 and a "hard" schedule (in case they didn't face each other)? You just can't tell. I think if you made two groups of eight teams each, and then another decisive round, you could make a "fairer" selection of the best teams. btw, do these six teams take part in a bigger playoff series?
 
yes, it is not enoguh data, and thats why the chess style rankings dont work. the top 6 teams play each other in a playoff format (top 2 get byes first round). the lack of data (only 10 matches) and having more teams than matches is what is making this hard.
 
Back
Top