Yahoo! JAPANを支える広告
技術
メディアグループ マーケティングソリューションズカンパニー 開発本部
佐々木 陽一
Copyright 2018 Yahoo Japan Corporation. All Rights Reserved.
自己紹介
佐々木 陽一
• メディアグループ マーケティングソリューションズカンパニー 開発本
部 パブリッシャーPF開発1部
• 2012年中途入社
• ガラケー向けブラウザ開発(〜 2012年)
• 広告配信システムのエンジニア(2012年〜)
ヤフーの広告について
ディスプレイ広告検索連動型広告
プレミアム広告
スマートフォン版Yahoo! JAPAN
ブランドパネル
Yahoo! JAPAN プレミアムビジョン
Yahoo!ディスプレイアドネットワーク(YDN)
広告システム全体の構成
広告 広告
レポート
ログ
広告DB
管理システム配信システム
集計システム
ユーザー 広告主
(代理店)
広告管理システム
広告 広告
レポート
ログ
広告DB
管理システム配信システム
集計システム
ユーザー 広告主
(代理店)
広告の入稿
• タイトル、説明文、画像、動画、表示URL
• ターゲティング(性別、年齢、興味関心)
広告配信システム
広告 広告
レポート
ログ
広告DB
管理システム配信システム
集計システム
ユーザー 広告主
(代理店)
ユーザー、コンテンツの情報を元に最適な広告を表示
広告集計システム
広告 広告
レポート
ログ
広告DB
管理システム配信システム
集計システム
ユーザー 広告主
(代理店)
配信実績ログを集計
実績レポートを表示
広告システムの利用技術
• 言語
• C、C++、Java、Python、Goなど
• アプリケーションフレームワーク
• Spring Bootなど
広告配信システムについて
ヤフーのサービス・その他提携サービス全リクエストを処理
• 総アクセス数 月間757億PV(2017Q2時点)
• 瞬間最大アクセス数 数十万QPS以上
広告配信システムの構成
広告
検索エンジンフロントエンド 広告DB
データ処理
広告配信システムの規模
広告
検索エンジンフロントエンド 広告DB
データ処理
サーバー数 10000台以上 (仮想機含み)
広告配信システムの主な機能
• 検索機能
• 最適化機能
• 課金・ランキング機能(広告オークション)
広告配信システムの主な機能
• 検索機能
• 最適化機能
• 課金・ランキング機能(広告オークション)
• 検索機能
• 最適化機能
• 課金・ランキング機能(広告オークション)
検索機能
広告
検索エンジンフロントエンド 広告DB
データ処理
ユーザー情報
• 性別、年齢、地域、興味関心など
コンテンツ情報
• 内容、掲載位置、URLなど
ブーリアン検索
• ユーザー情報とターゲティング条件を論理和・積で検索
年齢
地域
性別
ここが選択
ブーリアン検索の例
• 広告 A : 男性 ∧ 20代
• 広告 B : 女性 ∧ 20代
• 広告 C : 男性 ∧ 30代 ∧ 東京
クエリ1 = 「男性、20代、東京」、検索結果は A
クエリ2 = 「女性、20代、大阪」、検索結果は B
ベクトル空間モデル
ベクトル空間モデルによるスコア付け
• tf-idf、類似度(内積)
よりユーザーにマッチした広告を検索
広告B
広告A
ユーザー
θ
検索機能と性能の両立
• 膨大な広告在庫から最適な広告を検索 ※200ミリ秒以内で
• 性能にこだわると、OSSの検索エンジンでは性能不足
• 2つのアルゴリズムを同時処理できる検索エンジンが存在せず
• ビジネス要件を迅速に追加したい
広告専用の検索エンジンを開発
• 検索機能
• 最適化機能
• 課金・ランキング機能(広告オークション)
最適化機能
クリック率、コンバージョン率を予測、最適な広告を配信
予測に必要なデータ
• ユーザーの興味関心、行動履歴
• 広告のインプレッション、クリック、コンバージョン実績ログ
etc.
機械学習などデータサイエンスを駆使し
広告効果向上
広告
検索エンジンフロントエンド 広告DB
データ処理
ビッグデータ処理基盤
大規模Hadoopクラスタを利用
オンラインでA/Bテスト
バケットテストで、広告効果を比較
広告KPI(クリック率、単価など)をリアルタイムで可視化
広告効果向上のPDCAサイクルを実現
広告効果向上にによる好循環
広告効果向上 媒体収益向上
コンテンツ
制作費増
媒体の質向上
ユーザー数
増加
媒体の質向上でユーザーに還元
ユーザー体験
向上
技術がビジネスに与えるインパクト
• 2017年第2四半期
広告関連売上高 743億円(前年同四半期比 +7.0%)
ディスプレイ広告 378億円(前年同四半期比 +9.5%)
技術優位性がビジネス優位性に直結
広告技術でヤフーを支える
まとめ
ヤフーの広告システムは
• 大規模
• トラフィックも膨大。サーバーも大規模
• 高い技術力
• 厳しい性能要件。高いエンジニアリングとサイエンスの知識
• 速いPDCAサイクル
• バケットテストで、様々な広告KPIををリアルタイムで可視化
• ビジネスインパクトも大きい
• 広告収益でヤフーを支える
Copyright 2018 Yahoo Japan Corporation. All Rights Reserved.

