> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryprofound.com/llms.txt
> Use this file to discover all available pages before exploring further.

# メトリクスの計算方法

> 各レポートメトリクスの計算式、計算例、そして Answers API から各数値を再現する方法。

すべてのレポートメトリクスは AI モデルごとに個別に計算され、その後モデル間で
均等な重みで平均されます。実行回数の多いモデルも、少ないモデルも
同じ重みで扱われます。

$$
\text{score} = \frac{\text{score}_{\text{model 1}} + \text{score}_{\text{model 2}} + \dots + \text{score}_{\text{model } M}}{M}
$$

`M` は、期間内に少なくとも 1 回ブランドの言及があったモデルの数です。他のブランドには
言及したものの自社ブランドには言及しなかったモデルは、スコア 0 として `M` に含まれます。
平均順位は例外で、自社ブランドが登場したモデルについてのみ平均されます。言及数や
引用数などのカウントは、モデル間で平均されるのではなく合計されます。

## モデルごとの計算式

### Visibility score

$$
\frac{\text{自社ブランドに言及した実行数}}{\text{いずれかのブランドに言及した実行数}}
$$

ブランド設定の Configure Competitors で除外していない限り、設定済みの競合だけでなく、
回答で名前が挙がったすべてのブランドがカウントされます。
どのブランドにも言及しなかった実行は、分子と分母の両方から除外されます。
API では 0〜1 の値で返され、プラットフォームではパーセンテージで表示されます。

### Share of voice

$$
\frac{\text{自社ブランドの言及数}}{\text{全ブランドの言及数}}
$$

各ブランドは 1 回の実行につき 1 回カウントされます。API では 0〜1 の値で返され、
プラットフォームではパーセンテージで表示されます。

### Average position

$$
\frac{\text{自社ブランドの順位の合計}}{\text{自社ブランドに言及した実行数}}
$$

回答で最初に言及されたブランドが順位 1 です。値が小さいほど良好です。

### Citation share

$$
\frac{\text{自社ドメインの引用数}}{\text{全引用数}}
$$

API では 0〜1 の値で返され、プラットフォームではパーセンテージで表示されます。
`page` でグループ化する場合は、同じ計算式がページごとに適用されます。

### Positive sentiment と Negative sentiment

$$
100 \times \frac{\text{自社ブランドに関するポジティブな主張}}{\text{自社ブランドに関するすべての主張}}
$$

Negative sentiment は、ネガティブな主張を使って同様に計算します。すべての主張は
ポジティブまたはネガティブのいずれかに分類されるため、2 つの値の合計は 100 になります。
どちらも 0〜100 の値で返されます。

## 例: 2 つのモデル

| | Model A | Model B | 結果 |
| - | - | - | - |
| いずれかのブランドに言及した実行数 | 10 | 20 | |
| 自社ブランドに言及した実行数 | 4 | 12 | |
| **Visibility score** | 4 / 10 = 0.40 | 12 / 20 = 0.60 | (0.40 + 0.60) / 2 = **0.50** |
| 全ブランドの言及数 | 25 | 40 | |
| **Share of voice** | 4 / 25 = 0.16 | 12 / 40 = 0.30 | (0.16 + 0.30) / 2 = **0.23** |
| 自社ブランドの順位の合計 | 7 | 27 | |
| **Average position** | 7 / 4 = 1.75 | 27 / 12 = 2.25 | (1.75 + 2.25) / 2 = **2.00** |
| 引用数(全ドメイン) | 50 | 100 | |
| 自社ドメインの引用数 | 5 | 25 | |
| **Citation share** | 5 / 50 = 0.10 | 25 / 100 = 0.25 | (0.10 + 0.25) / 2 = **0.175** |
| 自社ブランドに関する主張 | 20 | 10 | |
| ポジティブな主張 | 12 | 8 | |
| **Positive sentiment** | 12 / 20 = 60 | 8 / 10 = 80 | (60 + 80) / 2 = **70** |
| ネガティブな主張 | 8 | 2 | |
| **Negative sentiment** | 8 / 20 = 40 | 2 / 10 = 20 | (40 + 20) / 2 = **30** |

<Warning>
  各モデルは均等な重みを持つため、先にモデル間で実行をまとめて計算する(visibility の場合
  16 / 30 = 0.53)のは誤りです。日次スコアを平均して月次スコアを算出するのも
  誤りです。月次スコアは、その月のすべての実行から計算されます。
  [規約と注意点](/ja-jp/cookbook/setup/conventions#dont-average-daily-rows-to-get-a-period-score) をご覧ください。
</Warning>

## Answers API からメトリクスを再現する

[Get Answers](/ja-jp/rest-api/reports/query-answers-v2) は、1 回の実行につき 1 行を返します。
必要なフィールドは次のとおりです。

| フィールド | 内容 |
| - | - |
| `run_id` | 実行の識別子。 |
| `model` | AI モデル(ID と名前)。 |
| `mentions` | 回答に登場したブランドの名前。初出順に、各ブランド 1 回ずつ並びます。Configure Competitors で除外したものも含め、Profound が検出したすべてのブランドが列挙されます。 |
| `citations` | 回答で引用された URL。`citation_details` は各 URL のホスト名とタイトルを追加するもので、`include` で明示的にリクエストする必要があります。 |
| `sentiment_claims` | 回答から抽出された主張。それぞれに `asset`(対象のブランド)、`theme`、`claim`、`sentiment`(`positive` または `negative`)が含まれます。 |
| `date`, `topic`, `tags`, `prompt`, `prompt_id`, `region`, `persona` | 実行の現在のラベル。行の選択に使用します。 |

対象とする日付、Topics、Tags、Regions の行を選択します。Configure Competitors で
ブランドを除外している場合は、まず `mentions` からそれらを取り除きます。
各メトリクスについて、以下の分数をモデルごとに個別に計算し、モデルごとの値を
平均します。センチメントの値には 100 を掛けます。

| メトリクス | 分子 | 分母 |
| - | - | - |
| Visibility score | 自社ブランドが `mentions` に含まれる一意の `run_id` | `mentions` が空でない一意の `run_id` |
| Share of voice | 自社ブランドが `mentions` に含まれる一意の `run_id` | 全実行の `mentions` のエントリ数の合計 |
| Average position | `mentions` における自社ブランドの順位の合計(最初のエントリを 1 とする) | 自社ブランドが `mentions` に含まれる一意の `run_id` |
| Citation share | ホスト名が自社ドメインである `citations` のエントリ | 全実行の `citations` のエントリ数の合計 |
| Positive sentiment | `asset` が自社ブランドで、`sentiment` が `positive` である `sentiment_claims` のエントリ | `asset` が自社ブランドである `sentiment_claims` のエントリ |
| Negative sentiment | `asset` が自社ブランドで、`sentiment` が `negative` である `sentiment_claims` のエントリ | `asset` が自社ブランドである `sentiment_claims` のエントリ |

`run_id` でカウントし、Topics と Prompts は ID で結合し、ブランドは名前で照合し、
日付は東部時間を使用してください。

<Note>
  Answers API は、Topic、Tags、ブランドリストを現在の設定のまま返すため、
  そこから再構築した数値は設定を変更すると変わります。
  [過去の数値が変わる理由](/ja-jp/cookbook/metrics/why-past-numbers-change) をご覧ください。
</Note>
