Target outcome
A provider gap map with answer evidence, source hypotheses, and a focused investigation plan
Build the matrix
Isolate the gaps
Inspect the evidence
Plan the investigation
Run in Claude and Run in ChatGPT open a new browser tab with the prompt already typed. Nothing is sent until you submit it.
A brand can be recommended by one AI engine and absent from another on the same question, and a provider percentage cannot explain why. This workflow narrows that gap to the answers and citations behind it, then names the treatment the evidence supports.
Content gets commissioned for the weaker engine before anyone checks both sides were measured the same way. A provider monitored on fewer prompts looks weaker for reasons unrelated to visibility, and a provider name covers a whole model family, so an engine-wide gap often sits in one model.
A completed answer that never names the brand is an observed absence, not proof the engine ignores you; a null cell is missing evidence, and merging the two produces a fake ranking.
1. Establish the provider baseline. list_brands resolves the exact brandId; get_provider_breakdown returns each provider's answer volume, mentions and visibility rate over a relative lookback, up to ten providers. Zero answers on a provider is a coverage gap, not a visibility result.
2. Compare denominators, then drop to prompts. get_brand_performance takes one provider and an explicit window, returning scoreDetails numerators and denominators with promptsCount and responsesTotal; its mentionRate and the breakdown's visibilityRate divide by different populations. get_matrix at prompt granularity then gives one row per prompt and one cell per provider, capped at 50 rows.
3. Reconstruct the answer evidence. get_prompt_answers lists each answer with its modelId, date and mention flag; get_answer_details opens the text, competitors and sources, and answers pair only when their dates are comparable.
4. Separate facts from hypotheses. One row per explanation: the fact quoting returned field names, the hypothesis, evidence for and against, confidence, a falsifiable re-test.
A real topic grid, five providers wide: on "llm performance analytics" one engine scored 16 with a rank of 6 out of 19, while two others returned 0 on the same topic in the same window. On "ai brand monitoring" the same engine scored 13 and another 0, with the brand ranked 43 of 89 and 70 of 91 respectively.
That is the shape a blind spot takes, and why one visibility number hides it: same content, same questions, same week, and one engine reaches for the brand while two never do. The rank matters more than the score. 6 of 19 against 70 of 91 is not a content gap, it is two different competitive fields, and each takes a different treatment.
A row with a null cell on either side is a measurement bug, not a diagnosis: it goes to the data-quality queue whatever its size.
The rest split by class, and the treatments do not swap. Coverage belongs in monitoring: the weak provider on the same prompt set. Model mix is a re-cut of the same analysis per model ID, since a family-wide plan is wrong when one model is the blind one. Citation evidence names the domains the weak engine cited instead of you: the work is presence there. Competitive means a rival holds the top positions, answered with a comparison against it. Prompt fit means the engines read the question differently, so the target is the topic behind it.
Work them in that order, coverage first: a measurement fix can close a gap at no content cost. Temporal variation and unresolved mechanism get only a re-measure date. Between two candidates in one class, take the prompt with more comparable answers on both sides.
I want to diagnose why my brand is visible on some AI providers and absent on others, and to leave with the treatment the evidence supports. Resolve my brands with list_brands, ask which to use if there are several, then reuse that brandId. Use the last 28 days for every aggregate call.
1. Call get_provider_breakdown and return every provider row with totalAnswers and visibilityRate, flagging unequal volume. If only one provider comes back, stop and report a monitoring gap.
2. Call get_brand_performance for the strongest and weakest comparable provider, comparing scoreDetails denominators and methodology. Never read scores.mentionRate as interchangeable with visibilityRate.
3. Call get_matrix with granularity "prompts" and limit 50, keeping each row id and each cell's provider, score and topCompetitor. If it returns no rows, page get_prompts and pick the cohort by hand.
4. Split rows into verified candidates (same prompt, non-null cells both sides) and data-quality candidates (null cells, missing provider, weak date overlap). If every row is data-quality, deliver that queue and stop.
5. Take up to five verified prompts, call get_prompt_answers on each and keep provider, modelId, createdAt and brandMentioned. A prompt with no answers on one side is the coverage finding itself: record it, do not pair it. Pair only comparable dates.
6. For each pair call get_answer_details on both answers, keeping the response, competitors with position and cited sources. An answer with no sources is evidence about that answer only.
7. Build the ledger: fact quoting returned field names, hypothesis, evidence for and against, confidence, falsifiable re-test. Classify each as coverage, model mix, prompt fit, competitive or citation evidence, temporal variation, or unresolved mechanism.
8. Give each supported hypothesis the treatment for its class: coverage to my monitoring setup, model mix to a re-cut per modelId, citation evidence to the domains the weak engine cited instead of me, competitive to a comparison against that rival, prompt fit to the topic behind the prompt. Temporal variation and unresolved mechanism get a re-measure date only. Keep that order, breaking ties on more comparable answers. If nothing is supported, give me the data-quality queue.
9. Close with a re-test sheet freezing prompt IDs, modelIds, baseline answer IDs and dates, then ask which providers my buyers use: a blind spot on an engine my market ignores is a note, not a project.
Connect Qwairy to Claude, pull the exact signals in the workflow, and leave with an execution-ready output.
A six-step workflow for inspecting competitor visibility trends, mapping current source evidence, reading monitored answers, and building a prioritized response plan with Qwairy MCP.
Summarize monitored prompts into attack, defend, monitor, and ignore counts, review the supported attack and defend shortlist, and add explicit business judgment for resource allocation and prompt expansion.
Map detected ads, trigger prompts, advertisers, products, and competitive overlap while keeping paid placements separate from organic mentions, citations, and shopping results.