SlideShare a Scribd company logo
1 of 102
Download to read offline
Steve Collins
CTO / Swrve
A/B Testing for Game Design
Iteration: A Bayesian Approach
Biography
Push Notifications In-App MessagingA/B TestingTargeting & Analytics
Introduction to
A/B Testing
Game Service
Test
Dev
Update
Test
Dev
Update
Test
Dev
Update
Test
Dev
Update
Development
Beta
“Soft”
Launch
LAUNCH
Test
Dev
Launch
On-board
1st  experience  
Tutorial  Flow  
Incentives  /  Promo
Monetization
IAPs,  virtual  items  
Promotions  /  offers  /  Ads  
Economy  /  Game  Balance
Retention
Messaging  /  Push  Notify  
Core  loops,  events  
Community  /  Social
“Engagement”
Fun  factor!  
Content  refresh  /  evolution  
Level  balance,  progress
LTV (+$)
Acquisition
Ads  (CPC,  CPI)  
Cross  Promo  
Discovery,  PR
UAC (-$)
ROI = LTV - UAC
ROI UACLTV =
nX
x=1
ARPUx COSTx
(1 + WACC)x
CAC
ARPULTV =
nX
x=1
ARPUx COSTx
(1 + WACC)x
CACLTV =
nX
x=1
ARPUx COSTx
(1 + WACC)x
CAC
d
d
lifetime?
LTV
{
1" 2" 3" 4" 5" 6" 7" 8" 9" 10" 11" 12" 13" 14" 15" 16" 17" 18" 19" 20" 21" 22" 23" 24" 25" 26" 27" 28" 29" 30" 31" 32"
High Mean Low
Install-day-cohort 30-day revenue
Test%Hypotheses%
Data$driven$
Take%ac'on%
Iterate,'fail+fast'
Understand)
Metrics()>(Analy0cs()>(Insight(
1. Split population 2. Show variations 4. Choose winner 4. Deploy winner3. Measure response
State	
  Sync State	
  Sync
Game	
  State	
  DB
Data	
  
Warehouse
Analyse
Events	
  (tagged	
  with	
  A	
  or	
  B)
Game	
  
Server
Content	
  
Management	
  	
  
System
A	
  or	
  B	
  variant
A/B	
  Test	
  
Server
What to test?
vs
Message layouts / content
choke point
Tutorial Flow
vs
25 25
-20%-40%
Promotion Discounts
Elasticity testing: exchange rate
$4.99 $4.99
100 coins
A B
200 coins
vs
Price set A
Price set B
Price set C
Store Inventory
(f) Zoomed in version of the previous scatterplot. Note that jitter and transparency
Value of first purchase
Totalspend
$70$30$15
A/B Test
VIPs
Repeat
Purchases
$5$2
Timing
Wait Sessions
(3)
Wait Event
(movie_closed)
In-app Msg
"Request Facebook
Registration"
FB Reg
when where
0 10000 20000 30000 40000 50000
0.00.20.40.60.81.0
number of user trials
Probabilityofwinning
Canacandycrushbalt*
Day 1 retention = 30%
* Apologies to King and Adam Saltsman
Beta Test
Original New Version
Expecting 30% day-1 retention
After 50 users, we see 0%
Is this bad?
Null Hypothesis Testing
(NHT) View
The Null Hypothesis
) =
1
p
2⇡ 2
e
(x µ)2)
2 2
H0 : x ! µ
H0 : x ! µ
Accept
Reject
H0 : x = µ
30%
) =
1
p
2⇡ 2
e
(x µ)2)
2 2Reject
0%
30%
Conclusion: 30% is unlikely to be the
retention rate
Issue #1
p-value
p-Value
95%
2.5% 2.5%
=
1
p
2
e
(x µ)2)
2 2
(n − r)!r!
µ = np σ = np(1 − p)
z =
¯x − µ
σ
z =
¯x − µ
ˆσ√
n
SE(¯x) =
ˆσ
√
n
n =
(zα + zβ)2
σ2
δ2
µ + 1.96σ
µ − 1.96σ
z =
¯x − µ
σ
z =
¯x − µ
ˆσ√
n
SE(¯x) =
ˆσ
√
n
n =
(zα + zβ)2
σ2
δ2
µ + 1.96σ
µ − 1.96σ
p-Value
The probability of observing as extreme a result
assuming the null hypothesis is true
The probability of the data given the model
OR
Null  Hypothesis:  H0
H H
Accept H Type-II Error
Reject H Type-I Error
Truth
Observation
False Positive
All we can ever say is either
not enough evidence that retention rates are the same
the retention rates are different, 95% of the time
p < 0.05
p-Value
actually...
The evidence supports a rejection of the null hypothesis, i.e.
the probability of seeing a result as extreme as this, assuming
the retention rate is actually 30%, is less than 5%.
p < 0.05
Issue #2
“Peeking”
Required change
Standard deviation
Number of
participants
per group n ≈
16σ 2
δ2
Peeks 5% Equivalent
1 2.9%
2 2.2%
3 1.8%
5 1.4%
10 1%
To get 5% false positive rate you need...
i.e. 5 times
http://www.evanmiller.org/how-­‐not-­‐to-­‐run-­‐an-­‐ab-­‐test.html
Issue #3
Family-wise Error
Family-wise Error
p = P( Type-I Error) = 0.05
5% of the time we will get a false positive - for one treatment
P( no Type-I Error) = 0.95
P( at least 1 Type-I Error for 2 treatments) = (1 - 0.9025) = 0.0975
P( no Type-I Error for 2 treatments) = (0.95)(0.95) = 0.9025
Bayesian View
0.0 0.2 0.4 0.6 0.8 1.0
0246810
Retention
Density
Expected retention rate
~30%
“Belief”
uncertainty
0.0 0.2 0.4 0.6 0.8 1.0
0246810
Retention
Density
~15%
New “belief” after 0 retained users
Stronger belief after
observing evidence
The probability of the model given the data
p(heads) = p(tails) = 0.5
Tossing the Coin
0 10 20 30 40 50
0.00.20.40.60.81.0
Number of flips
ProportionofHeads
Heads
Tails
THTHTTTHHTHH…
1 5 10 50 500
0.00.20.40.60.81.0
Number of flips
ProportionofHeads Tossing the Coin
Long run average = 0.5
p(y|x) =
p(y, x)
p(x)
p(x|y) =
p(x, y)
p(y)
p(y, x) = p(x, y) = p(y|x)p(x) = p(x|y)p(y)
p(y|x) =
p(x|y)p(y)
p(x)
p(y|x) =
p(x|y)p(y)
P
Probability of x
p(y|x) =
p(y, x)
p(x)
p(x|y) =
p(x, y)
p(y)
p(y, x) = p(x, y) = p(y|x)p(x) = p(x|y)p(y)
p(y|x) =
p(x|y)p(y)
p(x)
Probability of x and y
(conjoint)
p(y|x) =
p(y, x)
p(x)
p(x|y) =
p(x, y)
p(y)
p(y, x) = p(x, y) = p(y|x)p(x) = p(x|y)p
p(x|y)p(y)
Probability of x given y
(conditional)
Terminology
The Bernoulli distribution
For a “fair” coin, θ = 0.5
Head (H) = 1, Tails (T) = 0
p(x|θ) = θx(1 − θ)(1−x)
A single toss:
p(x|θ) = θx(1 − θ)(1−x)
p(heads = 1|0.5) = 0.51(1−0.5)(1−1) = 0.5
0 (1−0)
p(x|θ) = θx(1 − θ)(1−x)
p(heads = 1|0.5) = 0.51(1−0.5)(1−1) = 0.5
p(tails = 0|0.5) = 0.50(1−0.5)(1−0) = 0.5
The Binomial
p(x|θ) = θx(1 − θ)(1−x)
Probability of heads in a single throw:
Probability of x heads in n throws:
p(heads = 1|0.5) = 0.51
(1 − 0.5)(1−1)
= 0.5
p(tails = 0|0.5) = 0.50
(1 − 0.5)(1−0)
= 0.5
p(h|n, θ) =
n
h
θh
(1 − θ)(n−h)
p(x|θ, n) =
n
x
θx
(1 − θ)(n−x)
20 tosses of a fair coin
=
1
p
2⇡ 2
e
(x µ)2)
2 2
1 − θ)(n−x)p(θ)dθ
pc − pv
1−pc)+pv(1−pv)
n
p(x|0.5, 20)
p(x|θ)p(θ)
x
(1 − θ)(1−x)
0.51
(1 − 0.5)(1−1)
= 0.5
20 tosses of an “un-fair” coin
1
p
2⇡ 2
e
(x µ)2)
2 2
θx(1 − θ)(n−x)p(θ)dθ
ztest =
pc − pv
pc(1−pc)+pv(1−pv)
n
p(x|0.2, 20) p(x|0.5, 20)
p(¯θ) = p(x|θ)p(θ)
p(x|θ) = θx
(1 − θ)(1−x)
s = 1|0.5) = 0.51
(1 − 0.5)(1−1)
= 0.5
Likelihood of θ given observation i of x heads in n throws:
“Binomial Likelihood”
h
p(x|θ, n) =
n
x
θx
(1 − θ)(n−x)
1
p(h|n, θ) =
n
h
θh
(1 − θ)(n−h)
p(x|θ, n) =
n
x
θx
(1 − θ)(n−x)
L(θ|xi, ni) =
ni
xi
θxi
(1 − θ)(ni−xi)
The Likelihood
Increasing likelihood of θ with more observations…
0.0 0.2 0.4 0.6 0.8 1.0
0.00.20.4
1 heads in 2 throws.
θ
Likelihood
0.0 0.2 0.4 0.6 0.8 1.0
0.000.100.20
5 heads in 10 throws.
θ
Likelihood
0.0 0.2 0.4 0.6 0.8 1.0
0.0000.0100.020
500 heads in 1000 throws.
θ
Likelihood
p(¯θ) = p(x|θ)p(θ)
p(x|θ) = θx
(1 − θ)(1−x)
p(heads = 1|0.5) = 0.51
(1 − 0.5)(1−1)
= 0.5
p(tails = 0|0.5) = 0.50
(1 − 0.5)(1−0)
= 0.5
The observations (#heads)
p(x|0.2, 20) p(x|0.5, 20)
p(¯θ) = p(x|θ)p(θ)
p(x|θ) = θx
(1 − θ)(1−x)
p(heads = 1|0.5) = 0.51
(1 − 0.5)(1−1)
= 0.5
p(tails = 0|0.5) = 0.50
(1 − 0.5)(1−0)
= 0.5
The model parameter (e.g. fair coin)
p(x|θ, n) = θx
(1 − θ)(n−x)
B(a, b) =
Γ(a)Γ(b)
Γ(a + b)
=
(a − 1)!(b − 1)!
(a + b − 1)!
beta(θ|a, b) = θ(a−1)
(1 − θ)(b−1)
/ B(a, b)
p(θ|x) = θx
(1 − θ)(n−x)
p(θ) / p(x)We want to know this
ztest =
c v
pc(1−pc)+pv(1−pv)
n
p(x|0.2, 20) p(x|0.5, 20)
p(¯θ) = p(x|θ)p(θ)
p(x|θ) = θx
(1 − θ)(1−x)
p(heads = 1|0.5) = 0.51
(1 − 0.5)(1−1)
= 0.5
Probability of data given model
A recap…
Note that
p(x, y) = p(x|y)p(y) = p(y|x)p(x)
p(x|θ) ̸= p(θ|x)
p(cloudy|raining) ̸= p(raining|cloudy)
p(θ|x, n) = θx
(1 − θ)(n−x)
θ(a−1)
(1 − θ)(b−1)
/ B(a, b) p(
p(θ|x, n) = θx+a−1
(1 − θ)(n−x+b−1)
/ B(x + a, n − x + b
p(y|x) = p(y, x)p(x)
p(x|y) = p(x, y)p(y)
p(x, y) =
p(x|y)
p(y)
=
p(y|x)
p(x)
p(x|y)p(y) = p(y|x)p(x)
p(y|x) =
p(x|y)p(y)
p(x)
p(x, y) = p(x|y)p(y) = p(y|x)p(x)
p(x|y) ̸= p(y|x)
p(cloudy|raining) ̸= p(raining|cloudy)
(θ|x, n) = θx
(1 − θ)(n−x)
θ(a−1)
(1 − θ)(b−1)
/ B(a, b) p(x
x+a−1 (n−x+b−1)
Bayes’ Rule
p(x, y) = p(x|y)p(y) = p(y|x)p(x
p(x) =
y
p(x|y)p(y)
p(x|θ) ̸= p(θ|x)
p(y|x) =
p(x|y)p(y)
P
y p(x|y)p(y)
discrete form
p(x|y) =
p(y)
p(y, x) = p(x, y) = p(y|x)p(x
p(y|x) =
p(x|y)p(y)
p(x)
p(y|x) =
p(x|y)p(y)
R
p(x|y)p(y)dy
continuous form
p(x, n|θ) = θx(1 − θ)(n−x)
ztest =
pc − pv
pc(1−pc)+pv(1−pv)
n
p(h, 20|0.2)
p(x)
p(✓|x)
| {z }
= p(x|✓)
| {z }
p(✓)
|{z}
/ p(x)
|{z}
p(x) =
Z
p(x|✓)p(✓)d✓
prob of model
prob #heads given model
p(✓|x)
| {z }
= p(x|✓)
| {z }
p(✓)
|{z}
/ p(x)
|{z}
p(x) =
Z
p(x|✓)p(✓)d✓
p(✓|x)
| {z }
= p(x|✓)
| {z }
p(✓)
|{z}
/ p(x)
|{z}
p(x) =
Z
p(x|✓)p(✓)d✓
prob model given #heads
p(x)
p(x|y) =
p(x, y)
p(y)
p(y, x) = p(x, y) = p(y|x)p(x) = p(x|y)p(y)
p(y|x) =
p(x|y)p(y)
p(x)
p(y|x) =
p(x|y)p(y)
R
p(x|y)p(y)dy
p(✓|x)
| {z }
= p(x|✓)
| {z }
p(✓)
|{z}
/ p(x)
|{z}
p(x) =
Z
p(x|✓)p(✓)d✓
posterior likelihood prior normalizing
factor
p(✓|x)
| {z }
= p(x|✓)
| {z }
p(✓)
|{z}
/ p(x)
|{z}
p(x) =
Z
p(x|✓)p(✓)d✓normalizing factor
p(✓|x)
| {z }
= p(x|✓)
| {z }
p(✓)
|{z}
/ p(x)
|{z}
p(x) =
Z
p(x|✓)p(✓)d✓
The prior
Captures our “belief” in the model
based on prior experience, observations or knowledge
Best estimate so far
Iterations with more data…
p(θ|x) = p(x|θ) p(θ) / p(x)
p(θ|x) =
θx
(1 − θ)(n−x)
p(θ)
θx(1 − θ)(n−x)p(θ)dθ
ztest =
pc − pv
pc(1−pc)+pv(1−pv)
n
p(h, 20|0.2)
p(x, n|θ) = θ (1 − θ)
p(θ|x) = θx
(1 − θ)(n−x)
p(θ) / p(x)
ˆp0(θ|x0) = p(x0|θ) p(θ) / p(x0)
ˆp1(θ|x1) = p(x1|θ) ˆp0(θ) / ˆp0(x1)
ˆpn(θ|xn) = p(xn|θ) ˆpn−1(θ) / ˆpn−1(xn)
x (n−x)
p(θ|x) = θx
(1 − θ)(n−x)
p(θ) / p(x)
ˆp0(θ|x0) = p(x0|θ) p(θ) / p(x0)
ˆp1(θ|x1) = p(x1|θ) ˆp0(θ) / ˆp0(x1)
ˆpn(θ|xn) = p(xn|θ) ˆpn−1(θ) / ˆpn−1(xn)
p(θ|x) =
θx
(1 − θ)(n−x)
p(θ)
p(θ|x) = θx
(1 − θ)(n−x)
p(θ) / p(x)
ˆp0(θ|x0) = p(x0|θ) p(θ) / p(x0)
ˆp1(θ|x1) = p(x1|θ) ˆp0(θ) / ˆp0(x1)
ˆpn(θ|xn) = p(xn|θ) ˆpn−1(θ) / ˆpn−1(xn)
p(θ|x) =
θx
(1 − θ)(n−x)
p(θ)
x (n−x)
Selecting a prior
We’d like the product of prior and likelihood
to be “like” the likelihood
We’d like the integral to be easily evaluated
p(x, n|θ) = θx
(1 − θ)(n−x)
p(θ|x) = θx
(1 − θ)(n−x)
p(θ) / p(x)
p(θ|x) =
θx
(1 − θ)(n−x)
p(θ)
θx(1 − θ)(n−x)p(θ)dθ
ztest =
pc − pv
pc(1−pc)+pv(1−pv)
n
p(h|n, θ) =
n
h
θh
(1 − θ)(n−h)
p(x|θ, n) =
n
x
θx
(1 − θ)(n−x)
1
“Conjugate prior”
ztest =
pc(1−pc)+pv(1−pv)
n
p(h, 20|0.2)
p(¯θ) = p(x|θ)p(θ)
p(x|θ) = θx
(1 − θ)(1−x)
Beta distributionp(x, n|θ) = θx
(1 − θ)(n−x)
beta(θ|a, b) = θ(a−1)
(1 − θ)(b−1)
/ B(a, b)
p(θ|x) = θx
(1 − θ)(n−x)
p(θ) / p(x)
ˆp0(θ|x0) = p(x0|θ) p(θ) / p(x0)
ˆp1(θ|x1) = p(x1|θ) ˆp0(θ) / ˆp0(x1)
number of heads + 1 number of tails + 1
p(θ|x, n) = θx
(1 − θ)(n−x)
θ(a−1)
(1 − θ)(b−1)
/ B(a, b)
p(θ|x, n) = θx+a−1
(1 − θ)(n−x+b−1)
/ B(x + a, n − x
p(x, n|θ) = θx
(1 − θ)(n−x)
B(a, b) =
Γ(a)Γ(b)
Γ(a + b)
=
(a − 1)!(b − 1)!
(a + b − 1)!
Beta distribution
beta priorbinomial likelihood
Putting it together…
p(θ|x, n) = θx
(1 − θ)(n−x)
θ(a−1)
(1 − θ)(b−1)
/ B(a, b) p(x, n)
p(θ|x, n) = θx+a−1
(1 − θ)(n−x+b−1)
/ B(x + a, n − x + b)
p(x, n|θ) = θx
(1 − θ)(n−x)
number of heads x number of tails (n-x)
p(x|y) ̸= p(y|x)
p(cloudy|raining) ̸= p(raining|cloudy)
p(θ|x, n) = θx
(1 − θ)(n−x)
θ(a−1)
(1 − θ)(b−1)
/ B(a, b) p(x)
p(θ|x, n) = θx+a−1
(1 − θ)(n−x+b−1)
/ B(x + a, n − x + b)
p(θa > θb) =
θa>θb
p(θa|xa)p(θb|xb) dθadθb
1. Decide on a prior, which captures your belief
2. Run experiment and observe data for heads, tails
3. Determine your posterior based on the data
4. Use posterior as your new belief and re-run
experiment
5. Rinse, repeat until you hit an actionable certainty
Putting it together…
Uniform prior
“Fair” coin
Pretty sure coin is fair
“Coin is fair” prior
“Fair” coin
Very sure coin is fair
Uniform prior
“Biased” coin
Pretty sure coin is unfair
“Coin is fair” prior
“biased” coin
Not sure of anything yet!
When to reject?
The Credible Interval
Uniform prior
“Fair” coin
95% credible interval
The Credible Interval
Uniform prior
“Biased” coin
Outside credible interval
Captures our prior belief, expertise, opinion
Strong prior belief means:
‣ we need lots of evidence to contradict
‣ results converge more quickly (if prior is “relevant”)
Provides inertia
With enough samples, prior’s impact diminishes,
rapidly
The Prior
Running a test…
A B
With 1 or more variants we have a multi-dimensional
problem
Need to evaluate volumes under the posterior
In general requires numerical quadrature = Markov
Chain Monte-Carlo (MCMC)
Multiple variant tests
p(θ|x, n) = θx
(1 − θ)(n−x)
θ(a−1)
p(θ|x, n) = θx+a−1
(1 − θ)(n−x+
p(θa > θb) =
θa>θb
p(θ
p(θ|x, n) = θx
(1 − θ)(n−x)
θ(a−1)
(1 − θ)
p(θ|x, n) = θx+a−1
(1 − θ)(n−x+b−1)
/
p(θa > θb) =
θ >θ
p(θa|xa)p(
Probability of Winning
|x, n) = θx
(1 − θ)(n−x)
θ(a−1)
(1 − θ)(b−1)
/ B(a, b) B(x
p(θ|x, n) = θx+a−1
(1 − θ)(n−x+b−1)
/ B(x + a, n − x + b
p(θa > θb) =
θa>θb
p(θa|xa)p(θb|xb) dθadθb
p(x|θ, n) = θx
(1 − θ)(n−x)
B(a, b) =
Γ(a)Γ(b)
Γ(a + b)
=
(a − 1)!(b − 1)!
(a + b − 1)!
p(θ|x, n) = θx
(1 − θ)(n−x)
θ(a−1)
(1 − θ)
p(θ|x, n) = θx+a−1
(1 − θ)(n−x+b−1)
/
p(θa > θb) =
θa>θb
p(θa|xa)p(θ
What’s the prior?
Fit a beta
a=42, b=94
Some examples...
A successful test
Probability of beating all
Observed conversion rates (with CI bounds)
A not so successful test...
Probability of beating all
Observed conversion rate (posterior)
Assumptions
Users are independent
User’s convert quickly (immediately)
Probability of conversion is independent of time
Un-converged conversion rate
Benefits / Features
Continuously observable
No need to fix population size in advance
Incorporate prior knowledge / expertise
Result is a “true” probability
A measure of the difference magnitude is given
Consistent framework for lots of different scenarios
Useful Links
• h#ps://github.com/CamDavidsonPilon/Probabilistic-­‐‑Programming-­‐‑
and-­‐‑Bayesian-­‐‑Methods-­‐‑for-­‐‑Hackers  
• “Doing  Bayesian  Data  Analysis:  A  Tutorial  with  R  and  Bugs”,  John  K.  
Kruschke  
• h#p://www.evanmiller.org/how-­‐‑not-­‐‑to-­‐‑run-­‐‑an-­‐‑ab-­‐‑test.html    
• h#p://www.kaushik.net  -­‐‑  Occam’s  Razor  Blog  
• h#p://exp-­‐‑platform.com  -­‐‑  Ron  Kovahi  et  al.  
Thanks
Multi-arm bandits
5% 6% 10% 4%
Pull 1
Pull 2
Pull 3
Multi-arm bandits
Draw sample from
each "arm" prior
distribution
Evaluate Success
Update posterior for
chosen "arm"
Pick largest & deploy
Thompson Sampling
Thompson, William R. "On the likelihood that one unknown probability exceeds another in view of the evidence of two samples". Biometrika, 25(3–4):285–294
https://github.com/CamDavidsonPilon/Probabilistic-­‐Programming-­‐and-­‐Bayesian-­‐Methods-­‐for-­‐Hackers
Difficulty tuning
a slight silly example…
Canacandycrushbalt
Winner

More Related Content

What's hot

개인화 추천은 어디로 가고 있는가?
개인화 추천은 어디로 가고 있는가?개인화 추천은 어디로 가고 있는가?
개인화 추천은 어디로 가고 있는가?choi kyumin
 
Recommender Systems In Industry
Recommender Systems In IndustryRecommender Systems In Industry
Recommender Systems In IndustryXavier Amatriain
 
From Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover WeeklyFrom Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover WeeklyChris Johnson
 
2-Game Design (Game Design and Development)
2-Game Design (Game Design and Development)2-Game Design (Game Design and Development)
2-Game Design (Game Design and Development)Hafiz Ammar Siddiqui
 
Killer Design Patterns for F2P Mobile/Tablet Games
Killer Design Patterns for F2P Mobile/Tablet GamesKiller Design Patterns for F2P Mobile/Tablet Games
Killer Design Patterns for F2P Mobile/Tablet GamesHenric Suuronen
 
Idle Clicker Games Presentation (Casual Connect USA 2017)
Idle Clicker Games Presentation (Casual Connect USA 2017)Idle Clicker Games Presentation (Casual Connect USA 2017)
Idle Clicker Games Presentation (Casual Connect USA 2017)David Piao Chiu
 
Quest for Progress (GDC Europe 2016)
Quest for Progress (GDC Europe 2016)Quest for Progress (GDC Europe 2016)
Quest for Progress (GDC Europe 2016)Anthony Pecorella
 
Kongregate - Maximizing Player Retention and Monetization in Free-to-Play Gam...
Kongregate - Maximizing Player Retention and Monetization in Free-to-Play Gam...Kongregate - Maximizing Player Retention and Monetization in Free-to-Play Gam...
Kongregate - Maximizing Player Retention and Monetization in Free-to-Play Gam...David Piao Chiu
 
How Slack, Kickstarter & Duolingo used Game Thinking to create a breakout hit
How Slack, Kickstarter & Duolingo used Game Thinking to create a breakout hitHow Slack, Kickstarter & Duolingo used Game Thinking to create a breakout hit
How Slack, Kickstarter & Duolingo used Game Thinking to create a breakout hitAmy Jo Kim
 
The Rise and Rise of Idle Games
The Rise and Rise of Idle GamesThe Rise and Rise of Idle Games
The Rise and Rise of Idle GamesAnthony Pecorella
 
Counterfactual Learning for Recommendation
Counterfactual Learning for RecommendationCounterfactual Learning for Recommendation
Counterfactual Learning for RecommendationOlivier Jeunen
 
Gamification Workshop 2010
Gamification Workshop 2010Gamification Workshop 2010
Gamification Workshop 2010Amy Jo Kim
 
Course Presentation: Games design
Course Presentation: Games designCourse Presentation: Games design
Course Presentation: Games designBrunel University
 
Building cost-effective mobile product & marketing app analytics based on GCP...
Building cost-effective mobile product & marketing app analytics based on GCP...Building cost-effective mobile product & marketing app analytics based on GCP...
Building cost-effective mobile product & marketing app analytics based on GCP...GameCamp
 
Game Analytics: Opening the Black Box
Game Analytics: Opening the Black BoxGame Analytics: Opening the Black Box
Game Analytics: Opening the Black BoxAnders Drachen
 
Recommendation engines
Recommendation enginesRecommendation engines
Recommendation enginesGeorgian Micsa
 
Why Live Ops Matters for Casual Games: 3 Stategic Mindset for POs
Why Live Ops Matters for Casual Games: 3 Stategic Mindset for POsWhy Live Ops Matters for Casual Games: 3 Stategic Mindset for POs
Why Live Ops Matters for Casual Games: 3 Stategic Mindset for POsTimShepherd83
 
Recommending What Video to Watch Next: A Multitask Ranking System
Recommending What Video to Watch Next: A Multitask Ranking SystemRecommending What Video to Watch Next: A Multitask Ranking System
Recommending What Video to Watch Next: A Multitask Ranking Systemivaderivader
 

What's hot (20)

개인화 추천은 어디로 가고 있는가?
개인화 추천은 어디로 가고 있는가?개인화 추천은 어디로 가고 있는가?
개인화 추천은 어디로 가고 있는가?
 
Recommender Systems In Industry
Recommender Systems In IndustryRecommender Systems In Industry
Recommender Systems In Industry
 
From Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover WeeklyFrom Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover Weekly
 
2-Game Design (Game Design and Development)
2-Game Design (Game Design and Development)2-Game Design (Game Design and Development)
2-Game Design (Game Design and Development)
 
Killer Design Patterns for F2P Mobile/Tablet Games
Killer Design Patterns for F2P Mobile/Tablet GamesKiller Design Patterns for F2P Mobile/Tablet Games
Killer Design Patterns for F2P Mobile/Tablet Games
 
The Game Life Cycle & Game Analytics: What metrics matter when?
The Game Life Cycle & Game Analytics: What metrics matter when? The Game Life Cycle & Game Analytics: What metrics matter when?
The Game Life Cycle & Game Analytics: What metrics matter when?
 
Idle Clicker Games Presentation (Casual Connect USA 2017)
Idle Clicker Games Presentation (Casual Connect USA 2017)Idle Clicker Games Presentation (Casual Connect USA 2017)
Idle Clicker Games Presentation (Casual Connect USA 2017)
 
Quest for Progress (GDC Europe 2016)
Quest for Progress (GDC Europe 2016)Quest for Progress (GDC Europe 2016)
Quest for Progress (GDC Europe 2016)
 
Kongregate - Maximizing Player Retention and Monetization in Free-to-Play Gam...
Kongregate - Maximizing Player Retention and Monetization in Free-to-Play Gam...Kongregate - Maximizing Player Retention and Monetization in Free-to-Play Gam...
Kongregate - Maximizing Player Retention and Monetization in Free-to-Play Gam...
 
How Slack, Kickstarter & Duolingo used Game Thinking to create a breakout hit
How Slack, Kickstarter & Duolingo used Game Thinking to create a breakout hitHow Slack, Kickstarter & Duolingo used Game Thinking to create a breakout hit
How Slack, Kickstarter & Duolingo used Game Thinking to create a breakout hit
 
The Rise and Rise of Idle Games
The Rise and Rise of Idle GamesThe Rise and Rise of Idle Games
The Rise and Rise of Idle Games
 
Counterfactual Learning for Recommendation
Counterfactual Learning for RecommendationCounterfactual Learning for Recommendation
Counterfactual Learning for Recommendation
 
Gamification Workshop 2010
Gamification Workshop 2010Gamification Workshop 2010
Gamification Workshop 2010
 
Course Presentation: Games design
Course Presentation: Games designCourse Presentation: Games design
Course Presentation: Games design
 
Building cost-effective mobile product & marketing app analytics based on GCP...
Building cost-effective mobile product & marketing app analytics based on GCP...Building cost-effective mobile product & marketing app analytics based on GCP...
Building cost-effective mobile product & marketing app analytics based on GCP...
 
Game Analytics: Opening the Black Box
Game Analytics: Opening the Black BoxGame Analytics: Opening the Black Box
Game Analytics: Opening the Black Box
 
Recommendation engines
Recommendation enginesRecommendation engines
Recommendation engines
 
Why Live Ops Matters for Casual Games: 3 Stategic Mindset for POs
Why Live Ops Matters for Casual Games: 3 Stategic Mindset for POsWhy Live Ops Matters for Casual Games: 3 Stategic Mindset for POs
Why Live Ops Matters for Casual Games: 3 Stategic Mindset for POs
 
Recommending What Video to Watch Next: A Multitask Ranking System
Recommending What Video to Watch Next: A Multitask Ranking SystemRecommending What Video to Watch Next: A Multitask Ranking System
Recommending What Video to Watch Next: A Multitask Ranking System
 
Idle Chatter - GDC 2016
Idle Chatter - GDC 2016Idle Chatter - GDC 2016
Idle Chatter - GDC 2016
 

Similar to A/B Testing for Game Design

Introduction to Neural Networks and Deep Learning from Scratch
Introduction to Neural Networks and Deep Learning from ScratchIntroduction to Neural Networks and Deep Learning from Scratch
Introduction to Neural Networks and Deep Learning from ScratchAhmed BESBES
 
cps170_bayes_nets.ppt
cps170_bayes_nets.pptcps170_bayes_nets.ppt
cps170_bayes_nets.pptFaizAbaas
 
Theory to consider an inaccurate testing and how to determine the prior proba...
Theory to consider an inaccurate testing and how to determine the prior proba...Theory to consider an inaccurate testing and how to determine the prior proba...
Theory to consider an inaccurate testing and how to determine the prior proba...Toshiyuki Shimono
 
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」Ken'ichi Matsui
 
Taylor and maclaurian series
Taylor and maclaurian seriesTaylor and maclaurian series
Taylor and maclaurian seriesNishant Patel
 
Low Complexity Regularization of Inverse Problems
Low Complexity Regularization of Inverse ProblemsLow Complexity Regularization of Inverse Problems
Low Complexity Regularization of Inverse ProblemsGabriel Peyré
 
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」Ken'ichi Matsui
 
DissertationSlides169
DissertationSlides169DissertationSlides169
DissertationSlides169Ryan White
 
Otter 2016-11-28-01-ss
Otter 2016-11-28-01-ssOtter 2016-11-28-01-ss
Otter 2016-11-28-01-ssRuo Ando
 
The Moore-Spiegel Oscillator
The Moore-Spiegel OscillatorThe Moore-Spiegel Oscillator
The Moore-Spiegel OscillatorAbhranil Das
 
Runtime Analysis of Population-based Evolutionary Algorithms
Runtime Analysis of Population-based Evolutionary AlgorithmsRuntime Analysis of Population-based Evolutionary Algorithms
Runtime Analysis of Population-based Evolutionary AlgorithmsPer Kristian Lehre
 
Runtime Analysis of Population-based Evolutionary Algorithms
Runtime Analysis of Population-based Evolutionary AlgorithmsRuntime Analysis of Population-based Evolutionary Algorithms
Runtime Analysis of Population-based Evolutionary AlgorithmsPK Lehre
 
Hands-On Algorithms for Predictive Modeling
Hands-On Algorithms for Predictive ModelingHands-On Algorithms for Predictive Modeling
Hands-On Algorithms for Predictive ModelingArthur Charpentier
 
Probability based learning (in book: Machine learning for predictve data anal...
Probability based learning (in book: Machine learning for predictve data anal...Probability based learning (in book: Machine learning for predictve data anal...
Probability based learning (in book: Machine learning for predictve data anal...Duyen Do
 
Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...
Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...
Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...Alexander Litvinenko
 
Introduction
IntroductionIntroduction
Introductionbutest
 

Similar to A/B Testing for Game Design (20)

Introduction to Neural Networks and Deep Learning from Scratch
Introduction to Neural Networks and Deep Learning from ScratchIntroduction to Neural Networks and Deep Learning from Scratch
Introduction to Neural Networks and Deep Learning from Scratch
 
cps170_bayes_nets.ppt
cps170_bayes_nets.pptcps170_bayes_nets.ppt
cps170_bayes_nets.ppt
 
Estadistica U4
Estadistica U4Estadistica U4
Estadistica U4
 
Theory to consider an inaccurate testing and how to determine the prior proba...
Theory to consider an inaccurate testing and how to determine the prior proba...Theory to consider an inaccurate testing and how to determine the prior proba...
Theory to consider an inaccurate testing and how to determine the prior proba...
 
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
 
Taylor and maclaurian series
Taylor and maclaurian seriesTaylor and maclaurian series
Taylor and maclaurian series
 
Chapter 04 answers
Chapter 04 answersChapter 04 answers
Chapter 04 answers
 
Low Complexity Regularization of Inverse Problems
Low Complexity Regularization of Inverse ProblemsLow Complexity Regularization of Inverse Problems
Low Complexity Regularization of Inverse Problems
 
Thesis defense
Thesis defenseThesis defense
Thesis defense
 
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
 
DissertationSlides169
DissertationSlides169DissertationSlides169
DissertationSlides169
 
Otter 2016-11-28-01-ss
Otter 2016-11-28-01-ssOtter 2016-11-28-01-ss
Otter 2016-11-28-01-ss
 
The Moore-Spiegel Oscillator
The Moore-Spiegel OscillatorThe Moore-Spiegel Oscillator
The Moore-Spiegel Oscillator
 
Runtime Analysis of Population-based Evolutionary Algorithms
Runtime Analysis of Population-based Evolutionary AlgorithmsRuntime Analysis of Population-based Evolutionary Algorithms
Runtime Analysis of Population-based Evolutionary Algorithms
 
Runtime Analysis of Population-based Evolutionary Algorithms
Runtime Analysis of Population-based Evolutionary AlgorithmsRuntime Analysis of Population-based Evolutionary Algorithms
Runtime Analysis of Population-based Evolutionary Algorithms
 
Classification
ClassificationClassification
Classification
 
Hands-On Algorithms for Predictive Modeling
Hands-On Algorithms for Predictive ModelingHands-On Algorithms for Predictive Modeling
Hands-On Algorithms for Predictive Modeling
 
Probability based learning (in book: Machine learning for predictve data anal...
Probability based learning (in book: Machine learning for predictve data anal...Probability based learning (in book: Machine learning for predictve data anal...
Probability based learning (in book: Machine learning for predictve data anal...
 
Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...
Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...
Tensor Completion for PDEs with uncertain coefficients and Bayesian Update te...
 
Introduction
IntroductionIntroduction
Introduction
 

More from Trieu Nguyen

Building Your Customer Data Platform with LEO CDP in Travel Industry.pdf
Building Your Customer Data Platform with LEO CDP in Travel Industry.pdfBuilding Your Customer Data Platform with LEO CDP in Travel Industry.pdf
Building Your Customer Data Platform with LEO CDP in Travel Industry.pdfTrieu Nguyen
 
Building Your Customer Data Platform with LEO CDP - Spa and Hotel Business
Building Your Customer Data Platform with LEO CDP - Spa and Hotel BusinessBuilding Your Customer Data Platform with LEO CDP - Spa and Hotel Business
Building Your Customer Data Platform with LEO CDP - Spa and Hotel BusinessTrieu Nguyen
 
Building Your Customer Data Platform with LEO CDP
Building Your Customer Data Platform with LEO CDP Building Your Customer Data Platform with LEO CDP
Building Your Customer Data Platform with LEO CDP Trieu Nguyen
 
How to track and improve Customer Experience with LEO CDP
How to track and improve Customer Experience with LEO CDPHow to track and improve Customer Experience with LEO CDP
How to track and improve Customer Experience with LEO CDPTrieu Nguyen
 
[Notes] Customer 360 Analytics with LEO CDP
[Notes] Customer 360 Analytics with LEO CDP[Notes] Customer 360 Analytics with LEO CDP
[Notes] Customer 360 Analytics with LEO CDPTrieu Nguyen
 
Leo CDP - Pitch Deck
Leo CDP - Pitch DeckLeo CDP - Pitch Deck
Leo CDP - Pitch DeckTrieu Nguyen
 
LEO CDP - What's new in 2022
LEO CDP  - What's new in 2022LEO CDP  - What's new in 2022
LEO CDP - What's new in 2022Trieu Nguyen
 
Lộ trình triển khai LEO CDP cho ngành bất động sản
Lộ trình triển khai LEO CDP cho ngành bất động sảnLộ trình triển khai LEO CDP cho ngành bất động sản
Lộ trình triển khai LEO CDP cho ngành bất động sảnTrieu Nguyen
 
Why is LEO CDP important for digital business ?
Why is LEO CDP important for digital business ?Why is LEO CDP important for digital business ?
Why is LEO CDP important for digital business ?Trieu Nguyen
 
From Dataism to Customer Data Platform
From Dataism to Customer Data PlatformFrom Dataism to Customer Data Platform
From Dataism to Customer Data PlatformTrieu Nguyen
 
Data collection, processing & organization with USPA framework
Data collection, processing & organization with USPA frameworkData collection, processing & organization with USPA framework
Data collection, processing & organization with USPA frameworkTrieu Nguyen
 
Part 1: Introduction to digital marketing technology
Part 1: Introduction to digital marketing technologyPart 1: Introduction to digital marketing technology
Part 1: Introduction to digital marketing technologyTrieu Nguyen
 
Why is Customer Data Platform (CDP) ?
Why is Customer Data Platform (CDP) ?Why is Customer Data Platform (CDP) ?
Why is Customer Data Platform (CDP) ?Trieu Nguyen
 
How to build a Personalized News Recommendation Platform
How to build a Personalized News Recommendation PlatformHow to build a Personalized News Recommendation Platform
How to build a Personalized News Recommendation PlatformTrieu Nguyen
 
How to grow your business in the age of digital marketing 4.0
How to grow your business  in the age of digital marketing 4.0How to grow your business  in the age of digital marketing 4.0
How to grow your business in the age of digital marketing 4.0Trieu Nguyen
 
Video Ecosystem and some ideas about video big data
Video Ecosystem and some ideas about video big dataVideo Ecosystem and some ideas about video big data
Video Ecosystem and some ideas about video big dataTrieu Nguyen
 
Concepts, use cases and principles to build big data systems (1)
Concepts, use cases and principles to build big data systems (1)Concepts, use cases and principles to build big data systems (1)
Concepts, use cases and principles to build big data systems (1)Trieu Nguyen
 
Open OTT - Video Content Platform
Open OTT - Video Content PlatformOpen OTT - Video Content Platform
Open OTT - Video Content PlatformTrieu Nguyen
 
Apache Hadoop and Spark: Introduction and Use Cases for Data Analysis
Apache Hadoop and Spark: Introduction and Use Cases for Data AnalysisApache Hadoop and Spark: Introduction and Use Cases for Data Analysis
Apache Hadoop and Spark: Introduction and Use Cases for Data AnalysisTrieu Nguyen
 
Introduction to Recommendation Systems (Vietnam Web Submit)
Introduction to Recommendation Systems (Vietnam Web Submit)Introduction to Recommendation Systems (Vietnam Web Submit)
Introduction to Recommendation Systems (Vietnam Web Submit)Trieu Nguyen
 

More from Trieu Nguyen (20)

Building Your Customer Data Platform with LEO CDP in Travel Industry.pdf
Building Your Customer Data Platform with LEO CDP in Travel Industry.pdfBuilding Your Customer Data Platform with LEO CDP in Travel Industry.pdf
Building Your Customer Data Platform with LEO CDP in Travel Industry.pdf
 
Building Your Customer Data Platform with LEO CDP - Spa and Hotel Business
Building Your Customer Data Platform with LEO CDP - Spa and Hotel BusinessBuilding Your Customer Data Platform with LEO CDP - Spa and Hotel Business
Building Your Customer Data Platform with LEO CDP - Spa and Hotel Business
 
Building Your Customer Data Platform with LEO CDP
Building Your Customer Data Platform with LEO CDP Building Your Customer Data Platform with LEO CDP
Building Your Customer Data Platform with LEO CDP
 
How to track and improve Customer Experience with LEO CDP
How to track and improve Customer Experience with LEO CDPHow to track and improve Customer Experience with LEO CDP
How to track and improve Customer Experience with LEO CDP
 
[Notes] Customer 360 Analytics with LEO CDP
[Notes] Customer 360 Analytics with LEO CDP[Notes] Customer 360 Analytics with LEO CDP
[Notes] Customer 360 Analytics with LEO CDP
 
Leo CDP - Pitch Deck
Leo CDP - Pitch DeckLeo CDP - Pitch Deck
Leo CDP - Pitch Deck
 
LEO CDP - What's new in 2022
LEO CDP  - What's new in 2022LEO CDP  - What's new in 2022
LEO CDP - What's new in 2022
 
Lộ trình triển khai LEO CDP cho ngành bất động sản
Lộ trình triển khai LEO CDP cho ngành bất động sảnLộ trình triển khai LEO CDP cho ngành bất động sản
Lộ trình triển khai LEO CDP cho ngành bất động sản
 
Why is LEO CDP important for digital business ?
Why is LEO CDP important for digital business ?Why is LEO CDP important for digital business ?
Why is LEO CDP important for digital business ?
 
From Dataism to Customer Data Platform
From Dataism to Customer Data PlatformFrom Dataism to Customer Data Platform
From Dataism to Customer Data Platform
 
Data collection, processing & organization with USPA framework
Data collection, processing & organization with USPA frameworkData collection, processing & organization with USPA framework
Data collection, processing & organization with USPA framework
 
Part 1: Introduction to digital marketing technology
Part 1: Introduction to digital marketing technologyPart 1: Introduction to digital marketing technology
Part 1: Introduction to digital marketing technology
 
Why is Customer Data Platform (CDP) ?
Why is Customer Data Platform (CDP) ?Why is Customer Data Platform (CDP) ?
Why is Customer Data Platform (CDP) ?
 
How to build a Personalized News Recommendation Platform
How to build a Personalized News Recommendation PlatformHow to build a Personalized News Recommendation Platform
How to build a Personalized News Recommendation Platform
 
How to grow your business in the age of digital marketing 4.0
How to grow your business  in the age of digital marketing 4.0How to grow your business  in the age of digital marketing 4.0
How to grow your business in the age of digital marketing 4.0
 
Video Ecosystem and some ideas about video big data
Video Ecosystem and some ideas about video big dataVideo Ecosystem and some ideas about video big data
Video Ecosystem and some ideas about video big data
 
Concepts, use cases and principles to build big data systems (1)
Concepts, use cases and principles to build big data systems (1)Concepts, use cases and principles to build big data systems (1)
Concepts, use cases and principles to build big data systems (1)
 
Open OTT - Video Content Platform
Open OTT - Video Content PlatformOpen OTT - Video Content Platform
Open OTT - Video Content Platform
 
Apache Hadoop and Spark: Introduction and Use Cases for Data Analysis
Apache Hadoop and Spark: Introduction and Use Cases for Data AnalysisApache Hadoop and Spark: Introduction and Use Cases for Data Analysis
Apache Hadoop and Spark: Introduction and Use Cases for Data Analysis
 
Introduction to Recommendation Systems (Vietnam Web Submit)
Introduction to Recommendation Systems (Vietnam Web Submit)Introduction to Recommendation Systems (Vietnam Web Submit)
Introduction to Recommendation Systems (Vietnam Web Submit)
 

Recently uploaded

VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
Zuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxZuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxolyaivanovalion
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxJohnnyPlasten
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfRachmat Ramadhan H
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAroojKhan71
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxolyaivanovalion
 
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Delhi Call girls
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxfirstjob4
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfadriantubila
 

Recently uploaded (20)

VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
Zuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxZuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptx
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptx
 
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
 

A/B Testing for Game Design

  • 1. Steve Collins CTO / Swrve A/B Testing for Game Design Iteration: A Bayesian Approach
  • 3. Push Notifications In-App MessagingA/B TestingTargeting & Analytics
  • 6. On-board 1st  experience   Tutorial  Flow   Incentives  /  Promo Monetization IAPs,  virtual  items   Promotions  /  offers  /  Ads   Economy  /  Game  Balance Retention Messaging  /  Push  Notify   Core  loops,  events   Community  /  Social “Engagement” Fun  factor!   Content  refresh  /  evolution   Level  balance,  progress LTV (+$) Acquisition Ads  (CPC,  CPI)   Cross  Promo   Discovery,  PR UAC (-$)
  • 7. ROI = LTV - UAC
  • 8. ROI UACLTV = nX x=1 ARPUx COSTx (1 + WACC)x CAC ARPULTV = nX x=1 ARPUx COSTx (1 + WACC)x CACLTV = nX x=1 ARPUx COSTx (1 + WACC)x CAC d d lifetime? LTV {
  • 9. 1" 2" 3" 4" 5" 6" 7" 8" 9" 10" 11" 12" 13" 14" 15" 16" 17" 18" 19" 20" 21" 22" 23" 24" 25" 26" 27" 28" 29" 30" 31" 32" High Mean Low Install-day-cohort 30-day revenue
  • 11. 1. Split population 2. Show variations 4. Choose winner 4. Deploy winner3. Measure response
  • 12. State  Sync State  Sync Game  State  DB Data   Warehouse Analyse Events  (tagged  with  A  or  B) Game   Server Content   Management     System A  or  B  variant A/B  Test   Server
  • 17. Elasticity testing: exchange rate $4.99 $4.99 100 coins A B 200 coins vs
  • 18. Price set A Price set B Price set C Store Inventory
  • 19. (f) Zoomed in version of the previous scatterplot. Note that jitter and transparency Value of first purchase Totalspend $70$30$15 A/B Test VIPs Repeat Purchases $5$2
  • 20. Timing Wait Sessions (3) Wait Event (movie_closed) In-app Msg "Request Facebook Registration" FB Reg when where
  • 21. 0 10000 20000 30000 40000 50000 0.00.20.40.60.81.0 number of user trials Probabilityofwinning
  • 22.
  • 23. Canacandycrushbalt* Day 1 retention = 30% * Apologies to King and Adam Saltsman
  • 25. Expecting 30% day-1 retention After 50 users, we see 0% Is this bad?
  • 27. The Null Hypothesis ) = 1 p 2⇡ 2 e (x µ)2) 2 2 H0 : x ! µ H0 : x ! µ Accept Reject H0 : x = µ 30%
  • 28. ) = 1 p 2⇡ 2 e (x µ)2) 2 2Reject 0% 30%
  • 29. Conclusion: 30% is unlikely to be the retention rate
  • 31. p-Value 95% 2.5% 2.5% = 1 p 2 e (x µ)2) 2 2 (n − r)!r! µ = np σ = np(1 − p) z = ¯x − µ σ z = ¯x − µ ˆσ√ n SE(¯x) = ˆσ √ n n = (zα + zβ)2 σ2 δ2 µ + 1.96σ µ − 1.96σ z = ¯x − µ σ z = ¯x − µ ˆσ√ n SE(¯x) = ˆσ √ n n = (zα + zβ)2 σ2 δ2 µ + 1.96σ µ − 1.96σ
  • 32. p-Value The probability of observing as extreme a result assuming the null hypothesis is true The probability of the data given the model OR
  • 33. Null  Hypothesis:  H0 H H Accept H Type-II Error Reject H Type-I Error Truth Observation False Positive
  • 34. All we can ever say is either not enough evidence that retention rates are the same the retention rates are different, 95% of the time p < 0.05 p-Value
  • 35. actually... The evidence supports a rejection of the null hypothesis, i.e. the probability of seeing a result as extreme as this, assuming the retention rate is actually 30%, is less than 5%. p < 0.05
  • 37. Required change Standard deviation Number of participants per group n ≈ 16σ 2 δ2
  • 38. Peeks 5% Equivalent 1 2.9% 2 2.2% 3 1.8% 5 1.4% 10 1% To get 5% false positive rate you need... i.e. 5 times http://www.evanmiller.org/how-­‐not-­‐to-­‐run-­‐an-­‐ab-­‐test.html
  • 40. Family-wise Error p = P( Type-I Error) = 0.05 5% of the time we will get a false positive - for one treatment P( no Type-I Error) = 0.95 P( at least 1 Type-I Error for 2 treatments) = (1 - 0.9025) = 0.0975 P( no Type-I Error for 2 treatments) = (0.95)(0.95) = 0.9025
  • 42. 0.0 0.2 0.4 0.6 0.8 1.0 0246810 Retention Density Expected retention rate ~30% “Belief” uncertainty
  • 43. 0.0 0.2 0.4 0.6 0.8 1.0 0246810 Retention Density ~15% New “belief” after 0 retained users Stronger belief after observing evidence
  • 44. The probability of the model given the data
  • 46. Tossing the Coin 0 10 20 30 40 50 0.00.20.40.60.81.0 Number of flips ProportionofHeads Heads Tails THTHTTTHHTHH…
  • 47. 1 5 10 50 500 0.00.20.40.60.81.0 Number of flips ProportionofHeads Tossing the Coin Long run average = 0.5
  • 48. p(y|x) = p(y, x) p(x) p(x|y) = p(x, y) p(y) p(y, x) = p(x, y) = p(y|x)p(x) = p(x|y)p(y) p(y|x) = p(x|y)p(y) p(x) p(y|x) = p(x|y)p(y) P Probability of x p(y|x) = p(y, x) p(x) p(x|y) = p(x, y) p(y) p(y, x) = p(x, y) = p(y|x)p(x) = p(x|y)p(y) p(y|x) = p(x|y)p(y) p(x) Probability of x and y (conjoint) p(y|x) = p(y, x) p(x) p(x|y) = p(x, y) p(y) p(y, x) = p(x, y) = p(y|x)p(x) = p(x|y)p p(x|y)p(y) Probability of x given y (conditional) Terminology
  • 49. The Bernoulli distribution For a “fair” coin, θ = 0.5 Head (H) = 1, Tails (T) = 0 p(x|θ) = θx(1 − θ)(1−x) A single toss: p(x|θ) = θx(1 − θ)(1−x) p(heads = 1|0.5) = 0.51(1−0.5)(1−1) = 0.5 0 (1−0) p(x|θ) = θx(1 − θ)(1−x) p(heads = 1|0.5) = 0.51(1−0.5)(1−1) = 0.5 p(tails = 0|0.5) = 0.50(1−0.5)(1−0) = 0.5
  • 50. The Binomial p(x|θ) = θx(1 − θ)(1−x) Probability of heads in a single throw: Probability of x heads in n throws: p(heads = 1|0.5) = 0.51 (1 − 0.5)(1−1) = 0.5 p(tails = 0|0.5) = 0.50 (1 − 0.5)(1−0) = 0.5 p(h|n, θ) = n h θh (1 − θ)(n−h) p(x|θ, n) = n x θx (1 − θ)(n−x)
  • 51. 20 tosses of a fair coin = 1 p 2⇡ 2 e (x µ)2) 2 2 1 − θ)(n−x)p(θ)dθ pc − pv 1−pc)+pv(1−pv) n p(x|0.5, 20) p(x|θ)p(θ) x (1 − θ)(1−x) 0.51 (1 − 0.5)(1−1) = 0.5
  • 52. 20 tosses of an “un-fair” coin 1 p 2⇡ 2 e (x µ)2) 2 2 θx(1 − θ)(n−x)p(θ)dθ ztest = pc − pv pc(1−pc)+pv(1−pv) n p(x|0.2, 20) p(x|0.5, 20) p(¯θ) = p(x|θ)p(θ) p(x|θ) = θx (1 − θ)(1−x) s = 1|0.5) = 0.51 (1 − 0.5)(1−1) = 0.5
  • 53. Likelihood of θ given observation i of x heads in n throws: “Binomial Likelihood” h p(x|θ, n) = n x θx (1 − θ)(n−x) 1 p(h|n, θ) = n h θh (1 − θ)(n−h) p(x|θ, n) = n x θx (1 − θ)(n−x) L(θ|xi, ni) = ni xi θxi (1 − θ)(ni−xi)
  • 54. The Likelihood Increasing likelihood of θ with more observations… 0.0 0.2 0.4 0.6 0.8 1.0 0.00.20.4 1 heads in 2 throws. θ Likelihood 0.0 0.2 0.4 0.6 0.8 1.0 0.000.100.20 5 heads in 10 throws. θ Likelihood 0.0 0.2 0.4 0.6 0.8 1.0 0.0000.0100.020 500 heads in 1000 throws. θ Likelihood
  • 55. p(¯θ) = p(x|θ)p(θ) p(x|θ) = θx (1 − θ)(1−x) p(heads = 1|0.5) = 0.51 (1 − 0.5)(1−1) = 0.5 p(tails = 0|0.5) = 0.50 (1 − 0.5)(1−0) = 0.5 The observations (#heads) p(x|0.2, 20) p(x|0.5, 20) p(¯θ) = p(x|θ)p(θ) p(x|θ) = θx (1 − θ)(1−x) p(heads = 1|0.5) = 0.51 (1 − 0.5)(1−1) = 0.5 p(tails = 0|0.5) = 0.50 (1 − 0.5)(1−0) = 0.5 The model parameter (e.g. fair coin) p(x|θ, n) = θx (1 − θ)(n−x) B(a, b) = Γ(a)Γ(b) Γ(a + b) = (a − 1)!(b − 1)! (a + b − 1)! beta(θ|a, b) = θ(a−1) (1 − θ)(b−1) / B(a, b) p(θ|x) = θx (1 − θ)(n−x) p(θ) / p(x)We want to know this ztest = c v pc(1−pc)+pv(1−pv) n p(x|0.2, 20) p(x|0.5, 20) p(¯θ) = p(x|θ)p(θ) p(x|θ) = θx (1 − θ)(1−x) p(heads = 1|0.5) = 0.51 (1 − 0.5)(1−1) = 0.5 Probability of data given model A recap…
  • 56. Note that p(x, y) = p(x|y)p(y) = p(y|x)p(x) p(x|θ) ̸= p(θ|x) p(cloudy|raining) ̸= p(raining|cloudy) p(θ|x, n) = θx (1 − θ)(n−x) θ(a−1) (1 − θ)(b−1) / B(a, b) p( p(θ|x, n) = θx+a−1 (1 − θ)(n−x+b−1) / B(x + a, n − x + b
  • 57. p(y|x) = p(y, x)p(x) p(x|y) = p(x, y)p(y) p(x, y) = p(x|y) p(y) = p(y|x) p(x) p(x|y)p(y) = p(y|x)p(x) p(y|x) = p(x|y)p(y) p(x) p(x, y) = p(x|y)p(y) = p(y|x)p(x) p(x|y) ̸= p(y|x) p(cloudy|raining) ̸= p(raining|cloudy) (θ|x, n) = θx (1 − θ)(n−x) θ(a−1) (1 − θ)(b−1) / B(a, b) p(x x+a−1 (n−x+b−1) Bayes’ Rule p(x, y) = p(x|y)p(y) = p(y|x)p(x p(x) = y p(x|y)p(y) p(x|θ) ̸= p(θ|x)
  • 58. p(y|x) = p(x|y)p(y) P y p(x|y)p(y) discrete form p(x|y) = p(y) p(y, x) = p(x, y) = p(y|x)p(x p(y|x) = p(x|y)p(y) p(x) p(y|x) = p(x|y)p(y) R p(x|y)p(y)dy continuous form
  • 59. p(x, n|θ) = θx(1 − θ)(n−x) ztest = pc − pv pc(1−pc)+pv(1−pv) n p(h, 20|0.2) p(x) p(✓|x) | {z } = p(x|✓) | {z } p(✓) |{z} / p(x) |{z} p(x) = Z p(x|✓)p(✓)d✓ prob of model prob #heads given model p(✓|x) | {z } = p(x|✓) | {z } p(✓) |{z} / p(x) |{z} p(x) = Z p(x|✓)p(✓)d✓ p(✓|x) | {z } = p(x|✓) | {z } p(✓) |{z} / p(x) |{z} p(x) = Z p(x|✓)p(✓)d✓ prob model given #heads p(x) p(x|y) = p(x, y) p(y) p(y, x) = p(x, y) = p(y|x)p(x) = p(x|y)p(y) p(y|x) = p(x|y)p(y) p(x) p(y|x) = p(x|y)p(y) R p(x|y)p(y)dy
  • 60. p(✓|x) | {z } = p(x|✓) | {z } p(✓) |{z} / p(x) |{z} p(x) = Z p(x|✓)p(✓)d✓ posterior likelihood prior normalizing factor p(✓|x) | {z } = p(x|✓) | {z } p(✓) |{z} / p(x) |{z} p(x) = Z p(x|✓)p(✓)d✓normalizing factor
  • 61. p(✓|x) | {z } = p(x|✓) | {z } p(✓) |{z} / p(x) |{z} p(x) = Z p(x|✓)p(✓)d✓ The prior Captures our “belief” in the model based on prior experience, observations or knowledge
  • 62. Best estimate so far Iterations with more data… p(θ|x) = p(x|θ) p(θ) / p(x) p(θ|x) = θx (1 − θ)(n−x) p(θ) θx(1 − θ)(n−x)p(θ)dθ ztest = pc − pv pc(1−pc)+pv(1−pv) n p(h, 20|0.2) p(x, n|θ) = θ (1 − θ) p(θ|x) = θx (1 − θ)(n−x) p(θ) / p(x) ˆp0(θ|x0) = p(x0|θ) p(θ) / p(x0) ˆp1(θ|x1) = p(x1|θ) ˆp0(θ) / ˆp0(x1) ˆpn(θ|xn) = p(xn|θ) ˆpn−1(θ) / ˆpn−1(xn) x (n−x) p(θ|x) = θx (1 − θ)(n−x) p(θ) / p(x) ˆp0(θ|x0) = p(x0|θ) p(θ) / p(x0) ˆp1(θ|x1) = p(x1|θ) ˆp0(θ) / ˆp0(x1) ˆpn(θ|xn) = p(xn|θ) ˆpn−1(θ) / ˆpn−1(xn) p(θ|x) = θx (1 − θ)(n−x) p(θ) p(θ|x) = θx (1 − θ)(n−x) p(θ) / p(x) ˆp0(θ|x0) = p(x0|θ) p(θ) / p(x0) ˆp1(θ|x1) = p(x1|θ) ˆp0(θ) / ˆp0(x1) ˆpn(θ|xn) = p(xn|θ) ˆpn−1(θ) / ˆpn−1(xn) p(θ|x) = θx (1 − θ)(n−x) p(θ) x (n−x)
  • 63. Selecting a prior We’d like the product of prior and likelihood to be “like” the likelihood We’d like the integral to be easily evaluated p(x, n|θ) = θx (1 − θ)(n−x) p(θ|x) = θx (1 − θ)(n−x) p(θ) / p(x) p(θ|x) = θx (1 − θ)(n−x) p(θ) θx(1 − θ)(n−x)p(θ)dθ ztest = pc − pv pc(1−pc)+pv(1−pv) n p(h|n, θ) = n h θh (1 − θ)(n−h) p(x|θ, n) = n x θx (1 − θ)(n−x) 1
  • 64. “Conjugate prior” ztest = pc(1−pc)+pv(1−pv) n p(h, 20|0.2) p(¯θ) = p(x|θ)p(θ) p(x|θ) = θx (1 − θ)(1−x)
  • 65. Beta distributionp(x, n|θ) = θx (1 − θ)(n−x) beta(θ|a, b) = θ(a−1) (1 − θ)(b−1) / B(a, b) p(θ|x) = θx (1 − θ)(n−x) p(θ) / p(x) ˆp0(θ|x0) = p(x0|θ) p(θ) / p(x0) ˆp1(θ|x1) = p(x1|θ) ˆp0(θ) / ˆp0(x1) number of heads + 1 number of tails + 1 p(θ|x, n) = θx (1 − θ)(n−x) θ(a−1) (1 − θ)(b−1) / B(a, b) p(θ|x, n) = θx+a−1 (1 − θ)(n−x+b−1) / B(x + a, n − x p(x, n|θ) = θx (1 − θ)(n−x) B(a, b) = Γ(a)Γ(b) Γ(a + b) = (a − 1)!(b − 1)! (a + b − 1)!
  • 67. beta priorbinomial likelihood Putting it together… p(θ|x, n) = θx (1 − θ)(n−x) θ(a−1) (1 − θ)(b−1) / B(a, b) p(x, n) p(θ|x, n) = θx+a−1 (1 − θ)(n−x+b−1) / B(x + a, n − x + b) p(x, n|θ) = θx (1 − θ)(n−x) number of heads x number of tails (n-x) p(x|y) ̸= p(y|x) p(cloudy|raining) ̸= p(raining|cloudy) p(θ|x, n) = θx (1 − θ)(n−x) θ(a−1) (1 − θ)(b−1) / B(a, b) p(x) p(θ|x, n) = θx+a−1 (1 − θ)(n−x+b−1) / B(x + a, n − x + b) p(θa > θb) = θa>θb p(θa|xa)p(θb|xb) dθadθb
  • 68. 1. Decide on a prior, which captures your belief 2. Run experiment and observe data for heads, tails 3. Determine your posterior based on the data 4. Use posterior as your new belief and re-run experiment 5. Rinse, repeat until you hit an actionable certainty Putting it together…
  • 69.
  • 71. “Coin is fair” prior “Fair” coin Very sure coin is fair
  • 73. “Coin is fair” prior “biased” coin Not sure of anything yet!
  • 75. The Credible Interval Uniform prior “Fair” coin 95% credible interval
  • 76. The Credible Interval Uniform prior “Biased” coin Outside credible interval
  • 77. Captures our prior belief, expertise, opinion Strong prior belief means: ‣ we need lots of evidence to contradict ‣ results converge more quickly (if prior is “relevant”) Provides inertia With enough samples, prior’s impact diminishes, rapidly The Prior
  • 79. With 1 or more variants we have a multi-dimensional problem Need to evaluate volumes under the posterior In general requires numerical quadrature = Markov Chain Monte-Carlo (MCMC) Multiple variant tests
  • 80. p(θ|x, n) = θx (1 − θ)(n−x) θ(a−1) p(θ|x, n) = θx+a−1 (1 − θ)(n−x+ p(θa > θb) = θa>θb p(θ p(θ|x, n) = θx (1 − θ)(n−x) θ(a−1) (1 − θ) p(θ|x, n) = θx+a−1 (1 − θ)(n−x+b−1) / p(θa > θb) = θ >θ p(θa|xa)p(
  • 81. Probability of Winning |x, n) = θx (1 − θ)(n−x) θ(a−1) (1 − θ)(b−1) / B(a, b) B(x p(θ|x, n) = θx+a−1 (1 − θ)(n−x+b−1) / B(x + a, n − x + b p(θa > θb) = θa>θb p(θa|xa)p(θb|xb) dθadθb p(x|θ, n) = θx (1 − θ)(n−x) B(a, b) = Γ(a)Γ(b) Γ(a + b) = (a − 1)!(b − 1)! (a + b − 1)!
  • 82. p(θ|x, n) = θx (1 − θ)(n−x) θ(a−1) (1 − θ) p(θ|x, n) = θx+a−1 (1 − θ)(n−x+b−1) / p(θa > θb) = θa>θb p(θa|xa)p(θ
  • 85.
  • 89. Observed conversion rates (with CI bounds)
  • 90. A not so successful test...
  • 93. Assumptions Users are independent User’s convert quickly (immediately) Probability of conversion is independent of time
  • 95. Benefits / Features Continuously observable No need to fix population size in advance Incorporate prior knowledge / expertise Result is a “true” probability A measure of the difference magnitude is given Consistent framework for lots of different scenarios
  • 96. Useful Links • h#ps://github.com/CamDavidsonPilon/Probabilistic-­‐‑Programming-­‐‑ and-­‐‑Bayesian-­‐‑Methods-­‐‑for-­‐‑Hackers   • “Doing  Bayesian  Data  Analysis:  A  Tutorial  with  R  and  Bugs”,  John  K.   Kruschke   • h#p://www.evanmiller.org/how-­‐‑not-­‐‑to-­‐‑run-­‐‑an-­‐‑ab-­‐‑test.html     • h#p://www.kaushik.net  -­‐‑  Occam’s  Razor  Blog   • h#p://exp-­‐‑platform.com  -­‐‑  Ron  Kovahi  et  al.  
  • 98. Multi-arm bandits 5% 6% 10% 4% Pull 1 Pull 2 Pull 3
  • 99. Multi-arm bandits Draw sample from each "arm" prior distribution Evaluate Success Update posterior for chosen "arm" Pick largest & deploy Thompson Sampling Thompson, William R. "On the likelihood that one unknown probability exceeds another in view of the evidence of two samples". Biometrika, 25(3–4):285–294
  • 101. Difficulty tuning a slight silly example… Canacandycrushbalt
  • 102. Winner