Online Controlled Experiment(AB Test)에 관한 굉장히 흥미로운 케이스 스터디 논문이 있어서 간단히 정리해보았습니다.
A Dirty Dozen-Twelve Common Metric Interpretation Pitfalls in Online Controlled Experiments
AB Test는 굉장히 널리 사용되는 product development 방법이지만 많은 경우 부정확한 실험 세팅과 해석으로 잘못된 결론으로 이어지곤 합니다. 본 논문에서는 12개의 common metric interpretation pitfall이라는 주제로 microsoft의 여러 팀에서 경험한 잘못된 실험 해석에 관한 예를 제공합니다.
Microsoft에서는 실험의 결과를 분석할 때 수백가지의 metric을 살펴보는데 이는 크게 4가지로 분류할 수 있습니다.
-
Data Qualtiy Metrics
실험 결과를 신뢰할 수 있는가? 가장 대표적인 예시는, 실험군과 대조군에 소속되어 있는 user의 수의 차이입니다. AB Test의 가장 기본적인 가정은, 실험군 및 대조군에서 뽑힌 샘플은 동일한 모집단에서 무작위 추출되었다는 것입니다. 이 가정이 성립한다면 당연히 실험군과 대조군의 user 수는 적정 오차 범위 내에서 동일한 값을 가져야 합니다. 만약 이 차의 비율이 크다면, 이는 sampling process에 문제가 있다는 것이고 이를 우리는SRM = Sampling Ratio Mismatch
라고 부릅니다. 굉장히 큰 선택 편향을 야기하기 때문에 실험 결과 해석에 큰 오류를 범하게 만듭니다. -
OEC = Overall Evaluation Criteria Metrics
실험의 최적화 목표이자 프로덕트의 장기적 business value와 일치하는 단 하나의 지표입니다. Netflix Tech Blog에서는 이와 관련된 많은 내용들을 다루고 있습니다. -
Guardrail Metrics
Treatment가 business의 주요 metric을 크게 손상시켰는지 체크해야 합니다. -
Local Feature & Diagnostic Metrics
전체로만 보지말고 세부적으로도 살펴봐야 합니다. 그리고 한 local metric에서의 향상이 반드시 다른 local metric에서도 좋다는 보장이 없습니다.
이제 12가지 사례에 대해 간단히 살펴봅니다.
-
Metric Sample Ratio Mismatch
실험군/대조군에는 유사한 수준의 user가 포함되어야 합니다. 처음부터 이 조건을 만족시키지 못하는 실험 세팅을 계획했을 수도 있고confounder
의 존재로 sampling ratio가 크게 바뀌었을 수도 있습니다. metric에서의 어떠한 부분에서 변화가 발생했는지 파악하고 이를 구분해서 살펴보는 것이 중요합니다. -
Misinterpretation of Ratio Metrics
어떤 모듈을 메인 페이지 상단으로 올리는 실험을 했습니다. 평균 CTR이 40% 하락했습니다. 이 treatment는 쓰레기일까요? SRM 이슈는 없었습니다. Ratio metric을 분해해보니 답을 알 수 있었습니다. Impression은 엄청나게 크게 증가했지만 클릭의 증가량은 이에 미치지 못했습니다. 그럼 안좋은거 아닌가요? 그런데 잘 생각해보면 상단으로 올렸기 때문에 당연히 이 모듈의 노출 수는 크게 증가할 수 밖에 없습니다. 이를 그대로 두고 해석하면 잘못된 결정으로 이어질 수 있습니다. Avg CTR/User이라는 지표를 사용하게 되면, 비율지표의 함정을 피할 수 있습니다. 참고로 이 모듈을 상단으로 올렸을 때 매출은 더욱 증가했다고 합니다. -
Telemetry Loss Bias
Treatment 과정에서 중요한 component의 손실이 발생했습니다. 실험은 신뢰성을 잃게 됩니다. -
Assuming Underpowered Metrics had no Change
성숙한 서비스에서 단 0.5%의 metric 향상은 굉장한 상승일 수 있습니다. 하지만 p-value는 0.05보다 큽니다. 그럼 이 treatment는 버려야 할까요? 이건검정력(power)
의 함정입니다. Power를 0.8로 설정했을 때와 이를 변경했을 때 통계적 유의성을 만족하는 조건이 다릅니다. Sample size 설정을 위한 사전power analysis
를 진행해야 합니다. 그 외에도 여러 해결책이 존재합니다. -
Claiming Success with a Borderline P-value
P-value가 0.05 이하면 실험 성공을 외치시나요? 특히 p-value가 0.05 근처의 값이라면 이는 위험한 결정이 될 수 있습니다. 트래픽을 늘려서 다시 실험해보세요.A/A Test
를 진행해보세요. 다른 결과가 나올 수 있습니다. P-value 외에도 supporting evidence들을 같이 챙겨서 해석해야 합니다. 이도저도 안된다면Fisher Method
를 사용해보세요. -
Continuous Monitoring and Early Stopping
현실에서 굉장히 많이 발생하는 케이스입니다. 통계적 유의성을 만족했다고 실험을 중단하거나, 아직 만족 못했으니 실험을 늘리는 행위는False Positive
가능성을 높입니다. 반드시 미리 기한을 설정하고 실험을 진행하거나 다른 보완책을 마련하세요. -
Assuming the Metric Movement is Homogeneous
Treatment가 모든 user와 상황에서 동질하게 적용되지 않을 수도 있습니다. 사실 이를 위해서는 수 많은 metric을 쪼개보아야 하는데 현실적으로 가능하지 않은 경우가 많습니다. 따라서 자동화된 도구가 필요합니다. -
Segment Interpretation
심슨의 역설입니다. Segmentation은 디버깅에 효과적인 방법이지만 유의해야 할 부분이 많습니다. SRM 문제가 발생할 수도 있고, 통계적 유의성을 만족할 때까지 세그먼트를 쪼개어 분석한다면 이는 데이터 고문이고 조작에 가깝습니다. 경계해야 할 분석 방법입니다. 참고로 다중비교가 필요한 경우bonferroni correction
을 고려하십시오. -
Impact of Outliers
너무 잘 알고 있으므로 넘어갑니다. -
Novelty and Primacy Effects
긍정적인 효과가 초반에만 발생하고 장기적으로 flat하다면 novelty 효과를 의심하세요. 아예 신규 user를 대상으로 실험을 계획하거나 장기 실험을 계획하세요. -
Incomplete Funnel Metrics
퍼널 별 분석이 중요하다는 이야깁니다. -
Failure to Apply Twyman’s Law
Twyman의 법칙
은 사람들이 다른 사람에 비해 자신의 능력을 과대평가하는 경향이 있다는 심리학의 원리입니다. To good to be true 라는 말을 기억하세요. 사례가 흥미롭습니다. 실험군은 MSN 홈페이지에서 상단에 있는 기능 버튼을 mail 앱으로 바꿨습니다. 대조군은 그대로 outlook 앱으로 두었습니다. 실험군 클릭이 크게 증가했습니다. 좋은 건가요? 실험군의 user들은 당연히 outlook을 기대하면서 클릭을 했는데 메일 앱이 등장해서 당황했고, 뭐가 잘못되었는지 탐색하면서 이리저리 클릭하다가 관련 클릭 수가 크게 증가했다고 합니다.
결론
결정의 신뢰성을 높이기 위해서는 다방면으로 실험을 검토하고 체계적으로 계획해야 합니다.