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

# Brand metrics

> How visibility, sentiment, position, and volume are calculated for your brand across AI search engines.

## Visibility: how often your brand appears

**Definition**: Measures how often your brand appears in AI-generated responses. Higher visibility indicates stronger brand presence across AI platforms.

### Formula

```
Visibility (%) = (Responses mentioning your brand / Total responses) x 100
```

A brand is considered "mentioned" if it appears in the extracted brands list for that response.

### Per-prompt example

<Accordion title="Worked example: single prompt visibility">
  ```
  Prompt: "Which MOBA games are best for beginners?"
  Time period: Last 7 days
  Your brand: League of Legends

  Data:
  - Total responses for this prompt: 10
  - Responses mentioning League of Legends: 8

  Visibility = (8 / 10) x 100 = 80%
  ```

  League of Legends appeared in 80% of AI responses to this prompt.
</Accordion>

### Aggregated example

When viewing the overview dashboard, visibility is calculated across **all prompts** in your project.

<Accordion title="Worked example: aggregated visibility">
  ```
  Project: League of Legends
  Time period: Last 7 days

  Data:
  - Prompt 1: 8/10 mentions
  - Prompt 2: 12/15 mentions
  - Prompt 3: 7/12 mentions
  - Total responses: 37
  - Total mentioning League of Legends: 27

  Visibility = (27 / 37) x 100 = 73%
  ```

  League of Legends appeared in 73% of all AI responses across all tracked prompts.
</Accordion>

***

## Sentiment: how positively AI describes you

**Definition**: Reflects the positivity of your brand's perception in AI-generated content. Higher scores indicate more favorable mentions.

### How sentiment works

* Each response is analyzed to determine the overall tone toward each mentioned brand
* One sentiment score (0--100) is assigned **per brand per response**, regardless of how many times the brand is mentioned
* The score reflects the overall context and portrayal of the brand in the entire response

### Scale

| Score  | Interpretation            |
| ------ | ------------------------- |
| 0      | Completely negative       |
| 50     | Neutral                   |
| 100    | Completely positive       |
| 50--70 | Typical range in practice |

<Note>
  Sentiment is only calculated for responses where your brand is **visible** (mentioned). If your brand doesn't appear in a response, no sentiment score is generated for that response.
</Note>

### Per-prompt example

<Accordion title="Worked example: single prompt sentiment">
  ```
  Prompt: "Which MOBA games are best for beginners?"
  Your brand: League of Legends

  Response 1: "League of Legends is excellent for beginners..."
    -> Sentiment: 85

  Response 2: "League of Legends has a steep learning curve but good resources..."
    -> Sentiment: 78

  Response 3: "For new players, League of Legends offers excellent support..."
    -> Sentiment: 82

  Response 4: "League of Legends is highly recommended for beginners..."
    -> Sentiment: 88

  Average sentiment = (85 + 78 + 82 + 88) / 4 = 83.25
  ```

  Even though "League of Legends" may appear multiple times in each response, only one sentiment score is assigned per response based on the overall tone.
</Accordion>

### Aggregated example

<Accordion title="Worked example: aggregated sentiment">
  ```
  Project: League of Legends
  Time period: Last 7 days

  Prompt 1 sentiments: [85, 78, 82, 88]
  Prompt 2 sentiments: [90, 87, 85, 92, 88]
  Prompt 3 sentiments: [75, 80, 78]

  All scores: [85, 78, 82, 88, 90, 87, 85, 92, 88, 75, 80, 78]
  Total responses with sentiment: 12

  Average = 1008 / 12 = 84
  ```

  An overall sentiment of 84 indicates consistently positive brand perception across all prompts.
</Accordion>

***

## Position: where you appear in the response

**Definition**: How early your brand is named in AI responses, relative to the other brands in the same response. Being named first usually means more buyer recall.

### How position works

For each AI response that mentions your brand:

1. Find every brand's **first** mention (the character offset of where it first appears).
2. Sort those brands by that offset, earliest first.
3. Your brand's **rank in that response** = its index + 1 (1 = earliest, 2 = second-named, and so on).

Your per-prompt or per-project position is the **average of those ranks** across responses where you appear. Character offsets are computed internally; what you see on the dashboard is the rank.

<Tip>
  Lower rank = better. A position of 1 means you're consistently the first brand named. A position of 4 means three other brands are typically named before you.
</Tip>

### Ranking

| Position | Meaning                                          |
| -------- | ------------------------------------------------ |
| 1        | You're the first brand named in every response   |
| 2        | One other brand is named ahead of you on average |
| 3+       | Two or more brands are named ahead, etc.         |
| 0        | No position data — you weren't mentioned         |

### Worked example

<Accordion title="Worked example">
  ```
  Prompt: "Which MOBA games are best for beginners?"
  Your brand: League of Legends

  Response 1, brands in order of first mention:
    Dota 2 (1st) → Heroes of the Storm (2nd) → League of Legends (3rd)
    → League of Legends rank: 3

  Response 2:
    League of Legends (1st) → Mobile Legends (2nd) → Dota 2 (3rd)
    → League of Legends rank: 1

  Response 3:
    Heroes of the Storm (1st) → Dota 2 (2nd) → League of Legends (3rd)
    → League of Legends rank: 3

  Average rank = (3 + 1 + 3) / 3 = 2.33
  ```

  League of Legends has an average position of **2.33** — typically the second or third brand named.
