Week 19 is almost here, so it’s time for another betting preview. I’m currently waist deep in model retrofitting, but needed to step away and post my preview with picks for a busy Monday. At this point, my Grand Aggregator is emerging as my most dependable model (technically it’s just a simple formula, not yet a model, but that’s coming soon) betting the largest position off the other models (technically, it doesn’t always bet the biggest position because it doesn’t count itself or the Hedge Fund Composite model in its selection). You can see the exact investment distribution of all my models in all my pick graphics.
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.
My Current Model Project
Ever since my Max Profit model (aka Maximus) slammed into a brick wall shortly before the all-star break, I have been brainstorming possible improvements/upgrades. The current version was never fit to data for bet selection or bet size. It just added up the profit last 30 days of all the models betting these teams and it worked remarkably well from the beginning (well, after a bad first week) so it didn’t seem necessary to optimize bet selection when it was pretty damned optimal as it was…well, until it wasn’t. The model went from first to last in less than 3 weeks, at that point optimization became a necessity. Back to the laboratory.
It slowly dawned on me that 10 of my other models were actually fit to previous seasons and their picks recorded in my database. It would be easy to get a tally of each model’s last 30 days profit for the teams playing each game historically. Why stop at 10? Why not fit all my models to 2021/22 and 2022/23? My database goes back to October 2019, but the data from the first 2 seasons was shortened by the pandemic. The data from the shortened 2021 season is tainted by teams only playing within divisions, but can still be used to fit models to the 2021/22 season, maybe sub-optimal, but as long as they can turn a profit, that’s functional.
Step one was refitting Tailing History, which felt like a shame because I just re-wrote that cerebral cortex before the all-star break and the new version was working well. But I’m concerned that the sample sizes in the sub-compartments were too small (because it required getting too cute to find profitable angles). The new one was fit to 3,500 games and produced an even higher rate of return than Tails 2.0 (both versions bet the same side more often than not). Tails 3.0 has 60 different compartments/angles, and the average number in each sample is 61. That should be stable with a solid foundation not built on a house of cards.
The only thing standing between me and fitting my last 2 non-composite models to past seasons was the absence of my predicted probability of either goalie starting. That’s a vital input in both models, and they don’t function without it. But they don’t necessarily need that number to come from me dissecting the game logs and conjuring a number. It can be algorithm based. There are a few challenges for that, like injuries, or not knowing who is backing-up any given night. I’m skeptical that any algorithm would be more effective than my brain, but a crude formula could act as a reasonable proxy.
What’s Next?
Once those goalie-based models are retro-fit, then my historical sample (at least the previous 2 seasons) has a fully functional team of models. That also means that the Hedge Fund Composite and Grand Aggregators can be optimized based on previous seasons to become more intelligent. Having 11 historical models is probably enough to optimize Maximus, though some of them don’t start until the 2nd quarter, or later in the schedule because they need a bigger sample (like Weighted Wins). Shorting Goalies is the last one to do, plus I’m also retrofitting a few new and existing over/under models to previous seasons, so that my Small Council can record historical bets for the database.
The major benefit to fitting these models to a larger sample of games (aside from making them more stable) is that it’s going to give me a very large sample with models working together, giving me thousands of games worth of data with a majority of my models recording picks. What happens when specific models bet the same side? Which models work best as a group? That was the basis for my Small Council of over/under algorithms, just finding 5 competent contributors that use different data to calculate their picks and tend to be very effective when they’re on the same side.
Unfortunately, all the work upgrading my models the past few days is not ready to be reflected in my Monday picks. I’m hoping by next week it’s all good to go, because spending substantial time fitting models to past seasons during the current schedule is distracting me from studying what’s happening right now. But the objective is to optimize all my models to larger samples, which should help me finish the season strong. If so, I might be sharing my model picks for every single playoff game with my subscribers. All these models are also getting fit to playoffs.
Model Results
Friday night I Tweeted a screenshot of my model picks for Saturday.
The position with the highest percentage went 9-4, while the over/under picks went 9-3-1. Let me tell you from experience, it’s very difficult going 18-7-1 making picks for every game in a busy night (I had an even better night back in early November before my models were online). As long as the Grand Aggregator keeps hitting picks, I’ll keep Tweeting these graphics. Below is the updated model standings for the third quarter of the season. These do not yet reflect my current retrofitting project (aside from Tails 3.0).
If you are new here and don’t know how my models work, there’s a link for that. Granted that explainer post will need to be overhauled in the next few days. It’s still only on Tails 2.0. Let’s get to tomorrow. These write-ups will be short, since my model picks seem to be more valuable than my own thoughts at the moment. Frankly their collective judgement appears to be better than my own. So, I’ll be taking the largest position more often than not. Yeah, Tails 3.0 is on fire and gets first billing in my pick graphics, but I trust the aggregator more long-term. Weighted Wins 2.0 might be next in line for a retrofit. It fit the sample well then collapsed after automation, so it could be human error.
Monday’s Bets
ANA @ BUF:
Ukko-Pekka Luukkonen is back from his minor ailment/illness, beating Minnesota Saturday. I mistakenly took the Wild expecting UPL to miss, even though my models liked the Sabres. Anaheim lost 9-2 Saturday, but bad teams don’t respond as well to blowouts as the better teams, otherwise Betting Loss Trends would be on the Ducks (BLT actually wanted to make a max bet on Sabres -1.5 but was restricted by safety protocols (bad return L30)), because bouncing back from blowouts is a key component of that matrix. It should be noted that while my models are mostly betting Buffalo, nobody is running a profit on that pick in the last 30 days. The Small Council is taking under 6.5 with a 3-2 vote, so that’s my pick too, along with Sabres ML -192 (which does feel expensive).
TOR @ STL:
Two hot teams are colliding tomorrow, and my models are overwhelmingly on the Leafs, so I’ll be taking their moneyline -155 (which has moved to -162). The Blues Goaltending has been too good for me to even consider -1.5 goals. It’s worth noting that the Grand Aggregator wanted to make a much larger bet on Toronto, but was restricted by safety protocols because it has sustained a big loss in the last 30 days betting Blues to lose at home. So, there is that to dampen your enthusiasm. I’m also taking over 6.5 goals but don’t feel good about it, aside from Auston Matthews being a monster.
DAL @ BOS:
While my models are 48% invested in the Bruins ML, that team has lost 5 of their last 6 games and does not currently have my trust. I’m going to put a minimum bet on the Dallas ML at +110 because that feels like a nice number to get for a team that’s won 7 of their last 9 and are facing a cold opponent. Oettinger has started 4 in a row increasing the risk of Wedgewood, but I’m hoping he starts for them Tuesday on the back-to-back instead. I’ll have a larger wager on under 6 goals.
VAN @ MIN:
At first glance this felt like an easy Canucks pick, especially with my models going 49% VML, but there’s an uncomfortable amount of red ink (metaphorically anyway) on their picks last 30 days. Also, Demko has started 4-straight, they lost the last game, and play Tuesday in Colorado, so this will almost certainly be Casey DeSmith in goal, and Casey has not been very mighty lately (.821 SV% last 30 days). Wild are a better team at home and have won 7 of their last 10 games thanks largely to strong goaltending. I’m taking under 6.5 goals despite DeRisk.
DET @ SEA:
My previous statement that I’d mostly be following my models with these picks is beginning to look like misinformation because I’m zagging again. They are 46% on Seattle -1.5 goals, my problem with that is they’re getting home from a 5-game road trip travelling 9,600 km. The west coast teams tend to be the worst getting back from road trips (aside from Canucks this week). This probably deserves a disclaimer that I’m a Red Wings fan vulnerable of seeing through red colored glasses, but I’m staying on the west coast travel angle, not necessarily tailing irrational optimism. I’m putting a minimum bet on Wings ML +100 (which has moved to +105) and a max bet on under 6.5 goals.
VEG @ SJ:
Looks like the Sharks mini-hot streak before the all-star break has ended after losing Tomas Hertl to injury. My models are putting 76% of their money on the Vegas ML -278, so I’m going to get back on the tailing trail. I’m staying away from the puckline -1.5 goals because San Jose has covered +1.5 in 9 of their last 10. I’m also going to take over 5.5 goals, which passed with a 3-2 vote.
EDM @ ARI:
The Arizona Coyotes play today in Denver, and fly home for a back-to-back against the mighty Oilers with Matt Villalta as the Yotes confirmed starter. That’s a rough assignment for a kid’s first NHL start. My models have 96% of their money on Edmonton, and I’m pushing all my chips to the middle for a max bet, 60% ML -238, 40% PL +100. My Small Council voted 3-2 on under 6.5, but I’m not taking that pick for Matty’s first start. Edmonton overs are gaining momentum after a prolonged hot streak by their unders.
WPG @ CGY:
The Jets had a big win against Vancouver Saturday night where they dominated physically and finally had an offensive outburst against a Vezina candidate. My model’s biggest position is 38% Jets ML at -130, but that’s not a popular pick among my top performing models, except Tails 3.0 who loves them -1.5 goals. I’m putting small bet on the Jets ML and will place an equal amount on under 6 goals. This would have been a 5-0 vote from my Small Council if not for expected goals, who is getting crushed on that bet with these teams last 30 days. Calgary also has a Vezina candidate in goal against another Vezina candidate, so you really should not be betting overs with these teams, but I get how expected goals doesn’t care about SV%. Underestimating elite goaltending is the deficiency (I’m rebuilding xGL30 over/under into a model in the next few days, and SV% is a variable in the worksheet which was used to build Goalies Last 30 Days (which is also getting an over/under upgrade)).
OTT @ TB:
It’s very difficult to get a read on the Ottawa Senators lately, they have the ability to be either really good or really bad, but what concerns me the most here is losing their last 2 games against Anaheim and Chicago. That doesn’t signal heading in a positive direction. So, I’m going to take Tampa on the assumption they’ll be eager to avenge their embarrassing defeat at the hands of Florida (though this specific permutation was not one identified as profitable by Betting Loss Trends, which is putting a minimum bet on Sens +1.5 goals). More of my better performing models are on Ottawa, which does give me pause, and the -175 price feels off, but I’m still going to bet Tampa ML. I’m also taking under 7 goals.
CHI @ CAR:
The Carolina Hurricanes are giant favorites against the Chicago Blackhawks, and rightfully so. The largest position from my models is Carolina -1.5 goals, but that’s only 2% higher than the Chicago ML, so it’s not unanimous enough that I’m willing to pay -425 for the Canes ML (which has moved to -440). 4 of my 5 best models like Chicago, so I’ll put a minimum bet on Hawks +1.5 at +136 (which they’ve covered in 4 of their last 6 games). Petr Mrazek has a .924 SV% in the last 30 days and is likely to start. Connor Bedard is back, which helps their offense. I’m making a larger bet on under 6 goals.