22
Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising Kuang-chin Lee, Ali Jalali, Ali Dasdan Turn Inc., Redwood City, CA, USA (2013)

Real time bid optimization with smooth budget delivery in online advertising

  • Upload
    -shima

  • View
    1.147

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Real time bid optimization with smooth budget delivery in online advertising

Real Time Bid Optimization with

Smooth Budget Delivery in Online

Advertising

Kuang-chin Lee, Ali Jalali, Ali DasdanTurn Inc., Redwood City, CA, USA

(2013)

Page 2: Real time bid optimization with smooth budget delivery in online advertising

モチベーション

・広告出稿の入札をする側

 - millisecondオーダーでの入札の実現 - その上でターゲットユーザへのリーチを可能にする - ターゲットは広くしておきたい - 予算の最適化とパフォーマンスの最適化を同時に実現  ⇒ 質の高いimpと入札金額の最適化を実現するアルゴリズムの作成

・課題

 - トラフィックに応じたバランスの良い投資  ・・・ 一様投資では解決できない - 滑らかな予算配分の実現  ・・・ CPC,CPA,CTR,ARなどが高い時間帯で多くの投資を行いがち     機会の喪失

   ⇒ 予算をタイムスロット毎に分割する

本論文ではこの課題を解決する予算最適化法を提案本論文ではこの課題を解決する予算最適化法を提案本論文ではこの課題を解決する予算最適化法を提案本論文ではこの課題を解決する予算最適化法を提案

(基本は線形計画問題)(基本は線形計画問題)(基本は線形計画問題)(基本は線形計画問題)

Page 3: Real time bid optimization with smooth budget delivery in online advertising

Overview of Ad Call Flow

・本論文の貢献

 - 予算とパフォーマンス(CPC,CTR etc)の両面の最適化を実現できる - トラフィックに応じた予算最適化を実現できる(滑らかな予算投資の実現)

Page 4: Real time bid optimization with smooth budget delivery in online advertising

Problem Setup and Formulation

(smooth delivery of budget)・タイムスロット別の予算的課題

・ゴールとなる指標と制約条件

(1)

(2)

タイムスロット毎タイムスロット毎タイムスロット毎タイムスロット毎

の予算の予算の予算の予算

タイムスロット毎タイムスロット毎タイムスロット毎タイムスロット毎

の予算の予算の予算の予算

dailyの予算の予算の予算の予算dailyの予算の予算の予算の予算

獲得した価値獲得した価値獲得した価値獲得した価値獲得した価値獲得した価値獲得した価値獲得した価値

広告主のコスト広告主のコスト広告主のコスト広告主のコスト広告主のコスト広告主のコスト広告主のコスト広告主のコスト

time slot tで消で消で消で消費された予算費された予算費された予算費された予算

time slot tで消で消で消で消費された予算費された予算費された予算費された予算

eCPMの上限値の上限値の上限値の上限値eCPMの上限値の上限値の上限値の上限値

time slotは個々のキャンペーンの個別のimpの価格の分散が最小になるように設定する

入札回数入札回数入札回数入札回数入札回数入札回数入札回数入札回数

Page 5: Real time bid optimization with smooth budget delivery in online advertising

Problem Setup and Formulation

(smooth delivery of budget)・消費予算の因数分解(予算制約(1)式からの導出)

・各time slotでの投資率の更新式

(3)win_rate(t)win_rate(t)

pacing_rate(t)pacing_rate(t)

slot tで得られる全で得られる全で得られる全で得られる全

ての広告リクエストての広告リクエストての広告リクエストての広告リクエスト

ののののindex一式一式一式一式

slot tで得られる全で得られる全で得られる全で得られる全

ての広告リクエストての広告リクエストての広告リクエストての広告リクエスト

ののののindex一式一式一式一式

(4)

slot tで得られる広告リクエストの総数で得られる広告リクエストの総数で得られる広告リクエストの総数で得られる広告リクエストの総数slot tで得られる広告リクエストの総数で得られる広告リクエストの総数で得られる広告リクエストの総数で得られる広告リクエストの総数

予測値予測値予測値予測値予測値予測値予測値予測値

※(4)が滑らかな予算投資のためのシンプルなフィードバックコントロールを実現する

Page 6: Real time bid optimization with smooth budget delivery in online advertising

Problem Setup and Formulation

(smooth delivery of budget)・time slot tの1期先の予算bt+1の算出

(7)

