검색
검색어 지우기
검색 닫기
Google 앱
기본 메뉴

개요

다중 슬롯머신 실험

작성자: Steven L. Scott 박사, 경제 애널리스트

이 글에는 Google 웹로그 분석 콘텐츠 실험의 통계 엔진에 대한 설명이 나와 있습니다.Google 애널리틱스는 온라인 실험을 관리할 때 다중 슬롯머신 접근법을 이용합니다. 다중 슬롯머신 실험의 특징은 다음과 같습니다.

  • 가장 효과적이거나 수익성이 높은 액션을 찾는 것이 목적입니다.
  • 실험을 진행하면서 임의 분포를 업데이트할 수 있습니다.

'다중 슬롯머신 실험'이란 예상 수익이 서로 다른 슬롯머신 여러 대를 이용하는 가상의 실험을 표현하는 말입니다. 이때, 지급률이 가장 높은 슬롯머신을 찾는 것도 중요하지만, 승수를 극대화하는 것도 중요합니다. 지금까지 실적이 우수했던 슬롯머신을 '활용'하는 것과 새 슬롯머신이나 지금까지의 실적은 저조했지만 앞으로 실적이 훨씬 더 좋아질 수 있는 슬롯머신을 '발견'하는 것 사이에 기본적인 긴장이 형성됩니다. 슬로머신의 문제를 관리하기 위한 고도의 수학 모델이 있는데, Google 웹로그 분석의 콘텐츠 실험에서 이 모델이 사용됩니다.

이 글은 웹로그 분석에서 사용되는 다중 슬롯모신 실험에 대한 전체적인 배경 정보로 시작합니다. 그런 다음 Google의 다중 슬롯머신 알고리즘을 이용하는 시뮬레이션 실험의 2개를 보여줍니다. 그리고, 자주 묻는 질문에 대해 알아보고, 기술적 연산 및 이론적 세부정보를 설명하는 부록으로 마무리합니다.

배경 정보

슬롯머신 실험의 기본 원리

하루에 두 번씩 실험 상황을 전반적으로 확인하여 각 대안 페이지의 실적을 조사하고, 이후에 각 대안 페이지로 유입될 트래픽을 조금씩 조정합니다. 실적이 우수한 것으로 보이는 대안 페이지는 트래픽이 증가하고, 실적이 뚜렷이 저조한 대안 페이지는 트래픽이 감소합니다. 트래픽 조정은 샘플 크기와 실적 측정항목을 모두 고려하는 통계적 공식(세부정보를 원하면 부록 참조)에 따라 이루어지므로, 무작위가 아닌 실제 실적 차이를 감안한 결과입니다. 실험이 진행됨에 따라 상대적인 수익성을 점점 더 확실하게 파악하여 효과적인 대안 페이지를 더욱 정확하게 선택할 수 있습니다.

장점

일반적으로 다중 슬롯머신에 기초한 실험은 통계적 가설 실험에 기초한 '클래식' 버전의 A-B 실험보다 훨씬 더 효율적입니다. 통계적인 유효성이 결코 뒤떨어지지 않을 뿐 아니라, 경우에 따라 더욱 빠르게 해답을 도출할 수 있습니다. 더욱 효율적인 이유는 실적이 우수한 대안 페이지의 트래픽이 계속 증가하므로 실험이 끝나서 '최종 해답'이 나올 때까지 기다릴 필요가 없기 때문입니다. 속도가 더욱 빠른 이유는 실적이 확연하게 저조한 대안 페이지로 유입될 샘플 트래픽을 실적이 가장 우수할 것 같은 대안 페이지로 할당할 수 있기 때문입니다. 실적이 우수한 여러 대안 페이지에서 수집한 추가 데이터를 통해 '양호한' 페이지와 '가장 우수한' 페이지를 더욱 빠르게 구분해 낼 수 있습니다.

기본적으로 슬롯머신 실험은 더욱 효율적이므로, 더 많은 실험을 진행해 볼 수 있습니다. 뿐만 아니라 트래픽이 자동으로 실적이 우수한 페이지로 몰리게 되므로 실험에 할당할 트래픽의 비율을 높일 수 있습니다.

간단한 A/B 테스트

