Algebracket was created by Peter Rifel and Adam Wilcox, two Michigan State Alumni with the goal of taking the stress out of March. Our site will generate a unique bracket based on the statistics you deem most important to a team's success. We aren't trying to sell you on a bunch of unique formulas developed by a team of statisticians over months of work in a dimly lit basement. We went to MSU. We use simple, straightforward stats, and have just made the process of applying them more user friendly.


Welcome to Algebracket! This site allows you to create a customized bracket based on the stats that you deem most important to a team’s success. The sliders are used to weight the individual stats, which determines a team’s overall score. The farther you slide a stat bar, the greater weight you give that stat and the more influence that stat has in a team’s overall score. If you don’t want a certain stat to effect your formula, leave the slider at 0. The “Clear” button will drop all the stat-weights back to zero.

We have integrated data and results from the last 5 years so that you can test what combinations of weights would work best for those years. When you find a combination that works best, you can change the year using the drop down menu at the top of the page and click the “Set Year” button. This will transfer the weights you picked to that year.

The "Correct" counter at the bottom of the page tells you how many picks your weights have chosen. This is different from the "Score" counter, which calculates a score based on correct picks in the different rounds being worth the following:

How it works

When two team’s are matched up in the bracket, the team with the highest overall score, based on the given weights, wins and advances to the next round until that team is ultimately beaten by a team with a higher overall score. The team that is selected to win the bracket, is the team with the highest overall score out of all the teams in that given year.

To account for the fact that each stat group was measured on different scales, a method called Feature Scaling was used to normalize the individual stats to put them in a range of 0 to 1. A team with the best value for a given stat will have a 1 where the team with the worst value will have a 0.

    x’ = (x - min(x)) / (max(x) - min(x))
    x’ = normalized valve>
    x = original team stat value
    min = minimum value of data set
    max = maximum value of data set

A team’s overall score is determined using the following formula:

    T = (weight1)*(stat1) + (weight2)*(stat2) + ... + (weightn)*(statn)

Where T is the overall score for a given team. The individual stats are multiplied by their corresponding weights given by the sliders. If a slider is set at zero, this stat does not contribute to the team’s overall score. All of the weighted stats are then added up to give the team’s overall score.

The weight you give an individual stat has less effect on the overall score as more stats are given weights. For example:

If I picked the following weights for these two stats:
    60 - Seed   
    20 - Rebound Margin 
The overall score equation would be:
    T = (.60)*(Seed) + (.20)*(Rebound Margin)

The “Seed” stat has 75% (60/80) of the influence in the overall score compared to “Rebound Margin” which only has 25% (20/80). But if i were to add weights to a couple of other stats:

    60 - Seed   
    20 - Rebound Margin 
    20 - FG % Def. 
    20 - Free Throw % 
    20 - Scoring Margin
    20 - Fouls / Game
The overall score equation would be:
    T = (.60)*(Seed) + (.20)*(Rebound Margin) + (.20)*(FG % Def.) + 
          (.20)*(Free Throw %) + (.20)*(Scoring Margin) + (.20)*(Fouls / Game)  

The Seed’s influence has dropped to 37.5% (60/160) and the other 5 stats each only account for 12.5% of the final score.


Explanation of Stats (all normalized):