
動画データ統合と分析強化
統合対象の定義:動画メタデータとイベントの最小構成
コアエンティティの設計
まずは「動画」「ユーザー」「セッション」を軸に、余計な列を持たない最小構成から始めます。動画メタデータは以下を必須にすると、後工程が崩れにくくなります。
- video_id(不変の主キー)
- タイトル/説明/カテゴリ/公開時刻/長さ(秒)/言語/年齢レーティング
- クリエイターID/配信権利の有効期間/サムネイル群(サイズ別)
- 派生情報:自動要約タグ、トピッククラスタ、チャプター境界(後述の強化で生成)
ユーザーは個人情報を直接保持せず、ハッシュ化ID群(login_id_hash, device_id_hash, email_hash)を保管。セッションはsession_idと開始・終了、デバイス、OS、アプリバージョン、ネットワーク種別を標準化します。
イベント設計(視聴・検索・露出)
分析の芯はイベント設計です。視聴系はplay, pause, seek, complete、探索系はsearch_query、レコメンド露出はimpressionとclickを用意。必須カラムは以下。
- event_id(生成側でUUID)、event_type、timestamp(UTC)、user_id_hash、session_id
- video_id、position_sec、bitrate、buffer_flag、recommendation_slot、rank
- referrer、campaign_id、surface(ホーム/検索/詳細)
UTC統一とスキーマバージョン付与は必須。event_id+timestampの複合で重複排除できるようにします。
統合パイプラインの設計:現実的な手順と選択肢
-
取り込み(Ingest): アプリ/プレイヤーからはストリーミングで即時受信、CMSや広告はバッチで日次取り込みのハイブリッドにします。遅延到着イベントは72時間の遡及マージを許容。生データはパーティション(dt=YYYY-MM-DD, hh=HH)でオブジェクトストレージに保存します。
-
正規化・名寄せ(Normalize/ID解決): event_idベースで重複除去し、user_idはlogin_id > device_id > email_hashの優先順位で統合。video_idでカタログに結合し、公開時刻より前のイベントは除外して品質を担保します。
-
強化(Enrich): 音声文字起こしとサマリから自動タグ付け、トピック抽出、チャプター推定を実施します。タグ生成にはChatGPTやClaude、Geminiを比較運用し、信頼度スコアと作成元モデルを保存。SQLの品質担保にはCopilotでクエリレビューを回し、誤集計を早期に検知します。
-
提供(Serve): BI用スター・スキーマ(fact_events / dim_video / dim_user)を構築し、プロダクト用には特徴量ストアに重要特徴(過去7日視聴分布、カテゴリ親和性、離脱秒数の中央値)を供給。A/Bテスト基盤はユーザーIDでの安定割当と、イベントの二重送信を防ぐスイッチを用意します。
-
ガバナンス: 個人情報は別テーブルで鍵分離、アクセスはロール単位。スキーマレジストリで互換性(backward/forward)を管理、データ品質ルール(NULL率、ドメインチェック)を日次でモニタリングします。
意思決定に効く指標設計とダッシュボード
ダッシュボードは「発見→視聴→継続→収益」のファネルで揃えます。抽象的な視聴回数だけでは運用が空回りします。
- 露出→再生開始率(CTR): click / impression。面ごと(ホーム/検索/詳細)に分解。
- 初回10秒離脱率: 10秒未満での離脱 / 再生開始。サムネイル・導入構成の検証に有効。
- 視聴完了率: complete / 再生開始。長尺は同区間比較(25/50/75%)で歪みを抑制。
- 平均視聴時間(AVT)とバッファ比: 体感品質のアラート指標。ネットワーク別に監視。
- 検索→視聴CVR: 検索結果クリック / クエリ数。無効クエリ上位を改善バックログへ。
- レコメンド貢献売上: 位置ベースアトリビューションで各面の寄与を推定。
- N日継続率・LTV: コンテンツクラスタ(例:学習/エンタメ/スポーツ)別に算出。
A/Bテストは主要指標を2〜3に絞り、メトリクスの方向性が割れる場合は「ガードレール(離脱率やバッファ比)」を設定。分散が大きいAVTはセッション単位でウィンズライド(上位1%切り)を検討します。
身近な企業活用例:小規模メディアの失敗から改善まで
月間300本の学習動画を配信する編集チーム10名・社員40名の教育系メディア。CMS、アプリログ、広告レポートが分断され、編集会議は「再生回数」だけで意思決定。サムネイル刷新やタイトル調整の効果が読めず、レコメンド露出の偏りで新作が埋もれる課題がありました。
取組みは3スプリントで実施。
- 統合の土台づくり: プレイヤーSDKからplay/pause/seek/completeを送信、impression/clickも付与。UTC統一、event_id導入、video_idをCMSと同期。72時間の遡及マージで欠損を救済。
- 強化とタグ標準化: 既存動画に自動タグを付与。要約とトピック抽出をChatGPTとClaudeで並走、教育分野特有の用語はプロンプト辞書化して精度を底上げ。Geminiはクイズ系動画のチャプター案出しに活用。モデルごとの差分は信頼度ごとに品質チェック担当が承認。
- 意思決定の刷新: ホーム面のCTRと10秒離脱率を主要KPIに据え、AVTはガードレールに。レコメンド面はrank別の貢献を見える化し、露出の再配分を自動化。SQLの集計定義はCopilotでコードレビューして、重複カウントを解消。
結果、ホーム面のCTRが18%向上、初回10秒離脱率が12pt改善、収益/視聴時間が22%増。とくに「難易度タグ」と「導入30秒の明確化」で新作の発見性が改善し、継続率の底上げにつながりました。編集チームは毎週の会議で「タグの整合性」「離脱秒の分布」を確認し、優先順位を迷わなくなりました。
動画データの統合は、単なる分析基盤づくりではなく、企画・編集・配信・収益化を同じ地図上で動かすための共通言語づくりです。メタデータとイベントの最小構成から着手し、遅延到着や名寄せ、強化処理を現実的に回すことで、意思決定はシンプルになります。動画プラットフォーム事業において、この地道な統合と分析の強化が、視聴体験と収益の両輪を確かに前進させます。