slot machines: tweaking randomness in social casino games
TRANSCRIPT
![Page 1: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/1.jpg)
Tweaking Randomness in Social Casino
Juan Gabriel Gomila Salas Business Intelligence Consultant
CEO at frogames.es
/joanby @Joan_Byhttp://juangabrielgomila.com
![Page 2: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/2.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/3.jpg)
A little bit about me
![Page 4: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/4.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/5.jpg)
The problem
![Page 6: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/6.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/7.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/8.jpg)
New players distributiontends to look like this
![Page 9: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/9.jpg)
but we’d like to see something like that
![Page 10: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/10.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/11.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/12.jpg)
A little story
And we indeed discovered one big fact
![Page 13: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/13.jpg)
PEOPLE DON’T WANT TO LOSE
![Page 14: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/14.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/15.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/16.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/17.jpg)
A little story
So we found the second big fact
![Page 18: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/18.jpg)
WE NEEDED TO MAKE PEOPLE LOSE THEIR VIRTUAL GOODS
![Page 19: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/19.jpg)
We want to win
We want you to lose
![Page 20: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/20.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/21.jpg)
The first approach
![Page 22: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/22.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/23.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/24.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/25.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/26.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/27.jpg)
So, how can we do it?
![Page 28: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/28.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/29.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/30.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/31.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/32.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/33.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/34.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/35.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/36.jpg)
The improved solution: Slot Machines
![Page 37: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/37.jpg)
![Page 38: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/38.jpg)
![Page 39: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/39.jpg)
![Page 40: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/40.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/41.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/42.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/43.jpg)
So, what can we do to improve our chances?
![Page 44: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/44.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/45.jpg)
![Page 46: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/46.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/47.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/48.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/49.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/50.jpg)
And does it work? Well, see it for yourself!
![Page 51: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/51.jpg)
![Page 52: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/52.jpg)
![Page 53: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/53.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/54.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/55.jpg)
Who could use this model?
![Page 56: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/56.jpg)
Any questions?
– Juan Gabriel Gomila Salas
![Page 57: Slot Machines: Tweaking Randomness in Social Casino Games](https://reader037.vdocuments.net/reader037/viewer/2022103010/589ec4851a28ab47138b49a9/html5/thumbnails/57.jpg)
Thanks for your time
/joanby@Joan_ByJuan Gabriel Gomila
joanby
http://juangabrielgomila.com http://frogames.es
@frogames_sl/froggames