SlideShare a Scribd company logo
LINE Ads Platformの

CTRを2倍にした開発⼿法
LINE株式会社 サービス開発1室
⼩川 拡
⾃⼰紹介
• 経歴
• 2015 新卒で⼊社
• 2015~ LINE ポイント広告 サーバサイド開発
• 2016~ LINE Ads Platform 広告配信サーバ開発
LINE Ads Platform
• LINEの運⽤型広告プラットフォーム
• リクエストごとにオークションで配信する広告を
決定
• 広告主や広告代理店が運⽤
• タイムラインやLINE NEWSなどに広告を表⽰
LINE Ads PlatformのCTRを2倍にした開発手法
今⽇お話すること
• CTRを2倍にするためにやったこと
• チームの開発⼿法
CTRとは
• 広告が表⽰されたユーザーが広告をクリックする率
• CTR = クリック回数 / 表⽰回数
CTRを2倍にするために

やったこと
• CTRを正確に推定する
CTRを正確に推定できると

どうなるか
• クリックされやすい広告を表⽰できるようになる
• クリックされるほど売り上げが増える
• ユーザーにとっても興味のある広告が表⽰される
• 広告クリエイティブは掲載前に審査
CTR推定の改善
• 実績値なしでの推定
• 内部的に広告枠を細分化
• フリークエンシーを考慮
• ユーザーの属性を考慮
実績値なしでの推定
実績値なしでの推定 (1)
• 配信実績が少ないとCTRが分からない
• 効果に関係なく配信して実績値を調べていた
• 実績が蓄積するまでの間は効率が悪い
実績値なしでの推定 (2)
• 似た広告の実績値からベイズ推定
• 広告枠
• 広告主
• 広告商品
• ターゲティング設定
• 配信直後から正確にCTRを推定できるようになった
内部的に広告枠を

細分化
国内カテゴリ
エンタメカテゴリ
グルメカテゴリ
国内カテゴリ
エンタメカテゴリ
グルメカテゴリ
内部的に広告枠を細分化 (1)
広告枠
広告枠
広告枠
広告枠1
広告枠2
広告枠3
同⼀の枠扱い
別の枠として

CTRを推定
内部的に広告枠を細分化 (2)
• 各ページを訪れるユーザーに対してCTRを推定

できるようになった
• コンテンツにマッチした広告が出やすくなった
フリークエンシーを

考慮
フリークエンシーを考慮
• 表⽰してクリックされなかった広告を繰り返し表⽰
しても、クリックされる可能性は低い
• 広告を表⽰した回数を考慮してCTRを推定する
ユーザーの属性を考慮
ユーザーの属性を考慮 (1)
• ユーザーの属性 (性別、年代、興味関⼼など) によっ
て同じ広告でもCTRは変わる
• 属性ごとにCTRを推定する
ユーザーの属性を考慮 (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
⋮
属性を考慮して
細分化
ユーザー属性の推定
• 機械学習によって属性を推定
• 購⼊したスタンプや利⽤している公式アカウント
などの情報を利⽤
• トーク履歴や友だちなどは不使⽤
最近の取り組み
• CTRだけでなくCVRも最適化する
• CVR = コンバージョン回数 / クリック回数
• ⾼いほど広告主にとっての費⽤対効果がよくなる
• CTRが多少下がってもCVRが⼤きく上がる最適化は
適⽤している
開発してきて感じたこと
• データが超重要
• 広告配信のロジックは表⾯上⾒えにくい
• データを追わないと変更時の影響が分からない
データの活⽤
• ダッシュボード
• 異常値検知
• A/Bテスト
• アプリケーションログ
LINE Ads PlatformのCTRを2倍にした開発手法
ダッシュボード
• ⾒る⼈がいないと意味がない
• 多くのメンバーが⾒るように⼯夫している
LINE Notifyで通知
• 毎⽇スクリーンショットを撮ってLINEグループに
⾃動で共有
• 気付いた点があればLINE上でそのまま議論できる
LINE Ads PlatformのCTRを2倍にした開発手法
⼤きめのモニタで常に表⽰
• 通りかかったときにすぐ⾒られる
• デバイスを操作する必要すらない
LINE Ads PlatformのCTRを2倍にした開発手法
異常値検知 (1)
• CTR, CVRなどの指標が過去の傾向から外れた

場���に通知
• バグや市況の変化に気付ける
• ⾃動で検知してくれるので必要以上に⼈⼒で

チェックしなくてよくなる
LINE Ads PlatformのCTRを2倍にした開発手法
異常値検知 (2)
• 通知された場合は原因を調査し、対応を検討
• 直近のリリース
• 特定の案件の出稿状況
• 季節要因
• 掲載メディア側の変更
A/Bテスト (1)
• 最適化前後での効果の⽐較のために実施
• 基本的にはすべての最適化についてテスト
• 機能の組み合わせや市況によってうまくいかない
ことがある
A/Bテスト (2)
• JIRAでチケット管理
• A/Bテスト期間を⼊⼒できるようにしている
• ⾃前のカレンダーアプリで表⽰
LINE Ads PlatformのCTRを2倍にした開発手法
A/Bテスト (3)
• ほぼ毎週複数の最適化をテスト
• LINEのトラフィックだと短期間で必要な

サンプル数のデータが集まる
• 多数の機能を並⾏して開発
• 案件が予定通り進まなくても他の案件をテスト
LINE Ads PlatformのCTRを2倍にした開発手法
アプリケーションログ
• 表⾯上⾒えない部分が多いのでログが重要
• リクエストごとの処理途中の情報もログとして保存
アプリケーションログの例
配信候補
の広告
予算切れの
広告を除外
ターゲティング対象で
ない広告を除外
オークション
配信する
広告
件数を保存
除外した件数を保存
除外した件数を保存
上位の広告の⼊札に関する情報を保存
Datalake
• 社内のデータ分析基盤
• 数百台規模のHadoopクラスタ
• 社内の様々なデータが格納されている
• Webフロントエンドyanagishimaから簡単に

クエリを投げられる
yanagishima
• 社内で開発されたPrestoとHiveのWebフロント

エンド
• OSSとしてGitHubで公開中
• ブラウザ上でクエリを書いて実⾏できる
• 結果を簡単に共有できる
LINE Ads PlatformのCTRを2倍にした開発手法
On-premise
AWS
システム構成
Datalake
app
RDS
(master)
S3
(log)
yanagishima
機械学習他サービス
ダッシュ
ボード
異常値検知
まとめ
• LINE Ads PlatformのCTRを2倍にした
• CTRを正確に推定することで、クリックされやす
い広告を表⽰している
• 他の指標とのバランスを取りながら最適化を継続中
• データを活⽤しながら開発している

More Related Content

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