Click or CVの予測確率の予測確率の予測確率の予測確率Click or CVの予測確率の予測確率の予測確率の予測確率

(8)

time slot tの時間的長さの時間的長さの時間的長さの時間的長さ(sec etc)time slot tの時間的長さの時間的長さの時間的長さの時間的長さ(sec etc)

L(t)ががががtによって異なる場合によって異なる場合によって異なる場合によって異なる場合L(t)ががががtによって異なる場合によって異なる場合によって異なる場合によって異なる場合

予算一様配分の場合予算一様配分の場合予算一様配分の場合予算一様配分の場合予算一様配分の場合予算一様配分の場合予算一様配分の場合予算一様配分の場合 一様配分でない場合一様配分でない場合一様配分でない場合一様配分でない場合一様配分でない場合一様配分でない場合一様配分でない場合一様配分でない場合

L(t)が各が各が各が各tで一様な場合で一様な場合で一様な場合で一様な場合L(t)が各が各が各が各tで一様な場合で一様な場合で一様な場合で一様な場合

(5)

(6)

※※※※pj=0の場合、の場合、の場合、の場合、slot tで広告を全く出さないことになってしまうので、一様配分と混ぜることでそれを防ぐで広告を全く出さないことになってしまうので、一様配分と混ぜることでそれを防ぐで広告を全く出さないことになってしまうので、一様配分と混ぜることでそれを防ぐで広告を全く出さないことになってしまうので、一様配分と混ぜることでそれを防ぐ

Page 7: Real time bid optimization with smooth budget delivery in online advertising

Problem Setup and Formulation(selection High Quality Ad Requests –Flat CPM)

・imp, bids, reqsの算出 - goalは単純に   現在のslotのpacing rateを考慮した投資すべきリクエストを選択すること

固定された入札価格固定された入札価格固定された入札価格固定された入札価格 = 各各各各time slot のののの ciの統計量を計算するために使用するの統計量を計算するために使用するの統計量を計算するために使用するの統計量を計算するために使用する

データの日数での平均値データの日数での平均値データの日数での平均値データの日数での平均値

固定された入札価格固定された入札価格固定された入札価格固定された入札価格 = 各各各各time slot のののの ciの統計量を計算するために使用するの統計量を計算するために使用するの統計量を計算するために使用するの統計量を計算するために使用する

データの日数での平均値データの日数での平均値データの日数での平均値データの日数での平均値

ヒストリカルデータから算出した値

Page 8: Real time bid optimization with smooth budget delivery in online advertising

Problem Setup and Formulation(selection High Quality Ad Requests –Flat CPM)

・CTR,ARによるフィルター

CTRまたはまたはまたはまたはARに基づいたに基づいたに基づいたに基づいた

time slot tにおけるリクエスト数(の分布)におけるリクエスト数(の分布)におけるリクエスト数(の分布)におけるリクエスト数(の分布)

CTRまたはまたはまたはまたはARに基づいたに基づいたに基づいたに基づいた

time slot tにおけるリクエスト数(の分布)におけるリクエスト数(の分布)におけるリクエスト数(の分布)におけるリクエスト数(の分布)

q(s)がヒストリカルデータから算出されるため、現状を正確に反映したデータとならないがヒストリカルデータから算出されるため、現状を正確に反映したデータとならないがヒストリカルデータから算出されるため、現状を正確に反映したデータとならないがヒストリカルデータから算出されるため、現状を正確に反映したデータとならない

    ⇒⇒⇒⇒ adリクエストとかけ離れている場合リクエストとかけ離れている場合リクエストとかけ離れている場合リクエストとかけ離れている場合ττττ(t)に不安定さを招くことがあるに不安定さを招くことがあるに不安定さを招くことがあるに不安定さを招くことがある

当該フィルタがかかえる課題当該フィルタがかかえる課題

これを解決するためにこれを解決するためにこれを解決するためにこれを解決するためにττττ(t)に信頼区間を設けるに信頼区間を設けるに信頼区間を設けるに信頼区間を設ける

CTRまたはまたはまたはまたはARCTRまたはまたはまたはまたはAR

(9)

Page 9: Real time bid optimization with smooth budget delivery in online advertising

Problem Setup and Formulation(selection High Quality Ad Requests –Flat CPM)

・τ(t)の信頼区間(閾値)計算

※τ(t)はガウス分布を仮定

Adリクエスト採択下限Adリクエスト不採択上限

統計量を計算するために使用す

るデータの日数

統計量を計算するために使用す

