How We Make Our Models
Searching for answers as to how our hand-built models are crafted? Look no further.
I created this model using NFL team data from 2015-2019. I take the data into Excel and narrow it down to the 4 most important stats when it comes to a team scoring points in an NFL game. These stats are hand-picked from years of research.
I then teach the model what stats account for the most points scored, and which stats account for the least points scored.
After the model learns what stats are important and which stats are not, I plug in stats from the current season to calculate the expected Points For / Game for a specific team (xPF). I then do the same thing on the defensive side of the ball to get the expected Points Against / Game for a specific team (xPA).
Now that I have that I can calculate the score of any NFL game using an adjusted scoring formula I made myself, using square roots and standard deviations. So, for example I can plug in the Detroit Lions vs Chicago Bears. The Lions might score 23 xPF/G and the bears might score 20xPF/G, but this does not mean the score will be 23-20 Lions. The score would end up being 25-22 Bears based off xPA and defensive and offensive efficiency for each team. I also consider home field advantage and give the home team a slight points advantage.
So now that I have my adjusted predicted score, I can get a xSpread and xTotal for the game. So, using the Lions vs Bears example, the total would be 47 points, and the spread would be Bears (-3). Then what I do is compare that to Vegas’ spread and total. If there is a big enough discrepancy in my numbers vs Vegas’, then there is value in that bet, and I will bet it. For example, if Vegas has the total for Lions vs Bears at 45.5, and my total is 47, then there is not a big enough difference for me to bet it. But, if the total was 43.5, then there would be enough of a difference to find value. The same goes for spread bets.
Money Line is where it gets a little tricker. For ML bets I run 10,000 Monte Carlo simulations based off the Adjusted xScore talked about earlier. When the simulations are done running, I take the number of games Team A won, and divide it by 10,000 to get their win %, and then the same with Team B. From each team’s win % I can make my own odds and compare them to the book’s odds just like the spread and total. I then take my odds and multiply them by around 0.75 to give the book makers some credit, as they are the experts.
Now I know what you are thinking right now is “why wouldn’t your total and odds be the same as Vegas’ if yours are so accurate?” The answer is simple: We are not trying to beat Vegas. We are trying to beat the 95% of people that are betting with no concrete knowledge. My lines and totals are very similar to Vegas’ opening odds for that game, but Vegas adjusts their lines and odds based on what people are betting to guarantee they make profit. Vegas will adjust their lines so that they are more tempting, as they can minimize their losses. Here is an article explaining how that works. My model helps to find where the value is in these moved lines.
Hopefully that cleared up some stuff, if you have any other questions email us whizardanalytics@gmail.com or DM us on Instagram @WhizardAnalytics.