slot machines: tweaking randomness in social casino games

57
Tweaking Randomness in Social Casino Juan Gabriel Gomila Salas Business Intelligence Consultant CEO at frogames.es /joanby @Joan_By http://juangabrielgomila.com

Upload: juan-gabriel-gomila-salas

Post on 11-Feb-2017

662 views

Category:

Data & Analytics


3 download

TRANSCRIPT

Page 2: Slot Machines: Tweaking Randomness in Social Casino Games

Outline of the talk

A little bit about me

The problem

The first idea

The improved solution: Slot Machines

And does it work?

Page 3: Slot Machines: Tweaking Randomness in Social Casino Games

A little bit about me

Page 4: Slot Machines: Tweaking Randomness in Social Casino Games

A little about meHL +Master Degree in Mathematics (2006-2011)

Data Scientist & Game Designer at PlaySpace from 2012-2015

Developing 40+ apps & games at frogames.es

Teaching Mathematics at UIB, DB & Game Design at EDIB and online instructor at Udemy

Page 5: Slot Machines: Tweaking Randomness in Social Casino Games

The problem

Page 6: Slot Machines: Tweaking Randomness in Social Casino Games

High Acquisition

CostsUsers cost now up to 5 times

than before (1-5$)

Marketing teams need to optimize their budget

Page 7: Slot Machines: Tweaking Randomness in Social Casino Games

Need to retain new players

With these costs, players need to be well retained to reach

CPI < LTV

Page 8: Slot Machines: Tweaking Randomness in Social Casino Games

New players distributiontends to look like this

Page 9: Slot Machines: Tweaking Randomness in Social Casino Games

but we’d like to see something like that

Page 10: Slot Machines: Tweaking Randomness in Social Casino Games

A little story

Back in 2012, when I was Data Scientist at PlaySpace, we were analyzing ARM problems in their video games.

Page 11: Slot Machines: Tweaking Randomness in Social Casino Games

A little story

At Playspace, we were looking for ways to improve their best games: Ludo & Bingo

Page 12: Slot Machines: Tweaking Randomness in Social Casino Games

A little story

And we indeed discovered one big fact

Page 13: Slot Machines: Tweaking Randomness in Social Casino Games

PEOPLE DON’T WANT TO LOSE

Page 14: Slot Machines: Tweaking Randomness in Social Casino Games

People don’t want to lose

New players who won their first match:

Came back to the game up to 3 times more

Were retained more time than the rest

Payed later but more often and with higher ARPPU

Page 15: Slot Machines: Tweaking Randomness in Social Casino Games

A little story

On the other hand, people started paying as soon as they ran out of coins

Page 16: Slot Machines: Tweaking Randomness in Social Casino Games

A little story

And kept paying each time they weren’t able to start a new game

Page 17: Slot Machines: Tweaking Randomness in Social Casino Games

A little story

So we found the second big fact

Page 18: Slot Machines: Tweaking Randomness in Social Casino Games

WE NEEDED TO MAKE PEOPLE LOSE THEIR VIRTUAL GOODS

Page 19: Slot Machines: Tweaking Randomness in Social Casino Games

We want to win

We want you to lose

Page 20: Slot Machines: Tweaking Randomness in Social Casino Games

How to combine them both?

People want to win

We need to make them lose

How can this be fit together in a multiplayer real time environment?

Page 21: Slot Machines: Tweaking Randomness in Social Casino Games

The first approach

Page 22: Slot Machines: Tweaking Randomness in Social Casino Games

Segmentation

We segmented our DB depending on different parameters to classify people int0 different groups

High rollers 25%

Fighters 30%

Losers 45%

Page 23: Slot Machines: Tweaking Randomness in Social Casino Games

SegmentationOur machine learning had, among other data:

Win Ration

RTP

Time between games

Games per week

Time to 1st payment

Number of shares

Number of friends

Page 24: Slot Machines: Tweaking Randomness in Social Casino Games

The ideal world

Once people are classified, the idea is to move them from the borders of the distribution to the middle:

High rollers

-

Fighters 100%

Losers -

Page 25: Slot Machines: Tweaking Randomness in Social Casino Games

The real worldBut things are never perfect:

losers vs losers make the loser even more loser

losers with little games go to high rollers with 1 win

But we’re able to normalize our players distribution

High rollers

-

Fighters 100%

Losers -

High rollers 10%

Fighters 80%

Losers 10%

Page 26: Slot Machines: Tweaking Randomness in Social Casino Games

There is a spot for new players

Of course, new players are initially marked as losers by the algorithm.

The longer they play for, the better set up they become.

This keeps going on until we have a normal distribution.

Page 27: Slot Machines: Tweaking Randomness in Social Casino Games

So, how can we do it?

Page 28: Slot Machines: Tweaking Randomness in Social Casino Games

On dice gamesp(X=x) = 1/n

where x in {1,2,…n} and n = #faces of the dice

Page 29: Slot Machines: Tweaking Randomness in Social Casino Games

On dice gamesFor losers, if they need a x to make a good move, we tweak uniform distribution:

p(X=x) = 2/n

Page 30: Slot Machines: Tweaking Randomness in Social Casino Games

On dice gamesFor high rollers, if they need a x to make a good move, we tweak uniform distribution:

p(X=x) = 1/2n

Page 31: Slot Machines: Tweaking Randomness in Social Casino Games

