brunch

You can make anything
by writing

C.S.Lewis

by 해건 Dec 02. 2018

#005 Real Time Bidding 공부

인터넷 광고 시장의 Real Time Bidding에 대해 알아보았다

  Real Tim Bidding(이하 RTB)은 인터넷 광고시장에서 광고 지면을 살 때 광고가 노출되고 가격이 결정되는 메커니즘입니다. 말 그대로 실시간 경매 방식으로 아주 짧은 시간 안에 누구에게 어떤 광고주의 광고가 얼마에 노출될지 결정되게 됩니다. 만약에 RTB가 없었다면 인터넷 광고 시장이 이만큼 성장할 수도 없었겠죠. 

출처 : Weinan Zhang, University College London

  RTB를 한눈에 볼 수 있게 설명하는 도식이 있어서 가져와 보았습니다.

먼저 유저가 특정 웹페이지에 접속하면 해당 광고지면을 소유한 퍼블리셔가 Ad Exchange(광고 거래소)에 광고 전송 요청을 보냅니다.

광고 요청을 받은 Ad Exchange에서는 광고주에게 해당 광고 기회에 대해 경매 입찰하라는 요청을 보냅니다.

광고주는 요청에 따라 해당 지면에 광고를 노출하고 싶은 경우 입찰 가격을 알려줍니다.(이때 해당 지면과 유저에게 광고를 하는 것이 좋을지에 대한 판단은 데이터에 기반하여 이루어지며, 보통 실시간 경매를 가능하도록 하는 광고주 Side의 업체들이 소유한 데이터에 기반하여 학습됩니다)

이렇게 여러 광고주의 입찰을 받은 Ad Exchange에서는 경매에서 승리한 광고주에게 이 사실과 경매가를 통보합니다.

그리고 광고지면을 소유한 퍼블리셔에게는 광고를 송출합니다.

최종적으로 광고를 본 유저가 실제로 송출된 광고에 대해서 어떤 반응을 보였는지가 광고주에게 피드백됩니다.


  대충 어떻게 돌아가는 그림인지는 알겠는데, 광고주 입장인 저로써는 여러 가지 궁금증이 남습니다.
경매에서 광고의 가격은 어떻게 정해지는 것인가?, Bidding 방식에 따라서 CPM, CPC, CPI, CPA 등 여러 가지 Cost Per Result 모델이 있는데 이런 것들은 또 어떤 원리로 작동되는 것인지?, 어떻게 하면 낮은 가격으로 많은 지면을 확보할 수 있는 효율적 Bidding을 할 수 있는지?, 버짓은 어떻게 설정해야 하는지? 등등


  그래서 조금 더 깊게 알아봤습니다. 여러 매체마다 RTB에 사용하는 알고리즘에 차이가 있을 수 있기 때문에 세부적인 사항에서는 매체별로 공통적으로 맞는 얘기는 아니겠지만, RTB를 전반적으로 이해하는데 도움은 될 거라고 생각합니다.


Types of auction



Vickrey auction


  인터넷 광고의 경매 방식을 이해하기 위해서 먼저 Vickrey auction에 대해서 알아봅니다. Vickrey auction은 Second-price, sealed-bid auction이라는 두 가지 특성으로 설명할 수 있습니다. 참여자들은 서로의 입찰 가격을 알 수 없고, 낙찰자는 자신이 써낸 가격이 아닌 두 번째로 높았던 입찰 가격을 지불하게 됩니다. Vickrey Auction을 알아야 하는 이유에 대해 조금 더 생각해봅니다.


영화 The best offer의 한 장면

  영화를 보면 경매에 나온 물건을 두고 낮은 가격부터 시작해서 점점 더 높은 가격을 제시하며 경쟁하는 장면을 볼 수 있습니다. 하지만 인터넷 광고에서는 밀리 세컨드 단위의 실시간으로 경매가 이뤄져야 하기 때문에 영화처럼 랠리 하듯 경매가를 조정할 수는 없습니다. 또 다른 사람들이 경매에서 얼마의 가격을 써냈는지는 알 수 없습니다. 이런 상황에서 낙찰자가 자신이 제시한 가격을 지불해야 할 경우에 어떤 상황이 발생할까요? 지면을 사게 된 광고주는 이렇게 생각할 것입니다. '내가 이 가격보다 조금 더 내려서 입찰을 했어도 이 광고지면을 가져갈 수 있지 않았을까?' 그리고 다음 경매에서는 저번에 낙찰되었던 가격보다 조금 더 낮은 가격으로 입찰합니다. 이런 식으로 사람들은 자신의 실제 평가보다 낮은 금액을 제시하려는 인센티브를 갖게 됩니다. 이런 식으로 눈치보기 싸움을 하게 되면 경매품에 대한 자신의 실제 평가 가치를 생각하지 않고 남들의 가치를 알아내려고 하는 비효율이 발생합니다.


  하지만 두 번째로 높은 가격을 지불하도록 만들면 경매에 참여하는 사람들이 자신이 평가한 진실한 가격으로 입찰하도록 유도할 수 있습니다. b를 자신의 경매가, p를 경쟁자의 경매가, v를 자신이 생각하는 경매물의 가치라고 했을 때 b가 경매에서 얻는 가치를 다음과 같이 표현해 볼 수 있습니다.

if b<p then 0

if b > p then v-p

  이때 v가 p보다 크다면 경매에서 이기는 것이 좋을 것이고 v가 p보다 작다면 경매에서 지는 것이 유리할 텐데요, b가 v와 같다면 자연스럽게 그러한 경매 결과가 발생하게 됩니다. 그렇기 때문에 이론적으로 Vickrey auction 방식은 참가자들이 진실한 가격으로 경매에 참여하도록 만듭니다.


