월간 세미나
home
패키지
home
🏁

A/B 테스트란

Editor 선미's comment
이 글의 출처는 박스앤위스커 블로그 A/B 테스팅이란 입니다. A/B 테스트란 무엇인지, 왜 하는지, 어떤 단점이 있는지 개괄해서 읽기 좋은 글이에요. A/B 테스트 입문자에게 이 글을 추천합니다.
A/B 테스팅이란 웹 사이트 방문자를 임의로 두 집단으로 나누고, 한 집단에게는 기존 사이트를 보여주고 다른 집단에게는 새로운 사이트를 보여준 다음, 두 집단 중 어떤 집단이 더 높은 성과를 보이는지 측정하여, 새 사이트가 기존 사이트에 비해 좋은지를 정량적으로 평가하는 방식을 말한다. 여기에서 성과란 새 사이트가 목표로 했던 바에 따라 다른데, 보통은 회원 가입율, 재방문율, 구매전환율 등의 지표를 본다.
과학 혹은 의학에서 무작위비교연구(RCT; Randomized-controlled trial)라 불리는 방법을 인터넷 마케팅에 적용한 것이라고 생각하면 된다. 주로 웹사이트의 마케팅과 관련하여 많이 쓰이지만 디자인, 인터페이스, 상품 배치 등을 개선하기 위해서 사용하기도 하며, 웹사이트가 아닌 모바일 앱, 게임 등의 분야에서도 활용된다.

왜 하나

A/B 테스팅을 하는 이유는 상관관계로부터 인과관계 - 정확히 말하면 인과관계일 가능성이 높은 것 - 를 찾아내기 위함이다. 그래야만 우리가 “원인”에 해당하는 요소에 개입을 하여 “결과”에 해당하는 요소가 우리가 원하는 방향으로 변화되도록 할 수 있다. 혹은 이미 “결과”에 변화가 생겼을 때 이 변화의 “원인”이 우리가 했던 그 개입 때문이 맞는지 아닌지 판단할 수 있다.
물놀이 사고를 줄이는 것이 우리의 목표라고 가정하자. 이런저런 조사를 해보니 아이스크림 판매량과 물놀이 사고의 빈도 사이에 높은 양의 상관이 있다는 사실을 찾아냈다. 아이스크림 판매량이 높아지면 물놀이 사고 빈도도 높아지고, 아이스크림 판매량이 낮아지면 물놀이 사고 빈도도 낮아지는 식이다.
이 상관관계를 아래와 같은 인과관계로 해석하면 물놀이 사고를 줄이기 위해 우리가 해야할 일은 명확하다. 아이스크림 가격을 올리는 등 다양한 방법을 써서 아이스크림의 판매량을 줄이는 것이다.
“아이스크림 판매량” → “물놀이 사고 빈도”
하지만 모든 상관관계가 인과관계인 것은 아니다. “Correlation does not imply causation”이라는 유명한 문구가 바로 위와 같은 상황을 이르는 말이다.
이미지 출처: http://xkcd.com/552/
아이스크림 판매량 증가는 물놀이 사고 빈도 증가의 원인이 아니다. 아마도 숨어있는 원인이 있을 것이다:
“날씨” → {”아이스크림 판매량”, “물놀이 사고 빈도”}
아이스크림 판매량이 물놀이 사고의 원인이거나 물놀이 사고가 아이스크림 판매량의 원인인 것이 아니라, 날씨라고하는 또다른 요인이 아이스크림 판매량과 물놀이 사고에 공통으로 영향을 주는 원인인 것이다.
이 예시는 누구나 이해할 수 있을만큼 명백하지만, 우리가 현실에서 겪게 될 대부분의 문제는 이보다 복잡하다.
좀 더 현실적인 예를 떠올려보자. 어떤 쇼핑몰 웹 사이트가 있다. 3개월에 걸쳐 디자인 개편 프로젝트를 진행하였고 지난주에 성공적으로 새 디자인을 적용하였다. 그랬더니 갑자기 그 전에 비해 일 매출이 10% 증가했다.
매출 증가가 디자인 덕분이라고 할 수 있을까?
“디자인 개편” → “매출 증가”
직전의 아이스크림 예시에서 살펴본 바와 같이 두 사건이 함께 일어난다고 해서 하나의 사건이 다른 사건의 원인이라고 가정하는 것은 위험하다. 예를 들면 새 디자인이 적용된 바로 그 날, 하필이면 경쟁 쇼핑몰이 문을 닫았을 수도 있다. 이 경우 매출 증가의 원인은 외부 요인에 있다. 또는 새 디자인이 적용된 바로 그 날, 경쟁력 있는 상품이 입고되었을 수도 있다. 이 경우 매출 증가의 원인은 내부에 있으나 그 성과는 디자인팀이 아니라 영업팀 덕으로 돌려야 한다. 심지어는 갑자기 경기가 좋아졌기 때문일 수도 있다. 다른 쇼핑몰들을 일 매출이 15% 씩 향상되었는데 만약 우리 쇼핑몰만 10% 향상된 것이라면 새 디자인이 매출에 악영향을 준 것일지도 모른다.
A/B 테스팅을 하면 방문자를 “임의로” A, B 두 집단으로 나누고 A 집단의 방문자에게는 기존 디자인을 보여주고, B 집단의 방문자에게만 새 디자인을 보여준다.
새 디자인을 적용하기 전의 매출과 새 디자인을 적용한 후의 매출을 비교하는 대신, A 집단과 B 집단의 매출을 비교하면 시간의 흐름에 따라 발생하는 다른 요인들(경쟁 쇼핑몰 부도, 신상품 입고, 경기 변동 등)을 통제할 수 있기 때문에 순수하게 디자인 변화로 인한 매출 차이만을 가려낼 수 있다. A 집단에 비해 B 집단에서 매출 증가가 있었다면 “디자인 개편”과 “매출 증가” 사이에는 인과관계가 성립할 가능성이 대단히 크다고 말할 수 있다.

