A/B 테스트란?
- 두 가지 해결책이나 변수들의 성과를 비교하는 것
- 일반적으로 통제집단(control)과 실험집단(treatment)으로 나눠 효과를 측정
*통제집단은 아무 변화를 가하지 않은 기존의 상태를 유지하는 집단을 의미하며, 실험집단은 변화를 가한 집단으로 비교 대상으로 역할함
A/B 테스트의 용도
- 새로운 제품 아이디어 실험
- 사용자의 사용 흐름(user flow)과 온보딩 과정 개선
- 제품에 관련된 메세지, 카피 선정
- AARRR 최적화
A/B 테스트의 필요성
잘못된(spurious) 상관관계나 인과관계를 밝힘
- 아이스크림 판매량 추세와 상어가 사람을 공격하는 빈도의 추세가 매우 흡사하다고 해서, 이 두 가지가 서로 영향을 끼치고 있다고 판단하는 것은 오류 -> 서로간 직접적인 관계가 있다기보다, 본질적으로는 '여름'이라는 공통적인 요소가 작용한 것
- 이와 같이, 어떤 요인이 결과에 영향을 미쳤는지에 대해 규명하는 과정을 거쳐야 함
선택 편향(selection bias)을 방지
- 두 가지 버튼 디자인을 적용해서 전환율을 비교했을 때, '버튼 디자인'만이 영향을 끼쳤을 리가 없음 -> 제품에 관련된 마케팅 캠페인, 사용자들의 특성, 계절성 등으로 인해 다양한 영향을 받음
- 선택 편향은 실험 대상인 사용자가 임의로 선택되지 않았을 때 발생 -> 위의 잘못된 상관관계가 발생하는 주된 이유이기도 함
A/B 테스트 수행시 통계적 무작위성(randomness)의 중요성
- 통계적 무작위성이 보장되지 않은 상태에서 A/B 테스트를 수행하면 그 테스트는 의미가 없음
- 실험을 하는 모집단(population) 혹은 표본(sample)은 최대한 동질한 특성을 지니고 있어야 함 -> 최대한 비슷하거나 동일한 집단이 변수를 통해 어떤 결과를 보이는지를 밝히기 위함이기 때문에, 서로 다른 집단이 수행하면 의미가 없음
- 또한, 변수 이외의 외부 요인이 발생하지 않도록 해야함 -> 테스트를 수행하는 시간이 다르다거나, 사용자의 특성이 다르다거나 하는 등의 일은 없어야 함
제대로된 A/B 테스트를 수행을 위한 조건
1. 가설을 세우고 어떻게 측정할지 결정하기
가설을 세우기 위해서는 '어떤 고객'이 '어떤 문제'를 겪고 있으며, 이에 대한 '어떤 해결책'을 만들지 결정되어야 한다. 또한, A/B 테스트를 위한 실험 가능한 가설을 만들 때는 다음과 같은 질문에 답할 수 있어야 한다.
- 해결책을 통해 무슨 변화가 발생할 것인가?
- 해결책이 누구에게 영향을 미칠 것인가?
- 가설이 맞다는 것을 증명하기 위해 필요한 지표나 값은 무엇인가?
2. A/B 테스트를 효율적으로 관리할 툴 활용하기
- Langingi, Unleash, GrowthBook, Flagsmith와 같은 툴들을 활용해 변수 관리를 하는 것이 좋음
- 이러한 툴들은 어떤 유저가(사용자군 설정) 어떤 환경에서(제품 단계 설정) 언제(일정 설정) 제품을 경험할 지 설정할 수 있게 해주며, 추적하려는 지표도 설정 가능함
3. 추가적인 지표 설정하기
- 변수에 의한 영향을 확실하게 보기 위해서는 설정한 지표의 상쇄 지표(balancing metric)도 함께 추적해야함
- 예를 들어, 전환율이나 참여지표를 주요 지표로 삼았다면 이탈율 또한 함께 추적하여 부정적인 영향은 없었는지, 그리고 고객군별로 어떤 다른 행동을 보였는지 추적하는 것이 필요
4. 무작위성을 보장하기
- 인구통계학적 특성으로 인해 통제집단과 실험집단간의 차이가 발생하는지 지속적으로 추적해야 함
- A/A 테스트를 수행하여 통제집단과 실험집단 간 흡사한 결과를 보여주는지 확인하여 집단적 동질성을 확인하는 방법도 있음
A/B 테스트 결과 분석 방법
1. 베이지안(Bayesian) 접근
- 빈도주의(frequentist) 접근법이란, 실험 전 표본의 크기를 계산 한 후 p-value를 기반으로 판단하는 것을 의미한다. 하지만 p-value의 경우 실험집단이 통제집단보다 더 나을 확률을 다루지 않기 때문에 한계가 있는 방법
- 베이지안 접근법이란, 실험집단이 통제집단보다 더 나은지에 대해 집중한 분석법이다. A/B 테스트에 베이지안 접근법이 적합한 경우가 많음
- 베이지안 접근법을 직접 계산하려면 어렵기 때문에, 다양한 툴을 활용하는 것을 추천
https://marketing.dynamicyield.com/bayesian-calculator/ - 더 나을 확률(probability to be best)과 손실 가능성(expected loss) 지표를 위주로 해석
2. 사용자 분석
- 표본 크기가 충분히 큰경우, 사용자의 특성(ex. 나이, 거주지, 고객군, 사용자 기기 운영체제)에 따라 경우를 나눠 분석하는 것도 필요
- 해당 사용자 분석을 수행하면 사용자 특성에 따른 효과의 정도를 측정하게 해주며, 최적화된 해결책을 제품에 적용할 수 있음
추가적인 팁
1. 웹 A/B 테스트 수행시 URL
다이나믹 컨텐츠(dynamic content)를 이용해 단일 URL로 수행하거나, 유입 URL에 분기점을 만들어서 분리된 URL들로 나눠 진입하게 할 수 있음
2. 테스트 수행 마감의 기준
- 일반적으로 유의 수준(significance level)이 95%를 달성하면 실험 수행을 중단함
3. 큰 변화를 적용하는 경우 유의사항
- 구조를 변화시키는 것과 같이 기존 사용자에게 혼란을 줄 수 있는 경우에는 다른 접근법이 필요함
- 방법 1: A/B 테스트를 하지 않고, 분리(blocking) 기법으로 특정 집단에게만 변수를 적용하여 진행
- 방법 2: 전체 유저를 대상으로 적용하려는 경우, 두 가지 변수를 모두 선택할 수 있도록 구성 (ex. 기존 UI, 변화 UI를 토글을 통해 선택할 수 있도록 하는 것)
4. A/B 테스트를 하면 안 되는 경우
- 표본 크기가 너무 작은 경우: 사용자 규모가 적은 경우 유의미한 지표 변화를 증명하기 어려움
- 실험 시간이 너무 오래걸리는 경우: 몇 개월동안 수행해야 하는 경우에는 적합하지 않음
- 실험을 안 해도 변화가 너무 뻔한 경우: 에러가 있거나, UX상 치명적인 결함이 있는 경우에는 문제를 빠르게 해결하는 것이 더 중요
- A/B 테스트로 얻으려는 이익이 비용보다 작을 때: A/B 테스트는 최대한 적은 비용으로 최대한의 성과를 얻기 위해 수행할 수 있는 방법들 중 하나이기 때문에, 실효성과 이익이 미미한 경우라면 할 필요가 없음
Source