College Football Rankings

College Basketball Rankings

Generate 2016 Tourney Brackets

My Blog



The Brief Summary

This is an "advanced" ranking system in the sense that it uses strength of schedule which is compounded until the rankings stabilize. It is meant to be purely predictive, which is to say it focuses on making future predictions rather than explaining the past. It uses final scores, dates, and locations of games, and currently nothing more. It uses data from previous seasons until there is enough data in the current season.

Why I started making sports rankings

My interest in sports rankings started with college football in 2005. I was already a programmer in Java (just as a hobby, not by profession), and have made a number of other programs, including a chess AI. Most of them I made for the challenge of it, just to see if I could do it. The sports ranking systems were no different. I wanted to see how good of a system I could make.

My first system was not very good, but it was a decent starting point and provided the basis for the systems to come. I used it to enter (and sometimes win) small bowl pickem pools. Just recently, in summer of 2014, I got the idea to do the same in basketball. I have been picking brackets ever since 2005 as well, and soon after that I wrote a program which would create brackets for me by flipping "smart coins" based on win probabilities. Up until recently the win probabilities were either estimated or just pulled from historic seed upset probabilities. The idea of using some actual power rankings on which probabilities can be better calculated was appealing. This idea has now been realized here .

My system's philosophy

There exists a seemingly endless number of ways to evaluate a team, the season it has had, and the way the team is expected to play in the future. On the one hand you have over a hundred computer systems represented in Massey's Computer Composite, linked at the bottom of the page. It is interesting to click through all the pages and see how so many different people have come to different (and reasonable-sounding) conclusions about how to rank the teams. There are linear regression models, win probability ratio models, ELO type sequential systems, systems which try to break the game down to play-by-play efficiency and simulate games using the data, and countless more.

There also exists human polls, tendencies, and wisdoms. The following jargon has been thrown around constantly on all classes of sports networks:
- "Team X has a problem with finishing games."
- "It was ugly, but all that matters is they got the W today."
- "Team X will stay #1 until they are beaten."
- "Defense wins championships."
- "Team X's tough nonconference schedule will have them ready for conference play."
- "Team X is in for a shock the first time they play an opponent with a pulse."
- "I like Team X in this matchup, coming off a bye week."
- "This is a trap game for Team X, going into their big showdown next week."
- "Team X might struggle today after the big physical and emotional game last week."

There is probably some measure of truth in all of the above statements. The thing is, how much truth is there, and how can it be quantified? One truth of which we can all be certain is that no system can possibly be 100% accurate. Sports are too random, and their outcomes are dependent on too many variables which simply cannot be predicted. This leads to results which simply don't make sense and seemingly cannot be explained. The goal with my system is to take as many factors into account which I can think of which might have an impact on a game, and combine and weight them in such a way that it at least does the best possible job of predicting games in past seasons. If enough past seasons are included in the analysis, then the randomness starts to fall out and real patterns can start to emerge. It is then an empirical approach that I have: Out of all these ranking methods and wisdoms, which ones seem to hold true over history and which ones are myths?

How my system works

The ranking system incorporates 3 main components at the moment - a straight up transitive scoring margin component, similar to linear regression models; a more achievement-based component which values wins more highly, especially those against stronger opponents, and gives a diminishing return on blowout wins; and a transitive "tempo-free" component which worries only about the ratio of points scored between the two teams.

All three components are run through an iterative process which adjusts them according to strength of schedule until the ratings stabilize. Then a linear combination of the three components is taken as the final rating. The weights of the components are taken such that the historic point spread predictions using that combination are as close as possible to the predicted ones. One might say that instead of being purely based on mathematics, it is more a brute-force historical comparison.

My system currently does not use anything in its calculations besides final scores, venues, and the date of the game. The date is important because more recent results are valued higher than distant results. The system uses some data from previous seasons in its rating early in the season also. The basketball system only uses D1 results, and the football system only uses FBS results (other games are still listed in win/loss column, but have no effect on the rankings).

