# Is a competitor gaining on you in AI answers?

> For the complete documentation index, see [llms.txt](https://attensira.com/llms.txt).
> Every page on this site is also served as Markdown: append `.md` to any URL, or send `Accept: text/markdown`.

> Ask your assistant whether a rival is gaining on you in AI answers: the Attensira MCP call, the shared denominator that makes rates comparable, and four cases.

- Canonical page: https://attensira.com/mcp/use-cases/check-whether-a-competitor-is-gaining
- Family: mcp-use-cases
- Last updated: 2026-10-04
- Author: Karl-Gustav Kallasmaa (https://x.com/kallasmaa)
- Claims as data: https://attensira.com/claims.json?slug=check-whether-a-competitor-is-gaining

**In short:** Ask your assistant to call get_analytics with area=competitor and days=30 on the Attensira MCP server. Each tracked rival comes back with a mention rate on the same denominator as yours and a change marked real or not. A rival is gaining only when its change is real; being named more often is a level, not a gain.

## What it showed on attensira.com (read 2026-10-04)

Asked in ChatGPT: "Is any competitor gaining on us in AI answers?"

Call: `get_analytics area=competitor days=30`

Every tracked rival is named far more often than we are, and none is provably gaining: every change came back real false.

| Row | Value | Note |
| --- | --- | --- |
| Semrush | 36.3% | n = 4,374 answers · change not proven |
| Profound | 31.6% | change not proven |
| Ahrefs | 26.2% | change not proven |
| Peec AI | 22.1% | change not proven |
| Attensira | 4.1% | n = 4,374 answers |

_Levels are not gains. This is what it looks like when nobody is moving._

## Which call answers it?

```json
{ "tool": "get_analytics", "arguments": { "area": "competitor", "days": 30 } }
```

## What is the chain behind it?

1. **Pull the tracked competitor rates** Call get_analytics with area=competitor and days=30. Each tracked competitor comes back with a mention rate calculated on the same denominator as your own, which is what makes the two numbers comparable at all.
2. **Pull your own rate over the identical window** Call get_analytics with area=visibility and days=30. Comparing movement needs both series over the same window; comparing levels across different windows is the most common way to read a gain that never happened.
3. **Find the prompts where the gap lives** Call get_analytics with area=prompt, days=30 and order=worst_first. Competitors rarely gain evenly across a prompt set, and the handful of prompts carrying the difference are the only ones worth acting on.
4. **Read what the models actually say about them** Call get_prompt on those prompts. The answer text is the competitive intelligence — which of their pages the model leaned on, and which claim of theirs it repeated.

## How do I read what comes back?

| What you see | What it means |
| --- | --- |
| Their rate up, yours flat, both deltas real | They gained and you did not lose. The market grew around you. |
| Both rates up | Answers are naming more brands than before rather than reshuffling the ones they name. |
| Their rate up and yours down | The closest thing to genuine displacement, and the only case that justifies changing plan. |
| Rates that sum to well past a hundred percent across brands | Expected. Answers name several brands, so these rates are independent and never sum to one. |

## What can't this tell you?

- Competitor mention rate is measured on your prompts, not on the market. It says how often a brand appears in answers to the questions you chose to track, and nothing about their overall presence, spend or growth.
- A competitor you have never registered with add_competitor is invisible here, and absent is not the same as not appearing. The list is a list of brands you asked about.
- Sentiment is scored for your own brand only, never for competitors, so an answer that recommends a rival and an answer that criticises one both count as one mention.

### What did it show on our own workspace?

A level problem, not a trend problem. Every rival was named far more often than we were, and not one was provably pulling away. That changes the work: a race calls for answering a rival's latest move, while a level gap calls for getting into the answers at all, starting from the sources that decide them.

"Are we losing to them?" has four possible answers, and only one of them is yes: they gained, you lost, both of you gained, or nobody moved enough to say. This recipe separates the four from inside your assistant.

### Why is the denominator the whole recipe?

A competitor's mention rate is calculated on the same denominator as yours: the answers collected for the prompts *you* track. It measures how often a brand appears in answers to the questions you chose. It is not market share, traffic, spend or growth. If your prompts skew towards one topic, every rate skews with them, the flattering ones included.

Two consequences follow. A competitor you never added with `add_competitor` reads as absent, and absent here means unasked, not unmentioned. And widening the prompt set changes every rate on the page, yours too, because the denominator changed.

If the gap traces back to third-party lists, read [which sources the models trust](/mcp/use-cases/see-which-sources-models-cite); if it traces to one prompt, [turn that prompt into a plan](/mcp/use-cases/turn-a-losing-prompt-into-a-plan).

## FAQ

### Why do the mention rates add up to more than a hundred percent?

Because they are not shares of a fixed pie. An answer routinely names several brands, and each brand's rate is measured against the same denominator of collected answers, so the rates are independent and never sum to one.

### What does it mean when their rate rises and mine stays flat?

They gained and you did not lose. The models named more brands, or named theirs in answers that previously named nobody. That is a different situation from displacement and calls for a different response.

### How do I add a competitor I am not yet tracking?

Call add_competitor with the bare hostname — no scheme and no path — and optionally a display name. It is a write tool, so it needs write access (any signed-in connection, or a read-and-write key), and the brand only appears in readings collected after you add it.

### Is there a ranking of brands anywhere in this data?

No. Attensira reports mention rates per brand, not positions in a league table. The position figure that exists elsewhere in the product is a mean index within a citation list per source domain, not a rank against competitors.

### Does this cost credits?

Reading does not. get_analytics and get_prompt are read-only. add_competitor is a write tool but registering a competitor is not itself a credit-spending action; adding new prompts is.

## Sources

Each entry below is one claim on this page. `retrieved` is the date the exporter or a human last saw the source say this, and nothing more: it is not a publication date and not a promise of re-verification. `cite` is the anchor on the canonical page where this claim is rendered.

### competitor-denominator

Attensira's MCP recipes state that competitor mention rate uses the same denominator as your own, so it measures how often a brand appears in your prompts' answers rather than anything about their market presence.

- source: https://docs.attensira.com/mcp/recipes (docs.attensira.com)
- retrieved: 2026-09-04
- cite: https://attensira.com/mcp/use-cases/check-whether-a-competitor-is-gaining#claim-competitor-denominator

> Competitor mention rate uses the same denominator as yours, so it measures how often a brand appears in *your* prompts' answers — nothing about their overall market presence, spend, or growth.
