1. A/B Test란?
- 임의로 나눠진 두 집단(AB)에게 서로 다른 비/ UX 등을 제시하고, 두 집단 중 어떤 집단이 더 높은 성과를 보이는지 정량적으로 평가하는 방식
- 대부분의 IT기업에서 데이터 기반 의사 결정의 도구로 활용하고 있음
- google, amazon, facebook : 매년 10,000개의 실험 진행
- bing : 300개 이상의 실험이 매주 완료됨
- Uber : 1,000개 이상의 실험 상시 진행
- airbnb : 500개 이상의 실험 상시 진행
- 대표적인 데이터 기반의 의사결정 및 서비스 기획 방법
- 각각 다른 A, B 화면으로 Variation을 준 후에 전환율을 비교하기
2. A/B Test를 하는 이유
- 급변하는 시장에서, 정답은 아무도 모름
- 쉽고 빠르게 테스트할 수 있는 환경에서 경험있는 개인에게 의지하는 것은 너무 위험하거나, 너무 비효율적임
- 최고의 인재가 모인 Google, Microsoft 등에서 하는 실험의 10~30%만이 긍정적인 결과를 얻음 (출처 : 링크)
3. A/B Test 진행과정
1) 목표 설정
- AB 테스트를 진행할 때 반드시 테스트의 목표를 구체화해야 함
- 명확한 목표가 있어야, 유의미한 지표 선정 및 가설 설정이 가능해짐
- 명확한 목표를 세웠다면, 그에 맞는 지표를 설정해야 함
- 서비스 가입자를 늘리고 싶다면 서비스 가입전환율, 버튼 클릭 인원을 늘리고 싶다면 버튼 클릭전환율을 지표로 잡을 수 있음
- 지표를 설정할 때, 분자와 분모를 명확히 해야함
- 동일한 가입전환율이라도 분모가 가입페이지 방문자 수인지, 인스톨 유저인지에 따라서 값이 크게 차이나기 때문임
2) 가설 수립
- 목표와 지표를 설정하였다면, 어떤 일을 해야 해당 지표가 개선될 수 있을지에 대한 가설을 수립해야 함
- 가설을 기반으로 어떻게 실험을 진행할지, 무엇을 학습할지가 결정 되므로 신중하게 가설을 세워야 함
- 가설을 결정하기 전에
- 가설이 목표와 얼라인되는지 반드시 확인해야 함
- 해당 가설과 관련한 정보를 충분히 탐색하는 것이 중요함
- 신입 기획자로 업무를 시작할 경우 이미 회사에서 진행되었던 다양한 실험을 꼼꼼하게 파악해야 자원낭비를 줄일 수 있음
- 모든 A/B 테스트를 진행할 때마다 반드시 가설과 실험을 통한 결과를 기록해야 함
- ex. 넷플릭스 - 아트웍이 유저의 CTR에 영향을 미칠 것이라는 가설을 세우고, 하나의 작품에 여러가지 아트웍을 사용하여 A/B 테스트를 진행함
- 작품의 노출 대비 클릭 전환율을 높이는 것이 목표
3) 실험 설계
< 지표 설정 >
- 지표의 종류
- 합계지표 (sum)
- 평균이나 중앙값 (mean, median)
- 가장 자주 쓰는 평균의 함정에 빠지지 않도록 주의
- 평균 깊이 1m
- A: 1m, 1m, 1m, 1m, 1m
- B : 5cm, 5cm, 5cm, 5cm, 4m80cm
- Median, mode(최빈값) 등을 확인하여 아웃라이어 존재 여부를 파악해야함
- mean : 1m
- median : 5cm
- mode : 5cm
- 평균 깊이 1m
- 가장 자주 쓰는 평균의 함정에 빠지지 않도록 주의
- 비율(0~1)
- A/B 테스트 시에 가장 많이 사용되는 지표의 종류
- 분모와 분자의 값에 따라 값이 크게 달라질 수 있기 때문에 분모에 특히 신경을 쓰는 것이 중요함
- ex. 결제완료 횟수 / 결제페이지 진입 횟수
- 민감도(Sensitivity)와 강건성(Robustness)
- 아무 변화도 가하지 않았는데 들쑥날쑥하는 지표는 강건성이 낮아 실험에 적절한 지표라고 볼 수 없음
- 어떠한 변화를 가해도 크게 변화하지 않는 지표는 충분히 민감하지 못해 적절한 지표라고 볼 수 없음
- 민감도와 강건성을 모두 고려해서 결과적으로 실험을 통해 변화시킬 수 있지만 실험 외 영향에서는 어느 정도 안정성을 유지하고 있는 지표를 설정하는 것이 매우 중요함
< Target Users >
- Target Users : 어떤 유저 대상으로 실험을 수행할 것인가?
- 실험군의 모수 설정
- 많은 유저가 사용하고 있는 서비스라면, 실험의 부작용을 최소화 하기 위해서 실험군을 5~10% 로 설정하는 경우가 많음(실험의 위험도에 따라 다름)
- 반면, 아직 초기 단계의 스타트업이라면, 유의미한 실험 모수를 빠르게 확보하기 위해서 50% 가량으로 진행하기도 함
- Sample size
- 샘플수가 많을수록 결과의 신뢰도가 올라감
- 다양한 AB testing sample size calculator 가 있어서 쉽게 계산 가능
- 실험군의 모수 설정
- AB testing sample size calculator
- Baseline Conversion Rate : 통제군의 결제 전환율(가입 전환율 등)
- Minimum Detectable Effect : 최소 측정 가능 효과 ⇒ 낮을수록 더 정밀한 실험이 되어서 더 많은 사이즈의 샘플이 필요함
- Statistical Significance : 통계적 유의도 ⇒ 보통은 95%가 기본
< 분기 단위와 분석 단위 >
- Unit of Diversion (분기 단위)
- AB test 진행시 A, B가 온전히 랜덤이어야만 두 그룹의 차이점이 Stimulus에 의한 변화라고 확신할 수 있게 됨
- 자주 사용되는 것
- 유저들의 고유한 Id : 안정성이 높음 (홀수 짝수 등)
- event : 유저가 특정 행동(event)를 했을 때 무작위로 A 혹은 B의 결과를 보여줌 (유저 1: 이벤트 n)
- 가장 Randomize 된 샘플을 뽑을 수 있으나, 서비스의 일관성이 떨어질 수 있기 때문에 유저는 눈치채지 못할 변화에만 사용해야 함
- Unit of Analysis (분석 단위)
- A/B Test를 통해 영향을 주고자 하는 최소 단위
- 보통 지표의 분모로 사용됨
- 지표가 ARPU (총 구매액 / 회원 수) 이라면 분석단위는 회원
- 분기 단위를 정할 때는 분석 단위와 일치시키는 것이 바람직함
- 만약 분석하고 싶은 단위가 '회원' 인데, 분기단위가 '페이지뷰'로 분기되어 있다면, 한명의 회원이 여러개의 페이지 뷰를 만들 수 있음
- 이 경우 각 페이지뷰는 동일 회원이 만들어 내었으므로 서로 확률이 연관되어있고, 독립성이 없음
- 만약 어떤 회원은 페이지뷰를 100번하고, 어떤 회원은 1번 했을 때 실험 데이터가 왜곡될 가능성이 커짐
< Duration과 Variation 설정 >
- Duration
- 보통 기간이 길수록 정확성은 높아짐
- 그러나 명절과 같은 특수한 이벤트가 기간에 포함될 경우 결과 분석에 유의해야 함
- Variation 설정
- 어떤 것을 다르게 보여줄 것인가?
- 둘의 차이가 너무 복합적이면 유의미한 결과 해석이 어려워짐
- 최대한 실험 단위를 쪼개서 영향력을 확인하고 싶은 부분을 제외하고는 통제하는 것이 좋음
4) 실험 진행
- A/B 테스트의 분기가 제대로 이뤄지고 있는지 파악해야 함
- 실험 기간이 너무 짧을 경우, 유의미한 결과값을 얻을 수 없을 가능성이 높음
- 지속적으로 데이터를 확인하면서 통계적 유의미성이 확보되었는지 확인해야 함
5) 결과 분석
- 통계적 유의성 확인
- 실험군, 대조군의 각각의 모수와, 전환 유저 값을 통해서 통계적 유의미도를 계산함
- p-value 계산에서는 보통 0.05보다 낮으면 유의미하다고 판단함
- 다양한 AB Test 통계적 유의미도를 계산할 수 있는 계산기가 많음
- 통계적 유의미도가 충분히 확보되지 않은 상태에서 섣부른 결론을 내서는 안됨
- 불변지표 확인
- 실험 과정이 문제없었는지 점검하기 위해서 실험 과정에서 변하면 안되는 수치인 '불변지표'를 확인해야 함
- ex. 구글 - AB 테스트 전후에 AA 테스트를 진행해서 분기에 문제가 없는지 파악함
6) A/B Test 시 주의해야 할 사항들
- AB testing은 최적화 도구일 뿐 큰 그림을 보여주지는 못함
- 완전히 새로운 기능을 추가하거나, 훨씬 높은 단계의 의사결정에 관해서는 효과적이지 않음
- 즉, 산을 잘 올라가고 있는지 말해주지만, 어느 산에 올라가야 하는지 말해주지 못함
- 대부분의 가설은 틀린다는 것을 명심해야 함
- 스스로 만든 가설이 잘못된 가설이었다는 것에 두려움을 갖는다면, 올바른 자료 해석이 불가능함
- 실험을 통해 잘못된 가설이었다는 것을 증명하는 것도 매우 큰 성과이므로 두려움 없이 결과를 직면해야 함
- 실험을 너무 빨리 끝내면 안됨
- 많은 기업에서 공들여 AB 테스트를 진행하지만, 정작 실험의 결과의 통계적 유의미성이 낮은 상황에서 실험을 조기 종료하는 경우가 많음
- 여유를 가지고 실험 결과를 기다려야 함
- 너무 많은 변인을 한꺼번에 테스트 하면 안됨
- 한 번에 여러가지 테스트를 진행하고자 욕심을 부릴 경우, 정작 실험 결과에 영향을 미친 핵심 변인이 무엇인지 해석할 수 없게 됨
4. A/B Test 케이스스터디
1) Airbnb
① 유저 별점을 함께 노출하는 것이 더 높은 효율을 발휘함 (2019년 9월 23일)
- A (기존)
- 유저 : 별에 색칠된 정도가 정확한 수치를 표현하지 못해 의사결정에 도움 받지 못함
- 호스트 : 잘 확인도 안되는 리뷰를 더 잘 받기 위해 노력할 동기 부여가 사라짐
- B (실험)
- 별점을 숫자로 표현
- 별 옆의 숫자가 리뷰의 개수라는 것을 명확하게 표현
- 결과적으로 더 높은 예약 전환율이 발생함
② 업체의 가용일정을 노출하고, 원클릭으로 여행일정을 입력하는 테스트를 진행하였으나, 많은 사용을 못 받고 폐기됨 (2020년 9월 3일)
③ 예약하기 버튼을 상단으로 올렸고, 더 높은 효율을 발휘하여 채택됨 (2020년 8월 10일)
- 예약 버튼 위치의 변경, 세부 항목 보는 방법의 변경 두 가지가 섞여서 실험이 진행된 점은 다음엔 확실히 분리해서 보완할 필요가 있음
2) bol.com
① 유저 별점과 별점에 참여한 유저 수를 함께 노출하는 것이 더 높은 효율을 발휘함 (2020년 9월 23일)
- 이미 검증된 AB 테스트를 레퍼런스 삼아서 바로 적용하는 것도 우리 리소스를 낭비하지 않고 좋은 실험 결과를 프로덕트에 적용시키는 방법임
3) Amazon
① 정기결제를 늘리기 위해서, 정기결제를 기본 선택값으로 변경하였으나, 효율이 낮아 원래되로 회귀함 (2020년 2월 24일)
- 정기결제 전환율을 높이기 위해 시도한 것들이 일반결제의 전환율에 악영향을 미치지는 않았는지 고려해야 함
- 가드레일 지표로 일반 결제 전환율이 특정 이상 떨어지지 않도록 기준점을 설정해둬야 함
- 정기결제 전환율, 일반결제 전환율의 트레이드오프 관계를 고려하여 전체 결제 전환율, 전체를 통해 얻는 수익 추이 등을 동시에 트래킹하면서 실행을 진행해야 함
- ★ 모든 회원에게 특정 상품에 대해 정기결제를 기본 선택값으로 설정되도록 하기보다 특정 상품을 n주 이내 재구매한 회원들을 대상으로 선별적으로 정기 결제 기본 선택을 적용했으면 어땠을까? 하는 생각도 듦
② 3가지 보증 내용을 아이콘으로 추가하였고 이를 통해 구매 전환율을 개선하였음
- 특정 실험을 하기 전에 어느 정도까지 강조할까 고민될 때는 실험 전에 유저 테스트, 유저 인터뷰, 포커스 그룹 인터뷰 등의 정성적 피드백을 바탕으로 비중을 결정하는 것도 하나의 기술임
4) Netflix
① 가입에 필요한 이메일 입력필드를 최앞단에 배치함으로써 가입 전환율을 높였음 (2020년 2월 18일)
② 가입에 필요한 이메일 입력필드를 최앞단에 배치하며 가입률 개선을 이뤘기에, 비밀번호 및 이메일 발송 opt-out 체크박스를 추가하여 회원가입을 한번에 끝내는 UX 를 구성하여 실험하였으나, 낮은 전환율로 인하여 기존안으로 회귀함 (2020년 3월 31일)
5) booking.com
① 예약 날짜 설정 date picker가 자동 노출되도록 변경하였고, 높은 검색 전환율을 보여 유지함 (2019년 3월 6일)
6) Etsy
① 상세 배송 타임라인을 제공하여, 배송 관련된 정보의 Visibility 를 높여고, 더불어 오늘 주문해야 표기된 날짜 안에 배송받을 수 있다는 긴급도를 유저에게 심어주었음. 실험군이 더 좋은 효율을 보여주어 채택됨 (2020년 11월 24일)
- 이커머스 플랫폼에서는 유저가 구매를 망설이는 이유를 파악하고 이 원인을 어떻게 제거할지 고민하는 과정이 필요함
- ex. 쿠팡 - 언제까지 주문할 경우, 언제 배송이 된다는 정보를 명확하게 명시해서 긴급도를 인지시킴
② 아마존은 Buy Now 버튼을 제거하는 실험을 하였고 이는 실패하여 100% 원래대로 회귀함 (2020년 5월 4일)
- PO는 Buy Now 버튼을 삭제함으로써 ARPPU, AOV, ABS 등이 높아질 것으로 기대했을 것임
- ARPPU(Average Revenue Per Paid User) : 구매 유저 당 평균 수익
- AOV(Average Order Value) : 한 번 주문할 때 평균 얼마 주문하는가? = (전체 주문액 / 전체 주문수)
- ABS(Average Basket Size) : 평균 장바구니 크기
- 실험군에서 기업의 수익성이 높아짐을 확인해도 고객에게 불편함을 가져다주는 점은 기업의 본질을 흩트리는 것이기에 수익성 개선이 목표 기준점에 도달하지 못했으면 기존의 대조군이 채택되었을 수도 있음
- 회사 생각하는 주요 가치랑 수익성 등 현재의 중요한 KPI 간에 상충이 있을 경우 단순히 수치가 높다는 것이 아닌 특정 이상 더 높아야 한다는 기준점을 갖고 실험을 진행함
③ 엣시는 상품 페이지에서 구매 수량을 함께 표기하였고 이 실험은 성공하여 100% 적용됨 (2020년 9월 10일)
- PO는 ARPPU, AOV, ABS 등의 증대를 기대했을 것임
- 1개 선택했다는 것을 명확하게 보여주고, 1개 이상의 제품을 장바구니에 넣고싶을 때 수량 선택의 접근성을 높여줌으로써 유저가 더 많은 상품을 구매할 전환율이 더 높아진 것으로 추정됨
'ACTIVITY > PM 스쿨 일지' 카테고리의 다른 글
Chap 10. 서비스 정책서와 요구사항 정의서 (1) 정책서 (0) | 2023.10.27 |
---|---|
Chap 09. 데이터 분석에 기반한 서비스 기획 (0) | 2023.10.23 |
Chap 08. 서비스 기획 업무 A~Z (4) MVP, 와이어프레임, 프로토타입 (0) | 2023.10.18 |
Chap 08. 서비스 기획 업무 A~Z (3) 애자일 방법론 中 칸반 (0) | 2023.10.18 |
Chap 08. 서비스 기획 업무 A~Z (2) 애자일 방법론 中 스크럼 (0) | 2023.10.18 |