YJTC18 A-7 Yahoo! JAPANを支える広告技術

Editor's Notes

  • #2 Yahoo! JAPANを支える広告技術を発表させていただきます
  • #3 広告をやりたくでYahooに入社し、今に至るまで広告配信システム一筋で開発をしております。 この発表を通じで、まずは広告エンジニアの面白さをお伝えできればと思います。
  • #4 まずヤフーの広告ですが、主に検索連動型広告、 そして、ディスプレイ広告と主に2種類あります。そのディスプレイ広告の中で、
  • #5 プレミアム広告、こちらにあるのはトップページに掲載される広告の一例でプレミアム広告の商品になります。 左のブランドパネルは昨年末に動画配信にも対応いたしました。
  • #6 そして次に、ヤフーディスプレイアドネットワーク、YDNと呼ばれています。今回はこちらのシステムについて説明します
  • #7 こちら広告システムですが、大まかにこのような仕組みになっております。それぞれを説明します
  • #8 まず、その広告在庫は、広告主や代理店から入稿と呼ばれる作業で様々な条件で表示させたい広告が広告DBに登録されます。
  • #9 そして次に、ユーザーが広告を掲載しているコンテンツを表示すると、広告表示もリクエストされます。広告DBにある広告在庫から最適な広告が検索されます。
  • #10 それらの配信実績のログを集計し、広告の最適化に利用したり、レポートとし広告を運用している広告主や代理店にレポートを表示します
  • #11 利用技術はこの通りです。 C、C++だと、Apacheのハンドラーを実装していたりしますが、Javaになると、SprintBootを利用してたりします。
  • #12 ヤフーのトラフィックは膨大です、ですので、広告システムは高いパフォーマンスが要求されます。 そのため、サーバーアプリケーションはもとよりOSのレイヤー、ネットワーク含めインフラの性能を極限まで高める技術が要求されます
  • #13 配信システムの規模ですが、このようになっております。
  • #14 配信システムの規模ですが、10000インスタンス以上です、物理、仮想機合わせてです、やはり膨大なトラフィックを捌くにはこれくらいの規模のサーバーが必要になります。 もちろんこれだけの台数ですのでデプロイなど自動化されておりますし、データセンターの専用棟を用意し、運用しております。
  • #15 そして、配信システムの機能ですが、主に3つあります。 まず、検索機能、次に最適化機能、そして課金、ランキング機能の3つになっておりますが 今回は上2つを説明します
  • #16 そして、配信システムの機能ですが、主に3つあります。 まず、検索機能、次に最適化機能、そして課金、ランキング機能の3つになっておりますが 今回は上2つを説明します
  • #17 まず、検索機能を説明します
  • #18 まず1つ目の広告検索機能ですが、ユーザーからの広告表示リクエストには、年齢や性別、そして興味関心に関するデータがあります。 そして、コンテンツの情報として、その内容、掲載位置、URLなどの情報があります。これらを元に検索エンジンにクエリをかけ最適な広告を検索します。
  • #19 検索で利用するアルゴリズムすが、2つあり、まず最初にブーリアン検索を説明します。ユーザーの属性を広告の設定を条件で検索します
  • #20 具体的な例として、広告ABCとあり、クエリ1はAになります、Cは年齢が違いますので条件にはいりません クエリ2は地域の指定がないので、Bが該当します
  • #21 次にベクトル空間モデルによるスコアで検索する、広告と掲載面 tdidfで単語の重みをとって、類似度を計算で求めてスコアの高い順で検索するものです
  • #22 これらのアルゴリズムを駆使して、膨大な広告在庫から最適な広告を検索します。ただし、これらを0.2秒以内を目標に配信します。 時間が無制限であれば、常にベストな広告を検索することは可能です。ただし広告表示が遅いと結果としてユーザー体験が損なわれるからです。 さらに、OSSの検索エンジンはJavaだったします。ルシーンなど、ただし、JavaはGCがあります。GCが発生すると数十ミリ秒遅延し、広告表示障害になります。 これら様々な問題を解決するため我々は検索エンジンを内製で開発しました。
  • #23 そして、配信システムの機能ですが、主に3つあります。 まず、マッチング機能です 次に最適化機能 そして課金、ランキング機能の3つになっております
  • #24 広告マッチングの説明は以上で、次に広告の最適化機能について説明します。
  • #25 これらのログを集計するために集計システムがあります
  • #26 そうして広告効果は本番で試したくなる あれ?おかしいなら、 こうすればもっと良くなる
  • #27 広告効果が上がれば、ユーザー、広告主に利益 収益が上がれば、ヤフーそしてパブリッシャーに利益、そしてその利益はコンテンツの良質化としてユーザーに還元
  • #28 これらを通して、我々がビジネスに与えるインパクトですが、 ・・・となります。まさに、ヤフーを支えている技術となります。 すなわち、KPI向上すれば、収益も比例して向上します。これは広告ビジネスの成長になっています。 まさに、我々の技術的優位性が、ビジネスの優位性に直結しているわけです、他の領域ではなかなか実感できないビジネスへのインパクトは、広告ならではと考えております。