# VV_GEOMEO ブランド層計測プロトコル（v1）

**作成日**: 2026-04-19
**ステータス**: Phase 2 本格稼働待ち（現状は暫定スコア 0 で運用）
**関連**: AVI v2 算定ロジック `§2 3層構造` / `src/lib/scoring-avi.ts`

## 目的

AVI v2 の第 2 層「ブランド層」に対応する観測指標を定義する。拠点層（GBP Audit）・AI 露出層（5 AI 実測）と独立してブランド単位の検索露出・リファラル被リンク・ブランド認知を 0–100 で数値化し、AVI へ倍率 1.0× で合算する。

## 指標構成（0–100 の加点合算）

ブランド層スコアは 4 つのサブ指標の加重平均として算定する。重みは MVP 段階では同一配点とし、3 四半期（9 ヶ月）の実計測データが蓄積された時点で Bayesian 更新する。

| サブ指標 | 配点 | 観測対象 | 計測頻度 |
|---|---|---|---|
| `brand_name_search_volume` | 25 | Google サジェスト・Google Trends での事務所名検索ボリューム（相対値） | 月次 |
| `referring_domain_diversity` | 25 | 事務所ドメインへの被リンク発信元ドメイン数（ユニーク） | 四半期 |
| `press_mention_count` | 25 | 報道記事・業界誌・公的機関サイトでの言及数 | 四半期 |
| `ai_ready_signals` | 25 | llms.txt / ai.txt / schema.org JSON-LD の充足度 | 月次 |

## サブ指標 1: brand_name_search_volume（0–25）

事務所名単独での検索需要を相対化する。事務所 A の当該月検索ボリュームを同一地域×分野の母集団の 95 パーセンタイル値で正規化し、上限 25 で丸める。

- データ源: Google Keyword Planner API または Ahrefs API（外部有料）
- フォールバック: Google Trends の Interest over time（無料 API）を 90 日移動平均で代替
- 0 扱い: 検索ボリューム 10/月 未満
- 25 満点: 母集団 95 パーセンタイル以上

## サブ指標 2: referring_domain_diversity（0–25）

被リンク発信元ドメイン数（unique referring domains）を log10 スケールで 0–25 にマップする。生被リンク数でなくドメイン多様性を見る理由は、SEO スパムリンクの影響を抑制するため。

- データ源: Ahrefs / Moz / Majestic いずれかの API（外部有料。本ファイル公開時点では未契約）
- 簡易代替: `citation_domain_meta.json` で既知の引用元ドメインから自社への外部リンクを自社クロールで検出
- スコア式: `round(min(25, 5 * log10(referring_domains + 1)))`
  - 10 ドメイン → 5点
  - 100 ドメイン → 10点
  - 1,000 ドメイン → 15点
  - 10,000 ドメイン → 20点
  - 100,000 ドメイン → 25点

## サブ指標 3: press_mention_count（0–25）

新聞・業界誌・公的機関サイト（弁護士会・自治体等）での事務所名言及を手動で収集・スコア化する。

- データ源（優先順）:
  1. 自治体サイト（`city.itabashi.tokyo.jp`・`city.toshima.lg.jp` 等）の相談窓口紹介
  2. 各弁護士会公式サイトの会員名簿
  3. 新聞データベース（日経テレコン等、外部有料）
  4. 業界誌（自由と正義・弁護士業務広告規程関連文献）
- スコア式: `round(min(25, mention_count * 2.5))`
  - 1 件 → 2.5点 → 3点
  - 10 件以上 → 25点満点

## サブ指標 4: ai_ready_signals（0–25）

AI クローラが解釈しやすい構造化シグナルの充足度を二値＋重み付けで評価する。

| 項目 | 満点 | 評価基準 |
|---|---|---|
| `/llms.txt` 配置 | 6 | ルート直下に有効な llms.txt |
| `/ai.txt` 配置 | 3 | ai.txt により AI クロール許可方針を明示 |
| Schema.org JSON-LD: LegalService / Attorney | 6 | 事務所ページに構造化データ |
| Schema.org JSON-LD: AggregateRating | 4 | レビュー情報を構造化 |
| Schema.org JSON-LD: FAQPage | 3 | 主要 FAQ を構造化 |
| robots.txt での AI クローラ明示許可 | 3 | GPTBot / ClaudeBot / PerplexityBot の記載 |

## 集計と保存

各四半期の測定終了時に `brand_scores.json` を更新する。スキーマは以下の通り。

```json
{
  "aiv_<sanitized_office_name>": {
    "quarter": "2026Q2",
    "subscores": {
      "brand_name_search_volume": 18,
      "referring_domain_diversity": 12,
      "press_mention_count": 5,
      "ai_ready_signals": 9
    },
    "brand_score_total": 44,
    "measured_at": "2026-06-30",
    "data_source_notes": "検索ボリュームは Google Trends 相対値を使用（Ahrefs 未契約のため）"
  }
}
```

## 倫理・法規制上の留意点

- 日弁連業務広告規程 第 9 条（比較広告の制限）との整合: ブランド層は客観的に観測される外部シグナルのみを使用し、「他事務所より優れている」等の主観的比較表現を含まない。
- 日弁連業務広告規程 第 3 条（誇大広告禁止）との整合: 上限 100 の固定尺度だが、絶対値のみで掲載しない（必ず同一地域 × 分野の母集団内パーセンタイルを併記）。
- 不正競争防止法 2 条 1 項 21 号（営業誹謗）との整合: 低スコア事務所に対する誹謗的表現は一切使用せず、スコアはしきい値に応じた `baseline / standard / featured` の区分のみを表示。

## Phase 2 移行判断基準

以下 3 条件がすべて満たされた段階で brand_score を AVI 本計算に投入する（現行は暫定 0）。

1. 3 事務所以上で 3 四半期連続の実計測データが揃う
2. Ahrefs または Majestic のいずれかで referring_domains が取得できる状態
3. 地域 × 分野の母集団がサブ指標ごとに最低 5 件以上揃う

上記 3 条件に満たない間は `brandLayerMultiplier` を 1.0 に維持しつつ、`brand_scores.json` を空（{}）で扱い、AVI 表示時に「ブランド層データ準備中」と必ず併記する。
