Fingind the right consumer - optimizing for conversion in display advertising campagns

32
Fingind the Right Consumer: Optimizing for Conversion in Display Advertising Campagns Yandong Liu, Sandeep Pandey, Deepak Agarwal, Vanja Josifovski Carnegie Mellon, 5000 Forbes Avenue, Pittsburghm, PA 15213, USA Yahoo Inc., 4301 Great America Parkway, Santa Clara, CA 95054, USA (WSDM 2012)

Transcript of Fingind the right consumer - optimizing for conversion in display advertising campagns

Page 1: Fingind the right consumer - optimizing for conversion in display advertising campagns

Fingind the Right Consumer:

Optimizing for Conversion in

Display Advertising Campagns

Yandong Liu, Sandeep Pandey, Deepak Agarwal, Vanja JosifovskiCarnegie Mellon, 5000 Forbes Avenue, Pittsburghm, PA 15213, USAYahoo Inc., 4301 Great America Parkway, Santa Clara, CA 95054,

USA(WSDM 2012)

Page 2: Fingind the right consumer - optimizing for conversion in display advertising campagns

モチベーション

◆広告出稿の入札をする側+広告主

 - コンバージョンしてくれそうなユーザに広告を表示したい  ⇒ 広告の表示が適切なユーザを見つける

◆課題

 - 通常、CVRが極めて少ない  ⇒ CVしていないユーザをサンプリング - ユーザプロファイルのための変数が多すぎる  ⇒ Kullback-Libler情報量による選定 - コールドスタート問題  ⇒ ブートスラップ効果により解決(階層化に似た考え)

本論文ではこれらの課題を解決する本論文ではこれらの課題を解決する本論文ではこれらの課題を解決する本論文ではこれらの課題を解決するCVR見積もり手法を提案見積もり手法を提案見積もり手法を提案見積もり手法を提案

Page 3: Fingind the right consumer - optimizing for conversion in display advertising campagns

Contributions

◆本論文の貢献

 - seed set(=CV,非CVユーザの集団 =local component)とcampaign metadata(=sportsなどのカテゴリ =global component)の2つの情報を元にしたターゲティングができる

 - global componentという考え方を用いたのは本論文が最初(?) - global componentによるブートストラップ効果の活用

Page 4: Fingind the right consumer - optimizing for conversion in display advertising campagns

Problem Definition

◆CV関数の定義 - ユーザをCVしそうかどうかでクラス分け

Tczxf cu >),,(

ユーザユーザユーザユーザuの特徴ベクトルの特徴ベクトルの特徴ベクトルの特徴ベクトル

キャンペーンキャンペーンキャンペーンキャンペーンcののののmetadata

CVの閾値の閾値の閾値の閾値

(false positive, false negativeのののの値を見ながら調整する値を見ながら調整する値を見ながら調整する値を見ながら調整する)

Page 5: Fingind the right consumer - optimizing for conversion in display advertising campagns

Problem Definition

◆ユーザ特徴ベクトルxuの作成

ベクトル作成(次ベクトル作成(次ベクトル作成(次ベクトル作成(次

元圧縮)には元圧縮)には元圧縮)には元圧縮)には

Bag of words使用(ベクトルは使用(ベクトルは使用(ベクトルは使用(ベクトルは

binary))))

Page 6: Fingind the right consumer - optimizing for conversion in display advertising campagns

Problem Definition

◆campainの特徴ベクトルzcの作成

creativeの特徴との特徴との特徴との特徴とlandingpageの要約(トピック)を使用 の要約(トピック)を使用 の要約(トピック)を使用 の要約(トピック)を使用 ※※※※詳しくは実験の章を参照詳しくは実験の章を参照詳しくは実験の章を参照詳しくは実験の章を参照

Page 7: Fingind the right consumer - optimizing for conversion in display advertising campagns

Problem Definition

◆campainの特徴としてのseed set - 当該キャンペーンで過去にCVしたユーザとそうでないユーザに分類 - 始まって間もないキャンペーンは類似メタデータなどを活用

Page 8: Fingind the right consumer - optimizing for conversion in display advertising campagns

Modeling Approaches

◆CV関数f()の再定義

)(),(),,( uccucu xfzxgczxf +=

キャンペーンキャンペーンキャンペーンキャンペーンCに依存しに依存しに依存しに依存し

たユーザ特徴関数たユーザ特徴関数たユーザ特徴関数たユーザ特徴関数

キャンペーン特徴関数キャンペーン特徴関数キャンペーン特徴関数キャンペーン特徴関数

Page 9: Fingind the right consumer - optimizing for conversion in display advertising campagns

Modeling Approaches

◆推定に使用する手法

 1) Linear Support Vector Machine(L-SVM) 2) Logistic Regression(LR) 3) Naive-Bayes(NB)

