A/B 테스트에 숨겨진 5가지 비용
출처: https://blog.hackle.io/post/cost-effective-abtest
😈 데이터블로그 챌린지 4일차😈 입니다.
Hackle 블로그에서 a/b테스트를 진행할 때 고려해야 할 비용에 대한 종합적인 아티클을 읽어보았습니다. 쿠팡과 토스도 이용하는 핵클의 a/b테스트 플랫폼을 제대로 이용하는 방법을 알아보았습니다.
a/b테스트를 실패하여 시간과 비용을 지출하는 기업이 많은데 '제대로' 실험한다면 성공할 확률이 높다.
핵클에서는 a/b테스트로 인해 웹서비스가 지연되거나, 여러가지 a/b테스트를 동시에 진행하여 혼란을 야기할 경우를 대비한 기능들이 준비되어 있음. 또한, p-value 뿐만 아니라 정확한 실험결과를 위한 다양한 기능을 제공함
내 생각 *
평소에 열흘 정도의 데이터를 이용하여 p-value 만 테스트 해 보았는데, 훨씬 더 다양한 검증방법과 a/b테스트 하기 좋은 환경 및 관리방법을 제공해주는 핵클의 서비스가 유용해보인다. a/b테스트가 필요한 기업들의 페인포인츠를 분석하여 다양하고 유용한 기능들을 구현해 놓았고, a/b테스트 이전에 살펴볼 체크리스트도 제공해주어서 '기회 비용' 측면에서 a/b테스트에 대해 생각해 볼 수 있는 기회가 되었다.
but, a/b테스트 단계 존재 시, 손실: '처치 그룹의 트래픽/ 전체 트래픽 * 손실비율 실험기간 '
a/b테스트 없을 때 손실: '전체 트래픽 손실비율 * 기능이 유지된 전체기간 '
| 가짜 실패 |
1) 테스트 사용자들을 상호배타적인 사용자그룹으로 분류해보면 (실험 참여 이전 구매 이력이 있는 사용자 vs 구매 이력이 없는 사용자 등으로 세분화) 특정 사용자 그룹에선 유의미한 개선 / 감소를 확인 할 수 있음
유의미한 개선이 있는 그룹에만 해당기능을 릴리즈 (p-hacking)
2) 구매전환율 개선 실험에서
a/b테스트 때문에 서비스가 느려져서 제품에 부정적인 영향을 끼칠 수 있음.
=> 핵클은 사용자를 할당할 때, 자체 SDK에서 처리하여 a/b테스트로 인항 지연 이슈를 해결
여러 팀이 여러 a/b테스트를 동시에 진행하게 될 경우, 각 테스트에 영향을 끼치고, 커뮤니케이션하기도 힘든 현상이 발생
=> 해클에서 상호배타 기능을 제공
=> 개별 사용자가 진행중인 어떤 실험에 배정되었는지 조회할 수 있는 사용자 조회기능 제공
초기 스타트업은 트래픽이 적기 때문에 유의미한 결과를 얻을때까지 오랜시간이 걸린다고 여길 수 있으나, 잘못된 생각임
=> 초기단계 서비스일수록 사용자들이 서비스에 익숙해지기 전이기 때문에 작은 변화에도 지표들이 큰 폭으로 민감하게 변화하기 때문
=> 데이터 정확도를 높이기 위해 핵클에서는 p-value 이외에도 '베이지안 확률', '이상
치 제거',' AI를 활용한 위너 그룹 추천' ,'CUPED' 제공
CUPED? Controlled Experiments by Utilizing Pre-Experiment Data로, 기존 A/B Testing의 성능을 완전히 업그레이드할 수 있는 모델**을 의미한다. 이 방법은 2013년 Microsoft에서 최초로 개발되었으며, 현재는 넷플릭스, 페이스북 등 A/B Test를 진행하는 거의 모든 회사에서 채택하고 있는 아주 유명한 모델