PM

[PM] Chapter 8. A/B Testing

daisy26 2023. 7. 16. 02:13

AB Test 란?

임의로 나눠진 두 집단(A/B)에게 서로 다른 UI/UX 등을 제시하고, 두 집단 중 어떤 집단이 더 높은 성과를 보이는지 정량적으로 평가하는 방식

  1. 목표 설정
    • AB 테스트를 진행할 때 반드시 테스트의 목표를 구체화해야 한다. 명확한 목표가 있어야, 유의미한 지표 선정 및 가설 설정이 가능해진다.
    • 명확한 목표 설정 후, 그에 맞는 지표를 설정한다.
      • 서비스 가입자를 늘리고 싶다면 서비스 가입 전환율, 버튼 클릭 인원을 늘리고 싶다면 버튼 클릭전환율을 지표로 잡을 수 있다.
      • 지표를 설정할 때, 분자와 분모를 정확하게 설정해야 한다.
  2. 가설 수립
    • 가설? 실험을 통해 반증 가능한 구체적이고 명시적인 진술
    • 예시
      • 현재 3단계로 구성된 회원가입 flow을 1단계로 줄이면, 회원가입 전환율이 10% 상승할 것이다.
      • 상품 랜딩 페이지에 고객들이 만족한 후기를 추가한다면, 구매 전환율이 5% 상승할 것이다.
    • 목표와 지표를 설정했다면, 어떤 일을 해야 해당 지표가 개선될 수 있을지에 대한 가설을 수립해야 한다.
    • 가설을 기반으로 어떻게 실험을 진행할 지, 무엇을 학습할지가 결정되므로 신중하게 가설을 세워야 한다.
    • 가설을 결정하기 전에
      • 가설이 목표와 방향이 같은지 반드시 확인해야 한다
      • 해당 가설과 관련된 정보를 탐색하는 것이 중요 + 문서화
    • xyz가설 템플릿 활용하기
      • 적어도 X퍼센트의 Y(표적시장)는 Z할 것이다.
        • 적어도 10%의 대기질 지수가 100 이상인 도시에 사는 사람들은 120달러짜리 휴대용 오염탐지기를 구매할 것이다.
  3. 실험 설계
    • Target Users: 어떤 유저 대상으로 실험을 수행할 것인가?
    • 실험군의 모수 설정
      • 많은 유저가 사용하고 있는 서비스라면, 실험의 부작용을 최소화하기 위해서 실험군을 5-10%로 설정하는 경우가 많음
      • 반면, 아직 초기 단계의 스타트업이라면, 유의마한 실험 모수를 빠르게 확보하기 위해서 50% 가량으로 진행하기도 함
      • Sample Size: 샘플수가 많을 수록 결과의 신뢰도가 올라간다.
        • AB testing sample size calculator - Optimizely
          • Baseline Conversion Rate: 개선하고자 하는 전환율의 값
          • Minimum Detectable Effect: 측정할 수 있는 최소의 변화(낮을수록 정밀한 실험이라서 많은 샘플이 필요)
          • 통계적 유의성
    • Unit of Diversion (어떻게 나눌 것인가?)
      • A/B test 진행시 AB는 온전히 랜덤이어야 함
      • 자주 사용하는 것
        • ID
        • Event: 유저가 특정 행동을 했을 떄 무작위로 A 혹은 B의 결과를 보여줌 (서비스의 일관성이 떨어질 수 있기 떄문에 유저는 눈치채지 못할 변화에만 사용함)
    • Unit of Analysis
      • AB Test를 통해 영향을 주고자 하는 최소 단위
      • 지표의 분모
        • 지표가 ARPU(총 구매액 / 회원 수)이라면 분석 단위는 회원
        • 분기 단위를 정할 때는 분석 단위와 일치 시키는 것이 바람직함
    • Variation
      • 어떤 것을 다르게 보여줄 것인가?
      • 적절한 수준의 Variation을 통해 결과를 온전히 분석할 수 있는 형태로 설계되었는지 확인해야 한다.
    • 실험 설계 항목
      • 실험대상: 실험을 진행할 타겟 고객
      • 실험기간: 실험을 진행하는 기간 (충분히 조정 및 변경될 수 있음)
      • 조작변인: 가설을 검증하기 위해 실험군과 대조군 간 변화를 주는 요소
      • 인원
      • 성공지표: 실험의 목표가 되는 지표이자, 실험의 성공/실패를 판단하는 지표
        • 지표에 대한 정의와 함께 목표 숫자까지 설정하는 것이 좋다
        • 예를 들어, 회원가입 전환율 2% 상승(회원가입 전환율: 앱 설치 후 24시간 이내에 회원가입을 완료한 비율)
      • 가드레일 지표: 실험으로 인해 영향을 받아 안좋아지면 안되는 지표
      • 보조 지표: 실험이 영향을 주는 참고성 지표
  4. 실험 진행
    • AB 테스트의 분기가 제대로 이뤄지고 있는지 파악해야 한다.
    • 실험 진행 프로세스
      • 조작 변인 관련 상세 PRD 작성
      • 조작 변인 관련 디자인 진행
      • 개발
      • QA
      • 배포
      • 실험시작
    • 유의사항
      • 개발 시 확장성 고려
      • 실험 시작 전 모니터링 대시보드 세팅
  5. 결과 검증
    • 통계적 유의성 확인
      • 실험군, 대조군의 각각 모수와 전환 유저값을 통해서 통계적 유의미도를 계산함.
      • P value는 0.05보다 낮을수록 통계적 유의미성이 높다고 할 수 있다.
      • https://vwo.com/tools/ab-test-significance-calculator/, https://abtestguide.com/calc/
      • 단순히 비율이 같더라도(예를 들어 10%) 모수의 크기에 따라 통계적 유의성을 달라진다.
      • 통계적 유의성이 충분히 확보되지 않은 상태에서 섣부른 결론을 내서는 안된다.
    •  불변지표 확인
      • 실험 과정이 문제없었는지 점검하기 위해서 실험 과정에서 변하면 안되는 수치인 '불변 지표'를 확인해야 함
  6. 후속 액션
    1. User Research
    2. 후속 실험 설계
    3. 전면 배포 & 대시보드 세팅