Generalized Second Price Auction


  예전에 구글이 키워드 광고의 경매를 위해 사용했다고 하는 경매 방식입니다. 

인터넷 광고는 한 번에 많은 자리를 두고 많은 광고주들이 경쟁하는 시장입니다. Generalized second price auction은 한꺼번에 많은 경매를 처리합니다. 기본적으로는 Vickrey auction처럼 second-price로 가격을 지불하는 부분이 동일하지만 K개의 광고 자리가 있다면 상위 K명의 광고주들이 제시한 가격에 따라서 순서대로 광고를 가져가고 자기 바로 밑의 가격을 제시한 광고주가 제시한 금액만큼을 지불한다는 점에서 차이가 있습니다. 여기서 광고 슬롯의 가치는 간단하게 클릭할 확률이 높을수록 좋은 광고 슬롯이라고 정의하도록 하겠습니다. 설명이 명확하지 않을 수도 있을 것 같아 아래에 위키피디아의 설명을 추가합니다.


  The generalized second-price auction (GSP) is a non-truthful auction mechanism for multiple items. Each bidder places a bid. The highest bidder gets the first slot, the second-highest, the second slot and so on, but the highest bidder pays the price bid by the second-highest bidder, the second-highest pays the price bid by the third-highest, and so on. First conceived as a natural extension of the Vickrey auction, it conserves some of the desirable properties of the Vickrey auction. It is used mainly in the context of keyword auctions, where sponsored search slots are sold on an auction basis.


  그런데 여기서는 진실한 가격을 말하는 것이 최선의 선택이 아니게 됩니다. 위키피디아에 있는 사례를 예로 들어보겠습니다. 광고 슬롯이 2개가 있고 이 슬롯을 유저가 클릭할 확률이 각각 A1=1, A2=0.4 입니다. 3명의 광고주가 이 2개의 슬롯을 두고 경쟁합니다. 이들이 광고 클릭에 대한 가치평가는 각각   v1=7, v2=6, v3=1 입니다. 광고주의 실제 효용은  u =  A*(v-p)가 될 것입니다. 만약 비딩가격  b1, b2, b3 을 각자의 진실한 가치인 v1,v2,v3으로 설정할 경우 광고주 1, 2가 슬롯을 가져가게 될 것이고 이때의 효용은 1*(7-6) =1 , 0.4*(6-1) = 2가 될 것입니다. 그런데 만약 광고주 1이 자신의 진실한 평가 가치를 숨기고 5의 가격으로 비딩을 하면 상황이 달라집니다. 광고주 1, 2가 슬롯을 가져가게 되는 상황은 동일하지만 광고주 1의 효용은 0.4*(5-1)=1.6, 광고주 2의 효용은 1*(6-5)=1이 됩니다. 광고주 1이 진실한 가격으로 비딩 하지 않아야 되는 인센티브가 생기는 거죠.


Vickrey-Clarke-Groves auction(VCG)


  페이스북의 광고슬롯의 경매에 사용되고 있다고 알고 있습니다.

  VCG 경매의 핵심 아이디어는 다음의 영어 문장 하나로 설명될 수 있습니다. 

Players pay the damage they imposed to the society.

  이런 상황에서 광고주가 광고 슬롯을 사기 위해 지불해야 하는 가격은 다음과 같습니다.

광고주 i가 경매에 참여하지 않을 때 다른 광고주들의 효용 - 광고주 i 참여 시의 다른 광고주들의 효용

  예를 들어 1개의 광고 슬롯을 두고 경매를 하는 상황이라면, 경매를 통해 광고를 가져가게 된 광고주가 지불해야 하는 가격은 [Second highest bid - 0]이 되어서 Second highest bid의 가격을 지불해야 하게 됩니다. 이를 K개의 광고 슬롯으로 확장하여 생각해보면 경매에서는 K명의 가장 높은 경매 가격을 제시한 광고주가 광고를 가져가게 되고 이들이 지불해야 하는 가격은 K+1번째 광고주의 비딩 가격이 됩니다. 


  VCG를 조금 더 Formal 하게 정의한 내용을 가져와봤습니다.

  이때 각 광고주들이 지불해야 하는 돈은 다음과 같이 계산됩니다.

  그리고 GSP 때와는 다르게  각 광고주들은 자신의 진실한 가치로 비딩 하는 것을 최선의 전략으로 선택하게 됩니다. 이는 광고주 자신의 효용이 전체 광고주들의 효용의 함수임을 생각했을 때 아주 직관적으로 이해할 수 있습니다.


이번 편을 서둘러 정리하며...

사실 Real Time Bidding을 공부하려고 하니 너무 방대한 영역의 지식들을 알아가야 해서 어디서부터 시작해야 될지 모르는 그런 상황에 맞닥뜨리게 되었습니다. 그래서 포스팅을 미루고 미루다가 한꺼번에 다 정리해서 포스팅하는 것보다 step by step, divide and conquer 방식으로 Real Time Bidding을 이해하는데 필요한 지식들을 모듈로 쪼개서 포스팅 해 가기로 결정했습니다. 이번 편에서는 RTB를 이해하는데 기본이 되는 경매의 유형들에 대해서 알아보았습니다. 다음 편에서는 또 다른 모듈에 대해서 소개해 보도록 하겠습니다.


https://brunch.co.kr/@haegun/21


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