A/B테스트란?
A/B테스트는 두 집단 간의 대조 실험으로 통계적 가설 검정을 통해 변수 사이의 인과관계를 확인하는 방법론이다. 예로 들면, 웹사이트 방문객을 임의로 2개의 집단으로 나누어, 각기 다른 디자인의 랜딩페이지를 보여준 다음, 두 집단 중에서 어떤 집단이 높은 성과를 보이는지 측정하여 어느 랜딩페이지가 효과적인지 정량적으로 확인한다. 성과에는 비즈니스/제품 목표에 따라 다르지만, 일반적으로 구매 전환율(Conversion), 재방문율(Retention) 등을 성과지표로 본다.
"그렇다면 A/B테스트는 왜 하는 것일까?"
간단하게 말하면, 여러 선택지 중에서 최선의 선택지를 찾기 위함이다. 고객 데이터를 통한 정량적인 분석과 설문조사, 인터뷰 등을 통해 정성적인 분석으로 솔루션을 찾았다 하더라도, 실제로 그 솔루션이 고객과 기업 모두에게 효과적이지 않을 수 있다. 이러한 위험부담을 줄이기 위해 전체 고객에게 배포하기 전, 일부 고객을 대상으로 A/B테스트를 진행하는 것이다. 실험 결과에 따라 개선하는데 비용이 적고, 편리하다.하지만, A/B테스트는 디자인, 문구 등 비교가 뚜렷한 분야에서 진행되어 간단할 것 같지만, 실험 설계에 고려해야될 요소가 많다.
설계
A/B테스트를 설계할때, 고려해야될 요소들은 다음과 같다.
- 가설: 실험을 통해 확인하고 싶은 부분으로 독립변수와 종속변수의 관계, 종속변수의 목표 수준이 포함됨.
- 실험집단: 실험의 대상
- 통제집단: 가설 검증을 위해 실험집단과 비교 하는 집단, 보통 기존 서비스를 그대로 노출받음.
- 독립변수: 종속 변수에 영향을 주는 변수로, 실험 하는 기획안이 여기 포함됨.
- 종속변수: 실험의 성과를 측정할 때 사용하는 변수로, 어떻게 측정할 것인지에 대한 정의가 필요.
- 통제변수: 실험 결과에 영향을 줄 수 있는 변수로, 실험집단/통제집단 모두 동등하게 적용해야함.
- 목표: 현재 종속변수의 수준과 목표 수준을 정의 - 실험결과에 대해 올바르게 판단하기 위함
- 표본 크기(샘플링): 실험 표본의 크기는 실험 전에 미리 정함 - 실험 진행 중에 표본 크기를 변화하면 결과에 영향을 줄 수 있음
- 실험 기간: 표본 크기를 고려했을때, 가설 검증을 위한 데이터를 수집하는데 필요한 기간
고려사항
1. 실험 순서
A/B테스트는 A, B 순서대로 진행하면 안된다. 표본을 추출하는데 오류가 발생할 수 있으며, 외부 효과로 인해 실험 결과가 오염될 수 있기 때문이다.(ex. 코로나19 신규 확진자 증가 등의 사회 이슈) 그리고 동시에 실험을 진행하더라도, 표본 추출에 대해 많이 고려해야한다.
2. 표본
표본의 수가 너무 적거나, 표본이 모집단을 대표하지 않으면 실험 결과에 대해 신뢰할 수 없다. 가설 검증을 위한 표본의 크기는 어느 정도 되는지 미리 파악해야 한다. 그리고 표본의 대표성을 위해 단순 무작위 추출이 아니라, 인구통계학적 기준이나 비즈니스 특성에 따라 구분하고 비례적으로 무작위 추출을 하는게 좋다.
[참고] 샘플 사이즈 계산기
3. 실험 유형
종속변수가 범주, 이산형에 따라 분석방법 또한 다르다. 변수에 따라 회귀분석, T검증 등이 있다.
4. 기간
실험 기간 동안 매출이나 고객 확보에 손해를 볼 수도 있다. 이런 경우를 대비하여 MAB(Multi-Armed Bandit)이라는 방법을 사용할 수 있다. MAB는 Best와 Test 2개 안으로 나누어서 Best에 표본 비율을 높여 실험 기간동안 발생할 수 있는 손해를 줄인다.
분석
"만약 랜딩페이지 테스트 결과, A가 B보다 구매 전환율이 0.05% 높았다면, 우리는 A를 채택해야 할까?"
단순히 구매 전환율의 차이를 기준으로, 결과를 판단하기는 이르다. 먼저, 위의 실험이 '통계적으로 유의미한지' 확인해야한다. 여기서 통계적 유의성을 확인하는 대표적인 방법은 P Value(Provability Value, 유의 확률)을 기준으로 가설을 검증하는 것이다. 여기서 귀무가설과 대립가설이 필요하다. 귀무가설과 대립가설의 관계는 다음과 같이 표현할 수 있다.
정리하면, 미리 가정한 귀무가설을 기각하고 대립가설을 채택함으로서 '통계적 유의성'을 확인 할 수 있다. 위의 랜딩페이지 사례를 예로 들면, 다음와 같다.
- 귀무가설: A와 B 랜딩페이지는 차이가 없다.(무의미하다, 상관관계가 없다)
- 대립가설: A와 B 랜딩페이지는 차이가 있다.(유의미하다, 상관관계가 있다)
이때 "P Value < 0.05"라는 기준이 등장하는데, P값이 0.05보다 낮다면 귀무가설은 해당 표본에서 관찰될 확률이 극히 적다는 것이다. 이로서 귀무가설은 기각되고, 대립가설이 채택된다.
[참고] 0.05라는 수치는 신뢰구간에서 등장한 개념이며 신뢰구간 95%를 의미한다.
95% 신뢰구간: 반복적으로 표본 표출을 100회했을 때 모평균을 포함한 신뢰구간이 95개 나올수 있다. 즉, 95%만큼 표본을 신뢰할 수 있다.
이제 실험 결과를 믿어야 할까? 아직, 한 단계가 남아있다. 바로 "효과크기"이다. 위의 실험결과에서 0.05% 구매전환율이 높다는 것은 우리 서비스에게 어떤 의미일까? 활성사용자의 수나 ARPU(Average Revenue Per User, 유저 당 평균매출) 등에 따라 구매전환율에 대한 평가는 달라진다.
- A의 구매전환율: 0.1% 상승
- B의 구매전환율: 0.05% 상승
A의 구매전환율을 기준으로 계산
- DAU 1,000명 / ARPU 10,000원: 1,000,000원/일 추가 매출 발생
- DAU 2,000명 / ARPU 4,000원: 800,000원/일 추가 매출 발생
정리하면, 비즈니스 상황에 따라 같은 구매전환율이라도 얻는 이익이 다를 수 있다. 즉, 실험결과에서 뚜렷한 차이를 보이며 유의 하더라도, 실제 비즈니스에서 유의하지 않을 수 있다.
뿐만 아니라, A/B테스트를 통해 의미있는 결과를 얻더라도, 이것은 과거의 결과이다. 따라서, 미래에도 이 결과가 유효하다고 보장할 수 없기에 지속적으로 실험하고 검증하는 작업이 필요하다.
fin
A/B테스트는 고객에게 우리의 솔루션을 직접 실험할 수 있는 유용한 방법이다. 하지만 유의미한 실험결과를 얻기 위해 철저한 실험 설계가 기반이 필요하며, 무엇보다 A와 B 조건 모두 고객의 문제를 해결할 수 있는 최선의 솔루션이여야 한다. 그렇지 않다면 그 결과는 서비스 운영에 실질적으로 도움이 되지 않을 것이다.
[출처]
- 빈도론 기반의 A/B 테스트-A/B Test, Split Test, Frequentism
- 인프런 강의