※※※※これらこれらこれらこれら3つの手法について比較を行ったつの手法について比較を行ったつの手法について比較を行ったつの手法について比較を行った

Page 10: Fingind the right consumer - optimizing for conversion in display advertising campagns

Modeling Approaches

◆L-SVM - CVは+1, 非CVは-1として判定する - ヒンジロス最小化  ・ L1 SVMの場合

  ・L2 SVMの場合

( )∑ ⋅−cu cucu czxfy

, , ),,(1,0max

( )2

, , ),,(1,0max∑ ⋅−cu cucu czxfy

fの自由度が高い場合、訓練データに過学習してしまう。この場合、ペナルの自由度が高い場合、訓練データに過学習してしまう。この場合、ペナルの自由度が高い場合、訓練データに過学習してしまう。この場合、ペナルの自由度が高い場合、訓練データに過学習してしまう。この場合、ペナル

ティ項が更に必要である。ティ項が更に必要である。ティ項が更に必要である。ティ項が更に必要である。

これを防ぐために線形のこれを防ぐために線形のこれを防ぐために線形のこれを防ぐために線形のSVMを仮定している。を仮定している。を仮定している。を仮定している。

Page 11: Fingind the right consumer - optimizing for conversion in display advertising campagns

Modeling Approaches

◆Logistic Regression - SVMでのヒンジロス最小化をシグモイド関数に置き換える

( )( )∑ ⋅+cu cucu czxfy, , ),,(exp1log

1次正則付き又は次正則付き又は次正則付き又は次正則付き又は2次正則付きにすることにより、スパースな入力に対して次正則付きにすることにより、スパースな入力に対して次正則付きにすることにより、スパースな入力に対して次正則付きにすることにより、スパースな入力に対して

有効な解が得られる有効な解が得られる有効な解が得られる有効な解が得られる

Page 12: Fingind the right consumer - optimizing for conversion in display advertising campagns

Modeling Approaches

◆Naive Bayes -log-oddsを考える

( )( )

( )( )1

1log

1|

1|log

,

,

,

,

−==

+−=

=

cu

cu

cuuc

cuuc

yp

yp

yxD

yxD

確率密度関数確率密度関数確率密度関数確率密度関数 キャンペーン毎に定数とキャンペーン毎に定数とキャンペーン毎に定数とキャンペーン毎に定数と

なるため無視できるなるため無視できるなるため無視できるなるため無視できる

バイアスがある場合、独立性の仮定のために性能劣化を招く恐れがあるバイアスがある場合、独立性の仮定のために性能劣化を招く恐れがあるバイアスがある場合、独立性の仮定のために性能劣化を招く恐れがあるバイアスがある場合、独立性の仮定のために性能劣化を招く恐れがある

Page 13: Fingind the right consumer - optimizing for conversion in display advertising campagns

Modeling Approaches

-Local Models Using the Seed Set-

◆g(xu, zc)を無視する

)(),(),,( uccucu xfzxgczxf +=

)(),,( uccu xfczxf =

◆L-SVM, LRにおけるf(xu, zc)

cuuc xxf β')( = ∑∈

+Cu

pccccuu yxLc

βλββ ),,(minarg ,

正則化の次数正則化の次数正則化の次数正則化の次数

L-SVMにおけるヒンジロス関数L )'y-1 max(0, cu,c βux⋅

L-SVMにおける2乗ヒンジロス関数L2

cu,c )'y-1 max(0, βux⋅

LRにおけるロス関数L2

cu,c )'y-1 max(0, βux⋅

ロス関数ロス関数ロス関数ロス関数

本稿ではL-SVMについてL1,L2正則について計算を行っている

Page 14: Fingind the right consumer - optimizing for conversion in display advertising campagns

