For those who don't know JoB, the rules are pretty simple: any hand with a pair of Jacks or better is a winner. The game can cost any amount to play, but here I focus on the $1 game. Winning hands with a $1 bet depend on the type of Jacks or Better, but they typically follow this pattern:

Jacks or better: $1

2 pair: $2

3 of a kind: $3

Straight: $4

Flush: $6

Full house: $9

Four of a kind: $25

Straight flush: $50

Royal flush: $250

There are many strategies already well documented online. I found the strategy below (I lost the link to the site with this strategy, but here's a link to a similar one). Basically, you want to hold cards in the order of rules listed.

Hold any winning hand of four cards or better

Hold any 4 cards to a royal flush (10, J, Q, K, A)

Hold any other winning hand

Hold any 4 cards to Straight Flush

Hold any 3 cards to a royal flush

Hold any 4 cards to a flush

Hold 2 of a kind

Hold any cards to an open straight

Hold any 2 high cards of the same suit

Hold any 3 cards to a straight flush

Hold a J, Q, and K of different suits

Hold any two high cards of different suits

Hold J, Q or K with a Ten of the same suit

Hold any single high card

With this strategy in mind, I was curious to see what the winnings would be over time. I wrote a program in python to simulate a person playing the game of JoB using the strategy listed above. I started the agent with an initial amount of $50. The agent played until he was below $50 or 50 times (which amounts to 50 plays). Over the course of play, I tracked how much the agent won or loss, and repeated this process 10,000 times. After 10,000 rounds, I plotted the results using matplotlib. The results are below:

As you can see, most of the runs fall between a gain of $50 and a loss of $50. There are much steeper gains than losses. Here are some statistics I gathered during the run:

Total Winnings: -$1.46

Number of Runs Zero or Above: 3734

Highest amount earned during a run: $258

Number of Runs Below Zero: 5973

Highest amount lost during a run: $32

What's so interesting about this is that the total winnings is practically zero! After 10,000 times of playing, the agent loses less than $2. I was curious to see if this small loss would hold over time, so, to the dismay of my computer, I ran the code a couple more times. The next two times, the agent lost $1.85 and $1.36. With such small gains for the casino, I'm wondering how much a casino makes off this game. I suppose that a good number of players do not know the best strategy, so this might tip there earnings even higher.

Also interesting about these results is the 5:3 ratio of losing to not losing. This would suggest that the agent should lose more. However, the agent can win a lot more than it loses. Each play only costs a dollar, but a win could be up to $250. Even with these large earnings, it's not enough to overcome the losing trend. It might seem like you have a good opportunity to win with Jacks or Better. However, in the long run, you will still lose like any other game in Las Vegas. :)

I've posted my code here for anyone to review. Also, please feel free to offer any suggestions for enhancements to the strategy or the code!

Awesome post... was just looking to start doing some more advanced analysis of bankrolls and expected outcomes when playing multi-hand games in an effort to maximize cash played through the game (to earn status with casinos) vs. risk of ruin and time needed. The math is quite complex so simulations are useful... and your code will save me a bit of time! Thanks!

ReplyDeleteBTW, a great gambling analysis site is http://www.wizardofodds.com =) And, you should always play max coins for video poker since the royal pays significantly higher with the 5th coin played. Typically, its 250 units for a single unit bet... 500 for 2, 750 for 3, 1000 for 4, 4000 for 5 (rather then 1250!)... That should swing the game even closer to 99.46% with a very simple basic strategy!

Thanks for the advice!! And glad I could help! :)

ReplyDelete