A/B 테스트는 두 가지 방법 A와 B 중 어떤 것이 더 나은지를 입증하기 위해 실험군을 두 그룹으로 나누어 진행하는 실험입니다. 마케팅 분야에서 실제로 자주 사용되는 테스트이며, 예를 들어 다음 경우가 있습니다다.
두 가지 광고 소재 A, B를 가지고 광고를 집행했을 때 어느 소재가 더 좋은 광고 성과를 가져오는가?
전통적인 의미의 통계적 실험에서 위 테스트를 통해 얻고자 하는 것은 '소재 A와 B의 차이가 통계적으로 유의한가?'라는 질문에 대한 답일 것입니다.
그러나 이러한 질문에 확실한 답을 내리기에는 현실적인 어려움들이 존재합니다:
이러한 현실을 반영하기에 A/B테스트와 같은 전통적인 통계적 접근은 다소 유연하지 못하다는 단점이 있습니다. 또한 실무에 직면한 요즘 데이터과학자들의 입장에서는 통계적 유의성보다 비용 절감이나 성과 최적화가 더 중요하고 시급한 문제로 다가옵니다. 따라서 위와 같은 질문보다는 '여러 가지 소재들 중 가장 효과적인 소재는 무엇일까?' 와 같은 명시적인 질문에 더 관심을 갖게 됩니다. 이러한 상황에서 우리는 멀티암드 밴딧 알고리즘이라는 실험방법을 고려해볼 수 있습니다.
멀티암드 밴딧(Multi Armed Bandit, MAB) 이란, 여러 개의 레버(손잡이)가 달린 가상의 슬롯머신을 의미합니다. 어떤 레버를 당기느냐에 따라 얻을 수 있는 수익이 다르다는 점에서 이 슬롯머신은 다중 처리 실험에 비유됩니다. 소재 테스트의 예시를 가져와보면, 각 소재는 레버(arm)에 해당하고, 각 소재로 광고를 운영했을 때 발생하는 광고 성과는 레버를 당겼을 때 얻는 수익이 됩니다. 멀티암드 밴딧 알고리즘은 A/B 테스트와 같은 전통적인 통계적 실험보다 명시적인 최적화와 빠른 의사결정을 할 수 있게 해주며, 여러 가지 대안에 대한 테스트 용도로 자주 사용됩니다.
광고를 운영함에 있어서 우리의 목표는 "가능한 한 적은 광고비용을 지불하면서 가능한 한 많은 사람이 광고를 보고, 제품을 구매하는 것"입니다. 여기서 전제는 적은 비용 투입이기 때문에 다양한 소재의 광고를 모두 운영할 수는 없습니다. 그러나 실제로 집행해보지 않고는 각 소재별 성과를 알 수가 없습니다.
우리는 가지고 있는 소재 A, B, C 모두를 테스트 운영해보기로 합니다. 2주동안 네 소재의 광고가 송출되었습니다. 그 결과 14일 중 9일은 A 광고의 성과가 가장 높았고, 3일은 B 광고, 하루는 C광고의 성과가 가장 높았습니다. 단순하게 생각하면 A소재의 성과가 가장 좋으니 A만 운영하고 나머지는 종료하자, 라는 결론을 도출할 수 있습니다. 하지만 과연 2주의 기간이 충분한 테스트 기간일까요? 만약 몇 주 더 테스트를 진행했을 때 B의 성과가 더 좋은 날이 많다면? C의 성과가 가장 좋다면? 우리는 이 사실을 발견할 기회를 놓치게 되는 것입니다.
탐색과 활용은 MAB알고리즘의 핵심 문제입니다. 위의 경우처럼 충분한 탐색을 거치지 않고 내리는 결정은 확률론적으로 좋은 선택이라고 할 수 없습니다.
이에 대한 하나의 대안은 4개의 광고를 일정한 확률(epsilon)로 선택 송출하도록 하는 것입니다. 예를 들면 동전을 던져 앞면이 나오면 테스트 운영 기간 중 성과가 가장 좋았던 A광고를 송출하고, 뒷면이 나오면 나머지 B, C 광고 중 어느 하나를 랜덤으로 선택해 송출하는 식입니다. 이 전략은 최고의 성과를 보여준 광고소재 이외에 다른 광고소재들에게도 기회를 주기 때문에 첫 번째 방법보다는 더 합리적으로 보입니다. 확률적으로 전체적인 광고 성과도 더 좋을 것입니다. 그런데 이렇게 특정 확률값을 고정으로 주어주고 그 안에서 랜덤으로 선택하는 방식이 최선일까요? 각 소재의 광고가 가장 높은 성과를 보일 가능성을 계산해 그 가능성에 따라 선택하는 것은 어떨까요?
앞으로 운영될 광고에서 발생하는 성과는 특정 분포에서 얻게 되는 랜덤변수이기 때문에 지금 순간에 경험적으로 높은 성과를 보이는 소재를 선택하는 것은 최적의 선택이 될 수 없습니다. MAB는 이러한 문제를 해결하기 위해 지난 광고성과에 의거해 평균적인 성과가 높은 소재를 선택하되, 실시간으로 몇가지 확률들을 고려해 앞으로의 성과가 높을 가능성을 수치로 계산하여 지금 송출할 광고소재를 선택하게 됩니다.
이 선택 방식은 톰슨샘플링(Thompson Sampling) 알고리즘에 착안합니다. 톰슨 샘플링은 가치를 직접 추정하는 대신 가치의 분포를 추정하고, 행동을 선택할 때는 이 분포로부터 가치를 무작위 추출해서 가장 가치가 높은 행동을 선택합니다. 이후 받은 보상(결과)으로부터 베이즈 정리를 활용해 가치의 분포를 업데이트합니다. 즉, 1) 각 광고 소재들의 성과를 포아송분포를 따르는 확률변수로 보고 동일한 파라미터를 가지는 분포로 전부 초기화한 후 2) t시점에서의 각 광고 성과의 확률분포로부터 랜덤 추출한 성과값이 가장 큰 광고소재를 선택해 송출하고, 3) 광고를 집행하면서 발생하는 광고 성과를 바탕으로 각 분포를 계속 업데이트하게 되는 것입니다. t 가 커질수록 각 광고의 분포는 수렴하여 분산이 작아질 것이고, 초기에 분산이 높아 모든 광고의 탐색이 활발했을 때에 비해 점점 기댓값이 높은 광고 위주로 송출되게 됩니다.
MAB 알고리즘은 보상을 알 수 없는 K개의 선택지가 존재하는 경우 탐색과 활용을 적절히 조절해 최종 (장기적) 보상의 총합을 최대화하는 문제라고 볼 수 있습니다.