SlideShare ist ein Scribd-Unternehmen logo
1 von 102
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Case Study: Introducing LiveOps and F2P to Traditional Game Mechanics in Roll...
Case Study: Introducing LiveOps and F2P to Traditional Game Mechanics in Roll...Case Study: Introducing LiveOps and F2P to Traditional Game Mechanics in Roll...
Case Study: Introducing LiveOps and F2P to Traditional Game Mechanics in Roll...Jessica Tams
 
Developing an effective LTV model at the soft launch and keeping it valid fur...
Developing an effective LTV model at the soft launch and keeping it valid fur...Developing an effective LTV model at the soft launch and keeping it valid fur...
Developing an effective LTV model at the soft launch and keeping it valid fur...GameCamp
 
Personalisation as the key to optimising your game's revenue & LTV.
Personalisation as the key to optimising your game's revenue & LTV.Personalisation as the key to optimising your game's revenue & LTV.
Personalisation as the key to optimising your game's revenue & LTV.GameCamp
 
Space Ape's Live Ops Stack: Engineering Mobile Games for Live Ops from Day 1
Space Ape's Live Ops Stack: Engineering Mobile Games for Live Ops from Day 1Space Ape's Live Ops Stack: Engineering Mobile Games for Live Ops from Day 1
Space Ape's Live Ops Stack: Engineering Mobile Games for Live Ops from Day 1Simon Hade
 
Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...
Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...
Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...Jessica Tams
 
Designing for live ops
Designing for live opsDesigning for live ops
Designing for live opsCrystin Cox
 
Life After Launch: How to Grow Mobile Games with In-Game Events
Life After Launch: How to Grow Mobile Games with In-Game EventsLife After Launch: How to Grow Mobile Games with In-Game Events
Life After Launch: How to Grow Mobile Games with In-Game EventsSimon Hade
 
Animoca Brands Strategy Update May 2020
Animoca Brands Strategy Update May 2020Animoca Brands Strategy Update May 2020
Animoca Brands Strategy Update May 2020Animoca Brands
 
Practical approach to creative testing and creative optimisation at Google UA...
Practical approach to creative testing and creative optimisation at Google UA...Practical approach to creative testing and creative optimisation at Google UA...
Practical approach to creative testing and creative optimisation at Google UA...GameCamp
 
How ASO Has Changed in 2019 and What’s Next. Our experience in creatives and ...
How ASO Has Changed in 2019 and What’s Next. Our experience in creatives and ...How ASO Has Changed in 2019 and What’s Next. Our experience in creatives and ...
How ASO Has Changed in 2019 and What’s Next. Our experience in creatives and ...GameCamp
 
Killer Game Loops in Social Games
Killer Game Loops in Social GamesKiller Game Loops in Social Games
Killer Game Loops in Social GamesWooga
 
Data behind UA
Data behind UA Data behind UA
Data behind UA GameCamp
 
Soft Launch Planning and Management | Dylan Tredrea
Soft Launch Planning and Management | Dylan TredreaSoft Launch Planning and Management | Dylan Tredrea
Soft Launch Planning and Management | Dylan TredreaJessica Tams
 
Eric Seufert, GDC 2014: Profitably launching Jelly Splash to #1, a marketing ...
Eric Seufert, GDC 2014: Profitably launching Jelly Splash to #1, a marketing ...Eric Seufert, GDC 2014: Profitably launching Jelly Splash to #1, a marketing ...
Eric Seufert, GDC 2014: Profitably launching Jelly Splash to #1, a marketing ...Eric Seufert
 
Hyper-casual in a Hypercompetitive Market - Voodoo
Hyper-casual in a Hypercompetitive Market - VoodooHyper-casual in a Hypercompetitive Market - Voodoo
Hyper-casual in a Hypercompetitive Market - VoodooGameAnalytics
 
Idle Games: The Mechanics and Monetization of Self-Playing Games
Idle Games: The Mechanics and Monetization of Self-Playing GamesIdle Games: The Mechanics and Monetization of Self-Playing Games
Idle Games: The Mechanics and Monetization of Self-Playing GamesKongregate
 

Was ist angesagt? (20)

Game design - Retention
Game design - RetentionGame design - Retention
Game design - Retention
 