Modeling Approaches

-Local Models Using the Seed Set-

◆NBにおけるf(xu, zc)

∑= −=

==m

i ucuii

ucuiiuc yxD

yxDxf

1 )1|(

)1|(log)(

クラスクラスクラスクラスyucの中のの中のの中のの中のi番目のユーザの番目のユーザの番目のユーザの番目のユーザの

周辺密度関数周辺密度関数周辺密度関数周辺密度関数

計算例)

ayu

payxu

uc

icucui

+=⋅+==

===1:

)(1,1:1)y|1Di(x ucui

今回すべての特徴量が2値なので、単純にキャンペーンcのユーザ特徴量のi番目の値が1の者の割合

スムージング定数(疑似スムージング定数(疑似スムージング定数(疑似スムージング定数(疑似CV数数数数?))))本稿では本稿では本稿では本稿ではaはははは[1,5]としているとしているとしているとしている

キャンペーンキャンペーンキャンペーンキャンペーンCで特徴量で特徴量で特徴量で特徴量iがががが1の者の割合の者の割合の者の割合の者の割合

※※※※aの値には多少敏感だが、の値には多少敏感だが、の値には多少敏感だが、の値には多少敏感だが、NB自体はロバ自体はロバ自体はロバ自体はロバ

ストであることを実験により確認しているストであることを実験により確認しているストであることを実験により確認しているストであることを実験により確認している

Page 15: Fingind the right consumer - optimizing for conversion in display advertising campagns

Modeling Approaches-Global Models Using Campaign Metadata-

◆global modelを使う理由 - locla modelはseed setの数が多ければうまく機能する   (CV数が多ければ機能する) - 新しいキャンペーンやtraining dataが少ない場合、   データのスパース性によりパフォーマンスは十分でなくなる

  ⇒ これらを緩和するためにキャンペーンメタデータzcを導入した

Page 16: Fingind the right consumer - optimizing for conversion in display advertising campagns

Modeling Approaches-Global Models Using Campaign Metadata-

◆作成した2つのglobal model - Merge-based Global model - Interaction-based Global model

Page 17: Fingind the right consumer - optimizing for conversion in display advertising campagns

Modeling Approaches-Global Models Using Campaign Metadata-

◆Merge-based Global model

cuuc xxf β')( = β')( uuc xxf =

全てのキャンペーンの係数全てのキャンペーンの係数全てのキャンペーンの係数全てのキャンペーンの係数ββββを利を利を利を利

用する用する用する用する

※※※※CV数が大きいキャンペーンの数が大きいキャンペーンの数が大きいキャンペーンの数が大きいキャンペーンのββββcほど影響が強くなってしまうので、それぞれのほど影響が強くなってしまうので、それぞれのほど影響が強くなってしまうので、それぞれのほど影響が強くなってしまうので、それぞれの

キャンペーンのキャンペーンのキャンペーンのキャンペーンのseed set(ポジティブクラス・ネガティブクラス)をイコールにする(ポジティブクラス・ネガティブクラス)をイコールにする(ポジティブクラス・ネガティブクラス)をイコールにする(ポジティブクラス・ネガティブクラス)をイコールにする

(?)(?)(?)(?)

Page 18: Fingind the right consumer - optimizing for conversion in display advertising campagns

( )∑ ++cu

ppucucuD DxDzxyL,

, )','(min βλβ

Modeling Approaches-Global Models Using Campaign Metadata-

◆Interaction-based Global Model

全てのキャンペーンデータから算全てのキャンペーンデータから算全てのキャンペーンデータから算全てのキャンペーンデータから算

出される未知行列出される未知行列出される未知行列出される未知行列

※※※※(D,ββββ)のパラメータ数はのパラメータ数はのパラメータ数はのパラメータ数はuser数を数を数を数をm, キャンペーン数をキャンペーン数をキャンペーン数をキャンペーン数をnとすると、とすると、とすると、とすると、

        (m+1)・・・・n次元となり高次元過ぎる(本稿では次元となり高次元過ぎる(本稿では次元となり高次元過ぎる(本稿では次元となり高次元過ぎる(本稿ではm=70k, n=500))))

β')( uuc xxf =cucuc Dzxzxg '),( =

)(),(),,( uccucu xfzxgczxf +=全キャンペーンから全キャンペーンから全キャンペーンから全キャンペーンから

導いた導いた導いた導いたββββ

Page 19: Fingind the right consumer - optimizing for conversion in display advertising campagns

ci

cici q

qq

.

,, log

Modeling Approaches-Global Models Using Campaign Metadata-

◆次元の削減

 - カルバック・ライブラー情報量を用いた(a-prioriフィルター) - 以下で算出した値が0であれば除外する

全キャンペーンの全キャンペーンの全キャンペーンの全キャンペーンのi番目の変数が番目の変数が番目の変数が番目の変数が1である者のである者のである者のである者のCV率率率率

キャンペーンキャンペーンキャンペーンキャンペーンcののののi番目の変数が番目の変数が番目の変数が番目の変数が1である者のである者のである者のである者のCV率率率率

Page 20: Fingind the right consumer - optimizing for conversion in display advertising campagns

∑ ∑+++++cu C

pccpgpcugucucuD DxxDzXyL,

, )''',(min βλβλλββ

cuguuc xxxf ββ '')( +=

Modeling Approaches-Global + Local Models -

◆最適化問題

a-prioriフィルターにより作成したフィルターにより作成したフィルターにより作成したフィルターにより作成した

ユーザの特徴ベクトルユーザの特徴ベクトルユーザの特徴ベクトルユーザの特徴ベクトル

グローバルモデルの係数グローバルモデルの係数グローバルモデルの係数グローバルモデルの係数

)(),(),,( uccucu xfzxgczxf +=

cucuc Dzxzxg '),( =

ローカルモデルの係数ローカルモデルの係数ローカルモデルの係数ローカルモデルの係数

※※※※複雑過ぎて解を求めるのが困難複雑過ぎて解を求めるのが困難複雑過ぎて解を求めるのが困難複雑過ぎて解を求めるのが困難

Page 21: Fingind the right consumer - optimizing for conversion in display advertising campagns

gucu xzDX β̂'ˆ' +

Modeling Approaches-Global + Local Models -

◆最適解算出へのアプローチ

 - グローバルとローカルの係数を等しいとみなす

 - まずはグローバルモデルの係数を学習し、それを使って問題を解く

λλ =c

グローバルモデルで既に計算したグローバルモデルで既に計算したグローバルモデルで既に計算したグローバルモデルで既に計算した

モノを使用するモノを使用するモノを使用するモノを使用する

),,( , ccuu yxL β )ˆ'ˆ',,( , cgucucuu xzDXyxL ββ ++

※※※※長い期間継続されているキャンペーンでも新しいキャンペーンでもうまく動く長い期間継続されているキャンペーンでも新しいキャンペーンでもうまく動く長い期間継続されているキャンペーンでも新しいキャンペーンでもうまく動く長い期間継続されているキャンペーンでも新しいキャンペーンでもうまく動く

Page 22: Fingind the right consumer - optimizing for conversion in display advertising campagns

EXPERIMENTS

◆使用変数

 - ユーザ側:page visits, ad views, search queries - キャンペーン側:   クリエイティブのクリック先のランディングページをクロールしたデータ

※※※※Seed setに関してはデータ数の影響を見るためにサイズ毎に実験を行っているに関してはデータ数の影響を見るためにサイズ毎に実験を行っているに関してはデータ数の影響を見るためにサイズ毎に実験を行っているに関してはデータ数の影響を見るためにサイズ毎に実験を行っている

    →→→→ 新しいキャンペーンでは新しいキャンペーンでは新しいキャンペーンでは新しいキャンペーンではx=0, 成熟したキャンペーンでは成熟したキャンペーンでは成熟したキャンペーンでは成熟したキャンペーンではx=30~~~~70とするとするとするとする

Page 23: Fingind the right consumer - optimizing for conversion in display advertising campagns

EXPERIMENTS

◆実験条件

 - 使用データ:03/18/2011~04/15/2011の約1か月間のデータ - ネガティブユーザは30,000にダウンサンプリング(キャンペーン毎) - キャンペーンデータは10キャンペーン、15,000のクリエイティブ - 各キャンペーンは平均して週10~20CV - 交叉検証は3fold

Page 24: Fingind the right consumer - optimizing for conversion in display advertising campagns

EXPERIMENTS

◆評価方法

 - AUC(ROC曲線の下側面積)

Page 25: Fingind the right consumer - optimizing for conversion in display advertising campagns

EXPERIMENTS

◆seed setを使ったlocal models - L-SVM(L2正則), LR, NBのパフォーマンス

CV数の大きいキャンペーンが小さい数の大きいキャンペーンが小さい数の大きいキャンペーンが小さい数の大きいキャンペーンが小さいindex

Page 26: Fingind the right consumer - optimizing for conversion in display advertising campagns

EXPERIMENTS

◆正則化定数の影響

※※※※多き過ぎるより小さい方が有意に良い多き過ぎるより小さい方が有意に良い多き過ぎるより小さい方が有意に良い多き過ぎるより小さい方が有意に良い

Page 27: Fingind the right consumer - optimizing for conversion in display advertising campagns

EXPERIMENTS◆ X<=540のキャンペーンのCV数とAUCの関係

Page 28: Fingind the right consumer - optimizing for conversion in display advertising campagns

EXPERIMENTS◆training setにおけるCV数の影響 - CV数の小さいキャンペーンではx=540を超えない - CV数の大きなキャンペーンではx=5,000以下とした - small campaignの場合はCVの条件が厳しい(email sign-up, 広告クリックなど)

 - large campaignの場合はCVの条件が緩い(広告を見たなど)※xはseed/training set毎のCV数を示す

large campagn

middle campagn

small campagn

※※※※実験では小さな実験では小さな実験では小さな実験では小さなCV数の方がモデルの学習は有意によかった数の方がモデルの学習は有意によかった数の方がモデルの学習は有意によかった数の方がモデルの学習は有意によかった

Page 29: Fingind the right consumer - optimizing for conversion in display advertising campagns

EXPERIMENTS◆merge modelとlocal modelの比較

※※※※x=200までであればまでであればまでであればまでであればmerge modelははははlocal modelと比較して高いと比較して高いと比較して高いと比較して高いAUCとなっているとなっているとなっているとなっている

 (と書いてあるけど、 (と書いてあるけど、 (と書いてあるけど、 (と書いてあるけど、mediumの間違いだと思われる)の間違いだと思われる)の間違いだと思われる)の間違いだと思われる)

     largeの場合はスモールスタートとなるための場合はスモールスタートとなるための場合はスモールスタートとなるための場合はスモールスタートとなるためmerge modelが有効に働いている(?)が有効に働いている(?)が有効に働いている(?)が有効に働いている(?)

Page 30: Fingind the right consumer - optimizing for conversion in display advertising campagns

EXPERIMENTS◆Interaction-based global modelとmerge modelの比較

※※※※a-prioriフィルター(フィルター(フィルター(フィルター(KL情報量による変数選択)によってユーザ特徴量は情報量による変数選択)によってユーザ特徴量は情報量による変数選択)によってユーザ特徴量は情報量による変数選択)によってユーザ特徴量は3,000としたとしたとしたとした

     キャンペーン特徴量はランディングページに使用されているキャンペーン特徴量はランディングページに使用されているキャンペーン特徴量はランディングページに使用されているキャンペーン特徴量はランディングページに使用されているtop50ワードを使用したワードを使用したワードを使用したワードを使用した

Page 31: Fingind the right consumer - optimizing for conversion in display advertising campagns

EXPERIMENTS◆ Global, Global + local modelとlocal modelの比較

※※※※Small campaignでは正規化定数の影響が悪い方に出ている。では正規化定数の影響が悪い方に出ている。では正規化定数の影響が悪い方に出ている。では正規化定数の影響が悪い方に出ている。

     Large campaignではスモールスタート問題を解決できている。ではスモールスタート問題を解決できている。ではスモールスタート問題を解決できている。ではスモールスタート問題を解決できている。

Page 32: Fingind the right consumer - optimizing for conversion in display advertising campagns

Conclusion

◆結論

 - 低いCVR, キャンペーン毎の分散が大きいデータに対して適用できる   モデルを提案した

◆感想

 ― キャンペーン毎にCV数の分散が小さければsmall campaignでも   有効にはたらくのだろうか

 - 明に階層構造を作らずにブートストラップ効果を活用しているのは面白い - 最適化部分はかなり計算が重そう