GEO/生成AIブランド言及確認レポート

Portfolio - Generative AI Brand Mention Check Report

生成AIブランド言及確認レポート

SEOキーワードからユーザーの質問プロンプトを作成し、GPTやGeminiの回答に自社・競合ブランドがどの程度登場するかを測定する分析ツールを開発しました。

検索順位だけでは見えない、ChatGPTやGeminiなどのAI検索におけるブランドの言及率や出現シェアを数値で確認できます。

開発背景

SEOキーワードからAI回答を経て可視化レポートを作成する開発背景

検索先がAIチャットやAI検索へ広がり、ブランドは検索結果での順位に加えて、AIの回答で名前が挙がるかも確認する必要があります。

購買意図のあるSEOキーワードをAI向けの質問に変換し、回答内でのブランドの登場状況を集計できるようにしました。

AIの回答は質問ごとに変わるため、手作業で追い続けるのは難しい作業です。

キーワード処理からLLM回答の収集・分析、レポート作成までを自動化するパイプラインを組みました。

担当範囲

企画、要件定義、設計、実装、テスト、レポートデザインを一人で担当しました。

開発時間は約50時間です。日本語と英語の両方を処理できます。

パイプラインの仕組み

キーワードからプロンプト、AI回答、レポートへつなぐパイプラインの仕組み

処理は3つのPythonモジュールに分けています。

  • kw-to-prompt: キーワードの英訳、質問生成、レビュー、質問の英語化を行います。
  • prompt-to-answer: GPT / Gemini回答の取得、ブランド抽出、対象ブランドの露出判定を行います。
  • answer-to-report: モデル別集計、統合比較、HTML生成、PDF出力を行います。

レポートで可視化できる指標

レポートでは次の指標を集計します。

全体サマリーレポート画面
  • 総プロンプト数: 分析の対象とした質問プロンプトの合計数。
  • Target Brand言及プロンプト数: 回答内でTarget Brandへの言及があったプロンプトの数。
  • Target Brand言及率: 全プロンプトに対する言及回答の割合。
  • ブランド出現数 (Brand Appearances): 各ブランドが1回以上登場した回答の件数(ランキング表示)。
プロンプト別比較スライド
  • モデル別比較: GPTとGeminiで、それぞれのプロンプトに対する言及有無(Yes / No)の並列比較。

技術仕様

実装にはPython 3.12+を使用しています。

環境とパッケージの管理には uv を使っています。モジュールを分けたため、個別の処理を修正しやすい構成です。

  • OpenAI / Gemini API: 質問に対するモデル回答のバッチ処理による取得。
  • pandas: データの読み込み、整形、欠損値処理、出現率の計算。
  • Jinja2: 16:9のHTMLスライドをテンプレートから出力。
  • Playwright: 生成されたHTMLファイルをChromiumで読み込み、16:9の横長PDFスライドに変換。
  • pytest / ruff: テストとコード品質の確認。

実装で工夫した点

単発の分析で終わらず、実案件で繰り返し使えるように作りました。

キーワード処理、LLM回答の収集・分析、レポート生成を別々のモジュールにしたため、一部だけをやり直したり、新しいモデルを追加したりできます。

HTMLは16:9のスライド形式で出力します。ブラウザ表示とPDF出力でレイアウトが崩れにくくなります。

データの匿名化と注意事項

サンプルレポートとこの紹介ページでは、実在する企業名、顧客名、商品名、リポジトリへのリンクを伏せて公開しています。

ブランド名はすべて「Target Brand」や「Competitor A〜L」といった汎用ラベルに置き換えました。

ブランド言及率が示すのは、AIの回答に対象名が登場したかどうかだけです。好意的な推薦、推奨順位、購買成果は評価していません。

活用方法

AI検索でのブランド認知状況を把握しGEO施策の効果を測定する活用方法

このモニタリングレポートは、たとえば次の判断に使えます。

  • AI検索で自社ブランドがどの程度認知されているかを定期的に測る。
  • 競合ブランドとの言及シェアを比べ、AI検索での位置を把握する。
  • 自社ブランドが言及されなかったキーワード群と質問カテゴリを見つける。
  • GEO(生成AIエンジン最適化)施策の前後で変化を測る。

Portfolio 他のポートフォリオ