Z.1.1) 최소 승리 가격(Minimum Winning Price)
최소 승리 가격이란, 경매에서 내가 이기기 위해 반드시 넘어야 하는 가장 낮은 입찰가를 의미합니다. 즉, 나를 제외한 다른 입찰자들 중 최고 입찰가가 곧 최소 승리 가격이 됩니다.
예시로, 세 명(A, B, 그리고 나)이 하나의 광고 슬롯을 두고 경쟁할 때,
- A: $0.80 입찰
- B: $0.65 입찰
- 나: 광고의 가치를 $2.00로 평가
이 경우 내 기준 최소 승리 가격은 A의 0.81(단 1센트만 더 높게)만 써내도 경매에서 이길 수 있습니다.
만약 내가 평가한 가치 그대로 0.81에 낙찰받을 수 있었음에도 불구하고 2.00 - $0.81)을 더 지불하게 됩니다. 이것이 1차 가격 경매(First-price auction)의 구조적 한계입니다.
따라서 DSP(수요측 플랫폼)의 핵심 목표는 최소 승리 가격(0.81 등)으로 입찰해 비용은 줄이고 낙찰 가능성은 확보하는 것입니다.
광고 가치만큼 무조건 써내면 비용 부담이 커지므로, 최근 DSP에서는 ‘입찰가 조정(Bid Shading)’ 전략을 적극적으로 활용합니다. 이는 불필요하게 비싼 금액을 피하면서도 필요한 만큼만 입찰해 낙찰을 노리는 방법입니다. 결국 핵심은 승률과 투자수익률(ROI) 사이에서 균형점을 찾는 데 있습니다.
Z.1.2) 딥 디스트리뷰션 네트워크(Deep Distribution Network)
본 논문에서는 최소 승리 가격 분포를 예측하기 위한 새로운 프레임워크인 딥 디스트리뷰션 네트워크를 제안합니다. 이 모델은 다양한 경매 환경에 모두 적용 가능한 통합적 접근 방식을 제공합니다.
-
비검열(Non-censored) 경매: 경매 종료 후 최소 승리 가격 정보를 받을 수 있는 경우입니다. 모델은 실제 최소 승리 가격 데이터를 활용해 확률 밀도 함수(PDF)를 직접 학습하여 분포를 추정합니다.
-
검열(Censored) 경매: 경매 결과로 낙첨/낙찰 여부만 주어지고 실제 최소 승리 가격 정보는 제공되지 않는 상황입니다. 이런 경우 누적 분포 함수(CDF), 즉 특정 입찰가에서 이길 확률을 학습하여 전체 분포를 예측합니다.
딥 디스트리뷰션 네트워크는 잘린 정규분포(truncated normal), 지수분포(exponential), 감마분포(gamma), 로그 정규분포(log-normal distribution) 등 여러 확률 분포 형태에 유연하게 적용할 수 있습니다.
실험 결과, 꼬리가 긴(minimum winning price 데이터 특성상 outlier가 많음) 데이터에는 로그 정규분포(Log-normal distribution)가 가장 효과적으로 작동했습니다.
Z.1.2.1) 네트워크 구조 (3단계)
1단계: 입력 계층 (Input Layer) 광고 요청(bid request)에 포함된 다양한 정보를 입력으로 사용합니다.
- 예시: 웹사이트 주소, 앱 이름, 광고 위치, 기기 종류, 시간 및 요일 등 수십~수백 개 특징(feature)이 벡터 로 들어갑니다.
2단계: 핵심 네트워크 (α(x) 블록) 여기가 바로 ‘Deep’에 해당하는 부분으로,
- 복잡하고 고차원적인 특징 벡터 를 받아 소수의 파라미터 로 압축 및 변환합니다.
- 는 이후 단계에서 사용할 확률 분포의 파라미터(예: 로그 정규분포라면 평균 , 표준편차 등)가 됩니다.
- 논문에서는 여러 모델 실험 후 최종적으로 FwFM(Field-weighted Factorization Machine)을 선택해 실제 서비스에 적용하였습니다:
- FwFM: 특징 간 상호작용을 효율적으로 학습하는 얕은(shallow)이면서 빠르고 실용적인 모델.
- DeepFM 및 Wide & Deep: FwFM에 딥러닝 요소를 결합한 전형적인 신경망 구조로 오프라인 테스트에서는 더 좋은 성능도 보였으나 실시간 응답 속도를 고려해 실제 서비스에는 FwFM을 사용함.
- 그럼에도 복잡한 딥러닝 구조 도입 시 추가 성능 향상 가능성을 확인하였습니다.
3단계: 출력 계층 (Distribution Layer) ‘Distribution’ 부분으로 기존 딥러닝과 가장 큰 차별점입니다.
- 일반 모델이 단일 값(예: 예측가격이나 클릭확률)을 출력한다면,
- 본 모델은 ‘최소 승리 가격’의 전체 확률 분포 자체를 출력합니다.
- 2단계에서 산출한 파라미터 로 원하는 확률 분포(예: 로그 정규분포)를 만듭니다.
- 예측된 분포와 실제 값 또는 승패 여부 정보를 비교하여 손실(loss)을 계산하고 역전파(backpropagation)를 통해 학습이 진행됩니다.
정리하면 다음과 같이 작동합니다:
다양한 광고 정보를 입력받아 → FwFM 또는 DeepFM 같은 네트워크로 핵심 파라미터를 산출 → 그 파라미터로 ‘최소 승리 가격’의 전체 확률 분포를 출력하는 딥러닝 아키텍처입니다.
Z.1.3) 실험 및 결과
연구진은 대규모 실제 광고 입찰 데이터를 이용해 오프라인 실험과 온라인 A/B 테스트 모두 수행했습니다.
Z.1.3.1) 오프라인 실험
- 제안된 모델이 기존 최고 수준 알고리즘 대비 잉여(surplus)가 눈에 띄게 높았습니다 (비검열 데이터 기준 약 9.7%, 검열 데이터 기준 약 5.3% 향상).
- 비검열 환경처럼 최소 승리 가격 정보가 있으면 성능 향상이 더욱 뚜렷하며 이 정보의 중요성이 부각되었습니다.
- DeepFM 등 복잡한 신경망 구조 도입 시 추가적인 성능 개선 잠재력이 확인되었습니다.
Z.1.3.2) 온라인 A/B 테스트
- 실제 광고 운영 시스템에 본 모델을 배치하여 실험한 결과 ROI(투자수익률)가 크게 개선됨을 확인했습니다.
- 노출 기반(CPM): 2.4%
- 클릭 기반(CPC): 2.4%
- 전환 기반(CPA): 8.6% 각 캠페인 유형별 ROI 증가 효과가 나타났습니다.
Z.1.4) 결론 및 의의
본 연구는 1차 가격 경매 환경에서 DSP들이 활용할 수 있는 효율적이고 효과적인 입찰가 조정 전략을 제시했다는 점에서 의미가 큽니다.
-
통합 프레임워크: 검열/비검열 여부와 무관하게 적용 가능한 최초의 통합형 분포 기반 입찰 조정 방법론이라는 점에서 차별화됩니다.
-
탁월한 성능: 대규모 실데이터 검증 결과 기존 방식 대비 우수성을 보였으며 상용 시스템에도 성공적으로 도입되어 효과성을 증명했습니다.
-
높은 일반성: 딥러닝 네트워크와 파라메트릭 분포 결합이라는 구조적 유연성 덕분에 다른 복잡한 신경망이나 다양한 확률분포 체계에도 쉽게 확장될 수 있습니다.
Z.1.5) FwFM (Field-weighted Factorization Machine) 이란?
FwFM을 이해하려면 먼저 **FM(Factorization Machine)**을 알아야 합니다.
-
FM (Factorization Machine): 온라인 광고 데이터처럼 매우 차원이 높고 희소(sparse)한 데이터에서 특징(feature)들 간의 상호작용을 효과적으로 학습하기 위해 고안된 모델입니다.
-
예를 들어, “나이키 웹사이트”라는 특징과 “20대 남성”이라는 특징이 함께 나타날 때 구매 전환율이 더 높을 수 있습니다. FM은 이런 ‘특징 A와 특징 B의 조합’ 효과를 똑똑하게 학습합니다.
-
핵심 아이디어는 각 특징마다 저차원의 잠재 벡터(latent vector)를 부여하고, 두 특징 간의 상호작용 강도를 이 잠재 벡터들의 내적(dot product)으로 계산하는 것입니다.
-
-
FwFM (Field-weighted Factorization Machine): FM을 한 단계 발전시킨 모델입니다.
-
광고 데이터의 특징들은 보통 ‘필드(Field)‘라는 더 큰 카테고리로 묶을 수 있습니다. (예: Publisher 필드, Device 필드, User 필드)
-
FwFM의 핵심 아이디어는 **“모든 특징 조합이 똑같이 중요하지는 않다”**는 것입니다. 예를 들어, Publisher와 User의 상호작용이 Publisher와 Time의 상호작용보다 더 중요할 수 있습니다.
-
그래서 FwFM은 특징 간 상호작용을 계산할 때, 어떤 필드 간의 상호작용인지에 따라 추가적인 가중치를 부여합니다.
-
결과적으로, 모델이 어떤 종류의 특징 조합(예: 사용자와 매체 정보의 조합)이 더 중요한지를 스스로 학습하게 하여 전반적인 예측 성능을 높입니다. 이 논문에서는 FwFM이 빠른 속도와 좋은 성능을 모두 만족시켜 최종 모델로 채택되었습니다.
-
Z.1.6) 1. 검열(Censored) 경매와 CDF
Z.1.6.1) 왜 검열(Censored) 경매는 CDF를 사용하는가?
핵심 이유는 우리가 가진 정보가 불완전하기 때문입니다.
-
비검열(Non-censored) 경매: 경매가 끝나면 “최소 승리 가격은 $0.80 이었습니다”라고 정확한 값을 알려줍니다. 이 경우, 우리는 최소 승리 가격이 정확히 얼마일 확률을 모델링할 수 있습니다. 이것이 바로 **확률 밀도 함수(PDF, Probability Density Function)**의 역할입니다.
-
검열(Censored) 경매: 경매가 끝나면 “당신은 졌습니다” 또는 “당신은 이겼습니다”라는 사실만 알려줍니다.
-
만약 내가 0.51인지, 5.00인지 정확한 값을 알 수 없습니다. 우리가 아는 정보는 오직 “최소 승리 가격 > $0.50” 라는 부등식뿐입니다.
-
이렇게 정보가 ‘검열’되어 일부만 보이는 상황에서는 특정 값의 확률(PDF)을 직접 학습하는 것이 거의 불가능합니다.
-
이때 누적 분포 함수(CDF, Cumulative Distribution Function) 가 완벽한 해결책이 됩니다. CDF의 정의는 다음과 같습니다.
F(b) = 최소 승리 가격이 b보다 작거나 같을 확률 = P(최소 승리 가격 ≤ b)
이 정의는 놀랍게도 **“내가 b라는 가격으로 입찰했을 때 이길 확률”**과 거의 같습니다. (정확히는 P(최소 승리 가격 < b) 이지만, 연속 확률 변수에서는 거의 동일합니다.)
따라서 우리가 가진 ‘승/패’라는 이진(binary) 정보는 CDF를 학습시키기에 완벽한 데이터가 됩니다.
Z.1.6.2) 어떻게 CDF를 학습에 사용하는가? (구체적인 방법)
검열된 데이터로 모델을 학습시키는 과정은 전형적인 이진 분류(Binary Classification) 문제와 동일합니다.
-
모델의 예측:
-
모델에 특정 광고 정보(x)와 내가 입찰할 가격(b)을 입력합니다.
-
모델은 **“이 입찰가 b로 이길 확률”**을 출력합니다. 이것이 바로 모델이 예측한 CDF 값, 즉 F(b) 입니다.
-
-
실제 결과 (정답 레이블):
- 실제 경매에서 이겼으면 1, 졌으면 0 입니다. 이 값을 l 이라고 합시다.
-
손실 계산 (Loss Function):
-
이제 모델의 예측(F(b))과 실제 결과(l)를 비교하여 모델이 얼마나 틀렸는지를 계산합니다. 이때 가장 널리 쓰이는 로그 손실(Log Loss) 함수를 사용합니다.
-
손실 =
-
직관적인 해석:
-
만약 이겼다면 (l=1): 손실은 -log(F(b))가 됩니다. 모델이 예측한 승리 확률 F(b)가 1에 가까울수록(즉, 잘 예측했을수록) 손실은 0에 가까워집니다.
-
만약 졌다면 (l=0): 손실은 -log(1 - F(b))가 됩니다. 1-F(b)는 패배 확률입니다. 모델이 예측한 승리 확률 F(b)가 0에 가까울수록(즉, 질 거라고 잘 예측했을수록) 손실은 0에 가까워집니다.
-
-
-
학습:
- 모델은 이 손실을 최소화하는 방향으로 내부 파라미터(가중치)를 계속 업데이트합니다. 이 과정을 수많은 데이터에 대해 반복하면, 모델은 점차 어떤 상황에서 얼마의 입찰가로 입찰해야 이길 확률이 몇 퍼센트인지를 매우 정확하게 예측하게 됩니다.
-
CDF 모델은 점(point)을 예측하지 않습니다. 최소 승리 가격의 분포(distribution), 즉 **‘확률 지도’**를 제공합니다.
-
우리는 이 ‘확률 지도’를 사용하여 다양한 입찰가에 대한 기대 잉여를 계산할 수 있습니다.
-
기대 잉여가 최대가 되는 지점을 찾음으로써, 하나의 값을 직접 예측하지 않고도 최적의 입찰가를 결정할 수 있습니다.
논문의 오프라인 실험에서는 DeepFM 같은 복잡한 모델이 더 좋은 성능을 보였음에도, 최종 온라인 서비스에는 FwFM 기반의 모델을 배포했습니다. 이러한 결정의 현실적인 이유는 무엇이라고 생각하나요? 또한, 이 모든 과정의 시작점인 ‘광고의 가치(V)‘는 실제 시스템에서 어떻게 정해질까요?”
-
기대 응답:
-
현실적 이유: “실시간 입찰(RTB) 환경은 수십 밀리초(ms) 안에 모든 계산을 끝내야 하는 매우 엄격한 지연 시간(Latency) 제약이 있습니다. DeepFM은 성능은 좋지만 FwFM에 비해 연산량이 많아 응답 속도가 느립니다. 따라서 실제 서빙 환경에서는 약간의 정확도를 희생하더라도 빠른 추론 속도를 보장하는 FwFM이 더 적합했을 것입니다.”
-
가치(V) 결정: “가치(V)는 광고주가 직접 입력하는 것이 아니라, DSP가 광고주의 캠페인 목표(예: 목표 CPA)와 자체 예측 모델(예: 전환율 예측 모델)을 통해 자동으로 계산합니다. 예를 들어, ‘V = 목표 CPA * 예상 전환율(CVR)‘과 같은 방식으로 개별 광고 노출마다 실시간으로 가치를 산정합니다.”
-
“이 논문의 접근 방식은 최소 승리 가격이 로그 정규분포와 같은 특정 단일 봉우리(unimodal) 분포를 따른다고 가정합니다. 이러한 가정의 잠재적인 한계점은 무엇이며, 만약 이 가정이 현실과 맞지 않는 경우 모델을 어떻게 개선하거나 확장해 볼 수 있을지 아이디어를 제시해 보세요.”
-
기대 응답:
-
한계점: “실제 시장의 경쟁 구도는 복잡해서 최소 승리 가격의 분포가 여러 개의 봉우리를 갖는 다봉우리(multi-modal) 형태일 수 있습니다. 예를 들어, 저가로만 입찰하는 경쟁자 그룹과 고가로 입찰하는 경쟁자 그룹이 동시에 존재할 수 있습니다. 단일 봉우리 분포 가정은 이러한 복잡한 현실을 제대로 반영하지 못해 최적의 입찰가를 찾는 데 실패할 수 있습니다.”
-
개선 아이디어: “이 문제를 해결하기 위해 **혼합 밀도 네트워크(Mixture Density Network, MDN)**를 도입해 볼 수 있습니다. MDN은 여러 개의 확률 분포(예: 여러 개의 가우시안 분포)를 혼합하여 다봉우리 형태의 복잡한 분포를 모델링할 수 있습니다. 이를 통해 더 현실적인 최소 승리 가격 분포를 학습하고, 더 정교한 입찰가 조정이 가능해질 것입니다.”
-
“이 논문의 핵심 기여는 검열(Censored) 데이터와 비검열(Non-censored) 데이터 모두에 적용 가능한 통합 프레임워크를 제시한 것입니다. 이 두 시나리오에서 모델을 훈련하는 방식이 근본적으로 어떻게 다른가요? 특히, 왜 한쪽은 PDF를, 다른 한쪽은 CDF를 사용해야만 했는지 그 이유를 설명해 주세요.”
-
기대 응답:
-
차이점: “가장 큰 차이는 사용하는 정보(Label)에 있습니다. 비검열 환경에서는 ‘정확한 최소 승리 가격’이라는 연속적인 값을 알 수 있지만, 검열 환경에서는 ‘승패 여부’라는 이진 정보만 알 수 있습니다.”
-
이유: “정보의 형태가 다르기 때문에 학습 목표가 달라집니다. 비검열 환경에서는 실제 가격 값을 아므로, 특정 가격이 나타날 확률 자체인 **확률 밀도 함수(PDF)**를 직접 추정하는 것이 가능하고 가장 효율적입니다. 반면, 검열 환경에서는 정확한 가격을 모르기 때문에 PDF 추정이 불가능합니다. 대신 ‘내가 b라는 가격으로 입찰했을 때 이길 확률’은 우리가 가진 ‘승/패’ 데이터로 직접 학습할 수 있는데, 이것이 바로 **누적 분포 함수(CDF)**의 정의와 일치하기 때문에 CDF를 사용합니다.”
-
이 논문이 해결하고자 하는 핵심 문제인 ‘입찰가 조정(Bid Shading)‘이 왜 1차 가격 경매(First-Price Auction) 환경에서 필수적인지, 그리고 논문에서 최적화 목표로 삼은 ‘잉여(Surplus) 극대화’가 비즈니스 관점에서 어떤 의미를 갖는지 설명해 주시겠어요?”
-
기대 응답:
-
Why: “2차 가격 경매에서는 광고의 실제 가치대로 입찰하는 것이 최선이었지만, 1차 가격 경매에서는 그렇게 할 경우 불필요하게 비싼 비용을 지불할 위험이 매우 큽니다. 입찰가 조정은 경매에서 이길 수 있는 최소한의 가격 근처로 입찰가를 낮춰, 불필요한 비용 지출을 막는 필수적인 최적화 과정입니다.”
-
What: “잉여(Surplus)는 ‘광고의 가치(V) - 최종 입찰가(b)‘로 정의되며, 광고주 입장에서의 ‘순이익’ 또는 ‘절약한 금액’을 의미합니다. 따라서 잉여 극대화는 단순히 경매에서 이기는 것(승률)과 최대한 싸게 이기는 것(ROI) 사이의 가장 이상적인 균형점을 찾는 것을 목표로 하며, 이는 곧 광고주의 광고 효율을 최대로 높이는 것과 직결됩니다.”
-
배포 후엔 뭘 모니터링해요? 망하면 어떻게 알아채요
질문
실서비스에서 어떤 지표/로그를 보고 “과소/과대 shading”을 판단하죠?
좋은 대답 예시
-
로그: x, 예측 분포(예: μ,σ), 선택한 b*, V, F(b*), 승/패, 지불가, 실제 클릭/전환, 캠페인/슬라이스 ID.
-
모니터:
-
승률 예측 캘리브레이션(예측 vs 실제 win),
-
지불가 대비 b*의 분포(과대면 낭비↑, 과소면 승률↓),
-
ROI/CPA/ROAS와 지출 페이싱 가드레일,
-
분포 드리프트(PSI/KL) 및 가격층(floor) 변화 탐지.
-
-
이상 시: ε 완화→스텝 제한→보수적 폴백→자동 램프다운 순서로 안전장치.
B) 5) 단봉이 안 맞거나 분포가 틀렸을 때는?
질문
GSS가 단봉 가정이라며? 환경이 변해 s(b)가 울퉁불퉁하면?
좋은 대답 예시
-
감지: 슬라이스별 **s(b) 스캔(희박 그리드)**로 봉우리 2개 이상이면 경고.
-
대응: 2단계 탐색(거친 그리드로 후보 구간 1~2개 고른 뒤 각 구간에 GSS), 또는 ternary search로 전환.
-
분포가 안 맞으면 **혼합/비모수(quantile, MDN)**로 교체하되 레이턴시 고려해 온라인은 단순·안정 모델(FwFM+로그정규) 유지, 오프라인에서만 복잡 모델 검증.
-
항상 상·하한 캡, floor-aware 하한, 캠페인별 안전 규칙을 둠.