Count Cards, not Parlay Legs: Lessons from my First Season of NBA and F1 Betting
TL;DR: Lessons from my first year of NBA and F1 betting: manage your bankroll, use data (R helps), and bet big only when you’ve got an edge. Stay disciplined, and don’t gamble on luck alone.
Last spring, I started betting on NBA games and F1 races, and my return has been 20% on my bets over the first year. I don't know if that's sustainable, but I figured I would share some of my thinking about how to enjoy this responsibly as a hobby with the potential to profit. Naturally, as the author of an open-source software package to help fans analyze F1 racing data, I was always going to try taking a data-driven approach.
One thing that's stuck in my mind lately is a Youtube short (sorry can't find the exact clip anymore) showing a casino security office watching a card counter playing blackjack. The player bets liberally when the count is in his favor, but backs off to much smaller bets when the count worsens (fewer cards remaining that can give him blackjack). "That's it's!" the casino's security chief exclaims. "I've seen enough. He pulled his money back when the count worsened, and I am ready to kick him out."
Let that sink in. In a casino, if you make smaller bets when you're less likely win (which sounds like the rational thing to do if you can keep track of it), that's enough to get kicked out and blacklisted. Yet, I think varying your bet sizes and being ok with betting small is a valuable, maybe essential skill as a sports bettor.
Of course, nothing in sports probability is as objective as counting in blackjack, but I think the analogy still highlights the importance of identifying when you have an edge and adjusting your strategy accordingly. Also, there's nothing in sports betting analogous to "basic strategy" or other blackjack betting charts. But I do believe that sports fans can use statistics and probability to compliment the eye-test in making bets.
(My goal is not to encourage anyone to gamble. The media already does enough of that. I want to encourage those to do engage in it to see it as a skill-based craft that demands a thoughtful approach. I am sharing my experiences and thoughts for educational purposes only)
Bankroll Management: Staying in the Game
I think a key component of gambling responsibly is being willing to set aside a set bankroll and take steps to not lose that money. I propose seeing sports gambling as an infinite game where the goal is not to win but to ensure you have the resources to stay in the game and continue adapting.
You will have losing streaks. It's unavoidable. Don't think you're invincible.
When I opened an account with DraftKings Sportsbook and made my initial deposit, I told myself that was basically "it" and I wasn't allowed to refill if I lost all my money before basketball season ended.
In options trading (which is often not too far from gambling), a common risk-management tip is that you don't want to risk more than 1-2% of your account in one trade. The reasoning is that you want to limit the damage when you inevitably lose 5 bets (or more) in a row. I think it's a smart approach to take for sports gambling too, and I did a simulation that shows why.
I think watching basketball is fun, so I watch a lot of games during the NBA season. I made a simulation where the bettor starts with $100 and makes bets on a 50-50 outcome with a set house edge built in. I wanted to see what percent of time the bettor would last 82 games at various bet sizes. As you'll see with the chart of the results, it doesn't take much to make it concerningly likely that a hypothetical bettor would go bust before the end of the season.
There's a clear drop off after roughly 5%. Also, keep in mind that most sports bettors will be playing some parlays, so they will have bigger losing streaks. It's up to each individual to make decisions about their own risk tolerance,
Hopefully I have encouraged you to see the importance of proper bankroll management in these kinds of endeavors. However, it's important that we remember that none of this will actually make any of our bets better. Bankroll management is a prerequisite for success, but it is not sufficient to make you profitable. That's not the point though, the point is to keep you in the game so you can continue to learn, adapt, and hopefully have fun.
A Journey Into the Numbers: Building Statistical Confidence
Don't you hate it when some guy on the internet just throws some chart at with minimal explanation of methodology, tooling, or data sources? I've seen way too many youtube videos that throw a chart up for like 2 seconds and rush through some point they're trying to make. "I charted all centers on this chart, and Jokic is the dot way up here so he's the GOAT." Don't be that guy. It's just a dead-end in terms of building and sharing knowledge. At least I try not to be that guy. So let me talk a little about the tooling I used for the chart I presented above and the simulation it references, because I think it's an opportunity for sports fans to improve their knowledge of statistics and engage with deeper analyses of the games they love.
The tool I used is R, a statistics and data visualization software environment that is totally free to download and RStudio. It is widely used by analysts at teams in major pro sports leagues including the NBA, NHL, and NASCAR.
What makes R so powerful is that it has a bunch of data analysis and visualization tools, both built-in and installable via its extensive package ecosystem, for answering questions with data. You interact with R through its programming language, which is designed to help you explore your data as quickly as possible. But you don't learn R like a normal programming language because you're learning advanced statistics at the same time. And importantly, there's an emphasis on interactive usage where you get immediate feedback on what you're doing and what your data currently looks like.
To make the chart above for my simulation, I leveraged 'ggplot2' a package for R that lets you build up plots for your data with various kinds of layers and themes that you can compose. It makes a good companion to any data analysis.
It is impossible to avoid probability when we're talking about betting, but it's not something people naturally have an intuition for, generally. Therefore, I think there are 2 main benefits that learning R has for sports bettors:
- It gives you a platform to learn about statistics and experiment with things, strengthening that essential stats and probability theoretical foundation (R was literally initially built as a tool for teaching statistics)
- You can gradually learn how to build tools that can help you visualize data and make predictive models that are directly informative to your betting
If you view sports betting as a skill-based activity, you should find these 2 benefits intriguing even though I'm clearly not offering any guaranteed path to success.
If you have any spreadsheets which you already use to help you analyze stats for sports betting, R can extend this. There are packages available to easily read from and write to excel files, opening up a whole new world of tools (like ggplot2) and automation at your fingertips when you need it.
Of course, I recognize that it's not the smallest commitment in the world to learn data analysis with R even if I think a lot of the APIs are intuitive. I don't mean to gatekeep; you don't need to be some kind of elite data scientist to enjoy sportsbetting as a hobby. But keep in mind, big sportsbooks do have armies of elite data scientists and analysts who are well-paid to use technologies like this to beat you.
Suggestions for Getting Started
R has a built-in family of functions for letting you explore known probability distributions, and that might be a good learning starting point. You can pass these into the base R plot()
function for quick visualizations.
From here, a good mini-project to get started with could be visualizing the distributions of per game distributions for your favorite players to prop bet. I still find these kinds of visualizations essential. Many fans might have an idea of their favorite players' per-game averages, but that doesn't tell you anything about a player's consistency. With 'ggplot2' it's easy to use the geom_histogram()
layer to make histograms of distributions. For example, here's one I made about Jayson Tatum last year:
A player could have the same average but a very different looking histogram. One thing to look out for is tail behavior (how many monster games or clunkers does a player have?). Also, standard deviation, calculated in R with the
sd()
function, can be a useful indicator of consistency. In a lot of betting situations, it can be useful to look for players with a lower standard deviation.
Another benefit of R is that everything you do is naturally reusable with new data, either by copying and pasting code or organizing it into reusable functions. If I want to make the same histogram as above except for Jaylen
Naturally, when you get into this kind of stuff, you'll start to ask questions about how different variables affect how much a player scores in a game. This is where good old-fashioned linear regression can come in handy. It's not the most advanced ML algorithm, but it does give you interpretable coefficients for the variables you include in your model. You can fit a linear regression model with the lm()
function.
(by the way, I am not throwing all thee R function names at you because I expect you to remember how to use them, but to give you ideas for things to look up)
Getting Data
A lot of websites out there have some sports statistics that might be interesting to make charts from. Starting out, it is very quick and easy to copy and paste that into an Excel or CSV file and load it into R.
Generally, however, being able to retrieve data programmatically is much more convenient and flexible. For example, my 'formula1data' R package (which I also linked to at the beginning of the article without naming) lets you load F1 results, lap times, standings, and more from a free F1 API with a single line of code. There are also packages like that out there for the NBA and more that get data either from APIs or scraping web sites.
Speaking of web scraping, the 'rvest' package gives you a solid option for custom web scraping code in my opinion. I would still not recommend it when just starting out with R though.
Being able to combine and rollup multiple data sources into one for analysis can be one of the most powerful skills in data science.
The Bayesian Opportunity
In classical frequentist statistics, analysis of probabilities is driven purely by frequencies in the data. I would argue that this is at odds with how people intuitively think about data.
There is another branch of statistics, bayesian statistics, in which analysis can incorporate prior information. In bayesian analysis, you have prior beliefs and update them as you get new information. Bayes' Theorem provides a mathematical framework for this. I think this is more in line with how sports fans' brains work than the frequentist method. We go into each season with expectations about which teams and players will be good and gradually update our beliefs as we start to see the actual results of games.
While I have not applied bayesian modeling techniques to my sports analyses yet, I do think this a promising area for me to explore coming up. In addition to the advantage described above (methodological intuitiveness), I think can be useful in addressing problems with modeling with low amounts of data (such as early in a sports season).
R users can utilize rstanarm to fit bayesian models. This package provides easy-to-use bayesian counterparts to modeling functions in base R. For example, stan_glm()
is a bayesian version of base R's glm()
.
If you are a sports fan with domain knowledge, this is an opportunity for an advantage because you can incorporate your domain knowledge into your model with your priors.
For any readers interested in a longer read about these two branches of statistics with a case study, you can check out this paper for free.
Parlays: Bet Sparingly for Entertainment
You might be good, but the sportsbook business model is to make it expensive to access your skill here. "Expensive" in the sense that you stack the house advantage of multiple bets, a well-documented downside of parlays.
Parlays are marketed and incentivized heavily because they are profitable for the house.
Frankly, I think a lot of sports bettors understand that parlays are suboptimal but still choose to wager them because of the entertainment value and potential for relative large winnings. I won't hate. I would count myself among that group. However, I think it's very important to be deliberate when evaluating the role of parlays in your betting portfolio.
Since you're obviously more likely to lose a parlay than a straight bet, parlays can lead to longer losing streaks and bigger draw downs. With your current bet size strategy/tendencies, can you survive losing 5 parlays in a row? 10? Be careful. It will happen eventually.
For parlays, I like to bet them even smaller than my normal bets (< 1% of account).
Case Studies: Betting Big with a Purpose
Long-term Bet on Verstappen to Win 2024 Championship
Going into the 2024 F1 season, I thought F1 Max Verstappen would surely win the Driver's Championship. When I checked DraftKings prior to winter testing, I saw a lot of value in Verstappen at -370 to win the championship. I viewed it as relatively safe.
It normally would break my bankroll management rules, but I boldly decided to lock up half of my account in the bet. It wasn't going to make me rich, sure, but a 20+% annual return is pretty good. In fact, time value of money considerations are crucial with these kinds of long term bets. In a nutshell a dollar today is worth more than a dollar tomorrow. But this bet satisfied me from that perspective; I was sure this risk/reward profile was something I was some exposure to.
In a lot of ways, this was a low-information bet from my perspective. Sure, Verstappen was dominant the previous season, but it isn't a given in F1 that the previous season's champion will have the most dominant car the next season. I think it worked in my favor that it was a situation where the lack of information was symmetrical. The sportsbook business model works at scale because of data. When it is lacking, domain knowledge can help bettors find good opportunities in certain situations. I have developed
Spoiler alert I won this.
Betting Big on Underdog Timberwolves vs. Nuggets in Game 7
Sometime early in 2024, I started experimenting with a script in R that would essentially "simulate" the Celtics' games by resampling their past scores and those of their opponent. It wasn't a super-sophisticated method, but it was better than just having a vague notion that the Celtics were probably going to win because their roster seemed qualitatively better.
Most games, my resampling method would give the Celtics a win probability roughly in line with the probability implied by DraftKings' odds. When I had them at a 68% win probability and Vegas had them at 70%, for example, it was hard seeing value betting either way. That's exactly how it was a lot of nights, so I kept my bets small in line with the primary goal of not running out of money during the season.
When the playoffs rolled around, the Minnesota Timberwolves vs. Denver Nuggets was a compelling series between two well-matched teams. Draftkings had the nuggets as clear favorites, but when I adapted my resampling method to predict the outcome of game 7, I had the Timberwolves winning 54.8% of the time in my "simulation."
Importantly, I had also had the Timberwolves winning based on eye test and gut feeling. I'm not an expert in NBA defenses, but it seemed to my eyes like the Wolves were built to beat the Nuggets over 7. Of course, stats and analysis are meaningless if we aren't willing to reject our gut feelings or eye test because of them, but I think it can be powerful to note when they all line up (this is sort of the essence of science, no?). It certainly must increase the confidence level in any beliefs about the outcome.
Based on this information, it seemed like this was a rare value opportunity. I deposited some more money into my account and bet it plus the rest of the money not tied up in the Verstappen bet. I told myself I would not reload my account until the start of the next NBA season if I lost. If I lost, I was absolutely not allowed to chase it. I put most of the money on the Timberwolves moneyline, but I also sprinkled in some parlays.
I was thrilled and relieved that the Timberwolves won. However, in hindsight, I do wish that I spent even less of the money on parlays. I had a methodology for predicting the outcome of the game, but not models that could predict how many points Edwards and Towns would score. So why was I combining bets on those guys, where I am a low-information bettor, in a parlay with a bet I thought was good? I'd argue that's kind of the case with a lot of parlays... you are better off getting maximal exposure to whatever bet you think is actually good instead of throwing good money after a bad bet. Why dilute any sort of real advantage?
I think this case also highlights the importance of discipline. If I had instead run my bankroll down earlier in the season, I would not have had the funds available to exploit this game for as much profit as I did.
Sports Specific Considerations
Here are are some more thoughts from my experience:
F1
- betting on the favorite to win a grand prix can be underwhelming in terms of return and still exposes you to a lot of uncertainty (possibility of crashes, mechanical failures, pit stop errors, etc.)
- timing matters: if you have an opinion/prediction about a team or driver being competitive at a certain track, probably want to bet before qualifying to lock in value. Sprint races also obviously largely spoil the main Grand Prix
- Look for value in underdogs for individual race wins
- It is actually very hard, from my experience, to make a model that is useful in predicting "surprise" race victories, but I also think there's a lot of room for novel data structures I didn't try
NBA
- be cautious about betting on games when a team has multiple stars out. The odds will tend to price these as blowouts, but results can sometimes be surprising. A lot of times there's limited scouting footage for opponents if a team has to start an unusual combination of guys
- look for value in player prop bets
- be on the lookout for injuries and back to backs. but also, be cautious- similar to above
- If you want to bet on the favorite to win a game moneyline (which I find myself wanting to do often as a Celtics fan), see if they end up going down by 10-20+ points at any point relatively and you can often get a lot more value than betting before the game
- Exploit early season with Bayesian models to potentially get an edge when information is low? (I'm not actively doing this, but I think it's an interesting area for exploration)
- I don't like betting on the spread. Coaches don't care how much they win by
Conclusions- This is just my experience!
Admittedly, my approach has exposed me to a lot of variance. If the 2 case study bets we looked at went differently, we'd be looking at a totally different outcome. Some readers will probably see my actions as a bit hypocritical for making overly aggressive bets while blogging about risk management, and some others will see my approach as overly conservative. But from my view, my goals were absolutely met. I had a pretty firm plan and system to not allow myself to lose more money than I was comfortable with. And within the financial constraints I imposed, I am managed to bet regularly for fun and entertainment while preserving enough funds to exploit rare opportunities where I was confident I had any sort of edge.
Crucially, even when making the two big bets, I was never all-in on any one bet.
When you manage your bankroll to stay in the game, it gives you time to build your statistical literacy to better understand the odds and your edge. This lets you be selective with risk and bet big only when it makes sense.
Neither of the bets in case studies were isolated, overnight successes. Both were built on a foundation of intuition, skills, and tools built when the stakes were lower or non-existent.
My experience has shown me the value of discipline, curiosity, and a clear plan when it comes to sports betting. Whether you’re just starting out or refining your approach, staying in the game—both financially and intellectually—is the key to success. What’s worked (or not) for you? Let’s share ideas in the comments!
Comments
Join the conversation and feel free to ask any questions you may have! Please note that submitted comments may be subject to approval before appearing on the site.