AB test의 바이블로 자리 잡은 일명 하마책, <A/B 테스트 - 신뢰할 수 있는 온라인 종합 대조 실험>의 Ch. 3을 정리해본다.
챕터별 정리 내용은 아래에서 확인 가능하다.
<A/B 테스트 - 신뢰할 수 있는 온라인 종합 대조 실험> - 챕터별 정리 포스팅 읽기
Ch.3 주요 내용:
ABT를 진행하고, 결과를 분석하면서 빠질 수 있는 함정에 대해 알아보기
목차
“좋은 데이터 과학자들은 회의론자들이다. 그들은 이상 징후를 탐지하고, 결과에 의문을 제기하며, 결과가 너무 좋아 보일 때 트위먼의 법칙을 발동한다.”
트위먼의 법칙이란, 데이터가 흥미롭거나 특이하다면 그건 대체로 오류나 실수 때문이라는 것이다.
데이터베이스의 무결성 제약 조건이나 방어적 프로그래밍에서의 assert 처럼,
실험에서도 underlying issue를 체크하는 test & practice를 실행할 수 있다.
트위먼 법칙에 맞는 사례들과 실험의 신뢰도를 향상시키기 위해 할 수 있는 것들을 알아보자.
1. Misinterpretation of the Statistical Results
Lack of statistical Power (통계 검정력 부족)
•
지표가 통계적으로 유의하지 않다고 해서 실험효과가 없다고 가정하는 것은 실수
◦
실험이 우리가 보고 있는 효과 크기를 탐지하기에 검증력이 부족할 수 있음 (사용자 부족)
•
실험이 모집단의 작은 부분 집합에만 영향을 미치는 경우, 영향을 받은 부분 집합만 분석하는 것이 중요
◦
작은 부분 집합에 큰 영향이 있었더라도 전체에 대해서는 영향이 희석될 것
Misinterpreting p-value (p값 해석 오류)
•
가장 일반적인 p-value 해석 오류: p값이 단일 실험의 데이터에 기초해 대조군의 평균 지표 값이 실험군의 평균 지표값과 다를 확률을 나타낸다는 믿음
•
p값에 대한 오해
◦
p값=0.05이면 귀무가설이 참일 확률이 5%이다.
→ p값은 귀무가설이 참일 것을 가정하고 계산된다.
◦
유의하지 않은 차이는 그룹 간에 차이가 없음을 의미한다.
→ 일반적으로 실험에서 신뢰구간은 0을 포함하는 경우가 많지만 0이 신뢰구간의 다른 값보다 더 가능성이 높다는 것을 의미하지는 않는다. 실험의 검정력이 부족했을 수 있다.
◦
p값 = 0.05는 귀무가설 하에서 5%만 발생하는 데이터를 관측했음을 의미한다.
→ p값은 귀무가설이 참이라고 가정할 때 관측된 값과 같거나 더 극단적인 결과를 얻을 확률
◦
p값 = 0.05는 귀무가설을 기각할 경우 거짓 양성 확률이 5%에 불과함을 의미한다.
→ p값 < 0.05 인데 귀무가설은 참일 경우의 확률(conjunction, not conditional)을 계산하기 위해서는 베이즈 정리를 사용할 수 있고, 이는 어떤 사전 확률을 필요로 한다 (prior probability)
Peeking at p-values (p값 엿보기)
•
p값을 지속적으로 모니터링하면 결과를 유의미한 것으로 선언하는 편향을 초래한다
•
2가지 대안
◦
항상 유효한 p값을 가진 순차적 시험이나 베이지안 테스트 프레임워크 사용
◦
통계적 유의도 결정에는 일주일 등 미리 정해진 실험 기간 사용
→ 이게 현업에서는 잘 지켜지지 않는 것 같다. p값을 지켜보다 결론을 내게되는 경우가 많은데, 정해진 기간에 맞추어 통계 검정을 진행할 수 있도록 장려하는 방법은 뭐가 있을까?
Multiple Hypothesis Tests (다중 가정 테스트)
•
다중 테스트 후 가장 낮은 p값을 선택하면 p값과 효과 크기에 대한 추정치가 편향되기 쉽다.
•
다중 비교의 오류는 아래의 경우에 나타난다.
1.
여러가지 지표를 살펴본다.
2.
시간 경과에 따른 p값 보기(peeking)
3.
모집단의 세그먼트를 살펴본다.
4.
실험을 여러 번 반복하는 것을 본다. AA테스트라도 20번에 한번은 우연히 p값이 0.05보다 작아질 수 있다.
Confidence Intervals (신뢰구간)
•
대략적으로 말하면, 신뢰구간은 실험 효과의 불확실성 정도를 계량화함
◦
신뢰수준은 신뢰구간에 실제 실험 효과가 얼마나 자주 포함돼야 하는지 나타냄
◦
p-value와 신뢰구간의 쌍대성
▪
실험효과 차이가 없다는 귀무가설의 경우, 실험효과 대한 95% 신뢰구간이 0을 포함하지 않으면 p-value < 0.05임을 의미
•
실수와 오해
◦
대조군과 실험군에 대한 신뢰구간을 별도로 살펴본 후 중복될 경우 실험 효과가 통계적으로 다르지 않다고 가정하는 것이다.
▪
단 95% 신뢰구간이 겹치지 않으면 실험효과는 p-value < 0.05로 통계적으로 유의미함
◦
95% 신뢰구간에 진정한 실험효과가 포함될 확률이 95%라는 믿음 (한 실험의 특정 신뢰구간에서)
▪
95%의 의미는 반복된 여러 실험의 신뢰구간들이 얼마나 많은 경우 실제 실험 효과를 포함하는지를 나타낸다.
2. Threats to Internal Validity
내적 타당성이란 해당 실험의 논리적인 타당성을 의미한다. 처치가 의도했던 바대로 어떤 차이를 만들어 내었는가를 따지는 타당성이다. 이차적 변인이 들어가 있지 않으면 내적으로 타당한 실험이라 할 수 있다.
Violations of SUTVA
•
SUTVA(Stable Unit Treatment Value Assumtion): 종합대조실험에서 실험 단위(사용자)는 서로 간섭하지 않는다. 그들의 행동은 다른 사람의 할당이 아니라 자신의 변형 할당에 의해서만 영향을 받는다.
•
위반될 수 있는 사례
◦
기능이 사용자의 네트워크로 spillover 될 수 있는 소셜네트워크
◦
P2P 호출이 SUTVA를 위반할 수 있는 스카이프
◦
공동 작업을 지원하는 문서 작성도구 (MS 오피스 및 구글 문서도구)
◦
Two-sided market(양측 시장)
◦
공유 자원(e.g. CPU, storage, …)
•
이들 중 일부의 해결 방법은 Ch. 22 참조
Survivorship Bias (생존 편향)
•
일정 기간(e.g. 2개월) 활동한 사용자를 분석하면 생존 편향이 발생함
Intention-to-Treat (실험 의도 분석)
•
일부 실험에서는 변형군으로부터 랜덤하지 않은 방해 요인이 발생한다.
(e.g. 의료 실험 중인 환자가 약물을 중단. 최적화 기능 제공시 일부 광고주만 제안된 최적화 선택)
•
참여자만 분석할 경우 선택 편향이 나타나며 일반적으로 실험 효과를 과대평가 하게 됨
•
실험 의도 분석: 실행 여부와 관계 없이 초기 할당을 사용. 측정된 실험 효과는 실제 적용됐는지가 아닌 제안 또는 실험 의도에 기반
Sample Ratio Mismatch (SRM)
•
사용자 비율이 설계 비율에 근접하지 않을 경우 실험은 샘플 비율 불일치(SRM)를 겪음
•
숫자가 큰 경우, 1.0을 요구하는 실험 설계에서 비율이 0.99 ~ 1.01을 벗어나면 심각한 문제를 나타낼 수 있다. 비율에 대한 p-value가 낮게 나타나면(e.g. 0.001 미만) 강력한 경고를 생성하고 스코어카드와 보고서를 숨겨야 한다.
◦
e.g. 80만 사용자 대상으로 0.992 분할이 발생할 P값이 0.00007이라면 실험에 문제가 있을 가능성이 높다.
•
문제 케이스
◦
Browser redirects (브라우저 리디렉션)
◦
Lossy instrumentation (계측에 손실이 있을 때)
◦
Residual or carryover effects (잔여 효과)
▪
e.g. 안 좋았거나(신 기능의 버그 발생) 좋았던(추천 알고리즘) 영향으로 SRM 발생할 수 있음
▪
e.g. 브라우저의 쿠키 잔여 정보도 실험 효과를 희석시키거나 SRM을 초래할 수 있음
◦
Bad hash function for randomization
◦
Triggering impacted by Treatment
▪
e.g. 3개월동안 비활성화된 사용자에게 트리거 되는 캠페인 → 캠페인이 효과적이어서 사용자들이 활성화되었다면 다음번 캠페인에는 SRM 발생할 수 있음
◦
Time-of-Day Effects
▪
e.g. A그룹은 업무시간동안 메일을 받고, B그룹은 퇴근 후 메일을 받은 메일 본문 테스트 → 메일 개봉 비율이 SRM
◦
Data pipeline impacted by Treatment
▪
실험군에서 활발한 사용자중 일부가 봇 필터링되어 분석에서 제외, SRM이 발생
▪
검색엔진에서는 봇 필터링이 심각한 문제
•
작은 불균형이라도 실험효과가 역전될 수 있다. SRM은 지나치게 활발한/활동이 없는 유저를 포착하지 못해 발생하는 경우가 많다.
3. Threats to External Validity
External Validity(외적 타당성)란 실험의 결과가 서로 다른 모집단에 일반화될 수 있는 정도를 의미한다. population에 대한 일반화는 재실험을 함으로써 비교적 쉽게 확인할 수 있다. 시간에 대한 외적 타당성 확보는 조금 더 까다로운데, 시간 기반의 외부 유효성에 대한 두 가지 주요 위협은 primacy effect와 novelty effect다.
Primacy Effects (초두효과)
•
먼저 제시된 정보가 추가 정보보다 강력한 영향을 미침. 처음 것이 더 익숙함
•
변경사항이 도입되었을 때 사용자들은 익숙해지는 데 시간이 필요할 수 있다.
Novelty Effects (신기효과)
•
눈에 띄는 신기능은 사용자들의 눈길을 끌어 시도해보게 한다. 하지만 그 기능이 유용하지 않다면 그 효과는 지속되지 않아 반복 사용량은 작아질 것
•
초기에는 실험의 성과가 좋아보이다가 시간이 지남에 따라 빠르게 효과가 감소할 수 있음
Detecting Primacy and Novelty Effects
•
초두효과와 신기효과를 점검하기 위한 중요한 방법은 시간이 지남에 따라 사용량을 표시하고 증가/감소 여부를 확인하는 것
•
대부분의 실험 분석에서 실험효과는 시간에 따라 일정하다고 가정함. 그렇지 않은 위험 신호를 보이면 실험 효과가 안정화되기까지 실험을 더 오래 실행할 필요가 있다.
◦
실험을 장기로 진행할 때 주의할 사항은 Ch. 23 참조
•
신기/초두 효과를 강조하는 다른 방법은 첫째날 혹은 둘째날 나타난 사용자를 취해 시간 경과에 따른 실험 효과를 그림으로 표시하는 것 (전체 사용자와 대비)
4. Segment Differences
세그먼트별로 지표를 분석하는 것은 흥미로운 통찰력을 제공하고 새로운 발견으로 이어질 수 있다. 때때로 트위먼의 법칙에 따라 향후 실험에 도움을 주는 결함을 발견하거나 새로운 통찰력을 제공한다.
좋은 세그먼트란?
•
시장 또는 국가: 어떤 기능은 특정 국가에서 더 잘 작동함 (e.g. 번역이 잘못된 국가)
•
기기 또는 플랫폼: 브라우저 버전이나 기기 제조업체에 따라 문제가 발생할 수 있음
•
하루의 시간과 요일
•
사용자 유형: 새 사용자 vs. 기존 사용자
•
사용자 계정 기능: 넷플릭스의 싱글 계정 vs. 공유 계정. 에어비앤비의 싱글 또는 가족여행자
Segmented View of a Metric
•
e.g. 빙 모바일 광고의 클릭율이 운영체제에 따라 다르게 나타남
◦
각 운영체제 사용자의 충성도와 사용자 모집단간의 차이라고 짐작했지만
◦
조사 결과 운영체제에 사용되는 서로 다른 클릭 추적 방법론 때문이라는 것이 밝혀짐
▪
Android에서는 웹비콘을 사용해 사용자에게는 더 빠르지만 추적 손실률이 높음
▪
(Windows Phone에서는 화면을 미는 것이 클릭으로 잘못 기록되는 버그가 있었음)
Segmented View of the Treatment Effect (Heterogeneous Treatment Effect)
상이한 세그먼트에 대해 실험 효과가 동질적이거나 균등하지 않다고 하는 것
•
e.g. UI 변경에 따른 지표 개선이 브라우저 세그먼트 사이에 큰 차이를 보임
◦
대부분 브라우저에서 약간 긍정적인 개선, IE 7에 대해서 매우 부정적 효과
◦
자바스크립트가 IE7과 호환되지 않아 사용자가 특정 시나리오에서 링크를 클릭할 수 없는 오류가 발생한 것으로 드러남
•
이러한 분석은 조건부 평균 실험 효과(CATEs)라고 불리는 여러 세그먼트에 대한 실험효과를 살펴볼 때에만 가능함
•
실험자가 흥미로운 세그먼트를 발견할 수 있는 경우 많은 통찰력을 얻을 수 있을 것
•
우선은 다양한 조직에서 ABT를 실행하도록 하는 것이 중요하고, 이 과정에서 전반적인 실험 효과 이상의 정보를 제공함으로써 혁신을 가속화하는 데 도움이되는 새로운 통찰력을 제공한다.
Analysis by Segments Impacted by Treatment Can Mislead
•
두 개의 MECE한 세그먼트의 실험효과를 분석할 때, 두 그룹의 OEC가 모두 증가하지만 전체적으로는 하락할 수도 있다. 심슨의 역설과는 달리, 사용자들이 한 세그먼트에서 다른 세그먼트로 이동하기 때문.
•
사용자가 한 세그먼트에서 다른 세그먼트로 이동할 때 세그먼트별 지표 변화를 해석하는 것은 오해를 일으킬 수 있으므로 비 세그먼트 지표(총합)의 실험 효과를 사용해야 한다.
•
이상적으로 세그먼트화는 실험 전에 결정된 값으로만 수행되어 실험으로 인해 사용자가 세그먼트를 변경할 수 없도록 해야 한다.
5. Simpson’s Paradox
•
실험이 ramp-up을 거치는 경우, 즉 여러 기간에 걸쳐 변형군 간에 배정된 비율이 상이할 때 결과를 합쳐서 해석하면 실험 효과에 대해 잘못된 추정치를 낼 수 있다.
•
심슨의 역설은 비직관적이지만 드물지 않게 나타난다. 서로 다른 비율로 수집된 데이터를 합산할 때는 유의해야 한다.
Chloe’s Comment
•
실험 결과 분석에는 항상 건강한 회의론자의 자세를 견지하는 것이 좋은 데이터 과학자의 자세라는 점 기억하기
•
샘플 비율 불일치 문제는 정확히 이해가 되지는 않았다. 다시 읽어보고 생각을 좀 해봐야겠다.