Skip to main content

Analyst

AI Data Analyst: how it answers questions, and its limits

Answers questions in plain English.

Last updated Sunday, Aug 2, 2026

Ask a question in plain English, get back a real number with a chart, not a spreadsheet you have to build yourself first. That's the pitch of an AI analyst, and it's a real one, on one condition every vendor states somewhere in the fine print: the data underneath has to already be modeled and governed. OptimaFlo's Analyst is built around that condition instead of hoping you don't notice it.

What the Analyst actually does

Before it writes a single line of SQL, it runs your question through a semantic layer step: matching what you asked against metrics and dimensions that are already defined, and working out how to join across them if the answer spans more than one table. A separate check runs against the schema of your connected tables, not the semantic layer, to catch the clean failure: a question about data that plainly isn't connected gets a clear explanation of what's missing instead of a wrong answer. Only after both checks does it write SQL, execute it, and hand back a result, with a chart type it picked based on what the data actually looks like, not a default bar chart for everything.

What neither check catches is the subtler case: a question about a metric that's plausible from the connected columns but has never been formally defined. There the agent doesn't refuse, it falls back to a documented heuristic (pick the most relevant column, sum it), which is exactly the failure mode every chat LLM hits when you point it at a raw, ungoverned schema: it can write syntactically correct SQL against a column it has misunderstood, and the wrong number looks exactly like the right one. Defining the metric in the semantic layer is what closes that gap.

What you approve

A defined metric is the guardrail against a hallucinated number, but a person still has to write "revenue" or "active customer" into the semantic layer in the first place; until that happens, the Analyst falls back to its own best guess rather than blocking the question. And before a chart goes onto a shared dashboard where other people will trust it, pinning it is a deliberate action, not something that happens automatically the moment a query returns.

Honest limits

Answers are only as good as the semantic layer underneath them. Ask about a metric that's never been defined, and you get a best-effort column guess, not a request for the definition, so check any number that isn't backed by a governed, certified metric before you rely on it. It's also read-and-report: it queries and visualizes, it doesn't build the pipelines that got the data into a queryable state in the first place, that's the Data Engineer and Ingestion Engineer's job, upstream of anything the Analyst can answer.

Frequently asked questions

Only when it has to. Before it writes any SQL, it tries to match your question to metrics and dimensions that are already defined and governed, and works out the join paths between them. It also checks whether your connected tables plausibly hold the data at all, and refuses outright if the question needs an entity or relationship those tables clearly don't have. But if a term like 'revenue' has no governed definition and the tables look plausible, it does not refuse: it picks the column that looks most relevant and sums it, a best-effort guess you should check, not a governed answer.

Yes. It reads your connected tables and semantic layer to figure out the right source to query, and can join across governed metrics and dimensions rather than being limited to a single table.

You do, or whoever owns that definition. When a metric like 'active customer' is defined in the governed semantic layer, the Analyst uses that definition instead of guessing. When it isn't defined, the Analyst doesn't block on that gap: it falls back to its own best-effort column choice, so you still get an answer, just not a governed one. Defining the metric is what turns that answer from a guess into something you don't have to double-check.

See the whole team in action on the AI data team overview or browse every role.

Staffed, not self-serve

See the Analyst work on your own data.

Now in early beta. One flat plan, no per-query tax. Runs in your cloud, and your tables stay in your account.