AB Test 시에 주의해야 할 사항들

  • AB Testing은 최적화의 도구 일 뿐 큰 그림을 보여주지는 못한다. 
    • 완전히 새로운 기능을 추가하거나, 훨씬 높은 단계의 의사결정에 관해서는 효과적이지 않다. 
    • 즉, 산에 잘 올라가고 있는지 말해주지만, 어느 산에 올라가야 하는지 말해주지 못한다.
  • 대부분의 가설은 틀린다는 것을 명심해야 한다.
    • 스스로 만든 가설이 잘못된 가설이었다는 것에 두려움을 갖는다면, 올바른 자료 해석이 불가능하다.
    • 실험을 통해 잘못된 가설이었다는 것을 증명하는 것도 매우 큰 성과이므로 두려움 없이 결과를 직면해야 한다.
  • 실험을 너무 빨리 끝내면 안된다.
    • 많은 기업에서 공들여 AB 테스트를 진행하지만, 정작 실험의 결과의 통계적 유의미성이 낮은 상황에서 실험을 조기 종료하는 경우가 많다.
    • 여유를 가지고 실험 결과를 기다려야 한다.
  • 너무 많은 변인을 한 번에 테스트하면 안된다.
    • 한 번에 여러가지 테스트를 진행하고자 욕심을 부릴 경우, 정작 실험결과에 영향을 미친 변인을 해석할 수 없어진다.

주요 지표 용어
ARPPU: Average Revenue Per Paid User
AOV: Average Order Value (한 번 주문시 구매하는 금액)
ABS: Average Basket Size
 

이 짤을 왜 넣으셨냐고 물으신다면.... 그냥.. 그냥요..ㅎ

[참고하면 좋은 사이트]
 
(MDE 설정)
https://blog.naver.com/hancury/222930747017

MDE (Minimum Detectable Effect)

1. 들어가며 최근 회사 PO(Product Owner) 분께 AB Test Platform 을 설명드리다가 MDE(Minimu...

blog.naver.com

 
(AB Test 위키)
https://wikidocs.net/197007

03) 유의 수준, 최소 검출 가능 효과, 검정력, 그리고 표본 수

실험의 기대 보상/비용을 최대화하는 조합을 정해야 합니다. 개념부터 정의해보겠습니다. [TOC] ## P-값 [귀무 가설](https://wikidocs.net/196998#…

wikidocs.net