매출 만드는 AB 테스트, 시작이 막막한가요? 3단계 가이드
AB 테스트 가이드라인 시리즈
1부 - 인간 VS AI 카피라이팅 대결
2부 - 매출 만드는 AB 테스트, 시작이 막막한가요? 3단계 가이드
3부 - 처음 시작하는 구글 옵티마이즈 + AB 테스트 실무 팁
한때 스타트업 업계에 유행이 돌았던 그로쓰 해킹(Growth Hacking)에 대해 조금이라도 관심이 있는 분이라면 AB 테스트라는 방법론 역시 모르는 바가 없지는 않을 겁니다. 룰렛 기능을 도입하여 특정 횟수 이상 운행한 사용자를 23% 늘린(결과적으로 전체 운행 수가 증가하게 됩니다.) 그랩(Grab)의 사례, 사용자 맞춤으로 유명한 넷플릭스(Netflix) 섬네일 알고리즘의 모태가 된 AB 테스트, 에어비앤비(Airbnb)의 랜딩 페이지 AB 테스트 등 데이터 좀 다룬다 싶은 회사는 모두 AB 테스트 성공담 하나씩을 가지고 있습니다. AB 테스트가 서비스의 성장과 회사의 매출에 도움을 주는 확실한 방법론이라는 것은 명료해 보입니다.
AB 테스트가 좋은 건 알겠는데 시작하려니 막막하지 않나요? 큰 그로쓰 해킹 팀이 있는 것도 아니고, 테스트 문화나 맞춤 툴도 없는 상태일 수도 있습니다. 그야말로 허허벌판에서 새로 시작해야 하는 겁니다. 이런 상황에서 AB 테스트로 성장과 매출을 끌어낼 수 있을까요? 그전에 제대로 된 테스트를 한번 진행할 수나 있을까요?
AB 테스트 저도 할 수 있을까요?
제 대답은 ‘누구라도 가능하다.’입니다. AB 테스트와 데이터 분석에 대한 이해와 적절한 실행 방법만 알고 있으면 큰 그로쓰 팀이 없어도, 그렇기는커녕 회사에 누구 하나 AB 테스트에 대해 알고 있는 사람이 없어도 충분히 해내고도 남습니다. 실제로 저는 AB 테스트에 대한 정보 없이 약간의 데이터 분석과 개발 지식만을 가지고 AB 테스트를 시작해서 1년 반 동안 100개에 가까운 AB 테스트를 거의 혼자 해냈습니다. 이 글을 보는 누구라도 해낼 수 있는 일입니다. 2부로 구성된 이번 가이드가 AB 테스트를 시작하려는 여러분께 도움이 되길 바랍니다.
AB 테스트는 크게 다음과 같은 3단계를 따릅니다.
- 가설 수립
- 실험 진행
- 결과 분석
AB 테스트에서는 셋 중 하나라도 빠질 수 없는 핵심 단계입니다. 이번 가이드 1부에서는 위 3단계를 훑어보며 무엇을 하는 단계인지, 주의할 점이 무엇인지 살펴보겠습니다. 다음 2부에서는 AB 테스트 툴 중 하나인 구글 옵티마이즈(Google Optimize)를 실제로 서비스에 설치하고 1부에서 설명했던 과정에 따라 진행하고 실무적인 팁을 알려드리겠습니다.😎
테스트의 시작, 가설 세우기
앞서 말한 3단계가 모두 중요하다지만 그중에서도 가설을 세우는 단계는 무엇보다도 중요합니다. 가설을 세우고 → 실험하고 → 결과를 얻고 → 결과에서 비롯된 인사이트를 바탕으로 새 가설을 세우고… 이런 연속적인 과정으로 진행되는 AB 테스트의 특성상 한 사이클을 시작하는 가설 세우기 단계에서 쭉 뻗은 고속도로를 만나느냐, 빙빙 돌아가는 산길을 만나느냐가 결정됩니다.
AB 테스트의 가설은 핵심적인 아이디어와 함께 어떠한 요소를 어떤 방식으로 바꿔서(혹은 추가하거나 제거해서) 어떤 지표를 바꿀 것인지 특정해야 합니다. 예를 들어 이름과 이메일 주소를 한 페이지에서 한꺼번에 받는 회원가입 퍼널이 있다고 해봅시다. 현재 이탈률은 60%입니다. 이탈률의 원인을 찾는 방법은 여러 가지가 있습니다. 직접 사용자를 앉혀놓고 왜 회원가입을 진행하지 못하는지 관찰하고 설문할 수도 있고, Hotjar와 같은 레코딩 툴을 이용해서 여기서 이탈하는 사용자가 어떤 행동을 하는지 관측할 수도 있습니다. 여기서 도출된 문제를 해결하면 당연히 회원가입 비율도 늘어날 것입니다. 이 부분에서 중요한 것은 리서치로 합당한 문제를 찾아내서 그것을 토대로 가설을 만드는 일도 좋지만, 리서치 비용이 크다거나 시간이 오래 걸릴 일이 되는 경우에는 과감하게 생략하고 머릿속으로 합리적인 가설을 세우는 것만으로 충분하다는 점을 염두에 두어야 합니다. AB 테스트의 목적은 전환율 개선이지 문제 파악이 아닙니다. 보통 파악한 문제를 해결하게 될 경우 전환율이 개선되기 때문에 가설 수립 전 리서치에 힘을 쏟게 되는 경우가 많습니다. 그러나 리서치에 많은 리소스가 필요하다면 깔끔하게 생략하는 것이 낫습니다. 어차피 리서치로 찾아낸 문제가 진짜인지, 해결한다면 전환율을 개선할 수 있는지 확인하려면 AB 테스트를 거칠 수 밖에 없습니다. AB 테스트의 우선순위를 항상 높게 잡아두고 될 수 있는 한 많이, 자주 반복하는 게 중요합니다. 이에 대해서는 결과 분석 단계에서 설명하겠습니다.
위 예시에서는 ‘한꺼번에 많은 정보를 요구하기 때문에 이탈률이 높다.’라고 문제를 생각해보겠습니다. 좀 더 글자 수가 적어 입력하기 쉬운 이름 정보를 먼저 받고, 다음 화면에서 이메일 주소를 받는 퍼널을 구상합니다. 가설은 ‘이름과 이메일 주소를 한 페이지에서 입력받는 현재의 퍼널 A를 / 이름을 먼저 입력받고 다음 페이지에서 이메일 주소를 입력받는 퍼널 B로 바꾸면 / 회원 가입률이 / 높아질 것이다.’가 됩니다. 가설 수립 단계에서 어떻게 데이터를 수집할지 미리 생각해두어야 합니다. 지금과 같은 가설이라면 회원 가입률을 어떻게 추적할지 알아둬야 합니다. 이번 목차에서는 가설 수립에 대한 내용만 다루고 데이터 수집 등 보다 자세한 내용은 후에 결과 분석 단계에서 설명하겠습니다.
가설 수립 단계에서 AB 테스트에 대한 리포트 역시 준비하게 되는데 이런 형태의 노션(Notion) 템플릿으로 미리 만들어놓고는 합니다. (복제해서 활용하세요!) 템플릿에 맞춰서 AB 테스트를 준비하면 불완전했던 가설과 계획의 구조를 다듬을 수 있습니다.
실험 진행👨🔬
가설이 수립되면 실험 진행을 준비합니다. 실험 진행 단계 역시 3가지 요소로 나눠볼 수 있습니다.
- 분기
- 구현
- 지표 추적
분기는 수립된 가설에 따라 각각 원본 A와 대안 B를 보여줄 트래픽을 분리하는 작업입니다. AB 테스트 기능을 직접 개발하는 경우라면 DB의 PK 값처럼 고유한 식별자가 그 기준이 될 겁니다. PK가 홀수인 사용자는 원본 A를 보여주고, 짝수라면 대안 B를 보여주는 식입니다. 구글 옵티마이즈, 허브스팟(Hubspot), VWO, 옵티마이즐리(Optimizely), 언바운스(Unbounce) 등 많은 AB 테스트 툴에서 기본적으로 제공하는 기능이니 기술적인 부분에서는 별로 고민할 것이 없습니다.
AB 테스트를 하려고 트래픽을 분기할 때 고려해야 하는 가장 중요한 사항은 나누는 트래픽이 해당 실험에 대해 얼마나 순수한지입니다. 가령 위에서 예시로 든 회원가입 퍼널 실험을 진행하는데 회원가입 폼이 나오기 전에 랜딩 페이지가 있다고 해봅시다. 랜딩 페이지에서 회원가입 퍼널 단계로 진입하는 비율과 회원 가입률 역시 개선하기 위해 AB 테스트를 진행하고 있습니다. 이럴 때 회원가입 퍼널 실험까지 동시에 진행하게 되면 결과적인 지표인 회원 가입률의 데이터가 뒤섞여 어떤 실험의 대안 때문에 회원 가입률이 변했는지 알 수 없어집니다. 이미 진행하고 있는 랜딩 페이지에서의 실험이 끝난 후에 회원가입 퍼널 실험을 진행하는 것이 맞습니다.
물론 위의 상황에서도 다양한 변주가 가능합니다. 랜딩 페이지에서부터 트래픽을 나눠서 랜딩 페이지 실험용과 회원가입 퍼널 실험용으로 처음부터 분리하던지, 랜딩 페이지 실험의 원본 트래픽과 대안 트래픽에 각각 회원가입 퍼널 실험 분기를 적용해서 4가지 서로 다른 조합이 나오는 MVT(다변수 실험; Multivariate Test)을 진행할 수도 있습니다. 실험에 적용된 각 안의 데이터가 섞여서 오염되는 일만 없도록, 상황에 맞는 방식을 선택하면 됩니다.
AB 테스트에 동원된 트래픽이 계획대로 분기됐다면 각각 원본과 대안을 적용해주면 됩니다. 이때의 구현은 AB 테스트라고 해서 특별한 규칙이 있는 것은 아닙니다. 그냥 버그가 없도록 꼼꼼하게 만들면 됩니다. 예전에 했던 AB 테스트 중에 대안의 전환율이 큰 폭으로 하락한 적이 있었는데, 알고 보니 특정 브라우저에 대안을 적용하면 기능이 작동하지 않는 문제가 있었습니다.😅 이처럼 가설과 무관한 데이터를 받지 않도록 주의해서 대안을 구현하면 됩니다.
마지막으로 보고자 하는 지표를 추적할 수 있도록 준비가 필요합니다. 직접 개발한 경우라면 지표를 DB에서 볼 것인지, 그렇다면 어떤 쿼리를 사용해서 확인할 것인지, 아니면 엠플리튜드(Amplitude)나 믹스패널(Mixpanel)과 같은 외부 추적 툴을 사용할 것인지, 그렇다면 지표를 추적하기 위한 이벤트는 잘 심겨 있는지 확인해야 합니다. 앞에서 언급한 AB 테스트 툴을 사용한다면 해당 툴에 맞는 지표 추적 방식을 따르는 게 좋습니다.
여기까지 마쳤다면 AB 테스트의 모든 준비가 끝났습니다!🎉 이제 AB 테스트를 시작하고 현황을 추적하면 됩니다.
수확 거두기 - 결과 분석
실험 진행 단계에서 지표 추적 준비를 잘 마치셨다면 AB 테스트 시작 직후 속속 들어오는 데이터를 확인할 수 있을 겁니다. AB 테스트 시작 초기에는 리포트를 정리하는 것 외에는 별달리 만질 수 있는 부분이 없지만, 종종 데이터를 체크하면서 문제가 있지는 않은지 체크해줍니다.
AB 테스트를 처음 진행하는 분이 실수하는 것 중 가장 흔한 일은 AB 테스트를 너무 빨리 끝내는 것입니다. 위의 예시에서 AB 테스트 시작 후 하루 동안 데이터를 모은 결과 원본 A의 회원 가입률이 40%(20명 중 8명), 대안 B가 20%(25명 중 5명)라고 나왔습니다. 원본 A가 나은 걸까요? 이 시점에서는 확신할 수 없습니다. 마치 똑같은 동전을 각각 10번씩 던졌는데 한번은 앞면이 2번 나오고, 다른 경우에는 8번 나온 경우와 같습니다. 10번이 아니라 100번, 1,000번을 던진다면 앞면이 나오는 횟수는 점차 비슷해질 것입니다. 데이터가 적기 때문에 우연이 적용할 수 있는 시점이라는 의미입니다. 그렇다면 결론을 내릴 때를 어떻게 알 수 있을까요?
AB 테스트 결과의 통계적 유의성을 계산하는 계산기가 웹상에 이미 많이 있습니다. 보통 신뢰구간 90%, 95%, 99% 이렇게 나눠서 어떤 신뢰구간에서 유효한 결과인지 체크해주는데요, 95% 신뢰구간에서 유효한 결과라면 실제로 유의미한 차이가 있는 데이터라고 결론 내리고는 합니다. 통계적 유의성, P값(P-Value)에 관해 설명하려면 글이 너무 길어질 듯싶고, 제대로 설명할 수 있을지나 의문이라서 직접 알아보시는 것을 추천해 드립니다.
이렇게 해서 가설 수립부터 실험 설계, 진행에 지표를 확인하는 것까지 AB 테스트의 큰 과정이 끝났습니다. 다이나믹한 차이를 보이는 결과가 나오면 좋겠지만 사실 그런 일은 거의 일어나지 않습니다. 대부분의 실험이 10%p대의 개선은커녕 유효한 차이도 못 내고 끝납니다. 차라리 대안의 지표가 유효한 차이로 떨어져서 명확한 인사이트라도 얻을 수 있다면 좋을 텐데, 그런 경우도 드뭅니다. 이 때문에 AB 테스트를 최대한 많이, 자주 돌리는 일이 중요한 것입니다. Booking.com의 수만 가지 AB 테스트에서 10% 정도만이 성공적인 개선을 이뤄냈습니다. 구글에서도 엄청나게 많은 AB 테스트를 진행했지만 90%가 아무런 변화도 주지 못하고 끝났습니다. AB 테스트는 절대 실패하지 않는 방법입니다. 그러나 성공하기도 어려운 방법입니다. 이러한 AB 테스트의 본질을 깨닫고 나면 무얼 해야 하는지 확실해집니다. 더 많이, 더 자주. 그러다 대박이 몇 번 터지고 나면 슬슬 감이 잡힐 겁니다.
게다가 단순히 최종적인 지표가 별 차이가 없다고 해서 결과 또한 마찬가지라는 이야기는 아닙니다. 전환율은 개선하지 못했지만, 다음 AB 테스트를 위한 가설에 기여하는 AB 테스트도 상당히 많습니다. 계속 언급했던 예시에서 이름과 이메일 주소 입력란을 두 화면으로 분리했던 대안을 떠올려봅시다. 해당 대안의 회원 가입률은 40%로 원본과 달라진 게 없습니다. 그런데 자세히 뜯어보니 무언가 다릅니다. 이름 입력 단계의 이탈률은 10%가 안 되지만 이메일 주소 입력 단계는 45%에 달합니다. 결국 문제는 이메일 주소였다는 이야기입니다. 이 AB 테스트를 진행하지 않았더라면 몰랐을 사실입니다.
이렇게 새로운 인사이트가 도출되고, 가설이 수립됩니다. 다시 한번 AB 테스트가 시작됩니다.
실험 종료, 다음 실험 시작
이번 글은 AB 테스트를 해보고 싶지만 해본 경험도, 알려줄 만한 곳도 마땅치 않아 고민하고 계신 분들을 위해 쓰인 글입니다. 빈약한 경험이나마 도움이 될까 정리해봅니다.
다음 2부에서는 실제로 제가 썼던 툴인 구글 옵티마이즈를 사용해서 설치부터 AB 테스트 진행까지 해보는 내용으로 찾아뵙겠습니다.