FactSmith Talk to us about your data

Insights

I gave Claude Dashboards a 17-question exam. The cheapest model lost three call-outs.

17 questions with answers locked in advance, three Claude models, and one lesson about definitions I didn't expect. Plus what Claude Dashboards really is under the hood, what it's like to use day to day, and where your data goes when Claude reads it.

On 8 October Anthropic launched Claude Dashboards, in beta. You ask a question in plain language. Claude writes SQL against your warehouse and gives you a live dashboard.

I am a data architect. I have spent over 20 years building warehouses, and I have a simple rule for accepting one: before handover, we agree a list of golden questions with known answers. Then we check the warehouse gets them right. That rule has saved me from more awkward steering committees than I care to count.

So I did the same to Claude Dashboards. I wrote 17 questions, fixed the answers in advance, and kept the answers away from Claude. Think of it as an exam where the examiner has already marked the memo.

The idea is not new, and I won't pretend it is. Databricks builds it into Genie as benchmarks, and AI teams call it an eval set. What I wanted was the business version: answers fixed before the model sees the question, plain English an owner would use, and traps from real reporting.

The short version: it did very well. The more useful result is where it did not, and why.

The setup

I built an invented business: an armed-response company in KwaZulu-Natal. The data is invented sample data, generated for this test. The town names are real places. The figures are not. No real burglars were harmed.

The data sits in a star schema in BigQuery. It has six dimensions (town, vehicle, alarm type, client, date and time of day) and four business processes: call-outs, billing, shifts and vehicle tracking.

I put the same business in two places, and you can open both. One is a Claude-generated HTML demo, which I'll call the artifact: Response Live. The other is Claude Dashboards, running live SQL on BigQuery. A copy of that one runs in your browser as Armed Response Management, with every slicer, tab and drill-down working.

Armed Response Management dashboard, last 30 days: 2,385 call-outs, 3:52 average response, 86.1% inside 5 minutes, slowest town KwaDukuza at 4:49
The headline numbers, which match the golden answers: 2,385 call-outs, 3:52 average, 86.1% inside 5 minutes, KwaDukuza slowest. Open the dashboard and set it to the last 30 days.

How I set it up

Nothing exotic. Anyone on a paid Claude plan can repeat this in an afternoon.

The first prompt, trimmed, read like this:

"I run an armed-response security company. Our data is in BigQuery, project […], dataset […]. Build me a control-room dashboard for the last 30 days: how many call-outs we had, our average response time, how often we got there inside 5 minutes, which town is slowest, response by town, and an hour-by-town view of when we miss 5 minutes. I want to be able to look at night only (22:00 to 06:00) too."

The second asked the four questions from the demo. The third asked eight questions across billing, shifts and tracking, and ended with "Add whatever of this belongs on the dashboard."

What is under the hood

Strip away the launch video and Claude Dashboards is three things you may already know, put together well.

  1. An artifact. Anthropic's own help page says it plainly: "A dashboard is an artifact made from the Dashboards template." It is the same family as Claude's Docs, Slides and Design: a web page Claude writes and keeps in your Artifacts tab.
  2. A connector. Claude reaches your data through a connector: Redshift, BigQuery, ClickHouse, Databricks or Snowflake, or apps such as Salesforce. Claude's connectors are built on the Model Context Protocol, the open standard Anthropic published in 2024 for plugging tools into models.
  3. An agent writing SQL. Claude explores your tables first, runs test queries, then writes one SQL query per chart and bakes it into the page. When anyone opens the dashboard, each chart runs its query live and shows when it was last refreshed. Click a chart and you see its SQL.

Three consequences follow, and they matter more than the charts.

Think of it as a very fast analyst who writes a fresh query for every chart and leaves the SQL on your desk to check. Brilliant, as long as somebody checks.

The test

The 17 checks came in three groups:

The traps were the sort that catch people in real reporting. Summing every invoice triples revenue, because three months of invoices sit in the table. Sales love that number. Auditors less so. Joining facts row to row fans the totals out. A night shift runs 18:00 to 06:00, but night call-outs run 22:00 to 05:59, and the two are easy to confuse.

I ran three models: Opus 5.5, Sonnet 5.5 and Haiku 5.5. I gave no definitions and no hints. The prompts were plain business English, the way an owner would ask on a Monday morning before coffee.

Results

Opus 5.5Sonnet 5.5Haiku 5.5
Score (of 17)171711 right, 4 defensible, 2 wrong
Minutes: dashboard / four questions / cross-business10.5 / about 3 / about 136.5 / 1.5 / 115 / 2.5 / up to 10

Opus and Sonnet got all 17, including the traps. Both used one invoice run, not three, so revenue per call-out came out at R 1,179. Both aggregated each process to town, client or vehicle before joining. Neither mixed up night shifts and night call-outs.

Response by town table and response by hour of day chart, with night hours shaded
Response by town and by hour. Click any town in the live dashboard to drill down to its vehicles.

What impressed me was not the arithmetic. It was the judgement.

Scatter of tracking downtime against misses by vehicle, and bar chart of misses by tracking downtime on the day: 0% under 10 minutes, 38.3% for 10 to 29 minutes, 46.3% for 30 minutes or more
The tracking cliff, on the Staffing & cover tab. The dashboard's own caption says it: "a pattern worth investigating, not proof of cause."

I should also mention a first attempt. In my first Opus run I left out the Google Cloud project ID. Claude asked for it, tried a few guesses that all failed, searched my other connected sources, and then refused to build a dashboard on made-up numbers. I would rather have that than a confident page of invented figures. I have sat through board packs that showed less restraint.

Haiku: mostly right, but read this part

Haiku was quick and mostly right. It also taught me the best lesson in the test.

Its dashboard said 2,382 call-outs. Its own chat text, a few lines earlier, said 2,385. The golden answer is 2,385. Other figures were off by a few as well: 96 call-outs at midnight against 99, and 53 panic-app activations against 55.

Haiku in the chat said 2,385 call-outs; Haiku on its own dashboard said 2,382. Same model, same data, two answers.

I checked in BigQuery. The queries were not wrong. Haiku had quietly used a rolling window: "30 days before right now", anchored at 01:07, when it ran. The data covers 30 calendar days. So the window cut off a few hours of the oldest day.

Two things follow. The definition was never stated. And the number on that dashboard shrinks every hour it stays open, because "now" keeps moving. It is the only dashboard I have seen that loses business while you watch it.

That is the sharpest point I can make about definitions. Nothing here was an SQL error. Two reasonable people can read "last 30 days" two ways, and they will get two different numbers on the same data. This is the missing semantic layer from the section above, caught in the act.

The second miss was the overtime question. Haiku said overtime affected response "modestly", comparing above-median and below-median days: 237 seconds against 228. It missed the real effect, which shows up by shift: 2.4% of call-outs missed with no overtime, 55.7% with the heaviest overtime. The day-level comparison averaged the cliff away. Its tracking answer had the same shape: right direction, but a weak split that hid the cliff.

Haiku's tone was as confident as the other two. If you did not have the answers, you could not tell. Confidence comes standard on every model. Depth is the upgrade. That is fine, as long as you know it and you check.

What it is like to use

Accuracy is one thing. Whether a busy owner would actually use it is another. So after the scored runs I asked Opus for the dashboard an owner would really want: filters, tabs and drill-down. That build is the Armed Response Management sample on our site.

Watching it build

You type, and Claude goes to work in the chat. A progress list ticks over as it lists tables, reads columns and tests queries. It ends with a line like "Created a file, used Google Cloud BigQuery, and 12 more steps". The first control-room dashboard took Opus about ten minutes. The full interactive one took 20 to 25. That is slower than a chart wizard and much faster than a ticket to the BI team.

The best part is the end. Claude lists its assumptions in plain English: "today" means the latest day in the data, revenue is monthly fees spread over the days of the month, "inside 5 minutes" means 300 seconds or less, and so on. If you only read one thing Claude writes, read that list. It is where the definitions live.

Using the dashboard

What was rough

None of this is a deal-breaker for a beta. All of it matters when you roll it out to a team.

The artifact against Dashboards

Claude-generated artifactClaude Dashboards
DataGenerated in the page, a fixed sampleLive SQL on BigQuery
RefreshNever, it only simulates a live feedPer chart, with the time shown
SQLIllustrative, for four questionsReal SQL per chart, which you can inspect
ScopeCall-outs onlyAcross billing, shifts and tracking
Who can viewAnyone with the linkNeeds access to the warehouse

The artifact is excellent for a demo or a story. It is simulated, though, and it cannot answer a question about your real business. Dashboards is real, but it needs a warehouse underneath it.

Money and clients tab: revenue R 2,784,837, revenue per call-out R 1,168, staff and fuel cost per call-out R 1,036, margin per call-out by town
The Money & clients tab. Spot the difference: the public copy spreads monthly fees over the days of the month, so it shows R 1,168 per call-out, not the R 1,179 golden answer from one invoice run. Same data, different definition. Which is rather the point of this whole article.

Claude Motion

Anthropic launched Claude Motion on the same day. It turns reports and charts into short animated videos. I planned to turn these findings into a 60-second explainer. On my Pro account Motion simply is not there: there is no entry in the menus and no upgrade prompt. Launch coverage says it is for Team and Enterprise plans. The script is written. It is waiting by the phone.

Your data and Claude

I used invented data on a personal Pro account, so I had nothing to lose. Your business is different. The question is less "who owns the data" and more "where does it travel".

Your tables stay in your warehouse. But what Claude reads to build the dashboard leaves it: table and column names, the sample rows it looks at while exploring, and every query result. Those pass through Anthropic, sit in the chat, and end up in the dashboard page. Your SQL travels too. Every viewer can click a chart and read the logic behind it, which is great for trust and less great if that logic is your secret sauce.

None of this is a reason to stay away. It is a reason to set it up properly once: business plan, governed read-only views, personal data masked, definitions written down, and someone looking at the warehouse query log now and then. (That set-up is part of our Claude Dashboards quick-start.) Usual disclaimer: I am a data architect, not your lawyer. This reflects Anthropic's commercial terms and consumer terms as of October 2026. Check the current versions before you rely on any of this.

What this means for a business

I went into this test looking for where Claude breaks. On a well-modelled warehouse with clear names, the stronger models did not break at all. I had the same result on an earlier test: 20 out of 20 golden questions on raw sample tables, in about nine minutes. That kit is public, so you can run it on your own tool.

So the gap is not Claude. It is three things around it.

  1. Getting the data into a warehouse. Most small and mid-sized businesses have none. Their numbers live in an accounting package, an ERP and a handful of spreadsheets.
  2. Agreeing definitions. "Last 30 days", "revenue", "active customer", "on time". If two people ask the same question and get different answers, the dashboard is no use to either.
  3. Proof. A dashboard is only useful once you know it's right. Write down 20 questions with answers fixed from your books, run them, and keep the scorecard. Run them again every month.

That is what I would want before I trusted any dashboard with a decision, whether a person or a model built it.

If you want Claude Dashboards on your own business data, proven right, that is what FactSmith does. See the Claude Dashboards quick-start, browse all our sample dashboards (including Fleet Live for tanker fleets), or talk to us about your data, or book a 30-minute call.

All companies and figures in this article and the linked dashboards are invented sample data. More insights · factsmith.co.za · hello@factsmith.co.za