주의할 점들

A/B 테스팅을 통해 인과관계를 찾아내려면 두 집단을 임의적으로 나누어야 한다. 이를 임의적 할당(random assignment)이라고 한다. 예를 들어
남성은 A 집단, 여성은 B 집단
짝수 시간대 방문자는 A 집단, 홀수 시간대 방문자는 B 집단
첫 일주일 동안 방문한 사용자는 A 집단, 그 다음 일주일 동안 방문한 사용자는 B 집단
등 임의적이지 않은 방식을 사용할 경우 두 집단의 차이가 무엇 때문에 발생하는지 가려낼 수 없게 된다.
A/B 테스팅을 통해 찾아낸 결과가 범용성을 지니려면 애초에 실험에 참가한 집단이 모집단을 대표할 수 있어야한다. 이를 임의적 추출(random sampling)이라고 한다. 예를 들어 초등학교 학생들을 대상으로 한 실험의 결과를 초중고등학교 학생 모두에게 적용하거나, 페이스북 사용자를 대상으로 한 실험의 결과를 트위터에 적용하거나 하면 추출된 집단의 성격과 모집단의 성격에 차이가 있기 때문에 기대와 다른 결과가 나올 수 있다.

A/B 테스팅의 단점

글을 마치기 전에 단점에 대해 써보자. 세 가지 정도가 떠오른다.
첫째, 테스트를 많이/자주하면 단기적으로 손해가 발생할 수 있다. 예를 들어 쇼핑몰에서 구매전환율이 높은 상품 이미지가 무엇인지 알아보기 위한 테스팅을 진행한다고 치자. 2주 동안 전체 방문자를 50:50으로 나눠 기존 상품 이미지와 새로운 상품 이미지를 보여주고자 한다. 테스트를 3일 쯤 진행했더니 새로운 이미지를 본 집단에서의 매출이 기존에 비해 절반 밖에 나오지 않는다면 어떻게 해야하나? 애초에 계획했던 2주동안 테스트를 진행하려면 막심한 매출 손해를 감수해야한다.
둘째, A/B 테스팅의 결과는 계절 변화나 취향 변화 등 시간의 흐름에 따라 바뀔 수 있다. 작년 겨울에 A/B 테스팅을 하여 얻은 결론은 언제까지 유효할까? 통제실험은 시공간의 보편성에 대한 가정을 깔고 있다. 이 가정은 물리학이나 화학 수준에서는 대단히 확실히 보장되고, 생물학을 거쳐 사회과학 분야로 가면서 점점 약해지며, 비즈니스 맥락에서는 대단히 약해진다. 어제의 세상과 오늘의 세상이 다르고, 미국과 한국이 다르다. 결국 확실성을 유지하기 위해서는 실험을 지속적으로 반복해서 해야하는데 첫번째 단점(비용 문제)과 엮어서 생각해본다면 곤란한 얘기가 된다.
셋째, A/B 테스팅만 해서는 지역최적점에 머물게 될 위험이 있다. A/B 테스팅이라는 것은 기존 상태에서 작은 변화(되도록 하나의 변수만 살짝 바꾸기)를 가하며 점진적으로 더 나은 상태를 찾아가는 방식으로 진행된다. 하지만 이 방식으로는 지역최적점에 수렴할 수 있을 뿐 전역적인 최적점을 찾을 수 없다.
이 중 첫번째와 두번째 문제에 대해서는 Multi-armed Bandit 알고리즘이라고 불리는 효과적인 해결책이 있다. 세번째 단점에 대해서는 별도의 글이 필요할 것 같다.
강규영 기획자
1998년부터 다음커뮤니케이션, 애자일 컨설팅, 엔씨소프트 오픈마루 스튜디오, 넥슨 데이터분석팀 등 IT/게임 업계에서 프로그래머, 컨설턴트, UX 디자이너, 데이터 엔지니어로 근무하였다.

한 달에 한 번, 데이터 분석 소식을 무료로 받아보세요

요즘 분석 소식, 알고는 싶지만 이것저것 챙겨보기에는 바쁘잖아요.
데이터리안 블로그, 유튜브에 업로드 되는 요즘 데이터 분석 소식을 한 번에 받아보세요. * 원할 때 언제든 구독을 취소할 수 있어요. 부담없이 신청하세요!
#데이터분석 #뉴스레터 #매월첫번째화요일

함께 읽어보면 좋은 글

List
Search
온라인 게임에서의 A/B 테스트
A/B 테스트