The four numbers
Every AI visibility report comes down to four questions about the answers to your tracked prompts:
| Metric | The question it answers | How it is counted |
|---|---|---|
| Visibility | Were you named at all? | Answers that name you ÷ all answers |
| Share of voice | How much of the conversation is yours? | Your mentions ÷ all brand mentions |
| Position | How early are you named? | Average place in the list, over answers that name you |
| Sentiment | How are you described? | Tone score, over answers that name you |
Position and sentiment are counted only over answers that name you. A brand can have an excellent position and very low visibility: rarely named, but named first when it is.
Set up the prompts properly
The numbers are only as good as the questions behind them.
- Write them the way buyers ask. “best WMS for a 3PL”, not “WMS software”. Include comparison and problem questions, not only “best X”.
- Keep the wording fixed. A reworded prompt is a different question. Start a new series rather than splicing it onto the old one.
- Ask every engine. ChatGPT, Gemini, Perplexity, Claude and Google AI Overviews read different sources and often disagree.
- Use a clean session. No account history or personalisation, so you measure what a new buyer would see.
- Keep every answer. Store the full text, the brands named and the pages cited, so any number can be traced back.
Why one answer proves nothing
AI answers change from run to run (the reasons are in how AI search engines choose brands). If you check a question once and are not named, you have learned very little. If you check it 30 times and are named in 3, you have a rate: about 10%.
A visibility number without a margin of error is an anecdote with a decimal point.
Putting a margin of error on visibility
Visibility is a proportion, so the textbook margin of error for a 95% interval is:
margin ≈ 1.96 × √(p × (1 − p) ÷ n)
where p is your visibility and n is the number of answers.
Worked example. You track 50 prompts on 4 engines for 30 days: 6,000 answers. You are named in 600, so visibility is 10%. The textbook formula gives a margin of about ±0.8 points.
That margin is too narrow, and this is the mistake most dashboards make. The formula assumes every answer is independent. They are not: answers to the same prompt tend to agree with each other, day after day. If an engine never names you for one prompt, 120 answers to it are close to one piece of evidence, not 120.
At the opposite extreme, if every answer to a prompt were identical, your real sample would be the 50 prompts, and the margin would be about ±8.3 points. The truth sits between the two.
The practical way to find it is to resample prompts, not answers: draw your prompts at random with replacement, recompute visibility, repeat a thousand times, and take the middle 95% of the results. This is a bootstrap over prompts, and it gives an honest margin for your actual data.
Reading a change correctly
Once every number has a margin, reading changes becomes straightforward:
- A change smaller than its margin is not a move. Label it within noise and do not report it as a win or a loss.
- Compare against the field. If everyone’s visibility rose 2 points on the day a model was updated, your 2-point rise is not your doing. See how to tell if a fix worked.
- More prompts beat more runs. Because answers within a prompt move together, adding prompts narrows the margin much faster than asking the same prompts more often.
How Citino does it
Citino asks every tracked prompt on every engine daily, from a clean session, with fixed wording, and keeps every answer. Each of the four numbers carries a 95% margin of error bootstrapped over prompts, and a change inside its margin is shown grey and sends no alert. The methodology page sets out each step.