More Related Content
Similar to SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartNews Ads : 小宮 篤史) (20)
More from SmartNews, Inc. (16)
SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartNews Ads : 小宮 篤史)
- 6. 1. SmartNews における広告配信の事情
2. SmartNews Ads の配信最適化
3. オークション設計
4. クリエイティブ最適化
5. アロケーション最適化
6. CPA 最適化
7. 予算スムージング配信
1. SmartNews における
広告配信の事情
- 13. 1. SmartNews における広告配信の事情
2. SmartNews Ads の配信最適化
3. オークション設計
4. クリエイティブ最適化
5. アロケーション最適化
6. CPA 最適化
7. スムージング配信
2. SmartNews Ads の
配信最適化
- 29. アドオークションの評価額
• SSP RTB DSP の世界では、入札価格を
評価額としたオークションが開催されている
• Google AdWords や Facebook Ads などの
広告プラットフォームでは、入札価格 * 品質
スコアで計算される広告スコアを評価額とし
たオークションが開催される
- 32. 「広告スコア」?
• 入札価格 * 広告のクリック率 ≈ 1imp の価値
• 「広告のクリック率 (すなわち CTR)」を
正しく予測することは、健全なオークションを
開催する上で非常に重要
• 当初は Thompson sampling で代用
• CTR 予測の詳細はこのあと Lan が解説!
- 33. SmartNews Ads の
アドオークション
• 一般化第二価格オークションを採用
• 入札価格 * 品質スコア = 広告スコアが評価額
• 品質スコアは予測 CTR + α で算出
• ユーザ・広告主・メディアの三者の
多目的最適化をこのオークションで実現する
- 38. Thompson sampling で
CTR を推定する
• いわゆる多腕バンディット問題に対するアルゴリズムの一
つ
• クリエイティブそれぞれについて、ベータ分布 B(α, β) から
数値をランダムサンプリングして、それを推定 CTR とする
• α はクリックされた数、β はクリックされなかった数
(インプレッション数 - α) を設定する
• 最も高い推定 CTR のクリエイティブを配信に利用する
- 39. Java での
Thompson sampling 高速化
• commons-math3 の BetaDistribution#sample() を
利用すると、実装的には楽できる
• ただし累積分布関数の逆関数を呼び出していたり
乱数生成がイケてなくて速度性能がよろしくない
• ベータ分布からのランダムサンプリング機能を自前実
装した
• 結果的に 100 倍ぐらいは高速化できた ☺
- 41. アロケーション = 広告配置
• SmartNews には広告枠がたくさんある
• 最適な広告を、最適な広告枠に配置したい
• 広告主により多くの成果を提供する
• メディアにもより多くの収益を還元する
• ユーザごと・アプリ利用のタイミングごとに最適
な広告枠は異なる
- 47. 最小費用フロー問題
(Minimum cost flow problem)
• 最小費用フロー問題のソルバーには Successive
shortest path アルゴリズムを採用
• https://www.topcoder.com/community/data-
science/data-science-tutorials/minimum-
cost-flow-part-two-algorithms/
• このアロケーション最適化の導入により、
CTR は約1.15倍、収益は約1.1倍に改善 ☺
- 52. ユーザごとに CVR を予測する
• CPA = CPC / CVR
• 目標とする CPA とその時点の CPC から逆算し、
最低限必要な CVR を推定できる
• ユーザごとの CVR 予測結果から、配信する・し
ないをフィルタリングで制御
• CVR 予測の詳細はこのあと Lan が解説!