</Accordion>

***

## Share of voice (SOV): your slice of the brand-mention slots

**Definition**: The share of all brand-mention slots in AI answers that go to your brand. Where visibility asks *"did you appear at all?"*, SOV asks *"how much of the brand-naming real estate did you take vs everyone else?"*

### Formula

For each response, Topify extracts a **list of distinct brands** that were named (the `brands_mentioned` field). SOV counts how many entries in that list across all responses belong to your brand vs everyone's brands.

```
SOV (%) = (Your-brand entries across all responses / All-brand entries across all responses) x 100
```

* **Denominator**: every (response, distinct brand) pair. A response that names 5 different brands contributes 5; a response that names 0 contributes 0; repeat text occurrences of the same brand within one response count as 1.
* **Numerator**: the subset of those entries that are your brand — effectively 1 per response your brand appears in (because the list is keyed by distinct brand).

### Worked example

<Accordion title="Worked example">
  ```
  Prompt: "Which MOBA games are best for beginners?"
  Your brand: League of Legends
  Time period: Last 7 days

  10 responses analyzed. Each response's brands_mentioned list:
    Response 1:  [LoL, Dota 2, Smite]                 → 3 entries
    Response 2:  [LoL, Dota 2]                         → 2
    Response 3:  [Heroes of the Storm, Dota 2]         → 2
    Response 4:  [LoL, Mobile Legends, Dota 2, Smite]  → 4
    Responses 5-10: similar mix
                                                       ──────
  All-brand entries across all 10 responses:            30
  Your-brand entries (LoL appears in 7 responses):       7

  SOV = (7 / 30) x 100 = 23.3%
  ```

  LoL takes **23.3%** of all brand-mention slots in AI answers for this prompt. Visibility for the same prompt is 70% (named in 7/10 responses), but SOV is lower because competitors share the remaining slots.
</Accordion>

### Visibility vs SOV

The two metrics together tell you not just whether you appear, but how crowded the answers are when you do.

| Visibility | SOV  | What it means                                                         |
| ---------- | ---- | --------------------------------------------------------------------- |
| High       | High | You dominate — named often, with few competitors named alongside      |
| High       | Low  | Named often, but in crowded answers (AI lists many brands every time) |
| Low        | High | Named rarely, but when named, the answer is mostly about you          |
| Low        | Low  | Effectively absent                                                    |

***

## Volume: estimated AI search demand

**Definition**: An estimate of how much search demand exists for a given prompt across AI platforms.

Volume is **not** a count of responses collected by Topify.ai. It reflects how frequently people are likely asking similar questions to AI tools. Use it as a relative benchmark to compare prompts and prioritize which topics drive the most AI search traffic.

<Note>
  The exact formula is proprietary.
</Note>

### Example

<Accordion title="Worked example: volume">
  ```
  Prompt: "Best project management tools for remote teams"
  Estimated AI volume = 2,400

  Prompt: "Best mouse for Toyota AirPods"
  Estimated AI volume ≈ 0
  ```

  The first prompt reflects a real question people ask AI tools. The second combines unrelated topics, so despite containing popular individual words, the estimated demand is near zero.
</Accordion>

***

## Mentions: which brands appear together

A structured list of your tracked competitors that actually appeared in AI responses during the selected time period.

Unlike the numeric metrics above, mentions show **which** competitors appeared and **how often**.

<Accordion title="Worked example: mentions">
  ```
  Tracked competitors: League of Legends, Dota 2,
    Heroes of the Storm, Mobile Legends, Brawl Stars, Smite

  Mentions (only those that appeared):
  - League of Legends: 8 mentions
  - Dota 2: 6 mentions
  - Heroes of the Storm: 5 mentions
  - Mobile Legends: 3 mentions
  - Brawl Stars: 2 mentions

  Smite is tracked but did not appear in any responses during this period.
  ```
</Accordion>

***

## FAQ

### What's a "good" visibility number?

* **Above \~50%** — very strong; you're named in more than half of AI answers for your tracked prompts.
* **20–50%** — healthy.
* **Below 20%** — you're not yet a default answer in your category. This is where optimization work pays off most.

### Why is my visibility 0%?

Most common causes:

* **Prompt-topic mismatch** — your tracked prompts don't match the topics where your brand actually has online presence (e.g. you ship product A but the prompts ask about category B).
* **Brand too new or niche** — AI models haven't picked you up yet.
* **Name collision** — your brand name overlaps with a common word, so mentions get attributed elsewhere.
* **Not enough data yet** — first hours after bootstrap.

Fix: widen your prompts to match your real online footprint. See [Troubleshooting](/support/troubleshooting) for setup-side causes.

### Why are sentiment and position blank for some prompts?

Both metrics are only computed when your brand actually appears in the response. If visibility is 0 for a prompt, there's no mention to score from — both come back blank.

### Why do my numbers differ across AI providers?

Each provider uses a different model, training data, and citation style, so the same question produces different answers across them. This is expected — the per-provider breakdown is one of the most useful views, because the provider you score lowest on is usually your highest-leverage place to focus.
