As I write this blog post, I’m at the 2017 Visual Studio Live Conference in Las Vegas. By coincidence, the 2017 NCAA college basketball tournament (“March Madness”) started just a few minutes ago.

I’ve always been fascinated by things related to probability and prediction. For example, every year I write a computer program that predicts the outcomes of NFL football games. In my mind, machine learning is any system that uses data to make some sort of a prediction, so predicting outcomes related to March Madness is a possible machine learning problem.

There is huge interest in the NCAA basketball tournament. By that I mean an enormous amount of money is bet on the games. The best estimate I’ve seen indicates that people will wager approximately $10.0 billion dollars on March Madness over the next few weeks. That’s “billion” with a “b”.

A good friend of mine (PW) knew that I was in Vegas and so he sent me an e-mail message and asked me to place a $100 bet on UCLA for a friend of his (DL) to win the tournament. DL picked UCLA because that’s where he went to school. The approximate Vegas odds of UCLA winning the tournament are about 12 to 1 so if UCLA wins my friend’s friend will win about $1200.

So, I walked across the street from Bally’s (where VS Live is) to the Bellagio Hotel, which has a big “sports book” (betting operation) to place the bet. There were hundreds of people there and tremendous energy, and the first game (Notre Dame vs. Princeton) had just tipped off. It was very exciting.

Now the interesting thing here is that the current odds are determined by how much people bet on each team. And for March Madness, people often tend to bet with their hearts (i.e., the school they went to) rather than their heads. This likely creates imbalances in the odds that could be taken advantage of with a sophisticated machine learning system. I wish I had time to explore such a prediction system, but I don’t.