KDD2021 参加報告&論文読み会で " Trustworthy Online Marketplace Experimentation with Budget-split Design"という論文を紹介しました。 https://connpass.com/event/223966/
KDD2021 参加報告&論文読み会藤田光明 / @6km6kmTrustworthy OnlineMarketplace Experimentationwith Budget-split Design
View Slide
自己紹介藤田 光明 Data Scientist● 職歴○ 2018.4 -■ AI事業本部 Dynalyst■ 広告配信アルゴリズムの開発 / 実装■ A/Bテストシステムの改善○ 2020.11 -■ AI事業本部 DX本部小売セクター■ 小売の購買データを用いた広告配信● 興味○ A/Bテストを通したプロダクトグロース○ ビジネス x 経済学 / Counterfactual Machine Learning2
どんな論文?● Linkedinの論文● マーケットプレイスとは○ ネット広告: 広告主(買い手)がユーザ(売り手)の広告表示権利を買う○ 転職サイト: 雇用主が転職希望者に求人を見せる● マーケットプレイスにおけるA/Bテストの問題点○ 「カニバリゼーションバイアス」が存在○ 例: 広告主の限られた予算を対照群に比べて介入群がたくさん使う○ 従来のバイアスを回避する手法には検出力不足・モデルエラーなどの問題がある● 新たなA/Bテストデザイン”budget-split design”を提案○ 検出力が高くバイアスのない介入効果の推定が可能に※この発表では、ネット広告に絞った説明をします
目次● モチベーション● budget-split design● 実験● まとめ
モチベーション
有限な予算があるネット広告A/Bテストの問題点● SUTVAを満たさない○ SUTVA: stable unit treatment value assumptionTreatment Controlwin rate = 75% win rate = 50%ユーザレベルで分割予算win rateが高い分予算を多く使うカニバリゼーションバイアス:売上が介入群 > 比較群なのは、介入によって売上が増えた影響 + 比較群の売上を「共食い」した影響結果、介入効果が過剰推定される
定式化potential outcome:推定したい介入効果:i: ユーザ(N人), j:キャンペーン(M本)それぞれのユーザが介入をうけたかどうかのバイナリ変数のベクトル 各キャンペーンの予算ベクトルYがキャンペーンの予算に依存する予算の大小によって入札戦略や予算ペーシングが変わるためユーザ全員が介入を受けた / 受けなかったときのY予算が無限の場合:SUTVAが成立するため、以下のナイーブな推定量が不偏性をもつ
予算が有限の場合におこることユーザiへの介入 ユーザi以外の介入群ユーザ数ユーザi以外が全員介入を受けるユーザiではない1人を除き全員が介入を受けない全員が介入を受けない < 全員が介入を受ける1人を除く全員とユーザiが介入を受けるユーザiだけが介入を受ける介入群に予算を食われる比較群の予算を食える介入効果が正で、介入を受けるユーザ数が少ないほど、介入時のアウトカムが大きくなるケース
カニバリゼーションバイアス①②前ページより①, ②とも正であり、ナイーブな推定量は正の方向にバイアスを持つY(1,1;B)を過剰推定Y(0,0;B)を過小推定
既存文献で提案された解決策● analysis approach● design approach○ campaign randomization○ switchback design
analysis approach● 干渉構造やカニバリゼーションバイアスをモデル化する● モデルを使って真の介入効果を推定する● 問題点○ 推定の精度がモデルの仮定に依存する○ モデルエラーが介入効果の数倍になるケースも考えられる○ 複雑なネット広告市場を完璧にモデル化できるならそもそも実験しなくていい
campaign randomizationキャンペーン(それぞれが予算を持つ)単位でランダム化キャンペーンA キャンペーンB キャンペーンCTreatment Control問題点● 検出力が低い(キャンペーン数 < ユーザ数)● 複数キャンペーンの対象になるユーザがいた場合はバイアスが残る
switchback design時間(日、週)ごとに介入 / 非介入を切り替える問題点● 検出力が低い(日数 < ユーザ数)○ 特にアウトカムの計測期間が長いとき● キャリーオーバー効果(時間を横断した効果)を無視しているtime全員に介入 全員に非介入 全員に介入
budget-split design
budget-split designユーザを分割したのち、各キャンペーンでそれぞれに予算を割り振るTreatment ControlキャンペーンA キャンペーンB予算● 弱い仮定(後述)のもとでバイアスがない● 検出力がユーザレベルのランダム化と同等程度に高い
具体的な手順
具体的な手順を推定を推定予算ペーシング等もそれぞれのMごとに行う
budget-split designでの推定量M(0)を使って推定M(1)を使って推定stable system assumptionのもとで不偏
stable system assumption分割した市場が本来のそれに近いこと● 設定○ 本来(分割しない状態)の市場でのキャンペーン: C○ K人のユーザに分割した市場でのキャンペーン: C(K)● C(K)とCが同じような振る舞いをすることを保証したい○ 極端な例: Kが1に近いとき、C(K)とCは同等とはいい難い○ 入札戦略や予算ペーシングはKが不十分なときに機能しなくなるのが要因○ C(K)とCが同等といえるためのKの下限は、ユーザの同質性のレベルによる● 全体のユーザ数NやKが十分に大きいときは問題ない
実験
検出力
バイアス
まとめ
論文のまとめ● マーケットプレイスのA/Bテストにおいてbudget-split designを提案● ユーザを分割し、各キャンペーンの予算をそれぞれに割り当てることで、介入 <> 比較群間の干渉を防ぐ● カニバリゼーションバイアスを取り除きつつ、高い検出力で介入効果の推定が可能に
個人的に思ったこと● DSPで広告配信やってるとよく出くわす問題● 提案手法は予算ペーシングがまともに動くことを前提としている○ ある程度成熟したプロダクトに限定された解決策● 複数の実験を独立にできないのはデメリット○ ⇒ future workでも言及されている○ ペーシングも考慮すると細かい分割はできないので、同時にできる実験数が限られる● もっと厳密に考えていくと、学習データを分ける話になる?○ モデルAが生んだログデータをモデルBの学習にも使うのは、ある種のカニバリ?○ 各モデルが生んだログデータのみを学習データとしてA/Bテストするべき?