March Madness Predictions: A “Similar Games” Method

Written by: Andy Li

March Madness. For those outside the sports world, March Madness refers to the annual spike in “Alt-Tab” key presses, rise in general delinquency at work and school, and discussion between the strength of bears and lions. For everyone else, it also refers to the NCAA annual college basketball national championship tournament where people make selections (“brackets”) in hopes of winning an office pool or bragging right, only to recycle their brackets after the first upset.

It has been my dream to win money via bracket pools and to one day achieve the pipe dream of a perfect bracket. For the 2017 NCAA tournament, I worked over a “similar games” method over the entirety of spring break and produced a 29-3 result in the official Second Round of the tournament and a top-10% finish.

I achieved that successful bracket without any hard rules and research. For this year, I have established hard guidelines and a methodology to lessen any bias in the system. In this article, I will lay out the methodology for my system (using a real game as an example), give an overview of how it has done in the NCAA tournament up to this point, and point to areas of improvement for next year.


My methodology is a “similar games” prediction system. Instead of focusing on average performances over an entire season, I focus on and weight performances based on the similarity of a team’s past opponents to their current opponents. In college basketball, the difference between the best teams and the worst teams is larger than any other American sport due to the high number of teams and disparity of resources between college basketball programs. Thus, it is unfair and misleading to look at a team like the 2016-17 Saint Mary’s Gaels and state that their defensive rebounding is great because they have the 2nd highest defensive rebounding percentage, when the median team they faced was ranked 180th nationwide in offensive rebounding. Averages can be useful for a quick “resume check”, but for an in-depth, accurate look, one must look at specific performances to see whether the averages hold up against quality opposition.

I decide whether teams are similar or not via each team’s statistics in the “Four Factors” (“4F”) of basketball. The 4F are the four areas of basketball where teams win games:

  1. Shooting, represented by effective field goal percentage (eFG%)
  2. Turnovers, represented by turnover percentage (TO%)
  3. Rebounding, represented by offensive/defensive rebounding percentage (OR%/DR%)
  4. Frequency of free throws, represented by free throw rate (FTR)

Each are also weighted differently based on their importance to a team’s chances at winning. The originator of the “4F”, prominent basketball statistician Dean Oliver, weighted them at 40%, 25%, 20%, and 15%, respectively. Using additional research for the NBA that suggested different weights, I adjusted the weights to 45%, 30%, 15%, and 10% respectively (note that rebounding and getting to the free throw line combined is not as important as getting turnovers).

I obtain these statistics for every Division 1 basketball team and then calculate the z-scores for each team’s offensive and defensive 4F, along with each team’s adjusted offensive and defensive efficiencies (AdjOE/DE): a metric from that measures the overall quality of a team’s offense and defense (the combo of 4F with the aforementioned KenPom metric will be referred to as “4F+”). Having that, I needed to find a way to measure the similarity between teams’ Four Factor performances.

Simply looking at what opponents had the closest 4F would not be good enough, as raw percentages are affected by quality of opponents. Instead, I decided to run a regression for each 4F. From, I collected game data from the 2017 68 NCAA tournament teams and ran a regression for each 4F, with the 4F from every individual game as the dependent variables and the season-long offensive and defensive 4F+ data from the two teams involved.

I now had a regression equation to predict a team’s (Team X’s) Four Factor statistic using Team X’s offense averages and Team X’s opponent’s (Team Y’s) defense averages. For example, a team’s turnover percentage can be predicted using the regression equation below.

From the regression output, I could look at which variables were important in predicting a team’s 4F. The output above shows that Team X’s offensive TO% and Team Y’s defensive TO% are by far the most important statistics, with the defense’s TO% being slightly more important (higher t-statistic). I also had information on if different 4F statistics have significant effects on each other through their p-values. I could determine that all the 4F+ (except for free throw rate) had significant effects on the other 4F statistics. To calculate the importance of each significant statistic:

  1. sum the absolute values of the t-statistics of the significant 4F+ values on the offensive and defensive ends (represented by 15.299 for offensive values, 14.768 for defensive values)
  2. divide individual t-statistics by their respective sum (depending if the statistic was offensive or defensive) to obtain raw weights
  3. adjust for ease of calculation.

From this process, I have now established weights of importance for each 4F:

I now have information on how important each 4F+ statistic is on each other as well as season-long 4F+ data on all Division 1 schools and I could now move into matchup analysis.


I will run through my process on the Sweet 16 matchup between Clemson and Kansas as an example of my process in “live-action”.

With 4F+ data on all Division 1 teams, I quickly construct a data sheet with the z-scores of Clemson’s and Kansas’s opposition in the 4F+. I then find Clemson’s and Kansas’s opponents that have similar profiles to the other team using the weights listed above.

