빈도론 기반의 A/B 테스트-A/B Test, Split Test, Frequentism

Aaron Kim
3 min readMar 5, 2020

--

A/B 테스트란?

서비스 사용자를 두 개의 그룹으로 임의 추출 (random sampling)하여 다른 상황을 제시했을 때, 각각의 반응을 비교하는 통계 기반의 분석 기법이다. 과거에는 마케팅 분야에서 많이 사용되었지만, 최근에는 머신러닝/딥러닝 모델 개선 효과 분석을 위해 활용한다.

  • Ex 1. 기존 디자이너의 대표 화면 시안 A와 새 디자이너의 대표 화면 시안 B 중, 어떤 시안일 때 사용자들이 더 많이 구매하는가?
  • Ex 2. 기존의 상품 추천 시스템 A와 새롭게 튜닝된 추천 시스템 B 중, 어떤 모델의 추천이 구매로 더 많이 이어지는가?

A/B 테스트는 빈도론과 베이지안론, 두 가지 방법을 기반으로 수행할 수 있다. 일반적으로 빈도론 기반의 A/B 테스트는 각 상황에서 유도된 행위를 한 사용자의 비율 (=전환율)이 유의미한 통계적 차이를 갖는지를 검사한다

통계적 차이의 유의미함 정도는 p-value를 추론함으로써 결정된다. p-value는 기존의 귀무가설과 새롭게 관찰된 대립 가설이 일치하는 정도를 의미한다. p-value가 유의 수준 (0.1, 0.05, 0.01)보다 낮다면 귀무가설을 기각한다.

실습

먼저, 귀무가설과 대립가설을 명확하게 설정한다.

  • 귀무가설: 추천 시스템 A와 B의 성능 차이가 작다 (=무의미하다.)
  • 대립가설: 추천 시스템 A와 B의 성능 차이가 크다 (=유의미하다.)

추천 시스템 A, B 각각의 구매 빈도로 contingency table을 구성한 후 Chi-squared test 기법을 이용하여 p-value를 추정한다.

위 결과로 p-value는 0.00000218로 계산된다. 일반적인 가설 검정에서 p-value가 유의 수준 0.05보다 작으면 두 데이터가 통계적으로 큰 차이를 보이며 대립가설을 채택한다. 즉, 추천 시스템 A/B 성능 차이가 유의미하다고 할 수 있다.

새로운 예시로 추천 시스템 A에 대한 비구매자/구매자를 (40, 60), 추천 시스템 B에 대한 비구매자/구매자를 (30, 70)로 하였을 때의 p-value는 0.182122로 계산된다. 즉, 추천 시스템 A/B 성능 차이가 무의미하다고 할 수 있다.

주의 사항

  • Random sampling: 테스팅을 위한 두 집단이 임의로 추출되어야 한다. (여성/남성, 청년층/장년층으로 추출하면 결과가 오염될 수 있다.)
  • p-value 해석: p-value는 A와 B, 두 데이터의 차이가 통계적으로 의미가 있느냐 없느냐에 대한 값이다. 그렇기에 A보단 B가 좋다, B보단 A가 좋다라는 직접적인 해답을 주지 못하기 때문에 오류를 범할 수 있다.
  • 데이터의 양이 풍부하지 않다면 부정확한 결과를 보일 수 있다.

--

--

Aaron Kim

Truth is ever to be found in simplicity, and not in the multiplicity and confusion of things. ― Isaac Newton