AI visibility
Which Competitors to Track Together: A Sensible Comparison
Group only the names that compete for the same buying question and that you want to read through brand citations on ChatGPT. A practical guide to building a monitoring group that actually holds up.
If you are deciding which competitors belong in the same monitoring group, the practical answer is this: group only the names that compete for the same buying question and that you want to read through brand citations on ChatGPT. Take a company selling accounting software. It should not put a practice-management tool for professional firms and an invoicing app for freelancers in the same group. Those are two different questions, and the comparison between competitors stops making sense. One group per question, with a few names that are genuinely alternatives to each other, works far better.
A relevant comparison starts from the question, not the industry
Two companies can call themselves competitors in the same market and never once meet in the same conversation. The criterion we use at RankAI is substitutability: a name belongs in the group if a buyer facing the same request could reasonably consider it in place of the others. If the answer is no, that name belongs in a different monitoring group.
How to build the group, step by step
This is a RankAI proposal, not a universal standard. Its purpose is to make the comparison verifiable before you add names.
- Write the question that ties the names together. Test: if you cannot phrase a request in which two names appear as plausible alternatives, they do not belong in the same group.
- Start from a small core and add only on evidence. Test: every new name must cover the same question as the core, not a nearby one. If it covers only a marginal question, it stays out.
- Leave out the fifth name when it is marginal. Example: a competitor that shows up only on very specific requests, such as a niche use case, does not join the main group. It goes into a separate monitoring group if that use case genuinely matters to you.
- Check that the engine makes the comparison meaningful. Test: the engine must return answers in which the names in the group can actually appear together. Where that is not observable, treat the comparison with caution.
Which engines make a competitor comparison meaningful
The point is not to repeat the list of engines but to understand which observations can support a comparison between names. RankAI's public pages name ChatGPT, Perplexity, Gemini, Grok and Google AI. Claude and Grok are measured only after you connect them. Gemini and Google AI Overviews are not the same observation: treating them as a single data point would make the competitor comparison ambiguous, because you would be adding up different things. So when you build a group of names, decide first which observation you want to read the comparison through, and keep it separate from the others.
A second limit concerns the nature of the data: what comes back from an engine through an API is the API response, not the screen a person sees. As a RankAI proposal, we treat the competitor comparison as valid within that perimeter, but it should not be presented as a snapshot of a real user's experience.
What often gets lost is that a monitoring group is not a list of competitors: it is a hypothesis of substitutability. At RankAI we propose treating it that way because it makes the criterion checkable. Before you add a name, ask yourself whether there is a request in which that name and the others in the group would be interchangeable. If the answer is uncertain, the name probably belongs in another group. The same goes for exclusion: a competitor that covers only a marginal question should not be forced into the main group just for completeness, because it would dilute the comparison without adding useful information. Finally, keep groups built on different observations separate: mixing engines of different natures produces numbers that look comparable but are not. When a visibility figure is unavailable, RankAI shows it as N/A, never as zero. That matters when you compare names too, because a missing data point is not a negative one.
A verifiable limit
The method does not say how many names are right in absolute terms. It only says that every name must pass the substitutability test on the same question. If a name fails that test, the comparison should be split, not widened.
To go deeper into how to read this data, see the in-depth page.
How to Tell If ChatGPT Cites an Inner Page, Not the Home Page