On card games

p(X=x) = 1/n

where x in the set of available cards and n = #cards

Page 32: Slot Machines: Tweaking Randomness in Social Casino Games

On card games

Let S be any subset of suitable cards for the next

move from all the remaining ones of X

Page 33: Slot Machines: Tweaking Randomness in Social Casino Games

On card games

For losers, if they need a s€S, we make this subset

bigger:

p(X=s) = 2/n

Page 34: Slot Machines: Tweaking Randomness in Social Casino Games

On card games

For high rollers, if they need a s€S, we make this

subset smaller:

p(X=s) = 1/2n

Page 35: Slot Machines: Tweaking Randomness in Social Casino Games

Conclusion

As Sir Francis Galton said on 1870,

It all regresses to the mean

Losers improve their winning ration and thus their experience,

High rollers find the challenges they need to keep themselves on the wave.

Page 36: Slot Machines: Tweaking Randomness in Social Casino Games

The improved solution: Slot Machines

Page 37: Slot Machines: Tweaking Randomness in Social Casino Games
Page 38: Slot Machines: Tweaking Randomness in Social Casino Games
Page 39: Slot Machines: Tweaking Randomness in Social Casino Games
Page 40: Slot Machines: Tweaking Randomness in Social Casino Games

What about Slots Machines?

Let S = set of normal symbols of the slot machine,

Let W = WILD, S = SCATTER and B = BONUS.

Let M and N be the number of rows and reels of the slot machine

Page 41: Slot Machines: Tweaking Randomness in Social Casino Games

What about Slots Machines?

For every s in S, lets define:

- w(si) = the weight of s on i-th reel

- x(si) = the reward of i equals s symbols (aka paytable)

- wi = the total weight of i-th reel

Page 42: Slot Machines: Tweaking Randomness in Social Casino Games

This time is not so easy

p(x(si)) = ————————————————————————-w(s1)*(w(s2)+w(W2))… (w(si)+ w(Wi))

w1*w2*…*wi

For s in S, the chances of having exactly i s symbols on a paying line is

Page 43: Slot Machines: Tweaking Randomness in Social Casino Games

So, what can we do to improve our chances?

Page 44: Slot Machines: Tweaking Randomness in Social Casino Games

I’m sure you thought about that!

We double the weight of the wild symbol w(Wi), so now we have

w(s1)*(w(s2)+2w(W2))… (w(si)+ 2w(Wi))

w1*(w2+w(W2))…*(wi+w(Wi))p(x(si)) = ————————————————————————-

Page 45: Slot Machines: Tweaking Randomness in Social Casino Games
Page 46: Slot Machines: Tweaking Randomness in Social Casino Games

I’m sure you thought about that!

We half the weight of the wild symbol w(Wi), so now we have

w(s1)*(w(s2)+w(W2)/2)… (w(si)+ w(Wi)/2)

w1*(w2+w(W2))…*(wi+w(Wi))p(x(si)) = ———————————————————————————-

Page 47: Slot Machines: Tweaking Randomness in Social Casino Games

Is the denominator a problem?

Not really…

w(Wi) << wi ——> wi+w(Wi)~wi

w(Wi) ~ w(si) ——> w(si)+2w(Wi) increases

This means the chances of getting that combination on a pay line increases exponentially!

Page 48: Slot Machines: Tweaking Randomness in Social Casino Games

Are there other options?

For sure, we can simply:

Double the weight of the Scatter (really increases wins due to its nature!)

Double the weight of the Bonus to engage the user

Randomly put on scene sticky or stacked Wilds

Page 49: Slot Machines: Tweaking Randomness in Social Casino Games

And now we can make a web of slot machines

High rollers

-

Fighters 100%

Losers -

High RTP

>100%

Normal RTP+Hit 95.5%

Low RTP <80%

Low Scatter Hit Rate

<2%

Low Bonus Hit Rate

<1%

High Scatter Hit Rate

>5%

High Bonus Hit Rate

>3%

Page 50: Slot Machines: Tweaking Randomness in Social Casino Games

And does it work? Well, see it for yourself!

Page 51: Slot Machines: Tweaking Randomness in Social Casino Games
Page 52: Slot Machines: Tweaking Randomness in Social Casino Games
Page 53: Slot Machines: Tweaking Randomness in Social Casino Games

Conclusions

Reduced outliers in our players distribution

Modeled behaviors to the mean

Made new users perform better (against other users!) so we improved their retention and engagement

Experts are now challenged and they are now more engaged (and probably well monetised!)

Page 54: Slot Machines: Tweaking Randomness in Social Casino Games

Improvements

Take it further to massive social casino games like a bingo room or multiplayer social slots

Smooth the results with players that have little data (it can go from loser to high roller in just one game). Law of large number applies!

Not just play with doubles and halves! Tune the algorithm with AB testing! Why not use sqrt(2)??

Page 55: Slot Machines: Tweaking Randomness in Social Casino Games

Who could use this model?

Page 56: Slot Machines: Tweaking Randomness in Social Casino Games

Any questions?

– Juan Gabriel Gomila Salas

Page 57: Slot Machines: Tweaking Randomness in Social Casino Games

Thanks for your time

/joanby@Joan_ByJuan Gabriel Gomila

joanby

http://juangabrielgomila.com http://frogames.es

@frogames_sl/froggames