귀하의 웹사이트의 전환율이 4%인데, 100번 중에 5번 정도 전환이 발생하는 이 사이트의 새 버전을 실험한다고 가정해 보겠습니다. 물론 실제 전환율은 모릅니다. 그렇기 때문에 실험을 하는 것인데, 실험에서 95%의 가능성으로 전환율 5%가 나타나기를 원한다고 가정하겠습니다. 표준 검증 계산1에서는 95%의 확률로 전환율이 4%에서 5%로 변하려면 22,330회의 관찰(원본 버전과 새 버전에서 각각 11,165회씩)이 필요하다고 나옵니다. 하루에 실험에서 100회의 세션이 발생한다고 가정할 경우 이 실험이 완료되려면 223일이 걸립니다. 일반 실험에서는 223일을 기다리면서 가설 테스트를 실행한 후에야 결과를 얻을 수 있습니다.

그럼 다중 슬롯머신 실험에서 매일 발생하는 100회의 세션을 관리해 보겠습니다. 첫 번째 날에는 원본 버전과 새 버전으로 각각 50회의 세션을 할당한 다음 결과를 검토합니다. 이때, 베이즈 정리를 이용하여 새 버전의 실적이 원본2보다 더 나을 확률을 계산합니다. 1에서 이 확률을 빼면 원본이 더 나을 확률이 나옵니다. 첫 번째 날에 원본의 운이 좋아서 원본의 실적이 더 좋을 확률이 70%로 나타났다고 가정해 보겠습니다. 이렇게 되면 2일째에는 트래픽의 70%가 원본 버전으로 할당되고, 새 버전에는 30%의 트래픽만 할당됩니다. 2일째가 끝날 때 그때까지(2일 동안) 유입된 트래픽을 모두 합하여 두 버전의 실적이 더 좋을 확률을 각각 다시 계산합니다. 그 결과에 따라 3일째의 게재 가중치가 결정됩니다. 그리고 중단 규칙을 충족할 때까지 이 과정이 반복됩니다(중단 규칙에 대해서는 아래에 자세히 설명됨).

1번 그림에는 이 설정에서 발생할 수 있는 상황이 시뮬레이션으로 나와 있습니다. 여기에서 원본 버전(검은 선)의 게재 가중치와 새 버전(빨간 점선)의 게재 가중치를 볼 수 있습니다. 두 버전이 엎치락뒤치락 하다가 결국에는 새 버전이 신뢰도 95%를 넘었습니다. 100%가 되려면 2%를 더해야 하는데, 하나가 올라가면 다른 하나가 내려가는 형태입니다. 이 실험은 66일째에 끝나서 테스트 기간이 157일이나 단축되었습니다.

그림 1. 간단한 이중 슬롯머신 실험에서 각 버전의 최적 확률에 대한 시뮬레이션. 매일 이 가중치에 따라 일정 비율의 트래픽이 각 버전에 할당됩니다.

물론 위의 상황은 예일 뿐입니다. Google은 반복되는 샘플링에서 각 버전의 실적이 어떻게 되는지를 알아보기 위해 시뮬레이션을 500번 더 반복합니다. 결과 분포는 2번 그림에 나와 있습니다. 평균적으로 이 테스트는 검증 계산에 기초한 클래식 테스트보다 175일 더 빨리 종료되었습니다. 평균 97.5회의 전환을 절약한 셈입니다.

그림 2. 검증 계산을 토대로 계획하는 클래식 버전의 실험과 비교할 때 절약한 시간 및 전환수의 분포(원본 버전의 CVR이 4%, 새 버전의 CVR이 5%라고 가정)

그렇다면 통계적 타당성은 어떻습니까? 데이터를 덜 사용했다는 것은 오류율이 높다는 것을 의미하지 않습니까? 꼭 그렇지는 않습니다. 위에 나온 500회의 실험 중 482회에서 올바른 버전을 찾았습니다. 환산하면 96.4%인데, 클래식 버전의 테스트와 오차율이 거의 같습니다. 제안된 검증 분석보다 슬롯머신 모델에서 더 많은 시간이 소요된 실험이 2~3개 있었지만, 전체의 1% 이내(5/500)였습니다.

또한, 그 반대의 실험도 진행했는데, 여기에서는 원본 버전의 성공률이 5%였고, 새 버전의 성공률은 4%였습니다. 결과는 대칭적이었는데, 이번 실험에서도 슬롯머신 실험 500회 중 482회에서 올바른 버전을 찾았습니다. 클래식 실험과 비교할 때 평균 절약 시간은 171.8일이고, 절약한 평균 전환수는 98.7회였습니다.

실험 중단하기

기본 설정에서는 슬롯머신 실험이 최소 2주 동안 강제로 실행되고, 그 후에는 2개의 측정항목을 추적합니다.

