How we measure
This page describes how the figures in Recommendable come about. Including what we deliberately do differently from other tools, and what we cannot measure.
Why this page exists
Anyone who publishes a number should be able to explain where it comes from. In AI visibility that is the exception rather than the rule. You get a percentage, a trend line and the word visibility, and underneath sits a method you never get to see.
That is a problem, because these numbers move on their own. Ask a language model the same question ten times and you get ten different answers. Without knowing how often was measured, with which model, and what happens to failed measurements, you cannot tell an 8 percent rise from chance.
This page is built around the questions you should be able to ask any AI-visibility tool. How often was it measured. With which model. What happens to a measurement that fails. And what would bring this method down. Everything below is meant to let you check whether our figures are worth what we claim for them.
Three questions, three numbers
Most tools squeeze visibility into one score. We keep three things apart, because they are three different questions that move independently of each other.
- Mentioned. Does your brand appear in the answer? This is presence, nothing more.
- Recommended. Does the model put you first? That is the option its advice settles on, or number one in an order the answer itself gives as a preference. You can be in a list for completeness and still never be the recommendation. This is the number customers come from.
- Cited. Does the engine use your own site as a source? This says something different from the first two: it shows whether your pages are read into the answer.
We never add those three up into one figure. A weighted blend of presence, preference and citation reads as precision and is not: you can no longer tell which of the three moved, and so not what you should do either.
A fourth number comes after that, from whole conversations: chosen. A buyer keeps asking until one option is left. If that option is you, you are chosen. Mentioned, recommended and chosen together are the ladder from the first answer to the choice.
We measure repeatedly, and show the uncertainty
One measurement of a language model is a coin flip. So we ask every question several times and report the share of answers in which you are mentioned or recommended, with the band in which the real value lies. We use the Wilson score interval at 95 percent for that.
Next to every figure sits a label that says how much you can lean on it:
- Robust: dozens of repetitions and a narrow band. You can build strategy on this.
- Adequate: enough for a direction. Usable to form a hypothesis.
- Minimal: too little signal. We show it separately and never as advice.
- Interpretation: not a measurement, a reading. Labelled as such.
Below five usable answers we make no statement at all. It then says it was not measured. That is less satisfying than a number and it is the only honest answer.
What this means in practice: if you go from 30 to 38 percent week on week but both bands run from 20 to 50, nothing happened. You see that on screen, instead of hearing it afterwards.
Memory and live are kept apart
An AI assistant can answer in two ways. From its own knowledge, or after a search. We measure those two separately and never throw them together.
Live, by the way, means the model may search, not that it does. In our own measurements ChatGPT actually searched in a large majority of the live questions, but far from always. The rest was still answered from memory. That is why we show per topic in what percentage of the live answers a search actually happened.
That distinction decides what you do. If an engine answers your topic from memory, tinkering with your pages has little grip there and being known weighs more. If it does search, your content is the lever.
One exception: Perplexity always searches. Every Sonar model is web-grounded, so memory mode does not exist there and we measure live only.
We measure through the API, and that is a choice
All measurements run through the providers' official APIs. Four engines: ChatGPT, Claude, Gemini and Perplexity. Three reasons.
- It is allowed. Reading the consumer interface automatically breaks the terms of use of nearly every provider, and it takes throwaway accounts or residential proxies. We do not do that, and you do not want your reporting standing on that foundation.
- It is repeatable. An API call against a pinned, dated model can still be reproduced in six months. A scraped interface has no version number. Providers change its system prompt, search behaviour and model routing continuously, without notice. In such a time series you cannot separate movement of your brand from movement of the product.
- It is comparable. Claude, Gemini and Perplexity can only be tracked through the API without logged-in sessions. A tool that scrapes ChatGPT and fetches the rest through the API adds two kinds of numbers together and calls it a comparison.
What we say honestly alongside that: the API and the consumer interface do not give the same answer. The interface is a product with its own system prompt, its own search budget, memory and personalisation, and that shifts which sources end up in an answer and how many sub-questions sit under it. How large that difference is exactly, nobody knows today: the published measurements lack the control of the interface against itself, so there is no measure of the noise you would have to set the difference against. That the difference exists is not in doubt.
So we deliberately measure at model level: is your brand in the model's knowledge, and is it retrieved and recommended once a search happens. What you learn from that, which page to write and which sources you want to be named by, does not change because you measure through a different door.
When the instrument changes, we say so
This is the hardest part of measuring AI visibility and the part most tools are silent about. The models behind your measurement get replaced. Do nothing about it and in January you measure something different from June, and both are called visibility.
We pin a model choice per platform, and that choice is part of the identity of the measurement. When the model changes, the new setting gets its own key and the new measurements form their own set. Old measurements stay and stay visible, they are just never silently averaged with the new ones. So you see an instrument change as a break in the line instead of a jump in your score.
Two examples from our own history.
Until July 2026 ChatGPT in live mode was forced onto a small search model, while memory mode used the full model. That polluted the contrast between the two modes, because more than web access was changing. Since we can call a regular chat model with search, both modes use the same model. The old measurements are still there, in their own pool.
In August 2026 three of the four platforms were a generation or more behind what a user actually gets. We moved ChatGPT, Claude and Gemini to the current models and checked per model that they do return citations in live mode and do not in memory mode, because the whole separation between the two modes rests on that contrast.
In doing so we choose, as far as possible, the model ordinary users get, not a heavier reasoning model that scores better in a demo.
A failed measurement is not a zero
If an API call fails because of a rate limit or an outage, that attempt does not count. It leaves the denominator and is reported separately.
That looks like a detail and it is not. Writing a failed call down as "brand not mentioned" turns every outage into a visibility problem, and that error always points the same way: down. You would see a provider's bad afternoon as a dip in your own performance.
What we do not measure
A method can only be trusted once you also know where it stops.
- Google AI Overviews and AI Mode with the same repeated measurement as the assistants. We read those two per search term from the Google results themselves: is there an AI overview, which sites does it cite, and is yours among them. Every reading is kept, so you see the line over time. A band per figure does not come with it, because it remains a citation measurement per search term.
- Personalisation and location. A real user has conversation history, an account, a country and sometimes a memory full of earlier preferences. We measure clean: fresh context per question, no memory. That makes the measurement repeatable and it also makes it impersonal. What one specific user sees, we do not know.
- The link to revenue. We measure whether you are mentioned and recommended. We have no proof that a rise of ten points leads to a certain number of customers. Nobody in this market has that proof. So we promise no ROI and put no amounts under a visibility figure.
- Comparison with other tools. We have not put our figures next to those of other providers. Until that happens, nobody knows how much two tools disagree about the same brand.
What would prove our method wrong
A measurement method that cannot break on anything is not a measurement method. These are the outcomes that would force us to change something:
- Measure the same brand twice in full in the same week, and the two outcomes fall outside each other's band: then our uncertainty estimate is wrong.
- If the spread within one engine's consumer interface turns out as large as the difference between that interface and the API, the channel difference the market talks about is smaller than thought and we have to adjust our explanation.
- If a high recommendation score predicts no measurable movement in enquiries or branded search volume at clients who really acted on it, we are measuring something that does not matter.
We keep track of those three ourselves. If you find a fourth, we would like to hear it.
Ask us
This page describes the method in outline. If you want to know how a specific figure in your own report came about, with how many repetitions and on which model, we will explain it. We would rather explain how something was measured than have you take our word for it.