don t trust the hippos
play

Dont trust the HiPPOs: A/B Testing Online Games Steve Collins CTO - PowerPoint PPT Presentation

Dont trust the HiPPOs: A/B Testing Online Games Steve Collins CTO / Swrve Me, me, me. 1986 1998 2007 2010 The HiPPO Highest Paid Persons Opinion http://www.kaushik.net - Occams Razor Blog Example #1 A B


  1. Don’t trust the HiPPOs: A/B Testing Online Games Steve Collins CTO / Swrve

  2. Me, ¡me, ¡me. 1986 1998 2007 2010

  3. The ¡HiPPO Highest Paid Person’s Opinion http://www.kaushik.net ¡-­‐‒ ¡Occam’s ¡Razor ¡Blog

  4. Example ¡#1 A B +218% www.abtests.com ¡ and ¡skritter.com ¡

  5. Example ¡#2 B A +102% www.abtests.com ¡ and ¡diythemes.com ¡

  6. “One ¡accurate ¡measurement ¡is ¡worth ¡1,000 ¡expert ¡opinions.” ¡ Admiral ¡Grace ¡Murray ¡Hopper

  7. Game ¡Service Tune Tune Tune Tune LAUNCH Update Update Update Update Design Dev. Beta Dev Dev Dev Dev 3 - 6 months Game Service Minimum Viable Product

  8. What is testing?

  9. A/B ¡Testing ¡Overview 1. Split population 2. Show variations 3. Measure response 4. Choose winner 5. Deploy winner

  10. What ¡not ¡to ¡do... Inflexible Error prone Complex Forces app update

  11. Solution: Data Driven Approaches http://bit.ly/oWVvX3

  12. Serial ¡Cycles Measure Measure Measure Update Update Dev Dev Dev

  13. Meta-data button-­‑style 3D-­‑bevel PM !""#$%#&'($# = call-­‑to-­‑action “Add ¡to ¡cart” colour Orange !"#$%&'(&)*' !"#$%&'(&)*' !"#$%&'(&)*' ENG ART

  14. Serial ¡Cycles PM Measure / Adapt Meta-data 00111011 10001110 00010000 01010101 Develop ENG ART

  15. Parallel ¡Cycles 1. Observe 2. Tune 3. Observe Meta-data Tune Tune Update Update 00111011 10001110 Dev 00010000 Dev 01010101

  16. Sessions 14 days V2.3 V2.4 !""#$% !"#$% !"#$%$#$& '(& &'% &'% Build CDN / AppStore Game Server

  17. Sessions Session n Session 1 Session 2 2 days 12 days !"#$%&$'()$ !""#$%#&'($# !""#$%#&'($# V2.3 V2.4 !""#$% !"#$% !"#$%$#$& '(& &'% &'% Build CDN / AppStore Game Server

  18. Implementing Testing

  19. State ¡Hypothesis Sales Before Sales After

  20. Agree ¡OEC ¡(overall ¡evaluation ¡criterion) %age of players who purchase

  21. 1. ¡Split ¡population

  22. User ¡-­‐‒ ¡Bucket ¡Assignment Consistent Unbiased md5_hash(UUID ¡+ ¡testID) Efficient Ensure users are bucketed independently for each test

  23. Split ¡population ¡(into ¡independent ¡groups) !"#$ %"#$ %"#$ Control Variant 1 Variant 2 !"#$ !"#$ Control Variant

  24. 2. ¡Show ¡variations

  25. Testing ¡Architecture ! ! !"#$%&'((#&)"% !"#$*+% ! !"#$%&'()*)+) 0"12% 3% /% !" ! +$,"-","% !"#$%&'( ./% )*( !"#$% ! &#'()*'% !"#$%&$'()*$%

  26. 3. ¡Measure ¡response

  27. f e i r b y l b i d e r c . . n . f i o n y A r a m m u s Statistics ¡of ¡testing

  28. Conversions Conversion ¡Event { Item ¡Purchase Buy-­‐‒in #players ¡= ¡ n Completed ¡Tutorial #conversions ¡= ¡ r Fired ¡in-­‐‒game ¡event Added ¡a ¡friend conversion ¡rate ¡= ¡ r / n ¡= ¡ p Watched ¡movie ...

  29. Binomial ¡Distribution n ! P [ r, n ] = ( n − r )! r ! p r (1 − p ) n − r n ¡= ¡5, ¡p ¡= ¡0.3 n ¡= ¡100, ¡p ¡= ¡0.1 Probability ¡of ¡ r ¡successes ¡given ¡ n ¡trials and ¡probability ¡of ¡success ¡ p ¡per ¡trial n ¡= ¡1000, ¡p ¡= ¡0.05 n ¡= ¡100, ¡p ¡= ¡0.1

  30. Binomial ¡Distribution Run ¡100 ¡“experiments”, ¡ n ¡= ¡1000, ¡ p ¡= ¡0.05 and ¡compute ¡the ¡average ¡“conversion ¡rate” � µ = np σ = np (1 − p ) x ¡= ¡49.96 Expected ¡value ¡is ¡50

  31. Binomial ¡Distribution Repeat ¡this ¡process... x ¡= ¡50.36 x ¡= ¡49.98 x ¡= ¡50.30 x ¡= ¡49.96

  32. Binomial ¡Distribution Keep ¡repeating ¡this ¡process ¡and ¡plot ¡the ¡averages... 10000 ¡runs 100 ¡runs 1000 ¡runs 10 ¡runs These ¡are ¡ sampling ¡distributions ¡of ¡the ¡mean

  33. Central ¡Limit ¡Theorem As ¡ n ¡increases, ¡the ¡sampling ¡distribution ¡of ¡the ¡mean ¡becomes ¡ “normal”, ¡independent ¡of ¡the ¡underlying ¡distribution

  34. The ¡Normal ¡Distribution πσ 2 − µ 1 2 πσ 2 e − ( x − µ )2) f ( x ) = 2 σ 2 √

  35. The ¡Null ¡Hypothesis : x ! Accept Reject : x ! − µ H 0 : x = µ

  36. Comparing ¡distributions A B H 0 : µ A = µ B

  37. Type-­‐‒I ¡Error False Positive A B : µ A = µ B

  38. Type-­‐‒II ¡Error False B A Negative : µ A = µ B

  39. p -­‐‒Value 95% The ¡probability ¡of ¡observing ¡ as ¡extreme ¡a ¡result 2.5% assuming ¡the ¡null ¡hypothesis ¡ 2.5% is ¡true µ + 1 . 96 σ µ − 1 . 96 σ − µ p -­‐‒value ¡= ¡area ¡outside ¡these ¡critical ¡points ¡= ¡0.05 ¡here

  40. Power Standard deviation Number of participants n = ( z α + z β ) 2 σ 2 per group δ 2 Required change n ! 16 ! 2 " 2

  41. n ! 16 ! 2 " 2 Control conversion rate = 5% Desired increase = 50% (i.e. to 7.5%) Standard deviation = 0.1 n = 256 (25 mins for 50k DAU game)* ( * assume 40% retention rate, even daily session distribution and 2 buckets in test)

  42. n ! 16 ! 2 " 2 Control conversion rate = 5% Desired increase = 5% (i.e. to 5.25%) Standard deviation = 0.1 n = 25,600 (20 hrs for 50k DAU game)

  43. n ! 16 ! 2 " 2 Control conversion rate = 5% Desired increase = 5% (i.e. to 5.25%) Standard deviation = 0.5 n = 640,000 (21 days for 50k DAU game)

  44. Challenges when Testing

  45. Primacy • News users behave differently to old users • Familiarity with existing UI / resources / items etc. SOLUTION : Restrict tests to new users

  46. Causality • There may be many reasons for a change in test statistic • Seasonality, events, trends, errors, etc. SOLUTION : use tight evaluation criteria (e.g. sales of item tested NOT overall revenue)

  47. Testing ¡QA • Tests can (will) introduce errors • Particularly with many variants SOLUTION (s) • ramp-up, roll-back capability • force user bucket capability

  48. Temporal ¡Effects • Daily, weekly, yearly • False signals • Ramp up bias SOLUTION • Run tests for sufficiently long to normalize for effects

  49. Version ¡Control • Multiple app-versions in flight • Resources may have changing schema • Can’t force upgrade always SOLUTION (s) • Limit to one app-version; careful version control with schema

  50. Testing ¡in ¡Online ¡Games ...

  51. Death to HiPPOs

  52. ‣ Homework: • h=p://exp-­‐‒platform.com ¡-­‐‒ ¡Ron ¡Kovahi ¡et ¡al. • h=p://statisticsforexperimenters.net/ ¡-­‐‒ ¡George ¡Box ¡et ¡al. • h=p://www.kaushik.net ¡-­‐‒ ¡Occam’s ¡Razor ¡Blog • h=p://www.abtests.com/ !"#$%&'()*'&!($+'(,-(.$%/&#()001(2304'5$+6&%7809:( ;*%($+'(80%'&%'(,-(<8&$%=4(.+&$9(

Recommend


More recommend