AB 테스팅 (온라인 실험) 14

[책 A/B 테스트] (Ch22) "Spillover (leakage, interference)" Trustworthy Online Controlled Experiments

Chapter 22. Leakage and Interference between Variants 인트로 키워드: “spillover” (leakage, interference) [발표자: 책에서 세 가지 용어를 혼용해서 사용한다는 인상을 받았다] 특정 유닛의 행동에 다른 unit 이 영향을 받는 것 예: 분석 단위가 유저일 때, 내가 “친구 추천” 서비스를 받았을 때, 내가 추천된 사람에게 친구 신청을 보내고, 그 친구 신청을 받은 사람이 수락한다고 하자. 그 때, 두 사람 모두 친구가 생긴다. [발표자가 추가로 생각해본 내용] AB 테스팅 상황이라고 생각한다면, 내가 treatment 그룹에 있고, 나로 인해 친구 신청을 받은 사람이 control group 에 있다면, outcome 이 친구 숫자라고..

[책 A/B 테스트] (Ch17-19) "Statistics for AB Testing/Variance/AA Test" Trustworthy Online Controlled Experiments

Ch17 . The Statistics behind Online Controlled Experiments 요약 이번 챕터에서는 실험의 통계적인 측면을 다룹니다. 가설을 검정하고 검정력 개념을 다룹니다. 두 그룹 (treatment group vs. control group) 의 평균적인 차이를 비교하는 가설을 검정하려면 두 집단의 평균값 뿐만 아니라 분산도 다룹니다. 이 때, 표본의 크기가 충분히 클 때, 표본 평균의 분포는 정규분포를 따른다는 중심극한정리 (CLT, Central Limit Theorem)를 기본으로 합니다. Treatment group 과 control group 간의 표본의 크기 차이에 따라서 두 집단의 분포가 달라질 수 있습니다. 그리고, 샘플 사이즈를 선정할 때, 검정력 (1-t..

[책 A/B 테스트] (Ch15-16) "Ramping/Scaling Experiments" Trustworthy Online Controlled Experiments

Ch15 . Ramping Experiment Exposure: Trading Off Spped, Quality, and Risk 요약 모든 유저를 대상으로 실험을 하기보다는 점차적으로 개선책을 확대하는 것이 위험을 줄일 수 있습니다. 그렇다고 해서 개선책의 확대 속도가 느리면 그만큼 기업의 이익을 늘릴 수 없습니다. 장기적인 효과를 추정하는 것도 좋을 수 있으나, 개선된 프로덕트를 소비하지 못하는 유저가 생기는 것은 비윤리적일 수 있습니다. 첫 실험을 진행 중에 일부 유저 그룹을 남겨두는 것도 유용합니다. 너무 결과가 긍정적으로 나타나는 실험의 경우에는 추가 실험을 통해서 효과를 확인할 수 있기 때문입니다. 마지막으로, 실험이 완전히 마무리된 이후에는 실험을 위해 사용했던 코드를 정리할 필요가 있습니다..

구글 Optimize AB 테스팅

들어가며 웹으로 해빗트래커를 제작해서 구글 옵티마이즈로 실험을 진행해보았다. 랜딩페이지를 수정했을 때 사람들의 페이지 뷰에 미치는 영향을 분석할 수 있다. How to? 이런 웹사이트를 하나 제작했다. 내가 웹으로 제작한 해빗 트래커 링크: https://habittracker-53889.web.app/ 중간에 구글 애널리틱스에 옵티마이즈 태깅도 했다. 실험을 제작해 보았다 했다. 가설은 구글 닥스로 가이드를 만들면 페이지 뷰가 더 늘어날 것이다이다 (가입률을 구하고 싶었는데, 옵티마이즈에는 지표가 보이지 않았다). 휴대폰 기기가 두 개 있어서 두 개 해보았는데, 하나는 가이드로 가는 링크가 있었고, 다른 하나는 가이드가 없었다. 유저가 두 그룹으로 배정된 것을 볼 수 있다. 홍보 이후 하루 지났더니 사..

[책 A/B 테스트] (Ch12-14) "ClientSideExperiments/Instrumentation/RandomizationUnit" Trustworthy Online Controlled Experiments

Ch12 . Client Side Experiments 요약 고객 사이드의 실험은 서버 사이드의 실험과 다르다. 앱 소유자가 통제하지 못하는 부분이 발생한다. 고객 사이드에서의 실험은 앱 발행을 거쳐 고객이 다운로드 받는 과정을 거쳐야 한다. 제한된 시간 내에 실험과 분석을 해야하는 경우 다운로드 받는 시차가 영향을 줄 수 있다. 준실험 방법을 이용해서 bias 를 해결하는 것도 필요하다. 여러 디바이스에서 사용하면서 발생하는 상호작용 문제에 대해서도 고민할 필요가 있다. 어려운 개념이나 궁금했던 내용? 추천 알고리즘 변경에 관한 실험을 할 때는 앱 발행 과정을 거쳐야 할까? 아니면 그냥 서버 사이드의 실험에 불과할까? 데이터를 고객의 앱에 불러오는 쿼리와 관련된 내용들이 서버 사이드라고 볼 수 있는걸까..

[책 A/B 테스트] (Ch10-11) "Complementary Techniques/Observational Causal Studies" Trustworthy Online Controlled Experiments

Ch10 . Complementary Techniques 요약 실험을 보완하기 위한 테크닉들로 "log-based analysis", "human evaluation", "user experience research (UER)", "focus groups", "survey", 그리고 "external data" 가 있다. (1) log-based analysis: 실험을 분석하기 위해서 유저의 view, 행동이나 상호작용 들에 관한 지표를 구할 수 있다. - 단점은 유저의 행동에 대한 자세한 이유를 이해하기 어렵다. (2) human evaluation: 직접 사람을 고용해서 새로운 상품에 대한 반응을 수집한다. - 단점은 고용된 사람들은 일반적인 유저와 다를 수 있다. (3) user experienc..

[책 A/B 테스트] (Ch07-9) "OEC/" Trustworthy Online Controlled Experiments

Ch07 Metrics for Experimentation and the Overall Evaluation Criterion 요약 여러 지표를 하나로 합쳐 OEC 로 평가할 필요가 있습니다. 이는 어느 한 부분만 보기보다는 비즈니스 목표에 맞게 종합적으로 평가할 필요가 있기 때문입니다. 너무 많은 지표를 잡지 않을 필요가 있습니다. 그리고 단기적인 지표보다는 장기적인 지표도 고려할 필요가 있습니다. 그리고, 데이터에서 상관관계가 인과관계를 의미하지는 않습니다. 어려운 개념이나 궁금했던 내용? 지표 종류가 다양해서 어떻게 하나로 종합한다는 것인지 감이 덜 잡히는 것 같네요. 빙 서치 쿼리 관련 equation (7.1) 을 decompose 할 때, 어떤 문제가 있고, 어떻게 해결하는지 궁금합니다. $$n..

[책 A/B 테스트] (Ch05&6) "사이트 속도/지표" Trustworthy Online Controlled Experiments

Ch05 Speed Matters - An End-to-End Case Study 요약 유저가 경험하는 속도는 revenue per user 와 같은 주요 지표에 영향을 줍니다. 아마존의 실험에 따르면 100 밀리 second 당 매출이 1% 감소했다는 결과가 있습니다. Bing 의 실험에서도 유사한 결과가 나타납니다. 웹사이트의 퍼포먼스를 평가할 때는 유저가 서버로부터 받는 chunk (정보 덩어리) 들의 종류에 따라서 다르게 판단해야 합니다. 먼저 들어오는 chunk 의 속도에 문제가 생기는 것이 나중에 들어오는 chunk 의 속도에 문제가 생기는 것에 비해서 유저의 이탈률을 높입니다. 그리고, 다른 페이지 요소에 따라서 유저가 겪는 경험이 다릅니다. 트위터의 경우 최초의 트윗이 유저의 경험에 중요한..

[책 A/B 테스트] (Ch04) "실험 플랫폼과 문화" Trustworthy Online Controlled Experiments

Ch04 Experimentation Platform and Culture 요약 회사의 성장에 따라서 실험의 크기도 달라집니다. 초기에는 1년에 10번 미만의 실험을 하지만, 회사가 성장할 수록 더 많은 실험을 진행할 수 있습니다. 회사 내부에서 실험 플랫폼을 제작할 수도 있으나 따로 외부의 툴을 빌려올 수도 있습니다. 여러 실험들이 동시에 진행될 때 발생하는 문제를 최소화하는 다양한 방법들이 존재합니다. 회사에서는 실험의 결과를 구성원들이 쉽게 결과할 수 있도록 시각화된 결과물을 제공할 필요가 있습니다. 어려운 개념이나 궁금했던 내용? 여러 실험들이 동시에 진행될 때 발생하는 문제들을 해결(또는 최소화)하는 내용들이 잘 이해가 되지 않습니다. 실무 MVP 만 있는 초기 스타트업(또는 사이드 프로젝트 단..

Peeking at p-values 문제 (AB 테스팅)

Dashboard 에 AB 테스팅의 결과가 실시간으로 들어온다고 해봅시다. 실험이 좋지 않은 결과를 보이거나 충분히 좋은 결과를 보일 때, 실험을 멈춰도 괜찮을까요? 실험의 진행 시간이 늘어남에 따라서 비용이 증가하기 때문에, 실무에서는 실험을 일찍 멈추고 싶은 유인이 있습니다. 하지만, 실험의 통계적 유의성을 나타내는 지표인 p-value 가 원하는 alpha 값 이하일 때, 이를 멈추면 문제가 발생합니다. 제가 참고한 논문인 Johari et al. (2017, KDD) 의 "Peeking at A/B Test" 에서 이러한 상황이 문제가 되는 경우를 시뮬레이션을 통해서 보여줍니다. 논문의 figure 2 는 이러한 문제가 발생하는 상황을 보여줍니다. 100명이 AA test 를 하고, 최대 방문자수..