A/B 테스트

  • 임의로 나눠진 두 집단에게 서로 다른 UI/UX 등을 제시하고, 어떤 집단이 더 높은 성과를 보이는지 정량적으로 평가하는 방식
  • 대부분의 IT기업에서 데이터 기반 의사 결정의 도구로 활용하고 있음
  • 대표적인 데이터 기반의 의사결정 및 서비스 기획 방법
  • AB테스트에서 가장 중요한 것은 ‘전환율’

A/B 테스트 진행 프로세스

  1. 목표 설정
  2. 가설 수립
  3. 실험 설계
  4. 실험 진행
  5. 결과 검증

1️⃣   목표설정

  • AB테스트를 진행 할 때, 반드시 테스트의 목표를 구체화
    → 명확한 목표가 있어야, 유의미한 지표 선정 및 가설 설정 가능
  • 명환학 목표를 세웠다면, 그에 맞는 지표를 설정
    EX) 서비스 가입자를 늘리고 싶다면 서비스 가입전환율, 버튼 클릭 인원을 늘리고 싶다면 버튼 클릭율을 지표로 설정
  • 지표를 설정할 때, 분자와 분모를 명확히 해라
    EX) 동일한 가입전환율이라도 분모다 가입페이지 방문자 수 인지, 인스톨 유저인지에 따라서 값의 차이가 발생

2️⃣  가설수립

  • 목표와 지표를 설정했다면, 어떤 일을 해야 해당 지표가 개선될 수 있을지에 대한 가설 수립 필요
  • 가설을 기반으로 어떻게 실험을 진행할지, 무엇을 학습할지가 결정 되므로 신중하게 가설을 세워야 함
  • 가설을 결정하기 전에 아래 두가지를 유의
1. 가설이 목표와 얼라인되는지 반드시 확인
2. 해당 가설과 관련한 정보를 충분히 탐색해야 함 (신입 기획자로 업무를 할 경우 이미 회사에서 진행되었던 다양한 실험을 꼼꼼하게 파악해야 자원낭비를 줄일 수 있음) 
  • 모든 AB 테스트 진행 시, 가설과 실험을 통한 결과 기록 ! → 회사 & 프로덕트 오너의 자산

3️⃣  실험 설계

  1. 지표 설정
    • 합계 지표(sum)
    • 평균이나 중앙값 (mean, median)
    • 비율(0~1)
    • 민감도(Sensitivity)와 강건성(Robustness)
  2. 타겟 유저
    • 어떤 유저 대상으로 실험을 수행할 것인가?
    • 실험군의 모수 설정
      • 많은 유저가 사용하고 있는 서비스 → 실험 부작용을 최소화하기 위해서 실험군을 5~10%로 설정하는 경우가 많음 (실험의 위험도에 따라 다름)
      • 아직 초기 단계의 스타트업 → 유의미한 실험 모수를 빠르게 확보하기 위해서 50% 가량으로 진행
      • Simple Size (최소 샘플사이즈 알려주는 사이트 이용)
  3. Unit of Diversion (어떻게 나눌 것인가?)
    • A/B 테스트 진행 시, A/B가 온전히 랜덤이여야만 두 그룹(대조군과 실험군)의 차이점이 Stimulus에 의한 변화라 확신 가능
    • 자주 사용되는 것
      • ID : 데이터 베이스에 저장되는 유저들의 고유 값 -> 안정성이 높음 (홀수 짝수 등)
      • EVENT : 유저가 특정 행동(Event)를 했을 때, 무작위로 A 혹은 B의 결과를 보여줌 (유저 1 : 이벤트 N)
        -> 가장 Randomize 된 샘풀을 뽑을 수 있으나, 서비스의 일관성이 떨어질 수(유저 경험 파편화로 인한 부작용 발생) 있음
  4. Unit of Analysis
    • A/B 테스트를 통해 영향을 주고자 하는 최소 단위
    • 지표의 분모 설정에 유의
    • 분기단위를 정할 때는 분석단위와 일치 시키는 것이 바람직
  5. Duration
    • 보통 기간이 길 수록 정확성은 높아짐
    • BUT 특수한 이벤트(공휴일 등)가 기간에 포함된다면 분석에 유의
  6. Variation 설정
    • 실험군(신규)과 대조군(기존)의 어떤 것을 다르게 보여줄 것인가
    • 둘의 차이가 너무 복합적이면 유의미한 결과 해석이 어려움
    • 최대한 실험 단위를 쪼개서, 영향력을 확인하고 싶은 부분을 제외하고는 통제하는 것이 좋음

4️⃣ 실험 진행

  • AB 테스트의 분기가 제대로 이뤄지고 있는지 파악
  • 실험 기간이 너무 짧으면 → 유의미한 결과값 획득 어려움 가능성 ⬆️
  • 지속적으로 데이터 확인 + 통계적 유의미성 확보 여부 체크
  • 즉, 통계적으로 유의미 할 때까지 AB 테스트를 유지해야 한다

5️⃣  결과 검증

통계적 유의미성 확인

  • 실험군, 대조군의 각각의 모수와 전환 유저 값을 통해서 계산
  • P-Value 계산 등을 직접할 수 있으나, 다양한 AB 테스트 통계적 유의미도 계산 툴 존재 EX) AB TestGuide, VWO Free Tools
    -> P-Value는 0.05보다 낮을 경우에 의미가 있다고 판단
  • 통계적 유의미도가 충분히 확보되지 않은 상태에서, 실험군으로 전환하거나 대조군 그대로 진행하는 섣부른 결론을 내서는 안됨
  • 불편지표 확인
    • 실험 과정이 문제 없었는지 점검하기 위해서, 실험 과정에서 변하면 안되는 수치인 ‘불변지표’ 확인 필요
    • 구글은 불변 지표 확인을 위해 AB테스트 전후에 AA테스트를 진행하고, 결과에 차이가 있다면 분기 설정 이슈 확인

 


배운 점

💡 레퍼런스를 그냥 보지 말고 아래의 내용을 고민해보자

1. 각 담당 PO는 왜 저런 실험을 했을까

2. AB 테스트는 어떤 결과가 나왔을까

3. 실험이 성공이라면 다음에는 어떤 것을 강화 할 수 있을까

4. 실험이 실패라면, 실패 이유와 어떻게 개선해야 성공했을 수 있을까

 

💡사례도 구체적으로 파악해서 아래 내용도 생각해보기

1. 대조군에는 어떤 문제가 있었을까

2. 실험군의 업데이트 내용은 왜 저것이어야 했을까

3. 그 내용은 유저에게 어떤 것을 전달하고자 했던 것인가 

 

💡 하나의 실험이 종료되면 해당 실험에서 얻은 “인사이트”를 기반으로 개선/수정/삭제 방안을 좀더 고안해서 추가 테스트를 진행해야 한다

 

[제로베이스 PM스쿨] 매일학습일지 #3.2

+ Recent posts