A/B test?
온라인 종합 대조 실험 이라고도 불리는 이 실험은 유수 소프트웨어 기업들에서 많이 사용하는 실험 방식으로 기능 또는 서비스의 작은 변화를 지속적으로 온라인에서 테스트하면서 조금씩 기능 또는 서비스를 개선하는 프로세스를 말한다.
즉, 고객의 반응을 살피기 위한 전통적인 설문조사나 시장조사를 탈피해 실제 상황에서의 고객 반응과 취향을 가장 잘 반영할 수 있는 방법이라고 보면 된다.
또한, 기존 변수들간의 연관분석(상관분석, 장바구니 분석 등)을 넘어서 원인과 결과를 밝힐 수 있는 인과성을 발견할 수 있는 효과적인 방법이기도 하다.
A/B 테스트 : 신뢰할 수 있는 온라인 종합 대조 실험
규칙
•
기본적인 A/B 테스트에서는 사용자들을 실험군과 대조군으로 무작위 분할한다.
◦
한 번 지정된 분할은 바뀌지 않는다.
•
전체 평가 기준(Overall Evaluation Criterion)를 적절하게 선정한다.
◦
단기적으로, 실제적으로 측정 가능해야 함
◦
장기적으로 전략목표를 추진하는 원인이 되어야 함
◦
ex) 검색 엔진
▪
OEC : 사용량(사용자당 세션 수) + 관련성(성공적인 세션, 성공까지의 시간 등) + 광고 수익
◦
단일 지표를 선택하는 것이 가장 좋지만, 균형이 잡힌 새로운 지표를 생성하는 것도 나쁘지 않다.
•
가드레일 지표
◦
조직이 변화시키려 하지 않는 것을 식별하기 위한 지표
•
파라미터(요인, 변수)
◦
OEC 또는 기타 관심 지표에 영향을 미치는 것으로 간주되는 통제 가능한 실험 변수
◦
값의 종류 : 수준(level)
◦
기본적인 A/B 테스트에는 수준이 2가지라고 보면 된다.
◦
but, 일반적인 온라인 테스트에서는 여러 수준을 갖는 단일변수 설계를 많이 사용한다.
◦
다변수 테스트(요인이 여러개)도 존재.
•
무작위 추출
◦
실험단위를 각 집단에 랜덤하게 할당
◦
한 집단에 배정받은 사용자가 일관된 경험을 갖도록 해야함
상관관계, 인과관계, 신뢰성
매달 사용자의 X%가 이탈하는 넷플릭스와 같은 구독 사업에서 새로운 기능을 도입하기로 결정했고 그 기능을 사용하는 고객의 이탈률이 실제로 X/2% , 즉 반으로 줄었다고 하자.
그렇다면 이 기능으로 인해 이탈률이 줄었다! 라고 주장하고 싶을 수 있지만, 이는 잘못된 논리다.
상관관계가 있다고 할 수 있지만 그렇다고 해서 인과관계를 말하는 것은 아니기 때문
오히려 새로 도입한 기능이 이탈을 증가시킬 가능성도 있다.
이 사례처럼, 서비스와 상품을 개선시키고 고객을 만족시키고자 하는 기업의 입장에서는 상관관계보다도 강력한 인과관계를 찾아내는 것이 매우 중요한 일이다.
이를 확인할 수 있는 실험이 바로 A/B 테스트다.
A/B 테스트를 시작하기 위한 기반
•
데이터 중심 결정을 내리는 문화 + OEC 공식화
•
A/B 테스트를 위한 인프라와 실험에 투자해야함
•
온라인 소프트웨어 환경
•
조직은 아이디어의 가치를 평가하는 데 서툴다는 것을 인지
◦
대부분의 새로운 아이디어와 기능의 도입은 핵심 지표를 개선하는 데 실패함
•
시간에 따라 개선됨을 인지
◦
주요 지표의 개선은 0.1% ~ 2% 의 수많은 작은 변화로 달성됨
◦
예를 들어, 실험단위(전체 중 10%)에서 5%의 개선을 만들었다면 전체 사용자들에 대해서는 실험 단위와 유사하다는 가정 하에 0.5%를 개선하게 됨.
OEC
•
OEC는 비교적 짧은 기간(1 ~ 2주)안에 쉽게 측정될 수 있어야 함
•
단기간에 측정할 수 있고, 차이를 보일정도로 민감하며, 장기 목표를 예측할 수 있어야 함
◦
ex) 고객 생애 가치
통계적 유의성
•
서로 독립적인 실험 단위
◦
각 집단에 배정받는 실험단위들은 서로 독립적이며 영향을 끼치면 안됨
이를 방해하는 여러 요소들
•
충분한 실험 단위
◦
통제된 이 실험이 유용하려면 최소 수천 개의 실험 단위를 권장한다. 실험 단위가 많을수록 더 작은 효과도 탐지할 수 있다.
◦
비즈니스가 커질수록 오히려 작은 변화를 탐지하는 것이 매우 중요해짐
•
p - value 빈도주의 통계
◦
수치는 0에 가까울수록 통계적으로 유의미하다(일반적인 유의수준 : 0.05)
◦
통계적으로 유의미한 결과가 반드시 비즈니스적으로 유의미한 것은 아님
◦
but, 실질적인 경계를 만들어냄으로써 변경 비용을 지불할 가치가 있는지 여부를 이해할 수 있음
ex) 수십억 달러를 창출하는 대기업일수록 작은 변화가 중요해지나 스타트업의 경우, 더 큰 변활을 추구하는 것이 일반적
•
베이지안 통계 (대조군보다 우수할 확률)
힙한 데이터의 비밀 챌린지
A/B 테스트의 시작점은?
‘변경사항’의 직접적인 영향을 받는 부분이 시작점이라고 한다.
ex) ‘쿠팡 이츠’ 의 검색어 UX/UI 를 변경했을 때, 시작점과 봐야할 지표는 ?
•
시작점
메인 화면(홈 화면)
•
가장 중요한 지표(비즈니스 성과 지표인)
◦
구매전환율
◦
유저당 평균 구매액
◦
GMV
•
중요한 지표(검색의 영향을 강조)
◦
음식점 페이지 진입률
•
그외 확인할 지표
◦
검색 전환율
▪
검색을 많이 유도하는 변화인가
◦
검색 대비 구매전환율
▪
검색이 주문을 유도하기 위한 효과적인 경로인지
→ 검색을 통해 들어온 유저들이 얼마나 구매를 하게되는지 보는 것!
◦
검색 대비 음식점 페이지 진입률
▪
검색을 한 유저들이 얼마나 음식 페이지에 진입하게 되는지 확인
음식 페이지로 진입할 수 있는 다양한 경로에서
검색 기능의 개선을 통해 정말 구매 전환율이 높아지는지, 다른 영역을 덜 사용하게 되는지 확인할 수가 있다
만약 지표들의 결과가 아래와 같이 나왔을 때, 드는 고민은 다음과 같습니다.
중요 지표 중, 매출은 10% 증가, 구매 전환율은 1% 감소했다고 한다면 A/B 테스트는 실패했다고 봐야하나?
라는 질문에는 결과적으로 매출이 증가한 %가 더 높기 때문에 성공했다고 결론내기 쉽다고 한다.
하지만
왜 구매전환율은 1% 감소했을까? 를 추가적으로 deep dive 할 필요가 있다고 한다
‘구매전환율이 1% 떨어진 이유’ 에도 가설을 설정할 수 있는데
•
소수 유저가 사용하던 기능이 잘 보여지지 않게 되었다
•
기존 고객은 좋아하지만, 신규 고객은 좋아하지 않는다
•
heavy user 는 좋아하지만, light user 에게는 좋지 않은 경험이다
세부적인 사용자 경로 추적을 통해, 지표값이 안좋아진 구간을 찾아나간다
•
좋아진 것
◦
검색 시도 비율, 음식점 페이지 진입률
•
안좋아진 것
◦
메뉴 페이지 진입률, 주문 완료 비율
→ 여기서 다시 세부적으로, 왜 메뉴페이지를 본/주문 완료를 한 사용자의 비율이 낮아졌을까? 를 분석한다.
가드레일 지표?
A/B 테스트를 진행하는 것과 상관없이 서비스에서 꼭 모니터링 해야되는 지표다.
→ 전체적인 동향이나 상황을 파악하기 위해 보는 지표라고 생각하면 된다.
•
프로덕트/비즈니스 관점의 목표(구매전환율, GMV(서비스의 거래액)) + 프로덕트 사용성(페이지 로딩속도, 고객문의 건수 등)을 나타내는 항목
다변량 실험
검색 기능과 카테고리 기능을 두가지 대안을 만들어 놓고, 그 영향력을 파악하고자 할 때, 진행할 수 있다.
해당 세미나를 들으며, 들었던 개인적인 고민들
•
사용자 그룹 A/B 를 나눌 때, 어떤 기준으로, 어떤 방법을 사용하여 구분할까
실험 설계
사전 고려 사항
1.
실험 크기
a.
작은 변화를 탐지하고 싶다면 많은 사용자들을, 큰 변화를 탐지하고 싶다면 상대적으로 적은 사용자들이 필요
b.
유의수준을 보다 엄격하게 0.01과 같이 낮게 설정한다면, 표본의 크기를 늘려야 함
c.
대규모 변경의 경우, 더 적은 비율의 사용자로 시작하는 것이 좋음
2.
다른 실험과의 트래픽 공유 여부
a.
트래픽 요구사항의 균형을 어떻게 맞출것인지 결정
3.
더 많은 사용자
a.
온라인 실험에서는 시간이 흐를수록, 실험이 오래 진행될수록 더 많은 사용자들이 실험을 참여하게 됨 → 통계적 검정력이 증가, 사용자 누적률은 저선형
4.
주간 효과
a.
주말과 평일에 사용자의 분포가 달라질 수 있음 → 주간 사이클 중요→ 최소 1주일 동안 실험할 것
5.
계절성
a.
공휴일처럼 고려해야할 시기가 있을 수 있음. 글로벌 서비스라면 외국 공휴일이 영향을 미칠 수도 있음.
6.
초두 효과 및 신기성 효과
a.
실험 초기의 효과가 안정화되는 시간이 있음. 초반에 관심이 있어 지표가 상승하다가 나중에 감소되는 현상 또는 사용자가 익숙해지도록 시간이 걸리는 기능 등.
실험 설계
•
무작위 추출 단위는 사용자
•
모든 사용자를 대상으로 체크아웃 페이지를 방문하는 사용자를 분석
•
사용자당 수익의 1% 이상의 변화를 감지할 수 있는 80%의 통계적 검정력을 갖기 위해 검정력 분석을 실시해 실험 크기를 결정
•
대조군/실험군 1/ 실험군 2 간에 34/33/33 % 로 분할된 상태로 최소 4일 동안 실험을 실행할 것 + 요일 효과를 상쇄하기 위해 일주일 내내 실험을 실행할 것
•
검정력을 높게 설정하는 것은 오히려 권장됨
실험 실행과 데이터 수집
•
사용자가 사이트와 상호작용하는 방식과 이런 상호작용이 어떤 실험에 속하는지에 대한 로그 데이터가 필요하고, 이 데이터를 얻기 위한 계측이 있어야 함
•
실험 구성부터 변형 할당에 이르기까지의 실험을 진행하기 위한 인프라 필요
결과 해석
실험 결과가 제대로 실행되었는지 검증하기 위한 적절성 검사 진행
실험 결과를 위와 같이 정리
•
가드레일 지표 / 불변성 지표들을 검토
◦
대조군과 실험군 사이에서 변경되면 안됨 → 변경되었다면 다른 요인의 영향이 있었다는 의미
불변성 지표
•
가드레일 지표를 기반으로 적절성 검사를 수행한 뒤 결과를 검토할 것
•
위 사진의 결과를 해석하자면, 두 실험 모두 p값이 0.05보다 작기 때문에 실험군과 대조군의 평균이 같다는 귀무가설 기각을 결정한다. 즉, 변경사항으로 인해 오히려 수익이 감소한다는 것을 증명한 것이다.
결과에서 의사결정으로
실험 결과를 토대로 비즈니스 의사 결정을 내리는 데 도움을 주는 것이 A/B 테스트의 최종 목표다.
다음과 같은 비즈니스 맥락을 고려하는 것이 일반적이다.
•
여러 지표 간의 트레이드오프를 고려해야 하는가?
◦
예를 들어, 사용자 참여가 증가하지만 전체 수익이 감소한다면 새기능을 도입할 것인지?
◦
또는 CPU 사용량 증가로 인해 새기능 실행 비용이 변화의 이점보다 크다해도 도입할 것인지?
•
서비스를 출시하는 데 드는 비용은 얼마인지? → 서비스 도입 이후 예상되는 이득이 커버할 수 있을것인지 확인해야 할 것
◦
출시 전 기능을 완전하게 구축하는 데 드는 비용
◦
신규 코드를 유지 보수하는 것에 비용이 많이 들 수 있으므로, 출시 후 지속적인 엔지니어링 유지 보수에 대한 비용
:
통계 결과의 잘못된 해석
종합 대조 실험의 결과를 통계적으로 해석할 때 일반적인 오류에 대해서 설명한다.
통계적 검정력 부족
단순히 유의확률이 유의수준보다 작지 않다고 해서 유의하지 않다고 해석하면 안된다.
실험이 효과 크기를 탐지하기에 검정력이 부족한 것일 수도 있다. → 즉, 테스트에 사용자가 충분하지 않은 것을 의미한다.
p값 미리보기
A/B 테스트를 진행할 때 p값을 지속적으로 모니터링할 수 있다. → 다중 가설 검정
•
p값이 항상 유효한지 순차적으로 테스트하거나 베이지안 테스트 프레임워크를 사용하는 방법
베이지안 통계 핵심 → 베이즈 정리
•
아무 정보가 없는 상태에서 확률을 균등하게 생각하는 것을 이유 불충분의 원리(from 수학자 라플라스) 라고 부름
•
사전조사나 이미 알고 있는 정보들을 활용해 가능한 상황들의 조건부 확률을 계산함
•
내가 관심있는 상황에 대한 확률값을 집계함 → ‘사후 확률’
•
아무런 정보가 없을 때 확률을 균등하게 집계하는 것 → ‘사전 확률’
•
베이즈 정리는 데이터가 많아질수록 올바른 의사결정을 내릴 확률이 높아진다(사전 확률을 보다 정확하게 예측)는 점에서 전통적인 통계방식보다 현대에서 인공지능 발달과 함께 위력을 발휘하고 있음