るデータの日数

※閾値はslot毎に計算される

※※※※ττττ(t)の値が上限と下限の間であればの値が上限と下限の間であればの値が上限と下限の間であればの値が上限と下限の間であればpacing_rate(t)の確率で入札を行うの確率で入札を行うの確率で入札を行うの確率で入札を行う

→→→→ v*の計算に移るの計算に移るの計算に移るの計算に移る

(10)

Page 10: Real time bid optimization with smooth budget delivery in online advertising

Problem Setup and Formulation(selection High Quality Ad Requests –Dynamic CPM)

計算手順

 1) c*の計算 2) baseとなる入札価格の算出

   ui = AR×G

適切な入札価格で入札するために適切な入札価格で入札するために適切な入札価格で入札するために適切な入札価格で入札するためにpacing_rateをををを3つの領域つの領域つの領域つの領域に分けに分けに分けに分け

るるるる 0≦≦≦≦ββββ1 ≦≦≦≦ ββββ2≦≦≦≦1(a) safe region::::pacing_rate(t) ≦≦≦≦ ββββ1      問題なく勝てる      問題なく勝てる      問題なく勝てる      問題なく勝てる

(b) Critical region::::ββββ1≦≦≦≦pacing_rate(t)≦≦≦≦ββββ2  普通に勝てる  普通に勝てる  普通に勝てる  普通に勝てる

base bid pricebase bid price3) pacing_rate(t)によって入札価格を調整し決定する

予測値予測値予測値予測値予測値予測値予測値予測値

(c) Danger region::::ββββ2≦≦≦≦pacing_rate(t)                     十分な十分な十分な十分なimpは獲得できは獲得できは獲得できは獲得でき

ないないないない

目標とする目標とする目標とする目標とするCPA値値値値目標とする目標とする目標とする目標とするCPA値値値値

※※※※式式式式(3),(4)よりよりよりよりpacing_rate(t)の予測値はの予測値はの予測値はの予測値はwin_rate(t+1)の逆数に比例するため、の逆数に比例するため、の逆数に比例するため、の逆数に比例するため、

勝率が低いと大きくなる(?)勝率が低いと大きくなる(?)勝率が低いと大きくなる(?)勝率が低いと大きくなる(?)

Page 11: Real time bid optimization with smooth budget delivery in online advertising

Problem Setup and Formulation(selection High Quality Ad Requests –Dynamic CPM)

(b) Critical region::::ββββ1≦≦≦≦pricing_rate(t)≦≦≦≦ββββ2の場合の場合の場合の場合

(c) Danger region::::ββββ2≦≦≦≦pacing_rate(t)の場合の場合の場合の場合

 - - - - まずこの領域にいる理由を考えるまずこの領域にいる理由を考えるまずこの領域にいる理由を考えるまずこの領域にいる理由を考える

        1) リクエストをリジェクトしすぎているリクエストをリジェクトしすぎているリクエストをリジェクトしすぎているリクエストをリジェクトしすぎている

            ⇒⇒⇒⇒ オーディエンスターゲティングの縛りがきつ過ぎるオーディエンスターゲティングの縛りがきつ過ぎるオーディエンスターゲティングの縛りがきつ過ぎるオーディエンスターゲティングの縛りがきつ過ぎる

        2) 入札価格が低すぎる入札価格が低すぎる入札価格が低すぎる入札価格が低すぎる

            ⇒⇒⇒⇒ 次の式を適用次の式を適用次の式を適用次の式を適用

---- ベストな入札価格の学習を行うベストな入札価格の学習を行うベストな入札価格の学習を行うベストな入札価格の学習を行う

(a) safe region::::pacing_rate(t) ≦≦≦≦ ββββ1の場合の場合の場合の場合

入札価格入札価格入札価格入札価格入札価格入札価格入札価格入札価格

落札価格落札価格落札価格落札価格落札価格落札価格落札価格落札価格ヒストグラムヒストグラムヒストグラムヒストグラムθθθθの下の下の下の下1~~~~2パーセンタイル値(経験的パーセンタイル値(経験的パーセンタイル値(経験的パーセンタイル値(経験的

に選択?)に選択?)に選択?)に選択?)

ヒストグラムヒストグラムヒストグラムヒストグラムθθθθの下の下の下の下1~~~~2パーセンタイル値(経験的パーセンタイル値(経験的パーセンタイル値(経験的パーセンタイル値(経験的

に選択?)に選択?)に選択?)に選択?)

