들어가며
광고 시장이 second-price에서 first-price 경매로 옮겨가면서 광고주에게 새 문제가 생겼습니다. second-price 시절에는 자기 가치를 그대로 부르는 게 최선이었지만, first-price에서 그렇게 하면 두 번째 입찰자보다 훨씬 비싸게 사게 됩니다 — 이걸 winner's curse라고 부릅니다. bid shading은 입찰가를 적정 수준으로 깎아 이 손실을 메우는 ML 기반 기술이고, 자동 입찰 시스템의 핵심 부품입니다. 이 글은 마케터가 bid shading의 작동을 이해하고 운영 함정을 점검할 수 있게 정리합니다.

가치를 그대로 부르면 손해 — 시장 분포를 학습해 깎는다
Second-price와 First-price의 차이
Second-price (Vickrey)
가장 높은 입찰자가 이기지만, 두 번째 높은 가격을 지불합니다. 이 경매에서 광고주의 최선 전략은 "자기 가치를 그대로 부르기" — 더 적게 부르면 잃을 기회 늘고, 더 많이 부르면 비싸게 사기 때문에.
| 입찰 | 1등 가격 | 2등 가격 | 1등이 내는 돈 |
|---|---|---|---|
| A=10, B=7 | 10 | 7 | 7 |
| A=10, B=9 | 10 | 9 | 9 |
10원 가치인 A는 어쨌든 두 번째 가격을 내므로 자기 가치 그대로 부르는 게 최선.
First-price
가장 높은 입찰자가 이기고, 자기가 부른 가격을 그대로 지불합니다.
| 입찰 | 1등 가격 | 1등이 내는 돈 | A 손실 |
|---|---|---|---|
| A=10, B=7 | 10 | 10 | 10-7=3 |
| A=10, B=9 | 10 | 10 | 10-9=1 |
A가 자기 가치를 그대로 불러서 이기면 시장가(7~9)보다 높은 가격을 냅니다 — 그 차이가 winner's curse 손실.
📌 이 글의 전제
RTB·second-price·first-price 같은 단어를 한 번이라도 들어봤다고 가정합니다(rtb-bidding·gsp-first-price-bidding 참고). 자동 입찰 광고를 운영한다고 가정합니다.
왜 시장이 First-price로 옮겨갔나
Soft floor 게임
second-price 시절, publisher와 SSP가 floor를 동적으로 조정하면서 광고주가 부른 가격에 가까운 floor를 잡으면 사실상 first-price 동작을 만들 수 있었습니다 — 이게 광고주에게 불투명했고 분쟁의 원인이었습니다.
투명성 요구
광고주들이 "내가 내는 돈이 어디서 결정되는지" 묻기 시작했고, first-price는 가격 형성이 단순합니다 — 부른 대로 낸다. 2017~2019년 사이에 Google·Meta·DSP들이 점차 first-price로 전환했습니다.
Bid Shading의 작동 원리
한 줄 정의
광고주의 진짜 가치를 알지만 그대로 부르지 않고, 시장에서 이기기에 충분한 만큼만 부르는 기술입니다.
광고주의 가치( )에 시장 가격 분포의 함수( )를 곱한 값을 입찰가로 부릅니다. 시장이 평균 70%에서 거래된다면 가치의 70% 정도를 부르는 식.
Shading factor 계산
광고주는 과거 경매 데이터로 다음을 학습합니다.
- 같은 인벤토리·같은 시간대에 보통 거래되는 가격 분포
- 시장 경쟁 강도(이 인벤토리에 평균 몇 명이 입찰하는가)
- 우리 가치 대비 시장 가격 비율
이 factor가 0.6~0.9 범위에서 동적으로 변하는 게 일반적입니다.
ML 모델의 역할
Feature engineering
입찰 한 번마다 다음 feature로 shading factor를 예측합니다.
- 사이트·인벤토리 카테고리
- 사용자 시그널 (디바이스·시간대·세션 시그널)
- 시장 경쟁 강도 (입찰 슬롯 가용량)
- 과거 같은 슬롯의 거래 가격 분포
- 우리 가치 (pCTR·pCVR·pLTV 모델 출력)
Model 종류
| 모델 | 강점 | 약점 |
|---|---|---|
| Logistic regression | 학습·해석 빠름 | 비선형 관계 약 |
| Gradient boosting (XGBoost) | 비선형·feature 상호작용 강 | 학습 비용 |
| Deep learning | 대규모 데이터 강 | 학습·해석 더 비싸 |
대형 DSP는 deep learning, 중소는 boosting이 일반적.
Winner's Curse — 안 깎으면 일어나는 일
정량 손실
shading 없이 가치 그대로 부르면 평균 손실이 (가치 − 시장가) 만큼 매번 발생합니다. 시장가가 가치의 70%라면 매 노출마다 30% 손실.
광고 운영의 누적 효과
이 손실이 며칠~몇 주 누적되면 캠페인 ROAS가 크게 떨어집니다.
| 시나리오 | 평균 단가 | ROAS |
|---|---|---|
| Shading 없음 | 100 | 1.5 |
| Shading 적정 | 75 | 2.0 |
| Shading 과공격 | 65 | 1.7 (노출 감소) |
shading은 너무 보수적이어도, 너무 공격적이어도 안 됩니다.
⚠️ 과공격 shading의 함정
shading이 너무 공격적이면 입찰에 자주 지고 노출이 줄어듭니다. 노출이 줄면 학습 데이터가 줄고, 다음 라운드의 모델 정확도가 떨어져 더 보수적이 되는 악순환이 생길 수 있습니다.
Exploration vs Exploitation
Shading의 트레이드오프
- Exploitation — 학습된 shading factor를 그대로 적용 → 단가 효율
- Exploration — 가끔 더 높게 부르거나 더 낮게 불러 시장 분포 학습 → 학습 데이터
ML 모델이 시장 변화에 적응하려면 exploration이 필요합니다. 적정 비율은 5~10% 정도가 일반적.
시장 변화 감지
시장 경쟁 강도가 변하면 shading factor도 갱신되어야 합니다.
- 새 광고주 진입 → 경쟁 강해짐 → shading factor 위로
- 기존 광고주 이탈 → 경쟁 약해짐 → shading factor 아래로
- 시즌 강한 카테고리 (블랙프라이데이) → 경쟁 강해짐
이 변화를 빠르게 감지하지 못하면 며칠 동안 비효율 입찰을 합니다.
DSP·자동 입찰에서 누가 shading을 하나
DSP 내장 shading
The Trade Desk·DV360 같은 대형 DSP는 자체 shading 모델을 내장하고 광고주가 켜면 자동 적용됩니다. 광고주가 만질 다이얼이 거의 없습니다 — DSP가 알아서 합니다.
광고 플랫폼(Meta·Google) 자동 입찰
Meta·Google의 자동 입찰도 shading 비슷한 동작을 내장하고 있습니다. 광고주가 ROAS 목표를 입력하면 ML이 shading factor와 입찰가를 합쳐 알아서 적용.
자체 입찰 시스템 (대형 광고주)
자체 RTB 시스템을 쓰는 대형 광고주는 shading을 직접 구현해야 합니다. 학습 데이터·feature·exploration 비율을 직접 결정.
💡 마케터가 shading에 대해 할 일
· DSP·광고 플랫폼이 shading을 켜고 있다고 가정
· 자체 시스템 운영 시 shading 운영팀과 정기 sync
· 단가 분포 변동성에 alert (shading 학습 안정성 신호)
· 분기마다 한 번 자동 입찰 ML의 학습 안정화 점검
함의 — Shading이 광고주에게 주는 것
효율 회복
shading 없으면 first-price 시장에서 평균 단가가 30% 비싸집니다. shading은 그 30%의 일부(보통 60~80%)를 회복합니다.
가격 발견 정확
shading이 잘 작동하면 시장 가격 분포에 광고주가 적응하고, 결과적으로 시장 균형이 더 효율적이 됩니다.
작은 광고주 vs 큰 광고주
대형 광고주는 자체 shading 모델로 정밀하게 운영하고, 중소는 DSP·플랫폼 내장 shading에 의존합니다. shading 모델 정확도가 광고비 효율의 차이로 이어져 규모의 경제가 강해지는 측면이 있습니다.
분기 점검 체크리스트
가격 안정성
- [ ] 평균 단가 변동성 < 25%
- [ ] 단가 분포 시계열이 외부 충격(시즌·경쟁자) 없이 자연스러운가
- [ ] DSP·자동 입찰 ML의 학습 안정화 시간(1~2주)
노출 안정성
- [ ] 일일 노출 수 변동성 < 30%
- [ ] 입찰 승률(win rate) 30~70% 사이 (너무 낮으면 shading 과공격, 너무 높으면 보수적)
- [ ] reach 분포가 캠페인 목표 세그먼트와 일치
Shading 운영 (자체 시스템)
- [ ] exploration 비율 5~10% 유지
- [ ] feature·모델 분기마다 retrain
- [ ] 시장 충격 시 fast-update 메커니즘
함정 모음
- shading 없이 가치 그대로 부름 — 평균 30% 비싸게 삼
- shading 과공격 — 입찰에 자주 짐, 학습 데이터 부족 악순환
- exploration 0 — 시장 변화 감지 불가
- 모델 retrain 안 함 — 시장 충격 후 며칠 비효율
- win rate 모니터링 부재 — shading 동작 가시성 0
마치며
Bid shading은 first-price 시장에서 광고주가 winner's curse를 피하는 핵심 ML 기술이고, 자동 입찰 시스템의 보이지 않는 부품입니다. 마케터가 직접 shading factor를 만질 일은 거의 없지만, 그 작동을 이해하면 단가 변동성과 win rate 모니터링이 의미를 갖게 됩니다. 분기마다 한 번 단가·win rate·노출 안정성을 점검하면 자동 입찰 시스템의 건강 상태를 파악할 수 있습니다.
다음 분기에 한 번만 시도해 볼 만한 것은 win rate 분기 KPI를 정식으로 추가하고, 30~70% 범위에서 벗어나는 캠페인에 대해 자동 입찰 설정을 점검하는 흐름입니다. shading 동작의 이상 신호를 빠르게 잡을 수 있습니다.
{/* TODO_HUNY: 우리 캠페인의 평균 win rate와 분기 변동성 한 단락 */}
참고
- "Bid Shading in First-Price Auctions" (Karlsson et al., 2019): https://arxiv.org/abs/1908.06605
- The Trade Desk, "How bid shading works": https://www.thetradedesk.com/us/news
- "First-price auctions in display advertising" (Despotakis et al., 2021): https://arxiv.org/abs/2007.03746
- Magnite, "First-price auction transition": https://www.magnite.com/blog/first-price-auctions/
- "Winner's curse in online advertising" (Chen et al., 2014): https://research.google/pubs/pub42301/
Top comments (0)