こんにちは、R&D本部基盤技術開発部の内木です。
私は現在ジーニーで主にGenieeDSPの入札部分のロジック実装などを行っています。今回はDSPの入札ロジックに欠かせないCTR(Click Through Rate)予測について、またそれを支えるデータ分析・処理環境についてご紹介します。
CTR予測とは
DSPは広告主に広告を出す機会を提供するプラットフォームです。広告主は費用を使って様々なメディアに広告を出すことで、商品購入など何らかの効果を目指します。弊社を含め多くのDSP事業者では以下で決まるCTRを予測することがDSPにとって重要な機能の一つとなっています。
CTR <- (広告が表示されて、クリックされた回数) / (広告が表示された回数)
CTRを予測するには、どのメディアに出すかはもちろんですが、メディアの中での広告の位置、出される広告コンテンツの内容、広告を見ているユーザーの特性・OS情報など、多様な情報を考慮する必要があります。より良いCTR予測を行うには日々変わる広告パフォーマンスの傾向を考慮した予測モデルで日々改善・修正していく必要があります。
ジーニーの広告表示回数は約800億/月の規模です。この規模のログを様々な軸でデータの傾向を頻繁に確認するために、弊社ではデータ処理・分析環境を整備しています。
データ処理・分析環境
ジーニーではCTR予測モデルをはじめとして、大規模なデータ処理・分析の一部をGCP上で行っています。GCPでデータを処理する大きな理由の一つとして、BigQueryが自由に使えることが挙げられます。
BigQueryでは数TBのデータでも基本的な集計処理なら早くて数秒、ウインドウ関数やJavascriptで記述できるUDFをはじめとした負荷のかかるデータ処理でも多くの場合数分もすれば結果が返ってきます。本番環境でこのような負荷のかかる処理が本当に必要かは慎重に考える必要がありますが、こういった環境はアドホックな処理・調査の効率や頻度などデータ全体に対して大きく影響してきます。
CTR予測モデル作成をBigQuery上で完結させることはできませんが、機械学習には欠かせないデータの前処理・調査で使われています。今のアーキテクチャでは前処理されたデータはGCS(Google Cloud Storage)を通してGCE(Google Compute Engine)に送られ、予測モデルの学習を経て作成されたモデルは再度GCSを通して広告の配信サーバーに渡され、日々新しい予測モデルが更新されていきます。
終わりに
今回はCTRについての説明やBigQueryをはじめとしたデータ処理基盤など、弊社のデータ分析の一例を説明させていただきました。
ジーニーではデータ基盤の運用方法から機械学習などを利用したプロダクトのロジック改善方法に到るまで、データ活用をより盛んにしていくため開発環境をまだまだ改善していきたいと考えています。今回ご紹介した内容に興味を持っていただければ幸いです。