広告配信の予測におけるデータの反映速度
by
tirvine
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
広告配信の予測における データの反映速度 Tristan Irvine 2020/08/05
Slide 2
Slide 2 text
自己紹介 名前: Tristan 所属: 株式会社サイバーエージェント 秋葉原ラボ AmebaDSP 学士: 物理学 最近の病気: 脳震盪 格好いい〜
Slide 3
Slide 3 text
SSP DSPはどういうこと? 広告 AmebaDSP オークション クリック 入稿・配信設定 広告配信 課金! 広告主 入札額 広告集めて、あるリクエストに理想な広告を決めて、SSPに入札するシステムです。
Slide 4
Slide 4 text
入札額 入札額を決めるために、CPMを知る必要です! = 売上 / インプレッション ~ 広告の価値 CTR, CVRは広告を配信しないと分からない! 過去データから推定する必要です。 機械学習使おう! CPM = CTR x CVR x 目標CPA x 1,000 予測 予測 CTR = クリック率 CVR = CV率
Slide 5
Slide 5 text
AD サーバー メディア 学習 予測 imp, click, cv 予測CTR, 予測CVR 広告配信 学習結果 機械学習による予測 フィードバックループ 1. 配信 2. 学習 3. 予測値に反映する 4. 予測精度が上がる 5. もっと配信できる
Slide 6
Slide 6 text
精度悪ければどうなる? 予測CTR高すぎる -> 赤字!! 予測CVR高すぎる -> 広告主離脱!! 予測CTR, CVR低すぎる -> 勝率低い :( 精度高く予測しましょう
Slide 7
Slide 7 text
どの頻度で予測フィードバックしよう? 高い頻度! ● 精度悪くなったら早くモデ ルが調整される ● 新しい広告・枠を早く予測 結果に反映できる 低い頻度! ● 学習時間が長ければもっ と複雑・精度高いモデル を使える ● 運用・実装しやすい 弊社の場合はできるだけ高い頻度でモデルを更新している - CTR予測: 15分間隔 - CVR予測: 1時間間隔
Slide 8
Slide 8 text
更新頻度が遅すぎる例1:広告主AのCTR
Slide 9
Slide 9 text
CTR予測失敗で赤字になった! 粗利 軸見ないで、 情報漏洩だよ 赤字!! ある朝、急に大きく赤字になっちゃった。CTR予測急に精度悪化した?
Slide 10
Slide 10 text
赤字の調査の結果 ある広告主は全部の赤字を起こした 広告主Aの粗利 0円 闇 全部の赤字はある広 告主である15分期間で 発生した(11:30 - 11:45) 興味深い。。
Slide 11
Slide 11 text
更新頻度遅すぎる!! 広告主Aの粗利 0円 赤字 X - モデル更新時 ● 11:30にモデルが更新さ れた ● 広告主Aはある枠に配 信したらCTR非常に高 いって思われた ● 11:30 - 11:45にその条 件で配信した ● CTRは高くなかった。赤 字になった。 ● 11:45にこの新規情報は モデルに反映されて、赤 字が抑えれた
Slide 12
Slide 12 text
更新頻度が遅すぎる例2:広告主BのCVR
Slide 13
Slide 13 text
CVR予測失敗で広告主怒った! ある朝、広告主Bはのんびりに朝ごはんを食いながら 急に大きく課金された! 広告主Bの課 金額
Slide 14
Slide 14 text
どうなった?なぜCVR予測のせい? 8時前に合計この広告主3個クリックしかなかった。07:09にCVが発生した。それ上に CVRが33%だって思われて、予測CVR / 入札額大きく上がりました。 実にその後一個もCV出なかった。最初の一個は非常に運良かっただけです。8:15は全 部予測CVR >> CVRの暴発だった。 予測CVR CVが発 生した
Slide 15
Slide 15 text
どうする? ● 更新頻度を上げる ○ 15分よりも短い間隔で更新する ○ でも限界はある。あるリクエストがクリックされるかどうかの判断するた めに5分間が必要です ● 組成に直近の傾向データを考慮する ○ 広告の直近5分間のCTRなどを組成として追加 ○ モデル自体が更新されなくても、直近CTRの組成が変わるので予測 値も変わる
Slide 16
Slide 16 text
移動平均システム 計算したい:直近5分間のCTRの移動平均 あるいは:click数の移動平均 / imp数の移動平均 移動窓
Slide 17
Slide 17 text
計算方法 普段の移動窓の移動平均の計算が重い。 - 過去impデータとtimestampを保存しないと - いつでも計算すると各timestampは5分期間に入っている かを確認する -> ストリーミングで移動平均をしよう
Slide 18
Slide 18 text
ストリーミング移動平均 ~10秒ごとにデータを更新する 既存の移動平均値をみて、直近10秒間で発生したimp数で更新する imp5m - 5分間のimpression数移動平均 30 - 5分間に入る10秒間隔数
Slide 19
Slide 19 text
アーキテクチャー impressionログ redis 移動平均更新機 10秒間ごとの カウンター API 機械学習 技術: golang Apache Flink kinesis stream
Slide 20
Slide 20 text
成果 この発表までにリリース間に合わなかった :( 今度聞いてください!
Slide 21
Slide 21 text
まとめ ● 広告配信に予測精度が大事です! ● 予測モデル更新の間に赤字・暴発の可能性がある ● できるだけ速く配信データを予測結果に反映すべき ● モデル自体を十分速く更新するのは難しい。代わりに 組成に直近の情報を入れるのを考えられる