One of my projects over the all-star break was trying out different permutations of my Betting Venues model that also extends to past seasons. The current version with the largest possible sample size has been in a death spiral since late November, but I’m curious to know if there’s a better version that only uses the previous 2 seasons. My complete sample dates back to October 2019, but several teams are completely different now than they were then. You can see that inefficiency when looking at B.V’s results by team, like laying too much on Detroit opponents -1.5 goals. This tested my skill as a model builder, but the light NHL schedule afforded me the opportunity to try.
Before we go any further, it’s time for my obligatory *DISCLAIMER* it needs be noted that I’m not betting with real money. These are all fictional wagers in a spreadsheet. My mission is to engage in a mass betting campaign, picking a winner of every single game, every over/under, because it provides a complete dataset for macroeconomic analysis, which can be shared with you, shedding light on what worked and what failed. I’m also tracking the results of betting every outcome, to help me (and you) uncover previously unknown or newly emerging profit vectors. What started as a thought experiment has evolved into much more.
Version 1.0 of Betting Venues was not fit to a large historical sample, it merely added up the results of the full sample, identified the most profitable pick, then selected that wager. That version excelled early, but inevitably collapsed over a larger number of games. Version 2.0 only cares about the previous 2 seasons, so that one can be tested for 2021/22, 2022/23, and the current 2023/24. The initial re-build (let’s call that version 1.5) used the largest possible sample (not just previous 2 seasons), but only made it through 40% of the sample before running out of profitable vectors (where I would have had to start betting teams who were bad against that opponent in that venue).
There were a few extra tools in my toolbox for this build, having totaled goal differential and expected goals for the previous meetings between those teams. Both those tools proved their value early in the investigation. 15 different variables were created, then checked to see which one had the highest correlation to who actually won the game. Expected GF% was the clear winner, even beating different permutations of the same input. It was also substantially better than win differential. So, a team having a good xGF% in their previous meetings was more important than winning all of them.
Actually explaining how this model makes picks is very difficult to do in laymen’s terms. It does make picks based on the line range of the teams involved, with different parameters for favorites and underdogs. The task was investigating every possible game state based on the xGF% and line range, with different bet selection instructions for each. Automating the model was a matter of assembling each permutation, the bet size formula, then setting up 1s or 0s as indicator variables to identify it which state each game belongs. I’m happy sharing a screen shot of what that looks like even if there’s enough data for an enterprising coder to extrapolate the whole model.
Basically, if you’re smart enough to reverse engineer my entire model using the image above, you’re probably smart enough to build your own. Not sure it’s worth the effort though, since you can just subscribe for free to my blog and frequently get the model’s picks delivered directly to your inbox. Also beware, some of those 1s and 0s are there to avoid potential minefields that risk collapsing the entire thing. Better to just get all the picks from me. The “yes” column highlighted in blue will produce a “1” for only a single game state. No more, no less. Technically there won’t be any GP=0 in the current season. That group was only necessary for 2021/22. This model was fit to 2.5 seasons (the clever coder may not have the historical data to fit the model).
There was some wacky variance with over/under this week, as a few teams abruptly flipped from strong overs to unders or visa versa, which was costly for anyone using an average goals last 5 games algorithm. Fortunately, I’m no longer following the advice of a single algorithm for my choices. The algorithm formerly known as “Prime” is returning to its birth name “Avg Goals Last 8 GP Minus Max Min” which is a little too long for graphics. Formerly Prime might be optimal. Even my 9 member “Over Under Council” as you know it has been abolished (their profit/loss data still feeds Max Profit).
My OU picks are now being guided by a “Small Council” of 5 members: Max Profit, Game Sum, Expected Goals Last 30 Days, Goalies Last 30 Days, and Prime Avg L8 MMM (maybe sub-Prime is better). Not all of those voices are necessarily my best performing algorithms on the full season, but what makes them an ideal team is they’re all competent and use different data/methodology to do what they do. Too many members of my previous team voted the same way too often, which can prove costly when hit with shifting trends. I was going to have 6 members of my “Small Council”, but decided 5 was better because then there’s no ties. My bets will be scaled to their votes. 3-2 = $100, 4-1 = $200, 5-0 = $300 (of pretend money).
They have a very high success rate when unanimously agreeing on the best bet (hitting nearly 65%). Max Profit has emerged as the best prophet of the group, but I’m not changing the name to Prime. Reducing the over/under team in my pick graphics does free up some real estate to share more model picks, dealing exclusively with wins and losses. Betting Venues 2.0 demanded re-instatement onto the team, and had a track record proven over a larger sample to earn that role. Also, this was one was tested on the previous 2 playoffs and produced a profit, so we’ll pretend this is as much a playoff model, therefor not violating my promise to stop building models unless they’re playoff related.
Another of my projects over the break was upgrading my “line movement” worksheet, which has rarely been mentioned in my reports/previews. The last 2 seasons I’ve been recording opening and closing lines. They are not the official open and close, but are approximate. Every morning, I open up Draft Kings and start hitting the refresh button until the lines for tomorrow are up. The angles I tend to wager have higher returns on open than close. But the concept of betting with or against “the public” is a fascinating angle. The worksheet exists, but I’m not accessing it very often. I’m just building up data until something actionable emerges.
Since I’m not letting myself build any new models (upgrades notwithstanding) except playoff models between now and April, perhaps my first version of “Betting the Public” which only wagers on closing lines, will have to be a playoff-based model. All the closing lines from last year’s playoffs are in my historical sample, but not the year previous. By the summer, I’ll have two full seasons (and playoffs) of opening and closing line data to analyze. My educated opinion is that it’s generally more profitable to bet “against” the public on closing lines (they’ll often push a line too far), but there are certainly situations where the public tends to be right.
Yesterday I “violated” my original promise not to build any new models, which will be discussed in my betting report tomorrow. But as previously mentioned, all the new models are also being tested on past playoffs, so by pretending the newbies are playoff models would mean my promise was not broken. I decided to terminate my dog and fave lover models that were just derivative of Max Profit except with a specialty. Turns out both were terrible when disagreeing with Maximus. It also felt prudent to build a second model using my “weighted wins” input data, but one that’s not a hedge betting negative value.
Once this report gets posted, I’m building a new model called “Betting Teams After Losses” (a shorter name would be preferable, but that name is precisely what the model will do). This one will be trained on both regular season and playoffs, but priority will be given to playoff related profit vectors. This would be named “Ziggy the Zig Zag” model (betting teams who lost the previous playoff game is a long-time NHL playoff betting strategy nicknamed “zig zags”), except in the regular season it may not always bet teams who lost their previous game (especially if the team sucks).
We only have 2 games on Monday, but both are compelling match-ups. If you are new here and want to know how my betting models work, click here.
COL @ NYR:
The Colorado Avalanche have won 7 of their last 10 games while the Rangers have won just 4. The Avs are a wagon I’ve been actively riding, vaulting them into #1 in my profitability rankings, building a big lead in the last week. New York has struggled and I’ll need to see them turn the ship around before they can recapture my trust. The Avs opened at +100 on Draft Kings (which is my bet), and they still would have been my pick if that was -120. My biggest cause for concern is that my Expected Goals models both like the Rangers, and Max Profit does better when those are on his side. Maximus does not do well with both xGs and the Hedge Fund on opposite sides. My Avs ML selection is not without some risk, hence why they’re dogs, because they’re not as good on the road.
If you want harmonious agreement among models, then perhaps the best bet is over 6.5 goals. My new “Small Council” voted 5-0 for over 6.5 (which I Tweeted out after seeing the opening line on Friday), so I’m putting a max bet on that outcome. Avs overs are on fire (10-2 in the last 30 days) while New York overs have been popping too (aided by struggling Shesterkin)
NYI @ TOR:
Patrick Roy took over the Islanders coaching job 4 games ago, and I jumped on the bandwagon anticipating a possible “new coach bump”. They did win his first game with a 3-2 win against a strong Dallas team, but then lost their next 3, all by 1 goal. Perhaps their pucklines +1.5 goals did get the bump, but their moneylines skipped the anticipated spike. That’s why I’m going to side with a majority of my models who are taking Toronto, going ML at -175 (which has dropped to -163, so the public liked the Isles price better). I’ve said many times Toronto has a history of choking as big favorites when I pick them to win, and the weekend line movement may signal pending doom. Deciding whether to fade or follow my lead will be up to your own instincts. My statistical analysis of “new coach bumps” isn’t planned until the offseason, but surely sometimes there’s a delay between hire and bump. Especially if a coach is changing the system. An interim coach running the same system likely gets to the bump quicker.
The over/under might be a stay away. One team has been delivering unders, the other delivering more overs, so a warm front and cold front are colliding. The Small Council voted 3-2 on under 6.5, but I’m going to side with Max Profit and bet the over. I don’t like xPrime being the swing vote and losing money on that bet in the last 30 days. Last year post all-star break overs were a good bet, as goalies are returning from vacations. The next few days will have a few “when in doubt, bet the over”. Recalling, Tailing History is running a full-season profit on over/under. That is one area where history seems to be more repetitious.