Your agents are fast, confident, and starting from zero every time.
It knows the definition. It knows nothing else.
It goes hunting through time, and you pay on two bills.
Every answer still ends up on your desk.
The layer above
One causal model of your business. Built from the stack you already run.
Your warehouse carries the numbers. Your semantic layer carries the definitions. Above them sits one model of how those metrics actually drive each other, with the org chart, the context your team records and the outcome of every action attached. People read it as a canvas. Agents read the same graph over MCP.
Data warehouses
The numbers
Semantic layers
The definitions
Business apps
Launches, decisions, blockers
Org structure
Directory-synced
For humans
Answers, briefings and pushes
Read and write over MCP
Anthropic: 21% → ~95% with curated context



Canopy Agentic Workflows the metrics start them, humans gate them
Canopy Agents four out of the box, any model, your keys
Canopy
The business context layer
Structural context The causal tree, the org chart
Temporal context What was true when, plan against actual
Behavioural context What people did, what worked
Operational context RACI, workflows, approvals
Strategic context Objectives, key results, initiatives
Map & Measure
Metric Trees
Business Models
Prove & Act
Root Cause
Ownership
Verified Impact
Strategy
Grounded in proven causality
Verified proof
Meta spend → Revenue, +£32k vs forecast, q < 0.01
Personalised Action Plans 31 experiments running
hypothesis → a real person’s plan → measure the change
Causation the test cascade
ADF p 0.02 → Granger p 0.003 → q < 0.05, 87 of 1,204 survive
Correlation
22,791 pairs tested nightly, NPS – Churn r 0.71
Data warehouses
The numbers
Semantic layers
The definitions
Business apps
Launches, decisions, blockers
Org structure
Directory-synced
The evidence
Anthropic measured it. Context decides accuracy. Not the model.
Anthropic automates 95% of its business analytics queries with Claude. The accuracy came from a hand-built layer of canonical definitions, curated references and daily evals sitting between the model and the data, not from the model itself. Canopy is that layer as a product, for any agent your organisation connects.
Anthropic engineering blog
“Without skills, Claude’s ability to answer analytics questions accurately didn’t exceed 21% on our evals.”
21%
The ceiling on Anthropic’s internal evals without curated context.
~95%
The same model on a curated context layer, in production today.
We benchmarked Canopy usingOpus 5, one warehouse, three ways in: Snowflake over MCPSnowflake Cortex AnalystCanopy withSnowflake Semantic Views
So we ran it on our own stack. Eight business questions, put to Claude three times over against one shared dataset: on Snowflake over MCP with raw SQL, on Snowflake Cortex Analyst, and on Canopy with Snowflake Semantic Views. All three say what moved. Only one says why, who owns it, and what is already being done.
August was a good month. The alarming numbers on the dashboard right now are September-to-date, not August — the health report's "EBITDA -21.8% MoM" is 1–9 Sep vs 1–9 Aug. Read on the full month, August looks like this:
| Aug 2026 | Jul 2026 | Aug 2025 | |
|---|---|---|---|
| Revenue | £378,621.99 | £364,535.26(+3.9%) | £368,140.79(+2.8%) |
| EBITDA | £111,351.63 | £99,888.10(+11.5%) | £114,655.61(-2.9%) |
| Gross margin % | 60.2 | 59.7 | 68.5 |
| COGS % | 39.8 | 40.3 | 31.5 |
| Labour cost % | 22.1 | 23.5 | 14.5 |
The finding: August sold more than last August and earned less. Revenue was up £10,481.20 year on year, yet EBITDA was down £3,303.98. That is not a demand problem — it is entirely a cost-structure problem. COGS is running 8.3 points higher than last August and labour 7.6 points higher.
I'm quoting those as percentage points rather than converting to a cash bridge: the margin metrics aggregate daily rates and don't reconcile cleanly against the P&L lines, so a pounds figure would be spurious.
KPI Tree's Canopy business context layer explains both halves of that.
Why August beat July:
- The King's Head kitchen refit finished ahead of schedule, so the venue reopened a full week early and caught the bank holiday trade that had been written off.
- The Sunday roast menu relaunched across all London venues with sharing boards and a fixed-price family option.
- At Shoreditch, moving quiz night from Tuesday to Thursday lifted revenue per labour hour — Thursdays were dead and the kitchen was already staffed.
Why the year-on-year margin is gone:
- Menu re-costing came back showing produce inflation at about 9%, steeper than budgeted, with beef and dairy the worst offenders.
- The draught supplier raised keg prices 6%, affecting every venue on the same contract.
- Leadership chose to re-engineer the menu rather than raise prices — protecting the headline price going into a soft quarter, but absorbing the inflation into margin. August is what that decision costs.
Two other recorded items shape the read: the area manager is on leave through the bank holiday fortnight (cover split between two senior venue managers, until 22 Sep), and the new till system is blocked on payment provider approval, so the faster table-ordering flow is still switched off at the pilot sites.
All four venues beat July. Against last August, only one is ahead:
- Canary Wharf £24,832.15 — +3.9% (+£934.15) — the only venue up
- Liverpool Street £26,658.84 — -3.9% (-£1,085.55)
- Paddington £26,977.50 — -4.4% (-£1,241.53)
- Shoreditch £32,883.14 — -5.5% (-£1,911.05)
Canary Wharf being the outlier lines up with the recorded decision to hold its staffing flat through the quarter despite the labour cost target, on the grounds that the lunch trade is too volatile to cut cover. On these numbers that call is paying.
Both funded initiatives are aimed squarely at this and both are working month-on-month:
- Menu engineering programme (Rachel Morrison, £45,000 budget, £18,500 spent, 33% progress) targets COGS % down — COGS fell 40.3 → 39.8 July to August.
- Rota optimisation rollout (Michael Patel, £30,000 budget, £12,000 spent, 33% progress) targets labour cost % down — labour fell 23.5 → 22.1. Canopy confirms it went live at the pilot venue with demand-based templates.
So the levers are moving in the right direction; they just haven't clawed back the year-on-year gap yet. Two departmental objectives sit on this — "Reduce labour cost percentage to below 28%" (Oliver Blackwood) is at risk, and "Improve gross margin to 68% across all venues" (Thomas Williams) is nominally on track at 34% outcome progress but only 16.7% execution progress.
One thing August does not explain. The quarterly EBITDA goal of £950,000 (Thomas Williams and Oliver Blackwood, due 30 Sep) stands at £239,950.11 — that is July £99,888.10 + August £111,351.63 + Sep 1–9 £28,710.38, and it reconciles exactly. With 21 days left and August's best-in-quarter month at £111,351.63, that target cannot be reached. Q3-to-date is 44.3% below the same span of Q2 (£430,770.18), so Q2 ran at roughly £143k/month against Q3's ~£105k. That gap is seasonal or structural and predates August; it is not caused by anything in the August numbers.
- Take the keg and produce increases to the P&L, not just the menu. Rachel Morrison owns COGS % and the menu engineering programme. The decision to re-engineer rather than re-price was made before produce inflation came back at 9% — that's a materially different input than when the call was made, and it's Thomas Williams' and Oliver Blackwood's decision to revisit as EBITDA owners.
- The one check that settles it: whether the draught contract is open to renegotiation or a second supplier. Every venue is on the same contract, so it's a single conversation with a group-wide 6% effect. Nobody in Canopy is recorded as owning that — Rachel Morrison is the right person to open it.
- Unblock the till rollout. The payment provider approval is holding the faster table-ordering flow off the pilot sites. That is a phone call to the provider, not an analysis, and it's the one recorded blocker with no owner attached.
- Reset the £950k quarterly target. It is arithmetically unreachable and it is currently making a company objective read as on-track at 29.3%. Thomas Williams and Oliver Blackwood are Responsible.
- Look again on 1 October, when September closes and gives a clean full-month read on whether the two initiatives keep pulling COGS and labour down.
What would change this conclusion: if the August revenue lift was mostly the King's Head reopening early rather than the Sunday roast relaunch, then the underlying like-for-like trade is flatter than +2.8% and the cost story is worse than it looks. I can't separate those — there's no King's Head metric in the tree; the EBITDA search returned only Canary Wharf, Shoreditch, Liverpool Street and Paddington. That's a measurement gap worth closing.
Two things I can do on your say-so: Canopy has a pointer saying the full autumn menu push context — promo dates and first-wave venues — is in the #marketing channel, and I can pull that thread in. I can also record the "revenue up, EBITDA down year on year, cost-driven" finding against EBITDA so it's there next month. Both need your go-ahead — ingesting reads the whole channel and can adopt the Slack workspace as a context source.
Each surface is judged on whether its answer drew on the business context recorded for this question. The judge saw the answers unlabelled, and saying plainly that the data is not there counts in a surface's favour. The judge's own term and specifics count sit under each answer.
Your semantic layer says what a metric is. The causal model says what moves it.
- Every driver edge carries a confidence level and a statistical significance score, retested nightly as new data lands.
- AI drafts the model in minutes rather than workshops, and every node and edge stays editable.
- Your team prunes false-positive correlations, so the model reflects their judgement instead of overruling it.
- Stakeholders trace the model themselves and answer their own questions without writing a query.
Who is Accountable, and whether the last action worked.
- Full RACI on every metric, kept current against the live org chart as people move team or leave.
- The trigger fires when the metric itself moves, routes to the named Accountable owner with the driver attached, and escalates up the org chart.
- Actions are tracked against the metric they target, and impact is verified from the data rather than self-reported in a retro.
- The Slack assistant answers metric questions in the channel from the same model, so routine questions stop landing in your backlog.
One call carries all of it, to every agent your organisation already uses.
- The MCP surface carries significance-tested driver edges, RACI ownership, verified impact, plan context and dbt lineage, none of which a warehouse table holds.
- One-click setup for Claude, ChatGPT, Gemini and Copilot, with every answer scoped to the permissions of the person asking.
- Roughly ten queries per metric become one, and question volume never reaches your warehouse bill.
- Agents stop rebuilding their picture of the business on every question, because the structure is defined once and tested nightly.
The silently wrong number, caught before the board pack.
- Aggregation semantics are detected from your definitions, so sums, averages, last values and first values are applied as intended.
- Outliers, gaps and staleness are tracked on every metric, and that status travels with every agent answer.
- A metric that stops updating fires a silent-metric trigger to its named Accountable owner rather than waiting behind a warning badge.
- The Analyst view runs SQL against metric data so your team can validate any number the model shows.
Start alongside your BI tool. Let the results speak.
“Your semantic layer tells AI how metrics are calculated. KPI Tree adds the layer above: how they drive each other, who owns them, and whether the last action worked. Peers in a stack, not substitutes.”
Your stack has every layer except the one that creates understanding.
Peers in a stack, not substitutes
Causality you can defend
Economics your team can verify
Common questions
Why not point our agents straight at the semantic layer?
For a one-off number, that works, and governed definitions make the SQL trustworthy. The limit shows up on the second question. An agent on definitions alone reconstructs how the business works every time it is asked why, and it cannot know which relationships survive statistical testing and with what confidence, who is accountable for each number, or whether the last action moved it, because none of that exists in a warehouse table or a semantic model. So it hunts: roughly ten queries per metric, paid for in warehouse compute and again in context-window tokens, to find out less. Anthropic measured this on its own data: without curated context, Claude could not exceed 21% accuracy on their analytics evals, and it took a hand-built layer of canonical definitions, reference documents and per-domain evals to reach roughly 95%. Connected to Canopy over MCP, the same agent reads that kind of layer as a product, tested nightly and corrected by your team, with one precomputed call replacing those queries.
Our metrics are already modelled. Do we have to redefine them?
No. Metric definitions sync out of the box from dbt Cloud and dbt Core, Looker, Snowflake Semantic Views, Databricks Unity Catalog metric views and Open Semantic Interchange, and they stay the source of calculation truth. Aggregation semantics come across with them, so a headcount is taken at period end rather than summed and a balance carries its last value. Values are calculated where the data lives, on Snowflake, BigQuery, Databricks, Redshift, Azure SQL, PostgreSQL or Google Sheets. Nothing is copied into a new modelling language, and nothing about your existing pipelines changes.
How is this different from what our semantic layer already does?
Your semantic layer defines how metrics are calculated, and KPI Tree treats it as the source of that truth. What KPI Tree adds sits above the definitions: driver relationships carrying confidence levels and statistical significance, retested nightly, RACI ownership on every metric against the live org chart, and verification of whether actions moved the numbers. Consistent definitions tell you what a metric is. The layer above tells you what moves it, whose job it is, and what is already being done about it.
How does this work alongside our BI tool?
Your BI tool keeps handling exploration, ad-hoc queries and the data that has not yet been formalised as a metric. KPI Tree handles the structured layer: defined metrics, driver relationships with confidence and significance stated, ownership, and actions verified against the numbers. Both connect to the same warehouses and semantic layers, and most teams run both. The difference stakeholders notice is that the metrics they ask about most now explain themselves.
Can our analysts still write SQL?
Yes. The Analyst view puts SQL and the underlying tables alongside the canvas, so your team can query metric data directly, validate calculations and investigate data quality without leaving the canvas. Full dbt lineage travels with every metric, and it is exposed over MCP too, so an agent can trace a number back to the model that produced it. Letting the sceptics check the numbers is how the rest of the organisation comes to trust them.
What happens when a metric goes stale?
Every metric is continuously checked for outliers, gaps and staleness. When a metric stops updating for longer than the threshold you set, a silent-metric trigger fires and routes it to the named Accountable owner, escalating up the org chart if nothing happens. That status also travels with every agent answer, so an agent qualifies a number it should not be quoting confidently. Stale numbers stop being something the board pack discovers on your behalf.
How long does it take to set up?
Most data teams have their causal model live within a day. Connect a warehouse, sync your semantic layer, and let AI draft it from a plain-English description of the business. Aggregation semantics are read from your definitions automatically, and from the moment the model exists your data starts scoring every relationship in it for confidence and statistical significance.
Related guides
Semantic layer vs business context layer
A semantic layer settles what a metric is. It cannot settle how metrics drive each other, who owns them, or what happens when one moves.
Self-service analytics with Claude: what Anthropic's playbook really says
The model was never the bottleneck. The context is.
Why AI Agents Need Business Context, Not Just Data Access
Data access makes an agent fast. A causal model makes it right.
Give your agents the half of the answer nobody else can supply.
Your stack is solid and your definitions are governed. The missing piece is the layer that records how metrics drive each other, who owns them, and whether the last action worked, for the people who ask and the agents they ask with. See KPI Tree running on your own stack.



