While researching casino games I came across an interesting roulette strategy that piqued my interest. The strategy was simple:

Bet a unit of money in a 1:1 bet, such as Red or Black, or Odd or Even.

If you win, pocket the winnings and do it again.

However, if you lose, simply double the bet and try again.

At first the strategy seemed fail-proof. Given enough chances you were bound to win and, if you doubled your bet every time you lost, you would recover your original bet and win one unit of money in the process. For example:

I Bet $5 on Black, roll is 19 Red and I lose. Following the strategy, I double my bet and bet $10 on Black again, roll is 00 and I lose again. So far I have invested $15 in this streak ($5 + $10) and have won nothing. However, I persist and keep to the strategy. I bet $20 on Black again, roll is 17 Black and I win $20.

From the $20 I win I recover all of my original bets ($5 + $10) and I gain an extra $5 on top. This seems amazing: just rinse and repeat and collect free money, right? Well, not really as it turns out. Of course, casinos gave this seemingly profitable algorithm some thought when designing the game and developed a few tricks to keep it at bay:

The inclusion of 0 and 00 reduce the chance of winning a standard 1:1 bet from 50% to about 47.37%.

A maximum bet limit, typically 100x the minimum bet, keeps the exponential doubling of the original bet to a limit, effectively rendering the strategy in vain.

While not casino-developed, the bet may exceed the player’s limited budget which would also limit the doubling and end the strategy.

So, just like any other casino game, this strategy needed a little bit of luck in order to be profitable. So it got me thinking: if I set a threshold in winnings, such as $50 from a $100 playing budget, and quit while I was ahead instead of continuing indefinitely as the initial strategy would suggest, would I be able to reduce the risk and turn a profit? That’s what we’re about to find out.

Always being more of a realist than a theorist, I decided to write a script which would simulate thousands of roulette rolls as opposed to calculating the probability on a piece of paper. I booted up Sublime Text and wrote a simple Python function that would simulate 100 rolls and simply report whether or not it hit a predetermined winning threshold, or lost all of its money, while following the algorithm. I set the function to simulate a player with a $1,000 playing budget and a $5 minimum bet (and a $500 maximum bet as a result). Here it is:

def simulate_rolls(QUIT_LIMIT): money = 1000 bet = 5 for x in range(100): if (money - INIT_MONEY) > QUIT_LIMIT: break if bet > money: break if bet > 500: break money -= bet roll = random.randint(1, 38) if roll is 1 or roll is 38: #0 or 00 bet *= 2 elif (roll % 2) is 1: #Lose the bet bet *= 2 elif (roll % 2) is 0: #Win the bet money += bet * 2 bet = 5 if (money - INIT_MONEY) > 0: #Won money return 1 else: #Lost money return 0

I varied the winning threshold from $5 to $500 by multiples of $5 (I originally allowed the winning threshold up to $2,000, but after about $250 the chance of winning would stay about constant at 59%). For every winning threshold, I ran the simulation 1,000 times and averaged the results. As a whole, 10,000,000 rolls of roulette were “made”.

I also calculated the efficiency of each threshold. In essence, the efficiency of each threshold was defined to be the chance of each threshold winning times the profit from each threshold.

I ran the simulator, exported the results as a .csv, and uploaded them to Google Sheets to build a graph:

Wow! Following our original algorithm plus some self-control we were able to increase the winning chance from well- to reasonably-above the 50% “coin-flip” mark, depending on how greedy the winning threshold is set. Also, the efficiency of each threshold increased linearly since, while the chance of hitting the threshold settled at around 59%, the winning threshold increased.

While the chart above looks incredible, we haven’t beaten the casino just yet. The above scenario assumes a 1:200 bet-to-budget ratio that, while not unheard of, is not realistic. Also, the results above are in the long-run, 1,000 games of roulette in the long-run to be exact, which is also definitely not realistic.

In order to see how the chart would change when given reasonable parameters, I re-ran the simulation with a more realistic budget of $100 (a 1:20 bet-to-budget ratio) and a limit of three games per threshold. The results were way less satisfying:

The results reflect the statistical nightmare of having a small sample size: no clear pattern and incredibly high deviation. Moreover, they emphasize the randomness of casino games for practical purposes, especially since, as expected, the chart changes every time I run the simulation. There is no strategy or order in this chart, just luck.

So, in conclusion, if you want a realistic and sure-fire way to win money in the casino you better start looking for a four-leaved clover.