A few weeks ago, I posted my BCS ranking computer program. It did a pretty good job, but there were some weird results. Specifically, it had what I call "the Idaho problem."
At the time I was writing the program, Idaho was 6-1 (I believe), but had mostly played some pretty weak teams (and lost to Washington). Because of the way I was calculating rankings based on quality differential (the difference between the quality ranking of both opponents), sometimes teams that played a bunch of teams with similar qualities would get bigger boosts. For instance, if, as Idaho was at the time, I am a team with a quality ranking of 96 and I played a bunch of teams with quality rankings of around 80-100, I would look pretty good (almost as good as a team that had a quality ranking of 1 who played a bunch of top 20 teams). Consequently, the bottom of Top 25 rankings would have some funkiness. Also, really bad teams (like New Mexico) would get ranked ahead of just sort of bad teams that get killed by really good teams (Vanderbilt, who my computer used to hate).
Anyway, I flashed (in the shower of course) on the solution this morning. I added these two lines to my program:
percent_deviation = 1.0 - (team["quality"].to_f / total_teams.to_f)
quality_differential *= percent_deviation
This line adjusts the overall quality differential by multiplying it by the percent deviation from the highest possible score. This, finally, seems to solve the Idaho problem (which, thanks to Idaho's collapse, should be now called "The Temple problem"). Additionally, it finally ranks 0-9 teams at the bottom of the ranking, so Vanderbilt is out of the basement.
Sadly, though, the new program favors Pittsburgh over my alma mater (Georgia Tech) as the best one loss, and I thought about tweaking the weights to get GT higher, but that felt vaguely unethical.
Anyway, download the 1.1 version of my ranking program here.
Update: ¡Qué desastre! I just noticed my rankings place USC ahead of Oregon. I suppose I'll have to figure out some sort of head-to-head, but, I guess the numbers don't lie (maybe? please?).
Also, here's my computer's new Top 25:
- Alabama 9-0 (583.066287878788)
- Florida 9-0 (528.193939393939)
- Texas 9-0 (515.560606060606)
- Cincinnati 9-0 (492.183333333333)
- Texas Christian 9-0 (464.136363636364)
- Boise State 9-0 (443.767045454545)
- Pittsburgh 8-1 (376.520707070707)
- Georgia Tech 9-1 (372.428181818182)
- Iowa 9-1 (363.738285123967)
- Houston 8-1 (325.017385981022)
- Ohio State 8-2 (296.293181818182)
- Southern California 7-2 (291.868422865014)
- Oregon 7-2 (280.528741582492)
- Utah 8-1 (267.62962962963)
- Miami (Florida) 7-2 (256.803661616162)
- Louisiana State 7-2 (247.244949494949)
- Wisconsin 7-2 (243.486279461279)
- Penn State 8-2 (241.302909090909)
- Virginia Tech 6-3 (237.467828282828)
- Arizona 6-2 (228.930738636364)
- Troy 7-2 (227.456161616162)
- Oklahoma State 7-2 (222.352967171717)
- Brigham Young 7-2 (219.973968855219)
- Clemson 6-3 (211.916666666667)
- Temple 7-2 (210.044191919192)