For example, the most similar shooting offense that Clemson has faced to Kansas is Virginia Tech. To determine this, I took the absolute value of the difference between their z-scores in the 4F+ and multiply those by the weights listed above to get a number that reflects how close the two shooting offenses are.

This is done with corresponding weights for all 4F. I then identify the most similar teams by multiplying each “difference” by its corresponding overall weight. For example, the shooting difference would be multiplied by .45 and the turnover difference by .3. Doing this, I get a list of teams with offenses and defenses with the closest profiles to their opponent. Through this process, I conclude that the three offenses with the closest profile to Kansas that Clemson has faced are Virginia Tech, Ohio State, and Miami (Florida).

With similar offenses and defenses identified, I estimate points per possession scored or allowed (PPS/A) in the matchup by finding the PPS/A against the similar offenses/defenses. I gather data for as many teams until the sum of weights reaches a certain threshold. Finally, I multiply the individual PPS/A by the weights I assign to them and sum the products to estimate for points per possession (PPP).

To show the result of this process, I obtain PPS/A for Clemson and Kansas on both sides of the ball. I multiply the PPP by the amount of projected possessions. In this case, there are 70 projected possessions, and I average the results to give an amount of points score for each team. There is a slightly heavier weight to offense results due to results from regression.

There is some subjectivity to this system, as I lack hard guidelines for calculating the expected amount of possession. Additionally, I take into account other statistics like A/FGM (assists per field goal made) and FL% (floor percentage), which are proven to be indicators of winning teams, without any way to translate them to PPP values.

For this game, I decided not to switch from my projection after taking other statistics into question. An interesting battle in this game will be Kansas’s shooting vs Clemson’s defense, as Kansas shoots at an above-average clip in games against shooting defenses like Clemson’s, while Clemson has held opponents to a below-average clip in games involving shooting like Kansas’s.


My system this year has gotten crushed. I started off the second round with a 25-7 record, which put me in the top 1% nationally, with predictions of the Buffalo and Loyola-Chicago upsets highlights of my system. Davidson, New Mexico State, Wichita State, and Virginia were my Sweet 16 members that lost in the first round.

At the weekend’s end, only 6 of my Sweet 16 survived, with Houston, Michigan State, and Cincinnati leading the upsets. As the tournament continues, teams that I projected to lose early in the tournament like Kentucky and Duke will hurt my standings as they progress through the tournament. However, I still have two members of my Final Four and the NCG in Villanova and Gonzaga, so there is hope for me to make up ground in my pools.

For next year, there are several changes I would like to make:

  1. I take other statistics like A/FGM, BLK%, and “effective height” (a KenPom metric) to account but I have no way to translate that to a win probability or points value. While I do believe these metrics have value (study I have read cites A/FGM and floor percentage (FL%) as important variables for teams that win in March), using them brings a lot of subjectivity to the prediction process.
  2. Teams like Michigan and Kentucky are noted by “top” pundits as teams that do not play as well in the beginning of the year but seem to “get hot” and gather momentum heading into the NCAA tournament. My process weights the first game of the season the same as the last regular season game of the season and thus does not have any way to account for momentum (if that is an actual, statistically-proven phenomenon).
  3. Some players change the game despite the quality of his opposition. Arizona may have gotten knocked out early despite having DeAndre Ayton, but top players like Duke’s Marvin Bagley and Villanova’s Jalen Brunson and Mikal Bridges continue to affect the game in their teams’ favor. My current system does not account for the individuals on each team but focuses on the team through team statistics.
  4. Pundits note that it is harder to beat opponents that have a playstyle that is hard to prepare
    for. In this year’s tournament, Syracuse’s signature 2-3 zone and Loyola-Chicago’s pass-heavy offense have taken the tournament by storm. Solely looking at statistics does not consider playstyle and is another matchup that could be looked at.
  5. My system puts heavy emphasis on rematches from the regular season. Due to the statistical profiles of the opponents being the same (as they are the same team), I put a lot of emphasis on those games’ outcomes. However, games like Butler versus Purdue and Gonzaga versus Ohio State, rematches from the regular season, have come much closer than expected (predicted spread of 12.5 points versus actual outcome of 3 points). The added experience teams have due to direct competition may have different effects that I may not be taken into account currently.

I hope to address these issues, among others, and improve my process from research and regressions in the future. Additionally, I have an additional system that I would like to test out. Due to its more intensive nature I did not run it, though it is similar to my current system. I will leave you with my predictions for the Sweet 16 and future rounds. Anyone who has any comments, questions, or is willing to help me improve and automate this process is more than welcome to contact me at


As the tournament progresses, I project that there will be continued uncertainty and excitement. My national champion pick Villanova faces a tough road to escape the East region, while I project Kentucky will have a tough time surviving the South region. Interestingly, I change my Final Four pick from the West region to Michigan from Gonzaga. Regardless, it will be a record-breaking tournament that I will certainly keep track of.

Leave a Reply