Case Study: Introducing LiveOps and F2P to Traditional Game Mechanics in Roll...
Case Study: Introducing LiveOps and F2P to Traditional Game Mechanics in Roll...Case Study: Introducing LiveOps and F2P to Traditional Game Mechanics in Roll...
Case Study: Introducing LiveOps and F2P to Traditional Game Mechanics in Roll...
 
Developing an effective LTV model at the soft launch and keeping it valid fur...
Developing an effective LTV model at the soft launch and keeping it valid fur...Developing an effective LTV model at the soft launch and keeping it valid fur...
Developing an effective LTV model at the soft launch and keeping it valid fur...
 
Personalisation as the key to optimising your game's revenue & LTV.
Personalisation as the key to optimising your game's revenue & LTV.Personalisation as the key to optimising your game's revenue & LTV.
Personalisation as the key to optimising your game's revenue & LTV.
 
Space Ape's Live Ops Stack: Engineering Mobile Games for Live Ops from Day 1
Space Ape's Live Ops Stack: Engineering Mobile Games for Live Ops from Day 1Space Ape's Live Ops Stack: Engineering Mobile Games for Live Ops from Day 1
Space Ape's Live Ops Stack: Engineering Mobile Games for Live Ops from Day 1
 
Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...
Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...
Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...
 
Designing for live ops
Designing for live opsDesigning for live ops
Designing for live ops
 
Life After Launch: How to Grow Mobile Games with In-Game Events
Life After Launch: How to Grow Mobile Games with In-Game EventsLife After Launch: How to Grow Mobile Games with In-Game Events
Life After Launch: How to Grow Mobile Games with In-Game Events
 
Animoca Brands Strategy Update May 2020
Animoca Brands Strategy Update May 2020Animoca Brands Strategy Update May 2020
Animoca Brands Strategy Update May 2020
 
Practical approach to creative testing and creative optimisation at Google UA...
Practical approach to creative testing and creative optimisation at Google UA...Practical approach to creative testing and creative optimisation at Google UA...
Practical approach to creative testing and creative optimisation at Google UA...
 
How ASO Has Changed in 2019 and What’s Next. Our experience in creatives and ...
How ASO Has Changed in 2019 and What’s Next. Our experience in creatives and ...How ASO Has Changed in 2019 and What’s Next. Our experience in creatives and ...
How ASO Has Changed in 2019 and What’s Next. Our experience in creatives and ...
 
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?
 
Killer Game Loops in Social Games
Killer Game Loops in Social GamesKiller Game Loops in Social Games
Killer Game Loops in Social Games
 
Data behind UA
Data behind UA Data behind UA
Data behind UA
 
Soft Launch Planning and Management | Dylan Tredrea
Soft Launch Planning and Management | Dylan TredreaSoft Launch Planning and Management | Dylan Tredrea
Soft Launch Planning and Management | Dylan Tredrea
 
Eric Seufert, GDC 2014: Profitably launching Jelly Splash to #1, a marketing ...
Eric Seufert, GDC 2014: Profitably launching Jelly Splash to #1, a marketing ...Eric Seufert, GDC 2014: Profitably launching Jelly Splash to #1, a marketing ...
Eric Seufert, GDC 2014: Profitably launching Jelly Splash to #1, a marketing ...
 
Game Design: Engagement
Game Design: EngagementGame Design: Engagement
Game Design: Engagement
 
Hyper-casual in a Hypercompetitive Market - Voodoo
Hyper-casual in a Hypercompetitive Market - VoodooHyper-casual in a Hypercompetitive Market - Voodoo
Hyper-casual in a Hypercompetitive Market - Voodoo
 
Idle Games: The Mechanics and Monetization of Self-Playing Games
Idle Games: The Mechanics and Monetization of Self-Playing GamesIdle Games: The Mechanics and Monetization of Self-Playing Games
Idle Games: The Mechanics and Monetization of Self-Playing Games
 
Phases of game development
Phases of game developmentPhases of game development
Phases of game development
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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)
 

Kürzlich hochgeladen

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
 
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night StandCall Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...only4webmaster01
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...amitlee9823
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
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
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...amitlee9823
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxolyaivanovalion
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...amitlee9823
 
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
 
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
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangaloreamitlee9823
 

Kürzlich hochgeladen (20)

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
 
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
 
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night StandCall Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
 
Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
 
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
 
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
 
Predicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science ProjectPredicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science Project
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
 
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
 
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
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 

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