첫 번째는 각 대안이 원본보다 실적이 더 높을 확률입니다. 원본보다 대안의 실적이 더 좋을 것이라고 Google 애널리틱스가 95% 확신하면 애널리틱스가 최적의 버전을 찾았다고 알립니다. 최소 기간 2주와 신뢰수준 95%는 사용자가 직접 조정할 수 있습니다.

웹로그 분석에서 모니터링하는 두 번째 측정항목은 '실험의 잔존가치'인데, 이 항목은 실험하는 대안이 여러 개인 경우에 특히 유용합니다. 실험이 진행되는 동안 어떤 시점에서든 최적의 버전으로 판단되는 '우승' 버전이 있습니다. 만약 '지금' 실험을 중단하면 이 버전을 선택하는 것입니다.실험의 '잔존 가치'란 '우승' 버전을 사용하지 않을 때 얻을 수 있는 전환율의 증가분을 말합니다. 실험의 핵심은 이러한 가치를 찾는 것입니다. '우승' 버전의 실적이 가장 높을 것으로 100% 확신한다면 실험에 남은 가치는 없고, 더 이상 실험을 진행하는 것은 무의미합니다.어떤 버전의 최적성 여부에 대해 확신이 70%정도라면 다른 버전의 실적이 더 좋을 가능성이 30%이므로 베이즈의 규칙을 이용해 얼마나 더 좋은지에 대한 분포를 계산할 수 있습니다(계산에 대한 세부정보에 대해 알아보려면 부록 참조.

실험의 잔존 가치가 '우승' 버전의 전환율의 1% 미만일 가능성이 95% 이상이 되면 Google 애널리틱스가 실험을 종료합니다. 이는 1%가 개선되는 것이며, 1%포인트가 개선되는 것과는 다릅니다. 따라서, 최적 버전의 전환율이 4%이면 실험의 잔존 가치가 CVR의 0.04%포인트 미만일 때 실험이 종료됩니다.

잔존 가치에 따라 실험을 종료하는 방식은 동률 상황에 적절하게 대처할 수 있기 때문에 효과적입니다. 예를 들어, 대안 페이지가 많은 실험에서 2개 이상의 버전에서 실적이 같은 것으로 나타날 수 있는데, 실적이 같으므로 어떤 것을 선택해도 무방합니다. 이 경우 최적의 버전이 2개라는 이유 때문에 최후의 1개를 찾을 때까지 실험을 진행하지 않아도 됩니다. 두 버전을 교차해서 사용해도 무방하다는 것을 확신할 때까지만 실험을 진행하면 됩니다.

더욱 복잡한 실험

다중 슬롯모신 실험이 클래식 실험에 대해 비교 우위로 가지는 장점은 실험이 더욱 복잡해질수록 부각됩니다. 일반적으로 웹페이지 개선에 대한 아이디어는 2개 이상이므로 테스트할 대안 페이지도 2개 이상인 경우가 많습니다. 여기에서는 원본 버전과 대안 페이지가 5개를 테스트한다고 가정해 보겠습니다. 이때, 가장 큰 규모의 대안 페이지와 원본 버전을 비교하는 계산을 하게 되므로, 다중 비교를 반영하기 위한 약간의 조정이 필요합니다. 본페로니 수정은 다소 보수적이지만 간단한 조정 방법인데, 가설 테스트의 유의 수준을 실험 대상 버전의 개수로 나누면 됩니다. 이렇게 되면 유의 수준이 0.05 / (6 - 1)인 표준 검증 계산을 하고, 실험의 각 버전별로 15,307회의 관찰이 필요하다는 것을 알게 됩니다. 실험 대상 버전이 6개이면 필요한 관찰은 총 91,842회가 됩니다. 이 실험은 매일 100회의 세션이 발생한다고 가정할 경우 919일(2년 반 이상) 동안 진행되어야 합니다. 실제 상황에서는 실험을 이렇게 오래 진행하는 것이 타당하지 않지만 사고 실험을 시뮬레이션으로 진행할 수는 있습니다.

그럼 슬롯머신 시뮬레이터를 통해 실험 대상 버전이 6개인 실험을 진행한다고 가정해 보겠습니다. 여기에서도 원본 버전의 전환율은 4%이고, 최적 버전의 전환율은 5%라고 가정해 보겠습니다. 나머지 4개의 버전 중에는 전환율이 4.5%로 원본 버전보다는 전환율이 높지만 5%에는 미치지 못한 버전이 하나 있고, 전환율이 각각 3%, 2%, 3.5%인 버전이 3개 있습니다. 3번 그림에 이에 대한 결과 분포가 나와 있는데, 평균 실험 기간은 88일(클래식 실험에서는 919일)이고, 절약한 전환의 평균 횟수는 1,173회입니다. 실험 기간의 분포는 길게 늘어지지만(빨리 종료되지 않을 수 있음), 슬롯머신 실험에서는 최악의 경우에도 클래식 실험에 비해 800회가 넘는 전환이 절약되었습니다.

그림 3. 클래식 실험에서 본페로니 방식으로 조정한 검증 계산과 비교할 때 실험 대상 버전이 6개인 실험의 절약 결과. 왼쪽 그래프에는 실험 종료에 필요한 일수가 표시되어 있는데 세로선은 클래식 검증 계산에서 필요한 시간을 보여줍니다. 오른쪽 그래프는 슬롯머신 실험에 의해 절약한 전환의 횟수가 나와 있습니다.

비용 절감의 일부 원인은 조기에 실험을 종료했다는 것이고, 또 다른 일부 원인은 실험이 진행되는 동안 비용 낭비가 덜했다는 점입니다. 4번 그림에는 시뮬레이션이 처음 500회 동안 실행될 때 모든 실험 대상 버전에 적용된 게재 가중치가 나와 있습니다. 슬롯머신 실험이 실적이 우수한 버전과 그렇지 않은 버전을 가리는 초기 단계에서 약간의 혼동이 있었지만, 실적이 매우 저조한 버전은 바로 낮은 가중치를 받았습니다. 이 경우 원본 버전은 실험을 시작할 때 '높은 가중치를 받는 혜택'이 있어서 다른 경쟁 버전보다 더 오래 유지됩니다. 하지만, 50일이 지나면 경쟁 양상이 원본 버전과 최종 우승 버전 간의 2파전으로 압축됩니다. 다른 버전들이 모두 탈락한 후에는 원본 버전과 최종 우승 버전이 매일 100회의 관찰을 나눠 갖습니다. 슬롯머신 실험에서 경제적 관점(실적이 좋을 것 같은 버전에 관찰을 우선 배정)과 통계적 관점(더 많은 정보가 필요한 버전에 우선 배분)에 따라 어떻게 효율적으로 관찰을 할당하는지 알아보세요.

그림 4. 실험 대상인 6개 버전 중 하나에 대한 게재 가중치 기록

5번 그림은 최적의 버전인 2번 버전을 항상 이용한다는 '고전적인' 전략의 일일 비용과 다중 슬롯머신 실험의 일일 비용을 비교해서 보여주고 있습니다(물론 실제 상황에서는 어떤 버전이 최적의 버전인지 모르기 때문에 공정한 방법은 아니지만 기본 방향을 보여주는 것으로는 유용함). 평균적으로 원본 버전에 할당된 관찰은 회당 비용이 전환 1회의 1%인데, 그 이유는 원본 버전의 전환율이 2번 버전보다 1% 더 낮기 때문입니다. 같은 원리로, 예를 들어, 5번 버전에 할당된 관찰은 회당 비용이 전환 0.03회인데, 그 이유는 전환율이 2번 버전보다 3% 더 낮기 때문입니다. 각 버전에 할당된 관찰 횟수와 해당 버전의 비용을 곱하고 모든 버전의 값을 합하면 해당 일의 실험 운영 비용이 나옵니다. 클래식 실험에서는 각 버전에 매일 세션 100/6회가 할당됩니다(평균값, 부분 관찰의 할당되는 방식에 따라 달라짐). 그 결과 클래식 실험의 비용은 매일 전환 1.333회입니다. 5번 그림에서 빨간 선은 매일 슬롯머신 실험을 진행하는 비용입니다. 시간이 경과하면서 실적이 저조한 버전에 낮은 가중치가 주어지면 실험에서 낭비되는 비용이 점점 더 줄어듭니다.

그림 5. 일일 슬롯머신 실험 운영 비용. 클래식 실험 운영을 위한 일일 비용은 일정한데, 가로 점선으로 표시되어 있습니다.

1이 글에서는 R 함수 power.prop.test가 모든 검증 계산을 수행했습니다.

2계산에 대한 세부정보를 원하면 부록을 참조하세요. 원하지 않으면 건너뛰어도 됩니다.

이 도움말이 도움이 되었나요?
어떻게 하면 개선할 수 있을까요?