진행 프로세스
1. 광고 피로도 정의 및 클릭률 감소율 계산
한 명의 유저가 특정 광고주의 동일한 캠페인의 광고를 보는 횟수가 늘어남에 따라 클릭률이 실제로 감소하는지, 감소한다면 어느 정도의 기울기로 감소하는지 전달드리는 것을 목표로 합니다.
(1) 캠페인과 유저를 groupby 해서 유저별로 노출(이하 imp)된 시간 순서에 따른 클릭여부를 일렬로 나열합니다. (이하 imp chain)
(2) imp chain 1일 때의 CTR, 2일때의 CTR, … , n일 때의 CTR을 구합니다.
(3) 모든 캠페인에서 발견되는 전반적인 현상임을 보이기 위해 imp chain n의 CTR을 캠페인별 imp 수로 가중평균합니다.
(4) imp chain의 n이 커짐에 따라 가중평균 CTR이 감소하는지 확인하고, 감소한다면 그 기울기를 계산합니다.
2. 최근 클릭률을 기반으로 광고의 교체 여부 알림
광고주가 발행한 광고가 여러 지면에 송출되고 있는 상황입니다. 특정 지면에서 클릭률이 떨어졌을 때 광고주에게 알림을 보내는 것이 아닌, 현재 광고가 송출되고 있는 모든 지면에서 클릭률이 전반적으로 떨어졌을 때 광고의 교체를 알리는 알림을 보냅니다. 이때 특정 지면에서 최소한으로 확보해야 하는 클릭률(이하 p_inf)을 상정하고, 광고의 최근 클릭률이 p_inf와 imp의 곱인 람다를 모수로 갖는 포아송 분포로부터 나올 수 있는 값인지 판단하여 광고 성과를 파악하는 과정이 핵심입니다.
(1) 특정 광고의 최근 N회 imp를 지면별로 쪼갭니다.
(2) 지면별로 확보되어야 하는 최소한의 p_inf과 그 지면에서의 imp를 곱해 지면별 람다를 구합니다.
(3) 포아송 분포의 합은 여전히 포아송 분포를 따르므로, 광고의 클릭수는 지면별 람다의 합을 모수로 갖는 포아송 분포를 따릅니다.
(4) 최근 N회 imp 중 클릭 수가 k개라면, (3)에서 구한 포아송 분포로부터 k개 이하의 면적이 차지하는 넓이를 계산해 유의수준 5%인 0.05보다 작을시 해당 분포로부터 나올 수 없는 값이라 판단, 알림을 울립니다.
3. 사측 pCTR의 정규화 수식 최적화
사측에서 사용하는 pCTR 정규화는 탄생 후 얼마 지나지 않은 광고에 한하여 해당 광고의 pCTR을 클러스터 내 평균적인 pCTR에 가까워지도록 눌러주는 작업입니다. 이 정규화 작업을 최적화하기 위해 1) 탄생 후 몇 번째 imp까지 정규화를 할 것이며, 2) 정규화가 이루어지는 클러스터는 어떤 feature 기준으로 나눌 것이며, 3) 정규화 강도는 imp 증가에 따라 얼마나 빠르게 약화되어야하는지 답안을 내놓는 것을 목표로 합니다.
(1) 어떤 feature을 기준으로 클러스터링 하는 것이 적합한지 알기 위해 클릭을 예측하는 DCNv3 모델을 학습시킵니다. 학습이 완료된 본 모델의 last hidden layer을 임베딩으로 활용하여 어떤 feature 기준으로 imp를 묶었을 때 좋은 클러스터링이 되는지를 CHI 지표로 확인합니다.
(2) 특정 feature를 기준으로 클러스터링 했을 때, pCTR의 분산이 해당 클러스터 내 광고 별 imp 증가에 따라 얼마나 감소하는지 확인합니다. 이때, 단순히 단일 feature(e.g. inventory, service) 외에도 inventory&category 등 다중 feature로 클러스터링 했을 때 분산 안정화 정도도 함께 확인하면서 클러스터링에 최적의 조건을 가진 feature를 선정합니다.
(3) 특정 feature로 묶어 클러스터링 했을 때, pCTR의 분산이 해당 클러스터 내 imp 증가에 따라 감소하는 추이를 a+b*e^{-kx}로 fitting하여 decay factor k를 구합니다.
(4) (3)에서 구한 decay factor가 현 데이터셋보다 N배 큰 원본 데이터셋에서 어떻게 변화할지 계산합니다.
(5) (3)에서 구한 exp fitting curve의 x축은 '클러스터 내에서 특정 광고의 몇 번째 imp인가'입니다. 그러나 사측에서 누적하고있는 정보는 '특정 광고의 몇 번째 imp인가'이므로 두 변수를 연결해주기 위해 특정 광고가 여러 클러스터에 어떤 분포로 imp 되어왔는지를 측정합니다. 통상적으로 특정 광고가 한 클러스터에 얼마나 몰려있는지 계산함으로써 정규 가중치 e^{-kx} term의 기대적으로 최적의 형태를 찾을 수 있습니다.
4. 신규 탐색 알고리즘 제안
imp가 충분히 쌓이지 않은 광고의 pCTR은 신뢰할 수 없기에, RTB*에서 1등으로 채택된 광고가 아니라 하더라도 송출해 imp를 쌓는 탐색 알고리즘을 현재 사측은 도입중입니다. 이에 현 탐색 알고리즘의 문제점을 발견하고, 더이상 탐색되지 않아도 되는 광고의 imp 수, 클릭 수를 제시하는 것을 목표로 합니다.
*RTB: 실시간 입찰(RTB, Real Time Bidding)이란 여러 광고들의 입찰가를 기준으로 특정 지면에서 유저에게 송출될 광고를 선정하는 경매 시스템을 이르는 말입니다.
(1) 사측의 탐색 알고리즘에 의해 선정된 imp 데이터를 분석합니다.
(2) 알고리즘에 따라 1) 탐색될 필요가 없는 광고가 탐색 풀에 들어가 있고, 2) 특정 광고가 탐색 기회를 독점하고 있는 문제점을 발견했습니다.
(3) pCTR regularization term 최적화 과정에서 pCTR의 표준편차가 안정화되는 imp수와 clk 수를 탐색 풀 탈출 조건으로 제시했습니다.