데이터 분석 스크랩

A/B 테스트 기초부터 심화까지

남생이a 2024. 3. 16. 21:27

A/B 테스트 기본

A/B 테스트란?


  1. 전체 실사용자를 대상으로 대조군/실험군으로 나누어서 어떤 특정한 UI나 알고리즘의 효과를 비교하는 방법론
  2. 일부 테스트 실험 또는 소비자 조사로 활용하던 것 → 전체 사용자 대상으로 더 높은 검증

A/B 테스트에서 사용자를 분리하는 방법은?


  1. 노출 빈도 분산 방식
    1. 테스트가 진행되는 페이지가 렌더링 될 때 마다, 특정 비율에 따라 A/B안을 노출시키는 방식
    2. 노출 빈도에 따라 양쪽에 모두 포함이 될 수 있음 → 통계적 유의성은 더 높음.
    3. But, 동일한 사용자에게 UI/UX가 다르게 나올 수 있음 → 혼란 & 결과에 Bias → 알고리즘 테스트에 활용
  2. 사용자 분산 방식
    1. 사용자 ID 값에 따라 그룹을 나누고 A/B안을 노출시키는 방식
    2. UI/UX가 그룹별 고정 혼란 X → Heavy User가 Outlier들에 의해 전체 결과값이 왜곡될 수 있음
    3. 결과값 검증 절차를 조금 더 세심하게 파악할 필요성
  3. 시간대 분산 방식
    1. 시스템 설계상 노출이나 사용자 분산이 불가능한 시스템에서 활용
    2. 시간대역을 분할해서 테스트 수행하는 방식
    3. 보안& 하드웨어 특성때문에 과거 일부 금융사 통신사 활용

A/B 테스트 결과를 신뢰할수 있을 것인가?


  1. AA Test
    1. 일부 실험 대상군에 심각한 편중이나 왜곡이 있는 경우 확인
    2. AB테스트를 수행하기전에 분산에된 트래픽에 대해 동일한 Variation을 동시에 보여주고 차이가 있는지 없는지를 확인후에 차이가 없다면 AB테스트 진행
  2. P-value 검사

A/B 테스트 결과를 왜곡할 수 있는 요소들


  • 테스트 대상 트래픽 양이 충분하고, P-Value가 높게 나오더라도 A/B 테스트 결과가 왜곡될 수 있는 요소는 많음
    • 서비스적 특성에 따라 소수의 Heavy User에 전환 결과값이 매우 집중되어 있는 경우.
  • So, 장기적으로 서비스의 Balance와 Engagement를 특정 할 수 있는 지표들을 같이 이해하고 있어야함.
  • And, 서비스의 Seasonality도 A/B 테스트의 결과에 크게 영향을 미칠 수 있음.
  • And, 특정 가설에 대한 확신을 가지거나 조직 내에서 특정 방향성으로 이끌기 위해 A/B테스트의 환경을 의도적으로 설정

A/B 테스트가 만능은 아니다


  • 대중의 선호를 묻는 A/B 테스트는 결국 한계가 있음. 패러다임 자체를 바꾸는 혁신은 불가능.
  • But, 여전히 A/B 테스트는 매우 유용한 Tool, 서비스의 세부 효율을 개선하여 전체 서비스 성과를 극대화 시킬 수 있는 가장 확실한 방