어떻게 마케팅 Attribution에 게임이론이 적용될 수 있을까?
*해당 블로그 포스팅은 Attribution에 대한 이해를 필요로 합니다. 만약 Attribution에 대해서 처음 접하시는 분은 먼저 블로그 포스팅을 읽어 보길 권장합니다.
**이 글은 아래 링크의 블로그 포스팅을 번역한 것입니다.
2016년 8월 2일 Presh Talwalkar
유튜브를 통해 방송을 시작한 지 얼마 지나지 않아 리코딩의 질을 높이기 위해 새로운 마이크가 필요하다는 것을 알게 되었다. 어떤 마이크가 내가 가장 필요로 하는 것일까?
마이크를 구매하기 위해 인터넷 검색을 하기 시작했고 몇 개의 추천을 받을 수 있었다. 그리고 추천받은 제품의 리뷰를 읽고 인터넷 커뮤니티를 돌아다니며 최저가를 살펴보았다. 이 시점에서 각종 웹사이트에서 내가 검색한 마이크의 배너광고에 노출되기 시작했다. 결국 나는 Blue Yeti 마이크를 사기로 결정을 했고 유튜브 채널을 운영하는 다른 친구에게 연락해서 어떤 제품이 좋은 지도 추천을 받았다. 그 친구 역시 내가 사기로 결정한 제품과 같은 제품을 추천하였다. 내 친구는 “나는 어떻게 비디오를 촬영했나”에 대한 블로그 글을 작성하기도 했다.
나는 그의 블로그에서 제품 링크를 클릭했고 구매하기로 했다.
제품 조사 시작 시점부터 구매시점까지 나는 다양한 매체에서 제공하는 정보에 노출이 되었고 구매를 하기로 마음을 먹었다 (리뷰가 있는 웹사이트, 쿠폰이 있는 딜 사이트, 디스플레이 광고가 있는 웹사이트) 여기서 할 수 있는 질문은 “각 정보의 출처가 내 구매에 각기 얼마나 영향을 주었을까?”이다.
이런 데이터는 광고주가 광고를 효과적으로 집행하기 위해 너무나도 중요하다. 만약 광고주가 실제로 판매를 발생시킨 퍼블리셔 (역주: 퍼블리셔는 광고를 뉴스, 블로그 등 매체를 소유한 사업자를 뜻한다)를 알 수 있다면 해당 퍼블리셔에 더 많은 광고를 집행할 것이다. 예를 들어 만약 라디오 광고가 어떠한 판매에도 기여하지 않는다면 광고주가 굳이 라디오 광고를 집행해야 할까?
광고의 효과를 측정하고 판매 기여도를 평가한다는 것은 복잡하다. 과거에 기업들은 우선적으로 TV, 신문, 라디오, 우편을 통해 광고를 집행하고 이를 통해 매출이 증대했는지 기다려야 했다. 데이터 수집은 쉽지 않았고 상관관계와 인과관계를 파악하기란 쉽지 않았다. 게임이론 학자인 Steve Tadelis의 말을 빌리자면 지난 100년간 많은 기업들은 “바람 속에서 오줌을 싸고 그것이 올바른 방향으로 가기를 바랐다”.
오늘날 웹에서는 유저의 행동을 추적할 수 있게 되었고 그렇기 때문에 판매 기여도를 더 정확하게 파악할 수 있게 되었다. 그렇다고 웹이 이것을 실제로 잘 하고 있다는 뜻은 아니다. 사실 많은 웹의 대부분은 심각한 결함이 있는 attribution 모델을 사용한다. 그러나 Google Analytics는 내가 이 블로그 포스트를 통해 설명할 Shapley 값이라고 알려진 개념을 이용하여 이러한 부분을 개선시키려고 노력했다.
내가 구매한 마이크의 attribution은 어떻게 될까? 나는 마이크 구매 직전 어떤 웹사이트에 있는 아마존으로 연결되는 링크를 클릭했다. 내가 마이크를 구매한 후 아마존은 해당 웹사이트를 구매의 출처라고 판단했고 웹사이트가 아마존 매출에 작게나마 기여했다고 판단했다.
이러한 방식을 last click attribution이라고 한다. 구매 전 판매자로 보내는 마지막 링크 클릭이 해당 구매에서 발생하는 매출 기여를 모두 가져가는 방식이다.
이러한 굉장히 일반적으로 통용되며 “lack click”은 웹뿐만이 아닌 다른 방식의 광고에서도 응용되고 있다. 라디오 광고에서도 이러한 방식이 사용된다. 예를 들면 라디오에서 광고하는 제품의 할인 코드를 말해 준다거나 특정 자동차 딜러에게 전화를 하라는 방식으로 사용된다.
이 방법의 장점은 투명성에 있다. 그리고 이러한 방식은 설득력이 있는 세일즈맨이 득을 볼 수 있다. 그렇지 않고서는 다른 세일즈맨이 커미션을 가져갈 것이다.
하지만 다른 단점도 많이 있다. 하나를 예로 들자면 last click은 브랜드 인지를 상승시키는 광고의 효과를 축소시키는 경향을 보인다. 예를 들면 소수의 사람만이 TV 광고나 운동경기장의 배너 광고에 노출된 직후 호텔을 예약하거나 자동차를 구매한다. 그럼에도 이러한 형태의 광고는 신뢰성이나 회사의 건실성을 보여준다는 점에서 여전히 유용하다.
다른 이슈는 전략적인 것에 있다. 만약 last click을 통해서만 커미션이 세일즈맨에게 지급된다면 세일즈맨은 결과적으로 확실하게 물건을 구매할 사람에게만 집중할 것이다. 세일즈맨들의 설득을 필요로 하는 고객에게 집중할 이유는 딱히 없고 예의를 차릴 필요도 없다. 세일즈맨들은 구루폰과 같은 사이트를 선호할 것이고 컨슈머리뷰과 같은 사이트는 선호하지 않을 것이다.
베스트셀러를 보여주는 아마존 위젯을 가진 블로그를 본 적 있을 것이다. 이러한 블로그는 왜 그렇게 총칭적으로 광고를 할까? 이러한 블로그들은 어쨌든 결과적으로 방문자가 가장 잘 팔리는 제품을 살 것이라 판단할 것이고 그렇기 때문에 그들이 “last click”이 되기를 바랄 뿐이다. 기업들이 클릭과 매출을 보는 것이 효과적이라고 판단할 수 있지만 사실은 인과관계가 아닌 상관관계를 보고 있는 것이다.
어떻게 이 문제를 해결할 수 있을까? 구글은 게임이론을 사용하여 문제를 해결하려고 한다.
구글은 고객이 제품을 소셜 네트워크, 디스플레이 광고, 이메일, 검색광고와 같은 다양한 채널을 통해 알게 된다는 것을 알게 되었다. Multi-channel attribution은 복잡하고 다양한 방식으로 측정 가능하며 각각 심각한 결함을 가지고 있다. 더 나은 방법은 없을까? 구글은 Google Analytics에 각 채널의 효과를 측정하기 위해 “Data-Driven Attribution”라는 방식을 개발했다. 이 방식을 통해서 광고주는 더 효과적은 채널에 더 많은 돈을 쓸 수 있고 매출을 증대시킬 수 있다. 그리고 여기서 깔끔한 부분은 Shapley 값을 사용하는 게임이론 부분이다.
한번 그 부분에 대해서 이해해보도록 하자.
여러 퍼블리셔 간에 공헌을 나눌 수 있는 가장 공평한 방법은 무엇일까? 질문의 방향에 답하기보다 우리는 우선 분배 전략이 따라야 하는 합리적인 규칙을 생각할 수 있다. 이것은 일종의 공리적인 접근 방식이다.
우리는 다음과 같은 조건이 충족되기를 바란다.
1. 효율성 (Efficiency): 그룹에 대한 전체 가치가 나누어진다.
꽤 합리적인 조건이다. 3개의 채널이 판매에 공헌했다고 가정해 보자. 그렇다면 3개의 공헌 비율이 다 더해지면 100%가 되어야 한다.
2. 아무 가치 없는 플레이어 (Null Player): 어떤 그룹에도 가치를 부여하지 않은 플레이어는 아무것도 얻지 못한다.
더 많은 판매로 이어지지 않은 채널은 0의 값을 가져야 한다. 다시 말하지만, 이 규칙 역시 합리적이다.
3. 대칭성 (Symmetry): 동일한 가치를 부여한 플레이어들은 결과에 대해 동일한 지분을 가져간다.
예를 들면 두 세일즈맨이 함께 판매를 위해 동등하게 작업했을 경우 수수료를 동일하게 분할하는 것이 합리적이다.
4. 가성성 (Additivity): 만약 두 게임이 하나의 게임으로 “합쳐지면” 각 게임의 값은 하나의 게임으로 합산된다
이 부분은 게임 다이어그램을 그려야 하기 때문에 약간 기술적일 수 있다. 하지만 대략적인 비유를 할 수는 있다. 차를 구입해본다 가정해보자. 한 게임은 차를 사는 것이고, 다른 게임은 대출을 받는 것이며, 3번째 게임은 추가 기능 옵션에 대한 게임이다. 이 3개의 게임은 하나의 게임으로 볼 수 있기도 하다 (추가 기능 옵션을 선택한 자동차를 대출받아서 구입). 3개의 게임의 값은 각기 다른 게임의 값의 총합이 되어야 한다.
여기에 뜻밖의 결과가 있다. 이 4개 조건을 만족시키는 유일한 분배 전략이 있고 그것이 Shapley 값이다 (이것은 주목할만한 결과인데 Lloyd Shapley가 노벨상을 수상한 이유 중 하나다). 이전 포스트에서 어떻게 계산하는지 이미 보여줬지만 다시 한번 설명하도록 하겠다.
이를 계산하기 위한 좋은 알고리즘이 있다. 일단 n명의 플레이어의 n! 순열을 나열할 수 있다. 그리고 플레이어들의 순서를 보고 “첫 번째 사람은 얼마의 가치를 부여했나?”를 찾는다. 그 후에 두 번째 사람의 값을 더하고 세 번째 사람의 값을 더한다. 그리고 마지막 사람의 값을 더할 때까지 반복한다.
각 순열마다 각 플레이어는 값을 부여한다. 모든 순서들의 평균이 플레이어의 Shapley 값이다.
다음과 같이 간단한 예를 들 수 있다. A, B, C라는 3개의 채널이 있다고 가정해보자. 광고주는 모든 3개 채널에 광고를 했고 100개의 제품을 판매할 수 있었다.
A, B, C – 100
만약 광고주가 A, B나 A, C에 광고를 한다면 각기 75개의 제품을 판매할 수 있다. 그리고 만약 광고주가 B, C를 짝을 지어 광고를 한다면 50개의 제품을 팔 수 있다.
A, B – 75
A, C – 75
B, C – 50
만약 광고주가 한 채널에만 광고를 한다면 아래와 같은 결과를 얻을 수 있다.
A – 75
B – 50
C – 25
모든 값들은 아래 그래프로 요약될 수 있다.
만약 아래와 같이 A, B, C에 대한 6개의 순열이 있다면, 어떻게 각 채널에 값을 부여할 수 있을까?
ABC
ACB
BAC
BCA
CAB
CBA
첫 두 순열과 같은 경우 A가 75개의 값을 부여받는다. 그리고 다음 채널은 A가 75개를 부여 받음으로써 어떤 값도 부여받지 않는다. 그리고 마지막 채널에 값을 부여받아 총 100을 채우게 된다.
ABC – 75 A, 0 B, 25 C
ACB – 75 A, 0 C, 25 B
BAC
BCA
CAB
CBA
나머지 4개 순열도 비슷한 방법으로 계산할 수 있다.
ABC – 75 A, 0 B, 25 C
ACB – 75 A, 0 C, 25 B
BAC – 50 B, 25 A, 25 C
BCA – 50 B, 0 C, 50 A
CAB – 25 C, 50 A, 25 B
CBA – 25 C, 25 B, 50 A
채널A는 75, 75, 25, 50, 50, 50의 값을 부여받았다. 그리고 Shapley 값은 6개의 실현 가능한 가능한 순서의 평균이기 때문에 54.17을 부여받는다.
비슷하게 채널 B의 Shapley 값은 29.17이고 채널 C의 Shapley 값은 16.67이다.
아래 비디오에서 Shapley 값의 마케팅 응용이 설명되어있다.
실제 상황에서 더 많은 데이터가 필요하다는 것을 알게 될 것이다. 교과서에 나온 계산법의 경우 모든 판매 채널의 부분 집합 값에 대한 데이터를 파악해야 한다. n개의 채널이 있을 시 2^n-1의 부분 집합을 고려해야 하고 실제로 7개 이상의 채널부터 터무니없이 많은 것은 고려해야 한다. 그렇다면 실전에서는 어떻게 할 수 있을까? 한 가지 방법은 Ron Berman이 쓴 Beyond the Last Touch: Attribution in Online Advertising라는 논문에서 찾아볼 수 있다. 기본적으로 각 판매 채널의 Shapley 값을 추정하는데 데이터를 사용한다.
그러나 궁극적인 목표는 판매를 유도하는 채널을 파악하는 것이다. 더 나은 attribution 시스템은 모두에게 도움이 된다. 광고주는 돈을 더 효과적으로 지출할 수 있으며 퍼블리셔는 판매를 마지막 클릭으로 유도할 필요가 없다. 더 나은 효과는 퍼블리셔가 커미션을 얻기 위해 판매 지향적인 것에 초점을 맞추기보다 콘텐츠에 집중할 수 있게 된다는 것이다.
Translated by 조경상