I'd like to add that I think the idea of providing a single list of rating numbers for each team and ranking them that way (and using the numbers to provide predictions) is inherently flawed. While I do provide such numbers on my site and allow their use in making point spread estimates, I need only refer you to the above list of "human network" questions to debunk this. Factors such as emotional wins, trap games, and just plain rock/paper/scissors situations involving team play styles make such a transitive, single list impossible. In addition to all of this, it is just not true that if Team A beats B by 10 points and B beats C by 10 points, that A should beat C by 20 points. The result is typically inflated to become a 40 point blowout instead. There is also a limit on the upper end, as transitive arguments like this might suggest the #1 team would beat the worst team by 150 points, which obviously just does not happen because of subbing in 2nd string, etc. The solution is to post a set of ratings which does its best job, but to have a separate predictor system which uses different logic. This is currently a work in progress and will hopefully have a prototype ready by Fall of 2016.

Thoughts on the future

At the moment the system is still very much a work in progress. I only transferred it to the web in Summer of 2014. I have currently one idea for future development of the system.

The idea is what I call a "layering" approach. This approach would use some combination of the above components to create a "base" rating from which to start, and then apply a different rating approach using those values as the strength of schedule component. For example, I could construct a reasonable base rating, then as a final layer weight only the last N games played with non-zero weights. Another promising "layer" is to weight games higher that are against similar opponents, to mitigate the damage done by 50 and 60 point blowouts against bad teams. Overall I have dozens of ideas for layers that can be added, as well as the idea of applying several layers to the end result.


Thanks should be given to the following:

Ken Pomeroy - For being an early inspiration to me for computer ranking systems, and for fighting the good fight for public acceptance of advanced metrics. Down with RPI!

Ken Pomeroy - For an updated game database for basketball.

Kenneth Massey - For operating a great site and providing a nice introduction to computer ranking systems in general. His Master's thesis, available at that location, was very thought provoking and a good read for anyone interested in this stuff. He also provides easily readable football scores which I use for my rankings.

College Basketball Ranking Composite - Operated by Kenneth Massey, this is a nice place to view and compare different basketball rankings, both computer and human poll based (including my own). There is also a Football Composite.

Bracket Matrix - For hosting my automated basketball bracket predictions (and also just for being awesome and existing).

My Dad, Tom Wilson, for encouraging me in the three passions which collide in making these rankings possible - sports, math, and programming. Thanks to him also for hosting this web domain. BuzzPlugg itself serves as a forum for conversation about beers - see what beers other people like and chime in on one you've had recently that hit the spot! "Plugg" the ones you like, "Nixx" the ones you don't, and the system tracks your favorites. It is all totally free!

James Howell , for providing historical football scores (which are badly needed to do the kind of analysis I need to do!)

I will probably think of others to put here later!


Although I believe the predictive power of my ratings to be quite good, I also acknowledge that sports are inherently random and to some extent unpredictable. Just viewing the upset tables can convince you of that - a team that is a 20 point underdog still has a chance if the cards fall right (and the chances might be higher than most people think!) Even a theoretically perfect rating system will be wrong some percentage of the time. Keep this in mind if you plan to use these ratings for any personal purposes.


If you have any questions or comments about my rankings, methodology, bracketology, or anything else, you can contact me at :


You may also post a comment here.

COMMENTS (No Links Please!)


On 02-02-2017, Bryan says:

I'm not sure I understand your question - I don't think I've ever supported micro brews here.

On 02-01-2017, Stephen Santa fe nm says:

Are you still supporting NCAA bb and micro brews

On 01-17-2017, Pharmk925 says:


On 01-15-2017, Pharmk361 says:


On 01-14-2017, Pharmf720 says:


On 01-13-2017, Bryan says:

Hi, do you have a question or comment?

On 01-13-2017, Pharmg968 says:


On 01-12-2017, Pharmd887 says:


On 01-10-2017, Pharma468 says:


On 01-08-2017, Johnk804 says:

I just couldn't go away your web site before suggesting that I really enjoyed the usual information an individual provide on your visitors? Is gonna be again continuously in order to check up on new posts ekbgdedacedc

On 11-18-2016, Quiana says:

Super exctied to see more of this kind of stuff online.

On 11-18-2016, Nook says:

Thanks for spending time on the computer (wginitr) so others don't have to.

On 11-18-2016, Suzy says:

YMMD with that answre! TX

On 11-18-2016, Jennabel says:

This is craystl clear. Thanks for taking the time!

On 11-18-2016, Addriene says:

The voice of raitnoality! Good to hear from you.

On 11-18-2016, Jayna says:

Weeeee, what a quick and easy soiluton.

On 11-18-2016, Prudence says:

I actually found this more eniartetning than James Joyce.

On 11-18-2016, Jonni says:

Thanks for that! It's just the answer I neeedd.

On 11-18-2016, Regina says:

I'm grufetal you made the post. It's cleared the air for me.

On 11-18-2016, Emily says:

Learning a ton from these neat arclites.

On 11-18-2016, Janess says:

That insight solves the prmloeb. Thanks!

On 11-18-2016, Welcome says:

Posts like this briteghn up my day. Thanks for taking the time.

On 04-15-2016, David says:

Hello! I am a statistics professor at Laval University in Quebec city, Canada. I have published a few sports papers, some of which have attracted some media attention (namely the one published in 2010 about pulling the goalie in hockey). I am working on a research project involving the NCAA basketball. I need data on WEEKLY rankings over the past several seasons. I saw your rating system and was wondering if it would be possible to get such data from you? david.beaudoin@osd.ulaval.ca

On 03-14-2016, Bryan says:

Everything is up and running for 2016 bracket season! Bracket generator is working now. Go give it a try!

On 03-11-2016, hey moron says:

it's 2016

On 03-06-2016, Bryan says:

With conference tournaments starting up, pretty much all of the games now are going to be determined based on results inside of brackets. Because of this, I will not be posting predictions for the week. You can easily make your own predictions for individual games of interest by looking up the teams in my rankings and comparing their strength. Also, of course next Sunday the bracket will be revealed. I will enter the field so people can start making brackets!

On 12-01-2015, Bryan says:

I am working on some issues with the basketball pages. The predictions system is not working correctly when I try to make predictions spanning into a new month. Also the Bracketology page has two teams at the very bottom with enormously negative scores, one of which definitely shouldn't be down there. It isn't affecting seed prediction yet but should still be fixed.

On 11-13-2015, Bryan says:

Basketball predictions page is now up! I will post new predictions for each week on Monday morning, which will include all of the games through the next Sunday night.

On 11-12-2015, Bryan says:

The first preseason basketball rankings are now up! I just barely had time to get it running so there was no optimization done on the system since last year and it is virtually the same programming. I am still working on a predictions page for basketball and hope to get it running soon.

On 10-11-2015, Bryan says:

Just a warning - I'd like to think I could put together a simple little comment section without it getting spammed by advertisements. While it is flattering that you think my site is worth your time to spam, I will take measures to stop it if it continues, up to shutting down the comment system entirely if necessary. Please don't ruin it for everyone.

On 09-30-2015, Bryan says:

Time for conference play to begin! We're about to find out who the real contenders are. I think in another 2 or 3 weeks the rankings will have enough info to be really solid.

On 08-14-2015, Bryan says:

Ru-D: Thank you for the question! I made a short post in the blog about it. I ended up busy this week and I'll have to see what progress I can make this weekend. The ratings are available now but have not been optimized yet, so I will not post until they are the best I can do.

On 08-14-2015, Ru-D says:

Bryan, how are the preseason ratings coming along?

On 08-12-2015, Bryan says:

I of course reserve the right to delete any overly hateful, inappropriate, or irrelevant comments as I deem necessary.

On 08-12-2015, Bryan says:

The comment section for my site is functional now! If you have anything to say about the site, please leave a comment here and I will try to get to it. Right now the comments are global - they will appear on all of the pages on the site.