brunch

You can make anything
by writing

C.S.Lewis

by Digital Native Magazine Oct 29. 2020

AB Test 기본부터 심화까지 -1편

AB Test에 기반한 전략적 의사결정으로 서비스 개선하기

저번 글 아마존, 에어비앤비, 넷플릭스의 AB테스트 결과 정리에 이어서, 이번 편에서는 서비스 기획자, 전략가, 프로덕트 오너라면 반드시 알아야 할 AB Test에 대해서 기본부터 심화까지 하나의 글로 설명 해보도록 하겠습니다.


본 글의 주요 내용은 다음과 같습니다.

1. AB Test 기본편

1-1. AB Test가 뭐야? 왜 하는거지?

1-2. AB Test에서 사용자를 분리하는 방법은?

1-3. 어떻게 AB Test 결과를 신뢰할 수 있을 것인가?

1-4. AB Test를 해볼 수 있는 간단한 툴들

2. AB Test 심화편

2-1. AB Test 결과를 왜곡할 수 있는 요소들

2-2. 복합 AB Test란?

2-3. MAB(Multi-armed Bandit) Test를 통한 자동화

2-4. AB Test가 만능은 아니다.



1. AB Test 기본편


1-1. AB Test가 뭐야? 왜 하는거지?

사진출처: splitmetrics.com

아마 이 글을 읽으시는 대부분의 분들은 이미 AB Test에 대해서 익숙하실 것 같습니다. AB Test란 디지털 환경에서 전체 실사용자를 대상으로 대조군(Control Group)과 실험군(Experimental Group)으로 나누어서 어떤 특정한 UI나 알고리즘의 효과를 비교하는 방법론입니다.


이러한 AB Test는 과거 오프라인에서 신제품을 출시할 때, 일부 테스트점포 실험 또는 소비자조사를 활용하던 것을 디지털환경으로 변화함에 따라 전체 사용자 대상으로 더 높은 검증성을 가지고 수행할 수 있게 됨에 따라 발달되게 형태입니다.


사진출처: 오바마 대선캠프 카일러쉬 블로그

특히 이러한 AB Test가 널리알려지고 급격히 확산되게 된 계기에는, 2008년 미국 대선이었습니다. 오바마 전 미국 대통령 선거캠프는 2008년 초선과 2012년 재선 모두에 빅데이터 기법들을 선거에 적극 활용했다. A/B 테스팅 플랫폼 옵티마이즐리(Optimizely)의 최고 최적화 책임자이자 오바마 사이트의 웹 개발 이사였었던 카일 러쉬는 오바마 웹사이트에서 500건의 A/B 테스트를 통해 기부 전환율을 49% 올렸고 이메일 수집률을 161%나 증가시켰다. 정책이 크게 변했거나 하는 외부 변수 없이 단순히 사이트의 UI를 대상으로 한 A/B 테스트만으로도 저 정도나 증가 시켰던 것이다. (내용출처: 대선 때 빛 발한 디지털 마케팅 기법, A/B 테스팅, 백승국)




1-2. AB Test에서 사용자를 분리하는 방법은?

그런데 이러한 AB Test를 실제 수행을 할 때, 많은 분들이 단순히 트래픽 비율을 나누는 방법만을 알고 있습니다. 하지만 실제 AB Test를 수행할 때 서로 다른 대조군과 실험군을 보여주는 방법에는 (1)노출빈도분산 방식과 (2)사용자분산 방식, (3)시간대분산 방식의 3가지 방식이 존재합니다.


많은 분들이 노출빈도분산 방식과 사용자분산 방식을 구분하지 못하고 알고 있거나, 시간대분산 방식에 대해서 모르고 있는 경우가 많아서 다음과 같이 정리해보았습니다.



위의 표를 보면 알 수 있는 것처럼, 노출빈도분산 방식과 사용자분산 방식을 각각의 상황에 따라 활용해야 하는 경우가 매우 다르고, 일부 어쩔수 없는 상황적 여건 때문에 시간대분산 방식을 사용해야 하는 경우가 있습니다.


노출 분산 방식은 테스트가 진행되는 페이지가 렌더링 될 때 마다, 특정 비율(50%:50% or 90%:10%)에 따라 A안과 B안을 다르게 노출 시키는 방식이고, 특정 Heavy User가 매우 많은 Action을 보여주더라도 노출 빈도에 따라 양쪽에 모두 포함이 될 수 있기 때문에 상대적으로 통계적 유의성은 더 높은 편입니다. 하지만 동일한 사용자더라도 매번 UI/UX가 다르게 나올 수 있기 때문에 사용자들에게 혼란을 주고 오히려 결과값에 Bias를 만들 수 있기 때문에 UI/UX 테스트 보다는 알고리즘 테스트 등에 더 잘 활용될 수 있습니다.


사용자 분산 방식은 특정한 사용자 ID 값(웹에서는 쿠키로 발급한 UID)에 따라 사용자 그룹을 나누고, 각 사용자 그룹에 대해서 특정 A안과 B안을 노출시키는 방식입니다. 이 방식은 앞서 말한 노출 분산 방식 보다는 UI/UX가 사용자그룹별로 고정되어 있어서 혼돈을 덜 주는 장점이 있지만, 반면에 특정 Heavy User가 Outlier들에 의해 전체 결과값이 왜곡될 수 있기 때문에 다음 챕터에서 말씀 드릴 결과값 검증 절차를 조금 더 세심하게 파악할 필요가 있습니다.


