Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

slot machine payout calculation

Tags:

algorithm

There's this question but it has nothing close to help me out here.

Tried to find information about it on the internet yet this subject is so swarmed with articles on "how to win" or other non-related stuff that I could barely find anything. None worth posting here.

My question is how would I assure a payout of 95% over a year?

Theoretically, of course.
So far I can think of three obvious variables to consider within the calculation: Machine payout term (year in my case), total paid and total received in that term.

Now I could simply shoot a random number between the paid/received gap and fix slots results to be shown to the player but I'm not sure this is how it's done.
This method however sounds reasonable, although it involves building the slots results backwards..

I could also make a huge list of all possibilities, save them in a database randomized by order and simply poll one of them each time.
This got many flaws - the biggest one is the huge list I'm going to get (millions/billions/etc' records).

I certainly hope this question will be marked with an "Answer" (:

like image 817
Poni Avatar asked Nov 09 '10 19:11

Poni


People also ask

How are slot machine payouts calculated?

You'd only need to multiply the numbers of bets you made per hour by the size of those bets. Then you'd multiply that by the house edge to get your predicted loss. Most slots players make 600 spins per hour. Let's assume you're playing on a dollar machine and betting three coins on every spin, or $3 per spin.

What percentage do slot machines payout?

Slot machines are typically programmed to pay out as winnings 0% to 99% of the money that is wagered by players.

Is there a formula to win at slot machines?

Math won't help you develop a winning slot machine strategy. This means that no matter how much money you have in your bankroll, you're never going to have enough because of the way the game is programmed. The only way to use math to beat slot machines is to find the magic slots combination.

What does 95% slot payout mean?

Casinos advertise a 95% payback for their slot machines. This means that for a $1 stake, a gambler can expect to get 95 cents back.


2 Answers

You have to make reel strips instead of huge database. Here is brief example for very basic 3-reel game containing 3 symbols:

Paytable:

3xA = 5

3xB = 10

3xC = 20

Reels-strip is a sequence of symbols on each reel. For the calculations you only need the quantity of each symbol per each reel:

A = 3, 1, 1 (3 symbols on 1st reel, 1 symbol on 2nd, 1 symbol on 3rd reel)

B = 1, 1, 2

C = 1, 1, 1

Full cycle (total number of all possible combinations) is 5 * 3 * 4 = 60

Now you can calculate probability of each combination:

3xA = 3 * 1 * 1 / full cycle = 0.05

3xB = 1 * 1 * 2 / full cycle  = 0.0333

3xC = 1 * 1 * 1 / full cycle  = 0.0166

Then you can calculate the return for each combination:

3xA = 5 * 0.05 = 0.25 (25% from AAA)

3xB = 10 * 0.0333 = 0.333 (33.3% from BBB)

3xC = 20 * 0.0166 = 0.333 (33.3% from CCC)

Total return = 91.66%

Finally, you can shuffle the symbols on each reel to get the reels-strips, e.g. "ABACA" for the 1st reel. Then pick a random number between 1 and the length of the strip, e.g. 1 to 5 for the 1st reel. This number is the middle symbol. The upper and lower ones are from the strip. If you picked from the edge of the strip, use the first or last one to loop the strip (it's a virtual reel). Then score the result.

In real life you might want to have Wild-symbols, free spins and bonuses. They all are pretty complicated to describe in this answer.

In this sample the Hit Frequency is 10% (total combinations = 60 and prize combinations = 6). Most of people use excel to calculate this stuff, however, you may find some good tools for making slot math.

Proper keywords for Google: PAR-sheet, "slot math can be fun" book.

For sweepstakes or Class-2 machines you can't use this stuff. You have to display a combination by the given prize instead. This is a pretty different task, so you may try to prepare a database storing the combinations sorted by the prize amount.

like image 153
Evgeny Avatar answered Sep 19 '22 06:09

Evgeny


Well, the first problem is with the keyword assure, if you are dealing with random, you cannot assure, unless you change the logic of the slot machine.

Consider the following algorithm though. I think this style of thinking is more reliable then plotting graphs of averages to achive 95%;

if(  customer_able_to_win() )
{
   calculate_how_to_win();
}
else
  no_win();

customer_able_to_win() is your data log that says how much intake you have gotten vs how much you have paid out, if you are under 95%, payout, then customer_able_to_win() returns true; in that case, calculate_how_to_win() calculates how much the customer would be able to win based on your %, so, lets choose a sampling period of 24 hours. If over the last 24 hours i've paid out 90% of the money I've taken in, then I can pay out up to 5%.... lets give that 5% a number such as 100$. So calculate_how_to_win says I can pay out up to 100$, so I would find a set of reels that would pay out 100$ or less, and that user could win. You could add a little random to it, but to ensure your 95% you'll have to have some other rules such as a forced max payout if you get below say 80%, and so on.

If you change the algorithm a little by adding random to the mix you will have to have more of these caveats..... So to make it APPEAR random to the user, you could do...

if(  customer_able_to_win() && payout_percent() < 90% )
{
   calculate_how_to_win(); // up to 5% payout
}
else
  no_win();

With something like that, it will go on a losing streak after you hit 95% until you reach 90%, then it will go on a winning streak of random increments until you reach 95%.

This isn't a full algorithm answer, but more of a direction on how to think about how the slot machine works.

I've always envisioned this is the way slot machines work especially with video poker. Because the no_win() function would calculate how to lose, but make it appear to be 1 card off to tease you to think you were going to win, instead of dealing with a 'fair' game and the random just happens to be like that....

Think of the entire process of.... first thinking if you are going to win, how are you going to win, if you're not going to win, how are you going to lose, instead of random number generators determining if you will win or not.

like image 36
superfro Avatar answered Sep 20 '22 06:09

superfro