AI agents
Agentic analytics: what it does, and what breaks first
The hard part was never generating SQL: an agent asked for 'revenue' will pick one of your definitions and sound certain about it.
What is agentic analytics?
Agentic analytics is analytics where an AI agent plans the work itself: it breaks a business question into steps, selects tables, writes and runs queries, checks the results and iterates before answering. It differs from natural language to SQL, which translates one sentence into one query and stops.
The short version
- Agentic analytics is the agent choosing the steps, not just translating one question into one query.
- The failure mode is not a crash. It is a confident wrong number that gets pasted into a board deck.
- An agent cannot resolve a metric definition the company has not agreed on, so it will pick one and sound certain.
- Permissions have to be enforced by the warehouse, not requested in the prompt.
- Routine reporting should stay deterministic. Agents earn their keep on the long tail of questions nobody will build a dashboard for.
What is agentic analytics, and how is it different from asking a chatbot for a number?
It is analytics where the agent chooses the steps. A business question goes in, and the system decides which tables are relevant, writes the queries, runs them against the warehouse, looks at what came back, and decides whether that answers the question or whether it needs another query. What comes out is an answer with the working attached, not a chart you are left to interpret.
Natural language to SQL does something narrower. It turns one sentence into one query and returns the result. If the sentence was ambiguous, the query is wrong, and you find out when a human reads the output and frowns. The agentic version adds a loop: it can notice an empty result, a join that dropped half the rows, a column that is null for most of the period, and try something else. That loop is the whole value of the approach. It is also the whole risk, because a system that retries until the output looks reasonable will eventually produce something that looks reasonable and is not.
A dashboard is different again. A dashboard answers a question somebody anticipated, in a fixed way, and its main failure is that it goes quietly stale or nobody opens it. An agent answers questions nobody anticipated, which is exactly why there is no reviewed definition waiting for it to use.
What does the loop actually look like?
- Resolve the question against written metric definitions, or refuse if no definition exists.
- Choose tables from a curated set, not from the whole warehouse.
- Write SQL and run it under the asking user's own permissions.
- Inspect what came back: row counts, nulls, date ranges, anything that looks like a failed join.
- Iterate or stop, under a hard limit on attempts and on bytes scanned.
- Return the number, the query that produced it, and the definition it used.
Why do metric definitions decide whether this works?
Because the agent has to pick one, and most companies have several. 'Revenue' can mean bookings, billings, recognised revenue or gross merchandise value, depending on whether you asked finance, sales or the product team. 'Active customer' usually has a window attached, and the window differs by department. These are not edge cases. They are the substance of most questions worth asking.
A human analyst handles this by asking, or by knowing which definition the person in front of them meant. An agent will not ask unless it was built to ask, and the default behaviour of a language model is to produce a plausible answer rather than to stop. So it selects a definition, writes correct SQL for that definition, and returns a number that is internally consistent and answers a question nobody asked.
The fix is boring and it is not an AI problem. Write the definitions down somewhere the agent reads them, as a semantic layer or a set of certified metrics, and have the agent refuse questions that touch an undefined term. Teams that skip this step get a system that is fluent, fast and subtly wrong, which is the worst of the available outcomes because nobody catches it.
How do you stop the agent inventing the number?
Never let the model produce the figure. The model's job is to write a query. The warehouse's job is to produce the number, and the number that reaches the user should be the one that came back from execution, carried through unchanged. A model asked to summarise a result set will sometimes round, sometimes recompute, and occasionally fill in a value it did not receive. If the figure passes through the model as prose, you have lost the guarantee.
Show the query. Every answer should carry the SQL that produced it and the definition it used, close enough that a sceptical analyst can reproduce the result in under a minute. This is not a transparency gesture. It is the only cheap way to catch a wrong answer, because a wrong number is invisible and a wrong join is obvious.
Then build in refusal. An agent that cannot find a defined metric, or that gets a result failing its own sanity checks, should say it cannot answer. Saying plainly what is not known is a feature. Most systems are tuned the other way, and that is why people stop trusting them in week three.
How do permissions work when the agent writes the query?
The warehouse enforces them, or nothing does. Run the generated query under the asking user's identity, or under a role that mirrors it, so row-level security and column masking apply the way they do for every other client. The agent then has no special reach, and the question of what it may see has the same answer as the question of what the user may see.
What does not work is instructing the model to avoid certain tables. That is a request, not a control, and a request can be argued around by a cleverly phrased question or by content the agent reads along the way. It also fails silently: there is no log entry for a boundary that was never enforced.
One practical consequence. If the agent summarises results into a shared channel or a scheduled report, the audience of that report is now the audience of the underlying data. Decide that deliberately rather than discovering it.
How does this compare with what you already have?
| Approach | Who decides the question | Who writes the query | How it usually fails |
|---|---|---|---|
| Dashboard | Whoever specified it, months ago | An analyst, once | Goes stale, or nobody opens it |
| Natural language to SQL | The person asking | The model, once per question | One wrong assumption, returned as fact |
| Agentic analytics | The person asking | The model, repeatedly, with checks | A confident answer built on the wrong definition |
What does the published evidence actually tell you?
Less than the category's marketing implies. There is serious survey work on this, and it is worth knowing what it covers. MIT Technology Review Insights fielded a global survey for Snowflake in July and August 2026, putting the question to 400 chief data and analytics officers, CIOs, CTOs and chief AI officers across eight industries, all at organisations above $500m in annual revenue. dbt Labs surveyed 363 data practitioners and leaders between December 2025 and February 2026. The 2026 Stack Overflow Developer Survey collected 30,903 valid responses from 169 countries, and asked 14,304 of them about trust in AI output.
Those are sample frames, and they tell you who was asked and when. None of them tells you whether an agent pointed at your warehouse returns your revenue number correctly. That is not a gap in the research. It is the nature of the question, which is specific to your schema, your definitions and the questions your people actually ask.
So the number that should decide this is one you generate. Take thirty to fifty real questions, get an analyst to verify the right answer for each, and run the system against them on every change. You want two figures: how often it is right, and how often it declines to answer rather than guessing. Teams consistently underweight the second.
When is agentic analytics not worth doing?
When your definitions are contested. If two teams report different revenue figures today and the disagreement has never been settled, an agent will not settle it. It will industrialise the disagreement and give it a confident voice, at speed, in more places. Fix the definitions first, and you may find the agent matters less than you thought.
When the questions are already answered. Board reporting, regulatory returns and anything with a fixed cadence should stay deterministic: a reviewed query, a scheduled run, the same output every time. Agents belong on the long tail, the one-off questions that never justified a dashboard and currently wait three days for an analyst.
And when you cannot price the benefit honestly. If you want a number for the analyst time involved, use published wage data rather than a vendor's productivity multiplier. The U.S. Bureau of Labor Statistics publishes national wage estimates for data scientists from its Occupational Employment and Wage Statistics programme, with a May 2025 reference period. That is a defensible basis. A claimed tenfold speed-up is not.
Questions people ask
Is agentic analytics just natural language to SQL with a new name?
No. Natural language to SQL turns one sentence into one query and hands you the result. An agentic system plans several steps, runs them, inspects what came back and decides whether to try again. That loop is what lets it handle questions with no single obvious query. It is also what lets it be wrong in a more convincing way.
Do we need a semantic layer before we start?
You need agreed definitions. A semantic layer is the usual place to store them, but a small set of certified metrics in the warehouse works too. What does not work is leaving the agent to infer what 'active customer' means from column names. It will infer something, it will not tell you it guessed, and the guess will be consistent enough to look deliberate.
Can the agent read data the person asking is not allowed to see?
Only if you let it. Run the generated query under the asking user's identity, or a role that mirrors it, and let the warehouse apply row-level security as it does for everyone else. Instructions in the prompt telling the model to avoid certain tables are not access control. They are a request, and a model can be argued out of a request.
How do we know when to trust an answer?
Build the question set before you build the agent: thirty to fifty questions a real user would ask, each with an answer an analyst has verified. Run it on every change. You want two figures, how often the system is right and how often it declines rather than guessing. Beyond that, make every answer show its query so a sceptic can check it in a minute.
What does it cost to run?
Two lines, and the warehouse bill is usually the larger. An agent that writes its own SQL can scan far more data than an analyst would, and it may run several queries for one question. Cap attempts per question, cap bytes scanned, and log both from the first day. Model tokens are easier to predict and normally the smaller number.
Related on this site
Sources
- Agentic Analytics Report: MIT Technology Review | Snowflake, Global survey of 400 chief data and analytics officers, CIOs, CTOs, chief AI officers and other senior data and technology executives across eight industries, all at organisations with $500m+ annual revenue; fielded July and August 2026 by MIT Technology Review Insights, plus in-depth executive interviews · MIT Technology Review Insights, data from 2026
- Agentic Analytics Report: MIT Technology Review | Snowflake, Global survey of 400 chief data and analytics officers, CIOs, CTOs, chief AI officers and other senior data and technology executives across eight industries, all at organisations with $500m+ annual revenue; fielded July and August 2026 by MIT Technology Review Insights · MIT Technology Review Insights, data from 2026
- 2026 State of Analytics Engineering Report, Survey of 363 data practitioners and leaders across industries and regions (73% practitioners, 27% managers or executives), fielded December 5, 2025 to February 1, 2026 · dbt Labs, data from 2026
- 2026 Stack Overflow Developer Survey — AI Data, Online survey of developers and technologists; 30,903 valid responses from 169 countries, fielded June 23 to August 5, 2026 (n=14,304 for the trust question) · Stack Overflow, data from 2026
- AI Use at U.S. Businesses, Business Trends and Outlook Survey (BTOS), a biweekly nationally representative survey of U.S. businesses; the article reviews data collected December 14, 2025 to May 3, 2026 · U.S. Census Bureau, data from 2026
- 2026 Report on Employer Firms: Findings from the 2025 Small Business Credit Survey, Small Business Credit Survey; 6,525 responses from a nationwide convenience sample of small employer firms with 1–499 full- or part-time employees across all 50 states and DC, fielded September 3 to November 14, 2025 · Federal Reserve Banks, data from 2025
- Data Scientists : Occupational Outlook Handbook: : U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics programme: national wage estimates from a survey of employer establishments, reference period May 2025 · U.S. Bureau of Labor Statistics, data from 2025