Ad Creative Discontinuation Prediction with Multi-Modal Multi-Task Neural Survival Networks
Gunosy リサーチインターンの研究成果
https://gyazo.com/adbcc605b118e185ba79c6a188455e13
1. どんなもの?
https://gyazo.com/5a7cdf66c4e449313b827cc7b4408529
配信効果が悪くなっていく広告クリエイティブを事前に予測して停止の支援を行う枠組みを新たに提案
広告運用者に「この広告はこれまでのデータから N 日後に XX % の確率で停止が決定されます」というような予測を提示することができる
この予測を元に運用者が最終的な広告停止を決める
「この広告、N 日後に効果が悪くなりそうだから、新しいクリエイティブ入稿してください」みたいなことも想定しています
2. 先行研究と比べてどこがすごいの?
先行研究と本研究の立ち位置
https://gyazo.com/5628be03a52d3077bd68d12733f9000e
従来は「効果の高い広告クリエイティブの運用支援」に注目されていた
2019年ぐらいから徐々にディスプレイ広告・広告クリエイティブに対する試みが増えてきた
Mishra さんはこのあたりの研究でトップカンファレンスに通しまくっています:
作成された広告クリエイティブは効果が最大化するような配信方法を利用して配信される
我々は「効果が低くなりつつある広告クリエイティブの運用支援」に注目
配信効果が高い広告クリエイティブが仮に出来たとしても
摩耗を事前に予測して運用広告者に提示できないか?というところが最初のアイディア
配信効果の低い広告クリエイティブの運用
効果が悪くなりつつある広告クリエイティブをそのまま配信し続ける
予算や売上に大きな影響を与えてしまう問題
広告クリエイティブの停止支援を考える上で、経験的に以下の2つの停止パターンが存在
短期で停止されてしまうパターン
長期で配信されたが摩耗によって効果が悪くなり、結果的に停止されてしまうパターン
短期で停止されてしまうパターン
主に広告クリエイティブを大量に作成して運用することから起因している
配信対象のユーザは多様であるため、さまざまなパターンのクリエイティブを作成して配信するのがベストプラクティスになっているからしょうがない
効果的なパターンを見つけるのは簡単ではないため、多くの広告クリエイティブは短期で停止されてしまう
長期で配信されたが結局停止されてしまうパターン
ユーザが何度も同じ広告クリエイティブに接触することで生じる飽きから起因している
長期で配信されるクリエイティブは売上に大きく貢献している
停止されてしまうと大きな損失になってしまう
しかしながらクリエイティブの摩耗はさけられず、いつか必ず停止されてしまう
あらかじめ摩耗度合いを予測することで、多くの利益を上げるクリエイティブの効果が低くなる前に準備が可能
先述の「この広告、N 日後に効果が悪くなりそうだから、新しいクリエイティブ入稿してください」といった通知も実現できそう
短期・長期それぞれの停止パターンは性質が異なるため、まとめて予測するのではなく、それぞれ異なる方法で予測しなければならなそう
3. 技術や手法の"キモ"はどこにある?
https://gyazo.com/8a1745bc3b4f910cdfa8176d372f5303
配信効果が低くなった広告クリエイティブの停止支援の枠組みを提案
さらに運用でも参考にされている実用的な指標による評価を導入
生存予測の枠組みを活用して、時間間隔 $ l のときの停止確率 $ h_l を出力
具体的な時間間隔として短期と長期で以下のように設定
Short: 入稿から3日目まで、3日から5日目まで、5日から7日目まで、7日から10日目まで
Long: 入稿から10日目まで、10日目から30日目まで、、、、90日から120日目まで
大規模広告クリエイティブデータの分析
広告クリエイティブの配信実績データを用いた可視化
クリエイティブの配信日数のヒストグラム
クリエイティブの殆どが3日以内に停止されていることが示されている
クリエイティブの売上のヒストグラム
長期で動くクリエイティブが売上に大きく寄与していることが示されている
短期で停止されてしまう cut-out 現象と、先行研究でも指摘されている長期で配信されているクリエイティブのwear-out現象
長期で動き続けるクリエイティブは売上に直接影響を与える
特に注意して停止の判断をしなければならない
上記を踏まえ、以下2点に注意して停止支援の枠組みを構築
2つの停止パターン (cut-out と wear-out) を分けて予測できるように
売上にインパクトがあるクリエイティブを重み付けのような形で正確に予測できるように
広告クリエイティブ停止支援の枠組み
今回提案する停止支援の枠組み
深層学習を元にしたマルチモーダル特徴を入力とする生存予測モデル
なにかしらのイベントが起きるまでの時間とイベントとの間の関係に着目
広告クリエイティブの停止をイベントとして捉える
生存予測で用いられる hazard function を損失関数として利用
https://gyazo.com/475f1a92a91bafcd9514f49b08bcdff0
広告停止は直感的に時間が経過すればするほど停止確率が上がると考えられる
同様のパターンをモデリングしやすいとされている hazard function は今回の停止予測問題に対してマッチしていると考えられている
上記のデータ分析から得られた知見から、以下の2つの重要な手法を提案
Two-term estimation with multi-task learning
異なる2つの停止パターンをそれぞれ分け、マルチタスク学習として予測
一つのモデルでそれぞれ短期と長期を予測しつつ、それぞれの loss が最小になるように学習させる
https://gyazo.com/35bb3025e3d4c24d3627fb181b445db8
CTR-weighting technique for hazard-based loss function
CTRが大きい (≒ 売上が大きい) データに重み付けして、より正確に生存時間を予測する手法
(あまり真新しさは無いとは思います)
https://gyazo.com/cbe65bbf35fba14e7be6016bb3927b1f
multi-task learning 化
https://gyazo.com/1e400eb3ada47d3404c553c41d70c7ca
4. どうやって有効だと検証した?
生存時間予測の性能を評価する concordance index
予測された生存時間と、実際の生存時間の大小がどの程度一致しているかを表す指標
https://gyazo.com/2f282c7e08f549b9e0ee766701ec2ab3
従来手法 vs. 提案手法
特徴量を固定した状態 (stats. and text features) だと、深層学習ベースの提案手法が良かった
Two-term estimation technique の効果
Overall (全体をえいやで予測) よりも、停止パターンに合わせて出力をデザインする Short-term と Long-term が良かった
更に Multi-task でそれぞれを一つのモデルで予測できるようにすると更に良くなる
分類・回帰と比べたらどう?
生存時間分析なんか使わず、N 日後に停止するかどうかを分類したり、回帰したりすればいいのでは?
提案法と同じアーキテクチャで、loss だけど hazard function から cross entropy や MSE に変更してみて評価
https://gyazo.com/ab0ccb30ac220d3aea916cee49e710f6
F1 スコアで評価すると、分類モデル、回帰モデルが全然だめだめ
データの性質上ほとんどが初期に停止されてしまうため、モデルがうまく学習できていない
提案法は停止の性質である、指数関数的に停止確率が上がっていくパターンをうまく捉えられていそう
CPA 率による評価
CPA (cost per acquisition; 1件あたりのコンバージョンにかかるコスト) の効率を評価するもの
CPA ratio = Actual CPA / Target CPA
実際の CPA (actual CPA) と対象となる CPA (target CPA) の割合が1に近づけば配信効率が良いという指標
CPA 率が1に遠い場合に対象の広告クリエイティブの効率は悪いと評価できる
https://gyazo.com/2c69b93a3b5962459d58e7c084f5168a
運用者が停止を決定したときの CPA 率と、提案法が停止を決定したときの CPA 率を比較
提案法のほうがより CPA 率が 1 に近いときに停止を決定できている
CPA の効率があまり落ちていないタイミングで停止を決定できている
(ただ、停止を決定した次の日の状態はもちろんわからないので、モデルも人間も最善の決定が下せているかは難しいところ。本当は一番停止すべき効果的な真の停止日があるかもしれない。)
広告停止順位よる評価
動いているクリエイティブがどの順番で停止するかを評価する指標
特に長期で動いている売上に寄与するクリエイティブがどのタイミングで停止するかを正確に予測することが重要
「あと N 日で停止しそうだから、早めに新しいクリエイティブを入稿してください」
NDCG を用いて運用者が実際に停止を決めた順序と、ルールベースの方法・提案フレームワークによる予測、で比較
https://gyazo.com/968a2890f2b02f6abe701b04f78cf945
提案法に加えて、ルールベースの方法を比較
売上順: 売上が大きければ大きいほど止まらないだろうから、停止順を後ろの方に
CPA率順: CPA 率が1に近ければ近いほどCPAの効率はいいのだろうから、停止順を後ろの方に
配信日が浅いクリエイティブに対して予測する場合は、どれも同じぐらいの性能
配信日が長くなればなるほど、提案法が正しく停止順を予測できている
5. 議論はあるか?
Limitation について
実際に動かしてみると、2つ難しい点がありました:
モデルは停止予測を出力してくれるが、それをそのまま鵜呑みにして停止を決定するほうが良いのか、その出力を元に運用者が最終判断するほうがいいのかが難しい
熟練している運用者の方はやはりすごいので、運用ビギナー的な方のサポート・支援、という立ち位置にすべき
停止を予測する時間間隔の決定が難しい
今回はデータを見てエイヤと決めたのですが、最適な時間間隔があるはず
このあたりも運用者の方に聞いたりしてみて、設定すべきだと思います
運用者の最終決定を報酬とした強化学習とかができると良さそう
モデルが出力した予測と、運用者の実際の停止日の差分を小さくする、とか