마지막 시분할 방식은 시스템 설계 상 노출이나 사용자 분산이 아예 불가능한 시스템에서 어쩔 수 없이 AB Test를 진행해야 할 때, 초 단위(예를 들어 짝수 초는 A안 홀수 초는 B안) 또는 분이나 정 어려울 경우 시간 단위로 시간 대역을 분할하여서 테스트를 수행하는 방식입니다. 많이 활용하지는 않는 방식이지만, 과거에 일부 금융사나 통신사 등 보안이나 하드웨어 특성 때문에 이러한 방식을 사용하는 경우가 있다고 합니다.


따라서 어떠한 상황과 케이스에 따라 어떠한 사용자분리 방식을 활용할지를 AB Test 전에 반드시 고민하여야만 합니다.



1-3. 어떻게 AB Test 결과를 신뢰할 수 있을 것인가?

이렇게 AB Test를 실제 수행을 하였고 그 결과값을 받았을 때, 의사결정자는 어떻게 AB Test가 합리적이고 유의미하게 분석되었다고 판단할 수 있을까요?


가장 많이 활용되는 방식은 AA Test와 P-Value 분석 입니다.


출처: Instapage 활용 재가공

AA Test란 AB Test를 수행하기 전에 분산된 트래픽에 대해 동일한 Variation을 동시에 보여주고 차이가 있는지 없는지를 먼저 확인 후에 차이가 없다면 AB Test를 진행해서 차이가 발생하는지를 확인하는 것입니다. 일부 실험대상군에 심각한 편중이나 왜곡이 있을 경우 AA Test에서 같은 Variation임에도 불구하고 결과값 차이가 나는 경우 AB Test를 수행할 수 없고 편중이나 왜곡을 해결 후 AB Test를 진행해야 합니다. 더 자세한 AA Test에 대한 내용이 궁금하실 경우 What is A/A Testing, and Why Should Marketers Care? 를 참조해주세요.


그 다음으로 P-Value 검증은 통계 분석에서 가장 널리 활용되는 유의성 검증 방식입니다. AB Test라는 분석 자체도 모집단(전체 기간에 대한 이상적 실제값)을 샘플(AB Test가 진행되는 특정 기간)의 값을 활용하여 추정한다고 하였을 때, 샘플의 수가 너무 적을 때 P Value 값이 높아질 수 있습니다. 가령, 유의 수준이 0.05일 때

실험자가 실험의 결과로 p < 0.07 이라는 유의확률을 얻었다고 하면, 이는 ‘100번의 실험을 했을 때 93번의 실험이 연구자의 가설대로 재현이 되었고 7번의 예외적 경우가 있었음.‘ 정도로 이해하시면 될 것 같습니다. (이론상으로는 더 복잡한 의미와 설명이 필요하지만, 일단은 이 정도로 개념적으로만 설명 드리고자 합니다.) 더 자세한 내용이 궁금하실 경우 Easy Introduction to AB Testing and P-Values 를 읽어보시면 큰 도움이 되실 것입니다.


이러한 P Value 계산은 대부분의 AB Testing Tool에서 자체적으로 해주는 경우도 많고, 계산 자체가 어려운 것은 아니기 때문에 웹에서 바로 계산을 해주는 Calculator들도 많이 있다. 만약 AB Test를 수행했는데, 그 결과의 P Value가 높다면 AB Test 기간을 늘리는 것이 가장 일반적인 해결책입니다. 이 외에도 ABC Test나 다른 방식들도 있지만 필자는 개인적으로 큰 의미가 없다고 생각합니다.



1-4. AB Test를 해볼 수 있는 간단한 툴들

그렇다면 이러한 AB Test를 실제로 어떻게 수행해볼 수 있을까요?


좌측이 Google Optimize Logo, 우측이 Optimizely Logo


가장 일반적으로 활용되는 툴들은 Optimizely와 Google Optimize360이 있습니다. 물론 제가 근무하는 데이블이나, 그 외에 많은 기술기업들은 자체적으로 AB Testing Platform을 보유하고 있기도 합니다. 두가지 Tool 모두 스크립트 방식으로 특정 스크립트를 AB Test를 원하는 영역에 넣으면 선택한 실험 타입에 따라 AB Test가 진행이 되고 그 결과값까지 대시보드로 분석되어 나오기 때문에 자체 플랫폼이 없는 서비스 등은 적극 활용하기에 좋습니다.


출처: themarketingtechnologist


각각의 플랫폼들은 장단점이 있지만, Optimizely는 이러한 AB Testing Tool의 시초 답게 더 다양한 통계적 분석값과 모바일 앱 AB Test를 지원하는 장점이 있으며, Google Optimize는 Google Analytics 및 Tag Manager와의 Integration을 장점으로 가지고 있습니다.


데이블의 자체 AB Testing Tool


하지만 이러한 AB Testing Tool들도 일부 코딩을 할 수 있어야 하는 부분도 있고, 커스텀의 한계가 있기 때문에 많은 기술기업들은 데이블과 같이 자체적인 AB Testing Tool들을 갖추는 편이다.



2. AB Test 심화편 (2편을 기다려 주세요)

2-1. AB Test 결과를 왜곡할 수 있는 요소들

2-2. 복합 AB Test란?

2-3. MAB(Multi-armed Bandit) Test를 통한 자동화

2-4. AB Test가 만능은 아니다.





브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari