Skip to main content
Claude does not calculate anything. It calls a Superlines tool, receives a JSON payload, and writes it up. Every mismatch between “what Claude said” and “what the dashboard shows” comes from one of three things: Claude picked a different date range, Claude picked a different tool than the dashboard view you are comparing against, or Claude summarised across two payloads that were not comparable. This page shows how to remove all three.
Rule of thumb: tell Claude the brand, the exact dates, and the metric name as it appears in the dashboard. Then ask it to quote the dataFreshness.latest_response_at timestamp. If that timestamp matches the “Data updated” indicator in the dashboard, both are reading the same data.

The four things every data question needs

Copy-paste prompts

Match a dashboard KPI

Compare against the dashboard with the same dates and Include current date off.

Brand leaderboard (Brands by Brand Visibility)

consolidate: true merges name variants (“OP”, “OP Ryhmä”, “OP Pohjola”) the same way the dashboard does. Without it you get raw extracted names and the list will not match.

Period-over-period change

Per-engine breakdown

Which engines show which competitors

A verifiable summary for a client

Questions to avoid, and what to ask instead

No dates, no metric. Claude will pick the tool’s default window (30 days including today) and whichever metric it finds first. The result cannot be checked against anything.Ask instead: “For Acme Insurance, what was Brand Visibility from 2026-08-18 to 2026-09-14? Use analyze_metrics.”
“This month” is ambiguous (calendar month vs. last 30 days) and today is partial. Claude may also call two tools with slightly different windows and compare them.Ask instead: “Call get_period_comparison with periodDays 28” — one call, two aligned windows, or give both date ranges explicitly.
analyze_brand_mentions returns a brand_visibility field that is the brand’s share of all mentions, not the dashboard’s Brand Visibility (share of responses that mention the brand). They are different metrics with the same name.Ask instead: For the KPI, use analyze_metricsbrand_visibility. For the leaderboard, use analyze_brand_mentions and read mention_count and share_of_voice.
Daily Brand Visibility values are percentages of different denominators. Summing or averaging them does not reproduce the period total.Ask instead: call the same tool with granularity: total for the period.
This invites rounding and estimation. The server instructs Claude to report exact values; asking for approximations works against that.Ask instead: “Report the exact values returned. Do not round.”
If your API key has access to several brands and you omit the name, tools return everything combined and add a warning field. Claude should relay it, but the numbers will already be in the conversation.Ask instead: always say for the brand ”…” using the exact name from list_brands.
Collection runs continuously. A dashboard screenshot from the morning and an MCP answer from the afternoon can legitimately differ.Ask instead: compare dataFreshness.latest_response_at in the MCP response with the dashboard’s Data updated indicator. Same timestamp, same data.

Reading dataFreshness

Every analytics tool response now includes:
  • latest_response_at is the newest AI response collected for the brand. The dashboard shows the same value as Data updated … ago in the filter bar and as Last collected inside the date picker.
  • If hours_since_latest is above 36, collection is behind. Numbers are still correct for the data that exists, but the most recent day may be incomplete. Claude is instructed to warn you.
  • Two answers are only comparable if their latest_response_at values match.

Setting expectations with clients

If you present Superlines data to your own clients:
  1. Pull the numbers with one of the prompts above, with explicit dates.
  2. Open the dashboard with the same dates and Include current date off.
  3. Check that Data updated matches latest_response_at.
  4. Quote the date range and the “data as of” timestamp on the slide.
If a number still differs after those steps, send us the prompt, the tool response, and a dashboard screenshot — that is a defect on our side, not a usage problem.