•
통계적 유의도 결정에 일주일과 같이 미리 정해진 실험기간을 사용하는 방법
다중 가설 검정
다중 테스트(p값 지속적으로 모니터링하는 방법)에서 가장 낮은 p값을 선택하면 p값과 효과 크기에 대한 추정치가 편향되기 쉽다.
내적 타당성에 대한 위협
실험 단위의 독립성
실험 단위가 서로 간섭하지 않아야하며, 영향을 주면 안된다는 것이 기본 조건이었다.
아래와 같은 상황에서는 해당 조건이 지켜지지 않는다.
•
사용자의 네트워크로 유출될 수 있는 소셜 네트워크
•
공동 저작 지원을 포함한 문서 작성 도구
•
양면 시장을 갖고 있는 플랫폼
•
공유 자원(CPU, 스토리지 및 캐시)
◦
실험이 메모리를 누출하고 가비지 수집 및 디스크 리소스 스와핑으로 인해 프로세스가 느려지면 모든 변형군이 어려움을 겪게됨..
생존 편향
일정 기간(ex. 2개월) 활동한 사용자를 분석하면 생존 편향이 발생한다.
샘플 비율 불일치(SRM)
SRM은 지나치게 활발해 매우 우수한 사용자 또는 클릭 횟수가 거의 없는 매우 나쁜 사용자들을 포착하지 못해서 발생하는 경우가 많다고 한다.
•
브라우저 리디렉션
실험군을 다른 페이지로 리디렉션하는 것인데, 이는 잘못되었고 샘플 비율 불일치를 야기한다.
◦
성능 차이
◦
리디렉션은 비대칭
▪
사용자가 즐겨찾기로 해당 페이지를 지정하거나 친구에게 링크를 전달할 수 있음
→ 대안 ←
▪
리디렉션을 피하고 서버 측 메커니즘을 선호하거나
▪
그럴 수 없는 경우, 대조군과 실험군 모두 동일하게 리디렉션 할 것
•
잔여 또는 이월효과
◦
새로운 실험은 보통 새로운 코드를 포함하기 때문에 버그 발생율이 더 높은 경향이 있다.
→ 대안 ←
A/A 테스트를 사전에 실시하고 선제적으로 다시 무작위 추출
•
실험의 영향을 받는 트리거링
◦
실험을 트리거하는 속성이 시간의 흐름에 따라 변한다면, 그 속성이 실험 자체에 의해 영향을 받지 않도록 해야 한다.
•
봇이 생성한 통계적 노이즈
◦
봇 트래픽은 페이지 조회 수, 이탈률, 세션 지속 시간, 사용자의 지리적 위치, 전환율 등의 분석 지표에 영향을 줄 수 있다. → 사이트의 성능을 측정하는 것이 매우 어려워지고, A/B 테스트 및 전환율 최적화 등 사이트를 개선하려는 노력도 봇이 생성한 통계적 노이즈에 의해 저해됨.
외적 타당성에 대한 위협
외적 타당성은 A/B 테스트의 결과가 서로 다른 모집단(다른 국가나 다른 웹사이트)에 일반화될 수 있는 정도를 말한다.
이 타당성에 대해서는 실험을 다시 실행함으로써 해결할 수 있다.
하지만, 상이한 길이의 기간으로 일반화하는 것(장기적 효과)은 더 어려운데, 이 시간 기반의 외적 타당성에 대한 두 가지 위협은 초두 효과와 신기 효과다.
초두 효과
변경사항이 처음 도입되면, 사용자들은 이 변경사항에 익숙해지기까지 시간이 필요할 수 있다.
신기 효과
새로움의 효과가 지속되는 않는 것을 말하는데, 처음에는 눈길을 끌어서 사용량이 증가하다가 유용하다고 느끼지 못하면서 반복 사용량이 감소하는 상황이다. 즉, 시간이 지남에 따라 실험 효과가 빠르게 감소한다.
초두 및 신기 효과 탐지
이 효과를 확인하기 위한 중요한 방법은 단순하게 시간이 지남에 따라 사용량을 표시하고 증가하는지 감소하는지 여부를 확인하는 것이다.
세그먼트 차이
실험 시스템의 후기 성숙 단계에서 다룰 수 있는 예를 제시하는 고급 테스트 중 하나다.
좋은 세그먼트란?
•
시장 또는 국가
◦
어떤 기능은 특정 국가에서 더 잘 작동한다. 즉, 현지화가 제대로 되지 못한 결과일 수 있다.
•
기기 또는 플랫폼
◦
사용자 인터페이스가 브라우저, 데스크톱, 또는 휴대전화 인지에 따라 달라질 수 있으며, iOS와 안드로이드 중 어떤 모바일 플랫폼을 사용하는지에 따라서도 달라질 수 있다. 확장 프로그램으로 기능을 방해할 가능성도 열어두어야 한다.
•
하루의 시간과 요일
◦
시간에 따른 효과를 시각화하면 패턴을 파악할 수 있다. 주말 이용자는 일반적으로 다른 경향을 가질 수 있다.
•
사용자 유형
◦
새 사용자(어떤 날짜 이후, 예를 들어 실험 시작 또는 아마도 한 달 전에 가입된 사용자) 또는 기존 사용자.
•
사용자 계정 기능
◦
넷플릭스 싱글 계정 또는 공유 계정 또는 에어비앤비의 싱글 또는 가족 여행자 등
세그먼트 관점은 두 가지 방식으로 사용된다.
•
지표에 대한 세그먼트 관점
•
실험 맥락에서 지표의 실험 효과에 대한 세그먼트 관점.
세그먼트 관점에서 본 지표
ex) 빙 모바일 광고의 클릭률(지표)은 모바일 운영체제(세그먼트) 에 따라 나눴을 때 다음과 같다.
매우 다른 것을 확인할 수 있다
위 결과로 처음에는 각 운영체제 사용자의 충성도와 사용자 모집단 간의 차이라고 짐작했지만, 조사 결과 운영체제에 사용되는 서로 다른 클릭 추적 방법론 때문이라는 것이 밝혀졌다.
클릭을 추적하는 방법에는 여러 가지가 있는데 각 방법의 정밀도에 따라서 서로 상이한 추적 손실률을 보인 것이다.
일반적으로 iOS와 Windows Phone에서는 클릭을 추적하기 위해 리디렉션을 사용한다. 즉, 클릭이 항상 서버로 가고, 로그가 남으며 다음 목적지로 리디렉션된다. 이 방법은 높은 정확도를 갖고 있는 반면, 사용자 경험은 느리다.
안드로이드는 웹 비콘을 사용해 추적 클릭이 수행돼 클릭이 표시되는데, 그 다음 브라우저를 목적지 페이지로 리디렉션한다. 이 방법은 사용자에게 더 빠르지만 추적 손실률이 높다. 왜냐하면 일부 웹 비콘은 서버에 기록되지 않을 수 있기 때문이다.
그렇다면, 왜 하필 Window Phone의 클릭률이 가장 높았을까? 이에 대한 조사로는 리디렉션 시 사용자가 화면을 미는 것이 클릭으로 잘못 기록되는 버그가 있었던 것으로 밝혀졌다.
세그먼트 관점에서 본 실험 효과(이질적 실험 효과)
예를 들어 한 실험에서 사용자 인터페이스가 변경됐고, 이것은 브라우저 세그먼트 사이에 매우 큰 차이를 낳았다고 하자. 거의 모든 브라우저 세그먼트의 경우 실험 효과는 주요 지표에 대해 약간 긍적적인 개선이었지만, 인터넷 익스플로러 7 세그먼트의 경우 주요 지표에 대해 매우 부정적인 실험 효과가 있었다고 하자. 이런 경우, 긍정적이든 부정적이든 강한 효과가 있는 경우에는 그 원인을 파헤쳐야 한다. 조사 결과, 사용된 자바스크립트가 인터넷 익스플로러 7과 호환되지 않아 사용자가 특정 시나리오에서 링크를 클릭할 수 없도록 하는 오류가 발생한 것으로 드러났다.
위와 같은 발견은 각 세그먼트별 상세 분석을 할 수 있을 때, 즉 통계학에서 조건부 평균 실험 효과(CATEs)라고도 불리는 여러 세그먼트에 대한 실험 효과를 살펴볼 떄에만 가능하다.