Tuesday, January 20, 2015

NBA Log5 and Expected Wins with Python

With the NFL down to its final game, I needed a new sport to start projecting the games using Log5 and Pythagorean wins. Next up, NBA. One cool thing about the NBA is the sheer volume of games. The projection calculations can get a good workout selecting daily winners.

I started piecing together the scripts and infrastructure needed to project the daily outcomes using Python. The projections are calculated like my NFL POW using both Neutral Court and Home Court Advantages. I am using 60.5% as the Home Court Advantage factor.


Let's take a few match ups on 1/19/2015

  • All projections have the Hawks winning easy 
    • Log5 - 90.82% chance of home team winning
    • Pythagorean - 83.18% chance of home team winning
  • Log5 is based solely off Win/Loss record explaining the high projection
  • The Pythagorean projection had the teams matched up a little closer.

  • The Log5 projection on this game had the Bulls winning, whereas the Pythagorean projection correctly projected the Cavs would win. 
  • Both projections were near 50% indicating the game should have been close and should have been a good game.
  • Cavs out performed expectations and blew the bulls out by 14.
  • Here is an example where both projections got it wrong. 
  • Both projections are close to 50% so its not a huge disappointment here. Sometimes things just happen.
  • Even the Knicks have to win some games.
  • Pelicans were huge favorites in both projections here
  • The Knicks pull off a stunning victory.

Overall Record

I turned the projection system on for the 1/14/2015 games. Here is the current overall record.
  • Log5 Record: 33 - 16 (0.67)
  • Pythagorean Wins Record: 32 - 17 (0.65)
We'll see how well the projections perform over the next few weeks. I plan to setup something for baseball too.

Tonight's match up

The projection methods do not agree on the winner of the Heat/Thunder game this evening. We'll see which one is correct.


Post a Comment