データを蓄積しヒストデータを蓄積しヒストデータを蓄積しヒストデータを蓄積しヒスト

グラムを作成グラムを作成グラムを作成グラムを作成

データを蓄積しヒストデータを蓄積しヒストデータを蓄積しヒストデータを蓄積しヒスト

グラムを作成グラムを作成グラムを作成グラムを作成

(11)

入札価格の上限入札価格の上限入札価格の上限入札価格の上限入札価格の上限入札価格の上限入札価格の上限入札価格の上限

Page 12: Real time bid optimization with smooth budget delivery in online advertising

Practical Issues

(Cold Start Problem)

・コールドスタート問題をどのように解決するか

 - 既存の似たようなキャンペーンのデータを使用する  (高い質のwebサイト/オーディエンスグループ) - - - - Contextual-Epsilon-greedy strategy(多腕バンデッドアルゴリズムの(多腕バンデッドアルゴリズムの(多腕バンデッドアルゴリズムの(多腕バンデッドアルゴリズムの

   一種)を使う   一種)を使う   一種)を使う   一種)を使う

※詳細不明

Page 13: Real time bid optimization with smooth budget delivery in online advertising

Practical Issues

(Prevention of Overspending)

・予算の枯渇の防止策

 - 各time slotの予算bt+δを超えた場合は次のtime slotまで入札を中止

Page 14: Real time bid optimization with smooth budget delivery in online advertising

Practical Issues

(Distributed Architecture)

前出の前出の前出の前出のCVR算出アルゴリズムを使用算出アルゴリズムを使用算出アルゴリズムを使用算出アルゴリズムを使用

本稿で提案されたアルゴリズムは本稿で提案されたアルゴリズムは本稿で提案されたアルゴリズムは本稿で提案されたアルゴリズムは

分散処理環境とよく馴染むらしい分散処理環境とよく馴染むらしい分散処理環境とよく馴染むらしい分散処理環境とよく馴染むらしい

Page 15: Real time bid optimization with smooth budget delivery in online advertising

Comparison of Pacing Strategies

・理想値との乖離(予算の一様配分を理想とした場合)

-dailyの誤差は約1%に収まった

Page 16: Real time bid optimization with smooth budget delivery in online advertising

Comparison of Pacing Strategies

・理想値との乖離(time slotによって投入予算が異なる場合)  

-理想の投資配分

Page 17: Real time bid optimization with smooth budget delivery in online advertising

Comparison of Pacing Strategies

・理想値との乖離(time slotによって投入予算が異なる場合)  

-理想の投資配分との乖離

-dailyの誤差は約2.3%

Page 18: Real time bid optimization with smooth budget delivery in online advertising

Evaluation of Real Campaign Performance

・flat CPM campainの場合 - CTRを最大化する事を目指す・dynamic CPM campainの場合 - CPCの最小化およびCPAの最大化を目指す

Page 19: Real time bid optimization with smooth budget delivery in online advertising

Evaluation of Real Campaign Performance

・実験条件

 - 異なるカテゴリの広告主のキャンペーンについて1週間稼働後、   2週間分のデータを使って比較

Page 20: Real time bid optimization with smooth budget delivery in online advertising

Evaluation of Real Campaign Performance

・vs baseline model(in flat CPM campains) - baselineはτ(t)をpacing rateを元に単純に算出する既存のモデル

※baselineの詳細不明

- 平均して123%パフォーマンスが改善

Page 21: Real time bid optimization with smooth budget delivery in online advertising

Evaluation of Real Campaign Performance

・vs baseline model(in dynamic CPM campains) - baselineはpacing rateを一様にした既存のモデル

※baselineの詳細不明

- 平均CPCは19.02%、CPAは30.87%のliftとなった

Page 22: Real time bid optimization with smooth budget delivery in online advertising

Conclusion

・結論

 - パフォーマンスと滑らかな予算配分の最適化をリアルタイムで行う   一般化された単純な手法を提案した

 - 予算のunderpacingもoverpacingもないアルゴリズムを提案した - 大量データを処理できるモデルを提案した - 将来はもっと多くのデータをオンライン処理できるモノを完成させたい

・感想

 - 価値vについての記載がない(購買額とかCTRとかでいいのか?) - win_rate(t)は過去データから単純に算出しているのか? - ε、δ、βに関しても過去データから人間が決定? - 詳細が書いて無い部分があり残念 - やっている事は単純 - 理論的背景がかっちりした手法との比較結果を見たい