Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

LINE Ads PlatformのCTRを2倍にした開発手法

7,315 views

Published on

LINE Ads Platform の CTR を2倍にした開発手法
/小川 拡 (LINE株式会社 サービス開発1室)

LINE Developer Meetup in Tokyo #22 -Ads Platform-の登壇資料です
https://line.connpass.com/event/69277/

Published in: Technology

LINE Ads PlatformのCTRを2倍にした開発手法

  1. 1. LINE Ads Platformの
 CTRを2倍にした開発⼿法 LINE株式会社 サービス開発1室 ⼩川 拡
  2. 2. ⾃⼰紹介 • 経歴 • 2015 新卒で⼊社 • 2015~ LINE ポイント広告 サーバサイド開発 • 2016~ LINE Ads Platform 広告配信サーバ開発
  3. 3. LINE Ads Platform • LINEの運⽤型広告プラットフォーム • リクエストごとにオークションで配信する広告を 決定 • 広告主や広告代理店が運⽤ • タイムラインやLINE NEWSなどに広告を表⽰
  4. 4. 今⽇お話すること • CTRを2倍にするためにやったこと • チームの開発⼿法
  5. 5. CTRとは • 広告が表⽰されたユーザーが広告をクリックする率 • CTR = クリック回数 / 表⽰回数
  6. 6. CTRを2倍にするために
 やったこと • CTRを正確に推定する
  7. 7. CTRを正確に推定できると
 どうなるか • クリックされやすい広告を表⽰できるようになる • クリックされるほど売り上げが増える • ユーザーにとっても興味のある広告が表⽰される • 広告クリエイティブは掲載前に審査
  8. 8. CTR推定の改善 • 実績値なしでの推定 • 内部的に広告枠を細分化 • フリークエンシーを考慮 • ユーザーの属性を考慮
  9. 9. 実績値なしでの推定
  10. 10. 実績値なしでの推定 (1) • 配信実績が少ないとCTRが分からない • 効果に関係なく配信して実績値を調べていた • 実績が蓄積するまでの間は効率が悪い
  11. 11. 実績値なしでの推定 (2) • 似た広告の実績値からベイズ推定 • 広告枠 • 広告主 • 広告商品 • ターゲティング設定 • 配信直後から正確にCTRを推定できるようになった
  12. 12. 内部的に広告枠を
 細分化
  13. 13. 国内カテゴリ エンタメカテゴリ グルメカテゴリ 国内カテゴリ エンタメカテゴリ グルメカテゴリ 内部的に広告枠を細分化 (1) 広告枠 広告枠 広告枠 広告枠1 広告枠2 広告枠3 同⼀の枠扱い 別の枠として
 CTRを推定
  14. 14. 内部的に広告枠を細分化 (2) • 各ページを訪れるユーザーに対してCTRを推定
 できるようになった • コンテンツにマッチした広告が出やすくなった
  15. 15. フリークエンシーを
 考慮
  16. 16. フリークエンシーを考慮 • 表⽰してクリックされなかった広告を繰り返し表⽰ しても、クリックされる可能性は低い • 広告を表⽰した回数を考慮してCTRを推定する
  17. 17. ユーザーの属性を考慮
  18. 18. ユーザーの属性を考慮 (1) • ユーザーの属性 (性別、年代、興味関⼼など) によっ て同じ広告でもCTRは変わる • 属性ごとにCTRを推定する
  19. 19. ユーザーの属性を考慮 (2) 広告 ID 広告枠 ID 推定 CTR 1 1 0.1 1 2 0.2 2 1 0.3 2 2 0.2 広告ID 広告枠 ID 性別 年代 推定 CTR 1 1 f 15-19 0.1 1 1 m 15-19 0.01 1 1 f 20-24 0.2 1 1 m 20-24 0.02 1 1 f 25-29 0.3 1 1 m 25-29 0.03 ⋮ 属性を考慮して 細分化
  20. 20. ユーザー属性の推定 • 機械学習によって属性を推定 • 購⼊したスタンプや利⽤している公式アカウント などの情報を利⽤ • トーク履歴や友だちなどは不使⽤
  21. 21. 最近の取り組み • CTRだけでなくCVRも最適化する • CVR = コンバージョン回数 / クリック回数 • ⾼いほど広告主にとっての費⽤対効果がよくなる • CTRが多少下がってもCVRが⼤きく上がる最適化は 適⽤している
  22. 22. 開発してきて感じたこと • データが超重要 • 広告配信のロジックは表⾯上⾒えにくい • データを追わないと変更時の影響が分からない
  23. 23. データの活⽤ • ダッシュボード • 異常値検知 • A/Bテスト • アプリケーションログ
  24. 24. ダッシュボード • ⾒る⼈がいないと意味がない • 多くのメンバーが⾒るように⼯夫している
  25. 25. LINE Notifyで通知 • 毎⽇スクリーンショットを撮ってLINEグループに ⾃動で共有 • 気付いた点があればLINE上でそのまま議論できる
  26. 26. ⼤きめのモニタで常に表⽰ • 通りかかったときにすぐ⾒られる • デバイスを操作する必要すらない
  27. 27. 異常値検知 (1) • CTR, CVRなどの指標が過去の傾向から外れた
 場合に通知 • バグや市況の変化に気付ける • ⾃動で検知してくれるので必要以上に⼈⼒で
 チェックしなくてよくなる
  28. 28. 異常値検知 (2) • 通知された場合は原因を調査し、対応を検討 • 直近のリリース • 特定の案件の出稿状況 • 季節要因 • 掲載メディア側の変更
  29. 29. A/Bテスト (1) • 最適化前後での効果の⽐較のために実施 • 基本的にはすべての最適化についてテスト • 機能の組み合わせや市況によってうまくいかない ことがある
  30. 30. A/Bテスト (2) • JIRAでチケット管理 • A/Bテスト期間を⼊⼒できるようにしている • ⾃前のカレンダーアプリで表⽰
  31. 31. A/Bテスト (3) • ほぼ毎週複数の最適化をテスト • LINEのトラフィックだと短期間で必要な
 サンプル数のデータが集まる • 多数の機能を並⾏して開発 • 案件が予定通り進まなくても他の案件をテスト
  32. 32. アプリケーションログ • 表⾯上⾒えない部分が多いのでログが重要 • リクエストごとの処理途中の情報もログとして保存
  33. 33. アプリケーションログの例 配信候補 の広告 予算切れの 広告を除外 ターゲティング対象で ない広告を除外 オークション 配信する 広告 件数を保存 除外した件数を保存 除外した件数を保存 上位の広告の⼊札に関する情報を保存
  34. 34. Datalake • 社内のデータ分析基盤 • 数百台規模のHadoopクラスタ • 社内の様々なデータが格納されている • Webフロントエンドyanagishimaから簡単に
 クエリを投げられる
  35. 35. yanagishima • 社内で開発されたPrestoとHiveのWebフロント
 エンド • OSSとしてGitHubで公開中 • ブラウザ上でクエリを書いて実⾏できる • 結果を簡単に共有できる
  36. 36. On-premise AWS システム構成 Datalake app RDS (master) S3 (log) yanagishima 機械学習他サービス ダッシュ ボード 異常値検知
  37. 37. まとめ • LINE Ads PlatformのCTRを2倍にした • CTRを正確に推定することで、クリックされやす い広告を表⽰している • 他の指標とのバランスを取りながら最適化を継続中 • データを活⽤しながら開発している

×