pm/TIL
[Chapter 08-04] 서비스 기획업무 A~Z (AB Test)
support_u
2023. 9. 22. 05:08
1️⃣ AB Test
🔷 AB Test란?
- 임의로 나눠진 두 집단에게 서로 다른 UI/UX등을 제시하고, 두 집단 중 어떤 집단이 더 높은 성과를 보일지 정량적으로 평가가하는 방식
- 대부분 IT 기업에서 데이터 기반 의사 결정 도구로 활용하고 있음
- 대표적인 데이터 기반의 의사결정 및 서비스 기획 방법
🔷 AB Test를 하는 이유
- 시장이 급변하기때문에 전문가의 의견을 맹신할 수 없다.
- 쉽고 빠르게 테스트할 수 있는 환경이 구축되어 있다.
- 아무리 뛰어난 인재라도 틀릴 확률이 높기때문에, 데이터를 보고 확인하는게 효율적이다.
2️⃣ AB Test 진행 Process
🔷 목표 설정
- AB Test 진행 시 반드시 테스트 목표를 구제화하여야한다. 명확하고 구체적인 목표가 있어야 유의미한 지표 선정 및 가설 설정이 가능해 진다.
- 명확한 목표를 세웠다면, 그에 맞는 지표를 설정한다.
- 서비스 가입자를 늘리고 싶다면, 서비스 가입전환율
- 버튼 클릭 인원을 늘리고 싶다면, 버튼 클릭 전환율
- 지표 설정 시, 분자와 분모를 명확히 해야한다
- 서비스 가입 전환율 분모를 인스톨 시 지표를 사용할 것인가, 가입페이지 방문자 기준으로 지표를 측정할 것인가
🔷 가설 수립
- 어떤 일을 해야 지표가 개선 될 수 있을지에 대한 가설을 수립한다
- 가설을 기반으로 어떻게 시험을 진행할지, 무엇을 학습할지 결정 되므로 신중하게 가설을 세워야한다.
- 가설을 결정하기 전
- 가설이 목표와 연결되어 있는지 반드시 확인
- 해당 가설과 관련한 정보를 충분히 탐색해야함
- 모든 AB Test 진행 시 가설과 실험을 통한 결과를 기록하고, AB Test 시작 전에 꼼꼼히 파악하여 자원 낭비를 최소화 해야 함.
넷플릭스
가설 : 아트웍이 유저의 CTR에 영향을 미칠 것
실험 : 여러가지 아트웍을 사용하면서 AB Test 진행
결과 : 아트웍에 유저 CTR에 영향을 미치니 다양한 아트웍을 제공
🔷 실험 설계
🔸 지표 설정
📌 지표 종류
- 합계지표(sum)
- 양을 알수 있으나 비율을 알 수 없어서 잘 사용하지 않음
- 평균이나 중앙 값(mean. median)
- 함정에 빠지지 않도록 주위하기위해 중앙값, 최빈값등을 확인하여 아웃라이어 존재 여부를 파악해야 함.
- 비율(0~1)
- 전환률로 AB Test 시 가장 많이 사용하는 지표
- 분모에 크게 관심을 써야 함.
📌 지표 설정
- 민감도(Sensitivity)와 강건성(Robustness)
- 아무것도 변하지 않았는데 들쑥날쑥한 지표 => 민감도가 너무 높고 강건성이 낮아 적적한 지표가 아님
- 어떠한 변화를 가해도 크게 변하지 않는 지표 => 민감도가 너무 낮고 강건성이 너무 높아 적절한 지표가 아님
🔸 타겟 유저
어떤 유저 대상으로 실험을 수행할 것인가?
실험군 : 새로운 기능을 넣거나 개선이 이뤄진 상태
대조군 : 기존 상태
- 실험군의 모수 설정
- 많은 유저가 사용하고 있는 서비스라면, 실험의 부작용을 최소화 하기위해서 실험군을 5~10%로 설정하는 경우가 많음(위험도에 따라 다름)
- 반면, 아직 초기 단계의 스타트업이라면, 실험군이 많이 없기때문에 유의미한 실험 모수를 빠르게 확보하기 위해서 50% 가량으로 진행하기도 함
- Sample Size
- 클 수록 신뢰도가 올라감
- 무한한 리소스가 있는 것이 아니니, 베리에이션 별로 적정한 샘플 사이즈를 구하는게 중요
- AB Testing sample size calculator
- Baseline Conversion Rate : 대조군의 전환률(현실)
- Minimum Detectable Effect(MD) : 최소 측정 가능한 효과, 낮을 수록 정밀하여 샘플 사이즈가 많이 필요함
- Statistical Significance : 얼마나 유의미한 통계인가, 보통 95% 추천하지만 샘플사이즈가 적다면 90%도 가능
🔸 Unit of Diversion
어떻게 나눌 것인가?
- AB Test 시 두 그룹이 온전히 랜덤이어야만 두 그룹의 차이점이 stimulus에 의한 변화라고 확실할 수 있게됨
- 자주 사용되는것
- id : 안전성이 높음(홀,짝)
- event : 유저 특정행동을 했을때 무작위 A, B 결과를 보여줌. 다만, 서비스일관성이 떨어질 수 있기 때문에 눈치채지 못하거나 다시 들어가지 않을 곳에 사용.
🔸 Unit of Analysis
AB Test를 통해 영향을 주고자 하는 최소 단위
- 지표의 분모로 사용
- 지표가 ARPU(Average Revenue Per User: 총 구매액/회원 수)라면 분석단위는 회원
- 분기단위를 정할때는 분석 단위와 일치 시키는 것을 바람직함
🔸 Duration
- 보통 기간이 길 수록 정확성이 높아진다
- 명절과 같은 특수이벤트 기간이 있다면 유의하며 분석해야한다
🔸 Variation 설정
- 실험군과 대조군에게 어떤 것을 다르게 보여줄 것인가?
- 둘의 차이가 너무 복합적이면 유의미한 결과 해설이 어려워짐 => 다양한 요소를 한번에 보여주지 말것!
- 최대한 실험 단위를 쪼게서, 영향력을 확인하고 싶은 부분을 제외하고는 통제하는 것이 좋다
🔷 실험 진행
- AB Test의 분기가 제대로 이뤄지고 있는지 파악
- 50:50 비율을 설정했는데 너무 다르다면 확인할 필요가 있음
- 실험 기간이 너무 짧은경우, 유의미한 결과값을 얻을 수 없다.
- 지속적으로 데이터를 확인하면서 통계적 유의미성이 확보가되었는지 확인해야 한다.
🔷 결과 분석
- 통계적 유의성 확인
- 실험군, 대조군의 각걱의 모수와, 전환 유저 값을 통해서 통계적 유의미도를 계산
- p-value 계산 등 직접할 수도 있으나 계산기 이용을 추천
- 0.05보다 낮을 경우에 유의미성이 의미가 있음
- 통계적 유의미도가 충분히 확보되지 않은 상태에서 섣부른 결론을 내서는 안됨
- 불변지표 확인
- 실험 과정이 문제가 없었는지 점검하기 위해서 실험 과정에서 변하면 안되는 수치인 불변지표를 확인
- 불변지표가 많이 바꼈다면 AA테스트를 진행
3️⃣ AB Test 시 주의하애 할 사항들
- AB Test는 최적화 도구일 뿐 큰 그림을 보여주지 못한다.
- 완전히 새로운 기능을 추가하거나, 훨씬 높은 단계의 의사결정에 관해서 효율적이지 않음
- 산을 올라가는 좋은 방법을 알려주지만, 올라가야 하는지 말해주지 못함
- 대부분의 가설이 틀리다는 것을 명심
- 가설이 틀리는 것에 두려움을 갖는다면, 올바른 자료해석이 불가능하다.
- 실험을 통해 잘못됨 가설이었다는것을 증명하는 것도 매우 큰 성과이다.
- 데이터를 보고 중립적으로 결과를 판단할 줄 알아야함.
- 실험을 너무 빨리 끝내면 안된다
- 유의미성이 낮은 상황에서 실험을 조기 종료하면, 틀릴 가능성이 높다
- 너무 많은 변인을 한꺼번에 테스트해서는 안되다.
- 실험 결과에 영향을 미친 변인을 해석하지 못할 수 있다.
4️⃣ AB Test casestudy(goodui.org)
AB Test | win | |
airbnb | 별점을 별로 보여주는 것 숫자로 보여주는 것 둘 중 어느게 예약 전환율이 높을까? | 별점이 숫자로 노출하는것이 더 높은 효율 발휘 |
bol.com | 별점을 준 유저 리뷰의 개수를 보여주는 것과 안보여주는것 어느게 구매 전환률이 높을까? | 리뷰 수를 보여주는 것이 전환률이 높았음 |
소셜 커먼스 | 위 사례를 보고 리뷰수와 별점을 숫자로 높이면 구매 전환률이 올라갈 것임을 예측 가능함 | |
airbnb | 업체의 가용일정을 노출하고 원클릭으로 여행일정을 입력하는 것이 클릭 전환률을 높힐 수 있지 않을까? | 많은 사람들이 사용하지 않아 그 전으로 롤백 왜 실패했나? 그전에 먼저 데이터의 입력을 받고 넣으면 좋지 않았을까? |
amazon | 상품 구매 시 한 번 결제 / 정기 결제 선택 시 정기결제가 기본 값이라면 정기 결제률을 높힐 수 있지 않을까? | 유저의 사용성을 헤치고, 효울이 낮아 롤백됨. 일반, 전체 결제률이 낮아졌을 것으로 예상 됨. if. 정기배송을 경험해 본 유저들에게만 저렇게 뜨게 되도록 설정되면 어땠을까? |
netflix | 가입하는 이메일을 첫 페이지에서 입력하여 단계를 줄인다면 가입 전환률이 오르지 않을까? | 최 앞단에서 받는 것이 가입전환률이 올랐음 |
이메일이 효율이 좋았다면 비밀번호도 같이 첫 페이지에 있다면 더 올라가지 않을까? | 비밀번호를 입력하는 것에 부담을 느꼈는지 전환률이 낮아 롤백됨. ❗ 하나의 인사이트로 끝내지 말고 배우고 다른 게 적용하는 자세가 필요함 |
|
airbnb | 예약 버튼을 상단으로 올린다면 예약 전환률을 올릴 수 있지 않을까? | 실제로 예약 전환률이 올라 채택. 버튼의 위치 값도 영향을 줬겠지만, 아래 하이퍼링크도 같이 변경이 되어 완전 유의미한 사례일지 의문이 들어 나눠서 적용하는 것이 어땠을까>? |
booking.com | 클릭 전부터 datepicker가 자동으로 노출된다면 검색전환률이 높아지지 않을까? | datepicker가 열려져있어 사용자 경험이 올라 가설이 채택 |
Etsy | 핸드메이드 상품을 파는 만큼 배송 도착이 느린 것에 부담을 느끼는 사용자에게 현재 구매시 예정 도착시간을 가시성 있게 보여주면서 긴급도를 부여하면 구매 전환률이 높아지지 않을까? | 전환률이 높아짐 ❓ 데드라인을 알려는것이 좋을까 남을 시간을 알려주는 것이 좋을까? |
상품 페이지에 구매수량을 함께 표기하여 수량 선택권을 늘려준다면 수익이 늘지 않을까? | 수익이 늘어나면서 채택 | |
amazon |
상품 구매시 바로 구매버튼을 삭제하면 ARPPU(Average Revenue Per Paid User:구매유저 대비 평균 수익), AOV(Average Order Value:한번에 얼마나 구매하는지), ABS(Average Basket Size: 장바구니 크기)가 다 높아질 것이다. ❓카드에 넣어서 구매하는 사람이 많아져서! |
대조군이 이김. 유저의 경험이 낮아져서 그랬을 것이라 예상 함. |
3가지 보증 내용을 아이콘으로 추가하면 구매 전환률을 높히지 않을까? | 전환률을 높이면서 채택 |