広広広広広広広広広 DSP のののののの Masakazu Sano ( のの のの ), @masa_s3 の 54 の TokyoWebmining 6/25( の ) @ FreakOut 1
広告機械学習最前線 DSP の中身を知る
Masakazu Sano ( 佐野 正和 ), @masa_s3
第 54 回 TokyoWebmining 6/25( 土 ) @ FreakOut
1
Agenda• イントロダクション
• 自己紹介• まえおき
• DSP の概念を知る• DSP の入札ロジック
• CTR(CVR) 予測モデル• 予算消化コントローラー• 入札価格決定関数
• まとめ
※ CTR: Click through rate, CVR: conversion rate
2
イントロダクション
3
自己紹介佐野正和 (Masakazu Sano) @Masa_s3
素粒子物理学理論 -> Fringe81 ->
現在は FreakOut のサイエンスチームリーダー - DSP のパフォーマンス改善 ( 文献調査、入札ロジック・予測器のモデル構築、オフライン・オンライン検証、本番実装 ) 。- 調べて作って改善を繰り返す実践重視スタイル。
4
まえおき TokyoWebmining では、過去にアドテク関連のトークがたくさんある。似てるような話は避けたい。 過去トークを個人的独断で大別すると次の二つに分類できる印象。
• 機械学習・統計モデルなどの理論重視トーク• バンディットアルゴリズム• クリック (CTR) 予測モデル• アトリビューションモデリング、確率過程• ・・・
• アドテクビジネス活用事例トーク• アドテク全般の紹介• ネット広告配信システム全般の紹介• アドネットワークの紹介• ・・・
さらに、機械学習モデル個別の解説も巷にはすぐれた解説資料が既にたくさんある。 5
本日話したいこと• 機械学習の手法がどのように DPS の入札ロジックに活用されているか、全体像を説明します ( 個別ロジックの詳細には立ち入りません ) 。• 米アドテクノロジー企業 Turn が発表した論文に沿って具体的に説明します。
• こちらの論文ではクリックやコンバージョン予測器や入札金額調整がどのようにロジックに組み込まれているか DSP 全体の簡易フレームワークを提案しています。• 発表では上記論文のフレームに沿いつつ、予測器など各機能は別論文を参照しながら進行させていただきます。
- Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising, ADKDD '13 Proceedings of the Seventh International Workshop on Data Mining for Online Advertising
6
入札プロセス
ログ集計&学習活用プロセス- Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising
この流れに沿って説明します - 詳細は後のスライドで
7
DSP の概念を知る
8
インターネット広告の主な登場人物 ( 発表に必要なところのみ )
• 広告主:広告を出したい。売上を増やしたい• メディア ( 媒体 ) : 広告を出すスペース ( 広告枠 ) を提供。収益を上げたい• DSP(Demand Side Platform): 広告主が広告を出す ( 枠の買い付け ) 手助けをするシステム• SSP(Supply Side Platform): メディアの広告枠をマネタイズを手助けするシステム
9
ネット広告売買の世界: Real Time Bidding(RTB)• SSP が impression のオークションを仕切って、それに複数の DSP が参加するイメージ。 1-bid request 毎に広告枠の取引が発生する世界。
DSP1
DSP2
DSP3
SSP
いくらで配信するの?
¥10
¥30
¥20
DSP2 を配信
ユーザ ID, 広告サイズ等を開示10
Bid request
Bid response
オークションの参加者が増えると• Media (SSP)
• オークションの参加者が多ければターゲットとなりうる広告主に高値で広告枠を売ることができる。• 儲かる。
• Advertiser (DSP)• 人 × 枠で効率良くターゲット層に情報を届けることができる。• 儲かる。
• ユーザ ( 広告を見る人 )• 必要な広告がタイミングよく出る ( 理想 )• あ、これなんか気になるかもー
Media 、 Advertiser 、ユーザにとって良い状況が実現される可能性が高まる。
オークション制だとなにがいいの?
11
では bidRequest を受け取ったときに DSP 内部で行われることを覗いてみましょうDSP1
DSP2
DSP3
SSP
いくらで配信するの?
¥10
¥30
¥20
DSP2 を配信
ユーザ ID, 広告サイズ等を開示12
Bid request
Bid response
……
……
……
…
SSP
Campaign
Advertiser
上限日予算を管理
上限入札金額を管理
• DSP は複数広告主の配信を取り扱う。• 配信するために広告主単位で入稿設計が必要
( セグメントなど )• 通常、広告主単位に複数のキャンペンとその配下に広告グループが連なる。• 配信設計がそもそもパフォーマンスに影響する ( 機械学習がうまく機能するかにも ) 。
Adgroup(bid)
DSP の内部構造の概略図
DSP
13
……
……
……
…
Bid request SSP
Pacing/Matching (Ranking) process
• SSP から request が届く。• どの広告主の広告を配信するか内部決定する必要がある。内部オークションの実施。
どれを出そうかな
14
……
……
……
…
Bid request SSP
Pacing/Matching (Ranking) process
チェック項目• やってきた bid
request に対して予測 CTR/CVR が高いか• 予算消化状況はどうか
• 一つの広告主だけ配信が偏らないようにする• などなど
15
……
……
……
…
Bid request SSPBid price
Pricing process
入札金額は• 選ばれた対象の予測 CTR/CVR, 消化状況 , CPAなどを総合評価して決定する。
※CPA: cost per Acquisition/Action
内部入札が遅れると入札に参加すらできない!
50 msec or die !
16
……
……
……
…
SSP2nd price
ad
Win !
17
入札プロセス
ログ集計&学習活用プロセス- Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising
改めてまとめ
18
•CTR(CVR) 予測モデル•予算消化コントーローラー•入札価格決定関数
DSP の入札 ( 配信枠購入 ) ロジックの主な構成要素
19
各ロジックの解説Bid-request が来た後のプロセスをトレースしながら説明
20
CTR(CVR) 予測モデル
21
- Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising 22
CTR/CVR prediction• Click や CV するユーザを予想したい (2値分類 ) 。• なぜなら無駄な配信を抑制したいから。•歴史的にロジスティック回帰 ( の派生 ) が良く使われている
• 扱いやすい ( 理論・実装・解釈 )• 入札サーバで高速 & リアルタイムに予測値を計算できる (50msec or die) 。
23
CTR/CVR prediction• より高性能な予測器
• Factorization Machines (model) + ftrl (follow the regularized leader) (optimizer)
• 最近だと FM は Hivemall に実装されている• Ftrl は精度を大きく下げずに次元削減してくれる。実用上良い性質を持つ
- Ad Click Prediction: a View from the Trenches
FTRL: クラシックな機械学習の入門 7. オンライン学習, オンライン機械学習過去の全 round の損失を最小 化するような w を選ぶ ( 正則化項入り )最適化手法
24
CTR/CVR prediction• Factorization Machines
• 大雑把に表すとロジスティック回帰+2次の特徴量相互作用項。• 素朴に相互作用項を足すと予測能力が向上すると想定される。• しかしアドテク分野では典型的な特徴量次元は O(2^24) より大きい
• 次元削減しなければ O(2^27) 次元以上• 広告枠の情報が非常に多い
• このため普通に2次項を計算すると、計算量が計算量が O(N×N) 増大し、高速で予測値を計算できなかったり、モデル学習に時間が掛かり過ぎてしまい実用に耐えない。25
CTR/CVR prediction• Factorization Machines
• FM では2次の特徴量ウェイト (Matrix) をベクトルのテンソル積に分解することで計算量が O(kN) (k=o(10-100)) 程度になる。
- Factorization Machines より引用 26
CTR/CVR prediction• Factorization Machines
• FM では2次の特徴量ウェイト (Matrix) をベクトルのテンソル積に分解することで計算量が O(kN) (k=o(10-100)) 程度になる。
- Factorization MachinesO(n)
識別の分解能が上がる。1 次項のみ: #A=O(N) 個のウェイトで識別2 次項: ( 大雑把に ) #A*B=O(N*N) 個 のウェイトで識別
27
CTR/CVR prediction• Factorization Machines
• 精度も高い傾向にある ( 参照はレコメンデーションの結果 ) 。
- Factorization Machines 28
予算消化コントーローラー
29
- Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising
FM
FM30
なぜ配信 ( 消化 ) ペースをスムースにするのか
Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising より
• 広告主はできるだけ安くお客様の購入や資料請求などの消費行動を促したい。• 安くの指標: CPA = 消化金額 / クリックコバンージョン数
• 高性能な CVR 予測で低い予測 CVR のリクエストをフィルタしたい。• 可能な限り滑らかに日予算を消化させたい ( 機会損失を防ぐ )
• 滑らかの意味は1日の途中で予算を使いきり配信されない期間を作らないと同じ意味
31
AdWords and Generalized On-line Matching, Metha, Saberi, Vazirani and Vazirani, JACM2007
Total budget of bid i
amount of money spent by bid i
Bid price of bidiオペレータが設定する初期入札値
• 素朴には、消化が未達で入札金額が高めのものから優先的に配信するとスムーシングされると考えられる。• 消化しやすさだけ考えて配信順序を決めるので効率が下がる可能性がある (CPC, CPA悪化 ) 。
素朴な配信スムーシング
32
素朴な配信スムーシング
• CPC や CPA を悪化させないためには CTR/CVR 予測器も活用すればいいのではないかと思いつく (無駄配信を抑制 )
• しかし、どう活用するかは自明ではない• なぜなら次の前提条件があるため
33
• 前提条件• Bid request がやって来た時点でどの広告主のキャンペンを配信対象 ( 入札候補 ) にするか決まっていない (DSP は複数の広告主・キャンペンを扱っている ) 。• 配信枠やブラウザの情報など広告主以外のメディア情報のみ届く• Bid request を受け取った直後、 1 リクエスト毎にたくさんある広告主の中から配信すべきキャンペンを1つ決めなければならない。
• 短時間で全ての広告主を探索することは困難なので、効率良く探索する必要がある ( 入札に遅れるとオークションに参加できない ) 。
SSP DSP特徴量ベクトル
34
紹介するスムーシング & マッチングロジックSmart Pacing for Effective Online Ad Campaign Optimization Xu, Lee, Li, Qi, Lu (Yahoo inc.) KDD2015 ( 当時 Yahoo inc.)
• 論文の特徴• 消化ペースと CTR/CVR/CPA を同時評価するモデル。• ヒューリティクスを許容したシンプルで実用重視のフレーム• 各時刻での最適予算を計算• Feedback制御を活用して配信対象を抽出 (Optimal ではない )
• 良い CVR/CTR 予測モデルがすでにあることが前提。35
Matching process
ian Xu et al.(YahooInc.)https://sites.google.com/site/jianxuhome/kdd-smartpacing-slides.pdf?attredirects=0
• キャンペンごとに layer という概念を定義する (layer 数の決め方の記述は見当たらない )
• 基本的にリクエストの品質ごとにレイヤが決められる。• 予測 CTR で同じことができる。
36
Matching process
ian Xu et al.(YahooInc.)https://sites.google.com/site/jianxuhome/kdd-smartpacing-slides.pdf?attredirects=0
For each campaign
• Layerごとに off-line で pacing rate を計算
• 基本的に高い予測値が割り当てられる high responding layer に高い pacing rate が割り当てられる (厳密には消化も加味される ) 。• レイヤーの中には複数のキャンペンが含まれる• 各レイヤで含むキャンペンは異なる• キャンペンが大量にあるのでリクエスト毎に全てのキャンペンの予測値を計算できない。• レイヤーを選択して、その中のキャンペンに絞って予測値を計算。• もし、予測値がレイヤーの許容
CVR/CTR以下ならば入札をやめる。
Pacing rate
37
Matching process
ian Xu et al.(YahooInc.)https://sites.google.com/site/jianxuhome/kdd-smartpacing-slides.pdf?attredirects=0
For each campaign• サンプリングしてレイヤーを決める• Paching rate が高いと選ばれやすい
38
Matching process
ian Xu et al.(YahooInc.)https://sites.google.com/site/jianxuhome/kdd-smartpacing-slides.pdf?attredirects=0
For each campaign 入札候補
。。。。。。
pCTR or pCVR
39
各レイヤの pacing rate r を決めるロジック
- Smart Pacing for Effective Online Ad Campaign Optimization
過去の消化状況をみて将来の最適な予算をスケジューリング
Pacing rate の計算
最適化Feedback (ヒューリスティック )
消化スケジュール残り予算
各時刻ごとの目標消化学
これまでの消化
レイヤーごとの消化
40
Matching process
• Online blind A/B test with 50%-50% traffic and budget split;
• Baseline: probabilistic throttlingwith global pacing rate(equivalent to one-layerSmartPacing);
• SmartPacing: 8 layers of ad request groups.
• Pacing rate によって CTR が高く、かつ消化が上限までに余裕があるものレイヤから優先的に配信されるため、 CPC が下がったと思われる。• 常識的には高 CVR/CTR のレイヤは消化が少ないと思われるので、優先される。
- Smart Pacing for Effective Online Ad Campaign Optimization 41
入札価格決定関数
42
- Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising
FM
FM
Smoothing with quality
43
pricingせっかく消化状況と予測値の高いリクエストを選んでも、入札価格が低いとオークションで負けてしまう。
• 予測 CTR/CVR が高ければ高い金額で入札• 勝率が上がる• 消化促進&クリック /顧客獲得増加• ただし、入札金額を高くしすぎると落札額が高まりすぎて CPA/CPCが悪化するので注意が必要
44
user
bid
ad
だいたいオペレータが設定する CPC単価初期値
• 平均予測 CTR より高いリクエストには強く入札する。• 平均予測 CTR より低い入札は控える。• 実装や運用が簡単• 予測値の分布が正規分布とは限らないので平均予測値に微調整が必要になる場合がある
- Bid Optimizing and Inventory Scoring in Targeted Online Advertising KDD12 (当時 )media 6 degrees(->Dstillery)
Scaling factor
45
- Bid Optimizing and Inventory Scoring in Targeted Online Advertising
strategy2
0.8 1.2
• Strategy0: オペレータの手動調整• Strategy1:
• Strategy2:
論文では3つの strategy を検証
46
• CVR は向上• 予測値の高いリクエストを強気で買う戦略が効いている
• CPA最適化はベースラインとそれほど変わらず• 良いリクエストを強気で買うことのみ考え消化の概念が入ってないので当たり前
• このモデルではおそらく Pacing は考えられていない• オペレータ強し!• 改善するためには消化効率や勝率なども取り入れる必要がある。
- Bid Optimizing and Inventory Scoring in Targeted Online Advertising 47
まとめ
48
入札プロセス
ログ集計&学習活用プロセス- Real Time Bid Optimization with Smooth Budget Delivery in Online A
dvertising
FM
FM
Smoothing with quality
scaling
49
• DSP の入札ロジックを解説• 重要な構成要素は
• CTR(CVR) 予測モデル• 予算消化コントーローラー• 入札価格決定関数
• システム的にはそれぞれ独立にできる点がメリット• 改善サイクルを早く進めれる。
• 機械学習を運用するには可能な限り専用のシステムリソースを確保できることが望ましい。• 予測器を複数同時に学習させたい• オンライン・オフライン検証を同時並行させたい。
• 機械学習をフルパワーで活用するにためには結構お金が必要かもしれない。
参考文献- Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising
- Smart Pacing for Effective Online Ad Campaign Optimization
- Bid Optimizing and Inventory Scoring in Targeted Online Advertising
- Feedback Control of Real-Time Display Advertising
- Optimal Real-Time Bidding for Display Advertising
- Factorization Machines
- Ad Click Prediction: a View from the Trenches
- Review :Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising
- WSDM 2016 勉強会: Feedback Control of Real-Time Display Advertising
- [SLIDE]Smart Pacing for E ective Online Ad Campaign Optimization 50
補足資料
51
Matching process
- Smart Pacing for Effective Online Ad Campaign Optimization52
Matching process
- Smart Pacing for Effective Online Ad Campaign Optimization53
Matching process
- Smart Pacing for Effective Online Ad Campaign Optimization
54