AB 테스트란?
- 유래 : 신약을 테스트 할때 기준을 정하고(혈압, 혈당 등) 신약,구약 후보군을 둘로 나눠서 효능 테스트함. AB 후보군의 혈당, 혈압의 차이가 통계적 의미를 가지는 정도 인지를 본다. 이를 코드 개발에도 적용하게됨. A와 B 페이지를 동시에 구성해서 A페이지 B페이지의 고객 행동의 차이가 있는지 관찰가능.
+가설 : 이 약을 먹으면 혈압이 증가할 것이다. - AB 테스트는 새로운 기능이나 변경이 생겼을때, 가설을 실험하고 검증할 때 쓰인다.
예) 상품 추천 알고리즘을 머신러닝으로 하면 매출이 늘어날 것이다. -> AB 테스트 검증 -> 사실
예) 상품 스텝을 줄이면 결제가 올라갈것이다. -> AB 테스트 검증 -> 비싼 상품은 신뢰도가 더 중요
AB테스트 장단점
- 장점:
1. 성능 최적화:
- A/B 테스트를 통해 여러 버전을 동시에 평가하므로 어떤 기능 또는 디자인이 사용자에게 가장 긍정적인 영향을 미치는지 확인할 수 있습니다.
- 이를 통해 성능을 최적화하고 사용자 만족도를 높일 수 있습니다.
2. 데이터 기반 의사결정:
- A/B 테스트는 데이터 기반의 의사결정을 가능하게 합니다. 통계적으로 유의미한 결과를 얻어, 개선 사항을 신뢰성 있게 판단할 수 있습니다.
3. 배우기 쉬움:
- A/B 테스트는 비교적 간단한 개념으로, 초기 단계에서 적용하기 쉽습니다.
- 실험과 통계 분석에 대한 지식을 키우는 데 도움이 됩니다.
4. 비즈니스 목표 달성:
- 비즈니스 목표를 달성하기 위한 최적의 전략을 찾아내는 데 도움이 됩니다.
- 기능이나 디자인 변경이 실제로 비즈니스 성과에 어떤 영향을 미치는지 확인할 수 있습니다.
5. 위험부담 감소
- 잘못돼도 절반의 위험 - 단점:
1. 시간과 비용 소모:
- A/B 테스트를 실시하기 위해서는 시간과 자원이 소모됩니다. 두 가지 이상의 버전을 개발하고, 테스트를 실행하며, 결과를 분석하는 데에 시간과 비용이 듭니다. (airbnb의 경우 70% 데이터 사용)
2. 리소스 낭비:
- 실패한 변형에 할당된 리소스는 낭비될 수 있습니다. 실험 결과가 예상치 못하게 나오면 투자한 노력과 비용이 낭비될 수 있습니다.
3. 테스트 설계의 어려움:
- 적절한 실험 설계를 수립하는 것이 어려울 수 있습니다. 변수의 올바른 설정, 샘플 크기 결정 등이 중요하며, 실수할 경우 결과의 신뢰도가 감소할 수 있습니다.
4. 유의미한 결과 부족:
- 가끔은 테스트 결과가 유의미한 차이를 보이지 않을 수 있습니다. 이는 사용자 행동의 복잡성이나 다양성 때문일 수 있습니다.
AB테스트 사용하면 안되는 경우
- 가설에 근거가 없거나 구체적이지 않은 아이디어
- 버그 수정을 위한 AB 테스트(둘중에 더 좋은걸 판단하는게 AB테스트, 버그는 그냥 빨리 고쳐!)
- 비교 대상이 하나가 아닌경우
- 트래픽이 별로없는 서비스의 경우, 어짜피 분석해봤자 유의미한 결과가 나오기 힘들다.
- 어떤 결정(가격)은 데이터로만 판단할수 없음 : 거시적 경제상황, 경쟁사의 가격정책도 고려
- 분석에 필요한 데이터 품질이 낮은경우
- 특정팀이나 개인의 의견만이 반영되는 환경
- 리뷰 리딩하는 사람이 주니어라 No라는 말을 잘 못하는 경우 -> 시니어급으로 할것
AB테스트 실제 예
- 가격 인상 전에도 AB테스트를 해봄. 인상군 비인상군 비교-> 큰차이가 안남 -> 큰차이가 안나서 가격을 일괄올림 -> 판매량 급감
AB 테스트는 agile 해야함
- 주요한 Agile 원칙은 "개발자와 비즈니스 담당자 간의 긴밀한 협력",
- "작동하는 소프트웨어를 우선으로",
- "변화에 대응하는 유연한 계획",
- "자주 배포"
AB테스트 과정
- 실행전 AB테스트 제안
- 성공기준 정함
- 실행중 AB테스트 결과 리뷰
AB테스트 실제과정
- 0~1% smoke test : B가 버그가 있는지 확인하는 정도
- 5~10% initial ramp : 가설 확인
- 25~50% intermediate ramp : 가설과 별도로 매출의 영향을 봄
- 100% Final ramp-up : 최종 판단 후 결정
AB 테스트 분석을 위해 필요한 정보
- 사용자별 AB 버킷 정보(사용자중 누가 A들어갔고, B에 들어갔는지)
- 사용자별 행동 정보(본거,클릭, 구매)
-> 1,2 join 해서 그룹간 통계 정보 계산
AB테스트 시스템 구성
- 작은 회사는 SaaS 를 사용
- 런타임 시스템(버킷 결정로직 중요) + 분석시스템 2개로 나뉜다.
- 전체과정
AA테스트
- AA 테스트는 기본적으로 A/B 테스트에서 A와 A로 구성된 실험입니다. 즉, 두 그룹이 동일한 조건에서 같은 변종을 보는 실험입니다. 이는 주로 실험 환경의 안정성을 확인하거나 테스트 시스템의 정확성을 검증하기 위해 사용됩니다.
userid vs deviceid
- userid : 등록사용자
- deviceid : 로그인 상관없이 서비스 방문자에게 부여되는 id, 브라우저 쿠키로 만들어짐
- 나누는 방법들
outlier가 A/B 테스트에 미치는 영향
- 큰손들의 구매
- 특정 이슈로 인한 과 트래픽 발생
'데이터 기초' 카테고리의 다른 글
ETL 기초 실습 (0) | 2023.12.31 |
---|---|
테스트 코드 구조 소개 (1) | 2023.12.25 |
워드클라우드 이용 데이터 시각화 (0) | 2023.10.27 |
셀레니엄 이용한 자동화 웹 스크래핑 (0) | 2023.10.26 |