Case study
A question that should take ten seconds took two days
Business logic lived in semantic models, everything else in the warehouse, and users could query neither, so every question went through an analyst. A conversational layer now routes each one to the right engine, with access control enforced before anything executes.
- Accuracy over 500+ test questions
- 85%Accuracy over 500+ test questions
- Correct semantic model selection
- 93.2%Correct semantic model selection
- Reduction in time to answer
- 90%Reduction in time to answer
- Code changes to update business logic
- 0Code changes to update business logic
Sample content: not published
This engagement is sample content. This page is excluded from the sitemap and search indexing until the details are confirmed.
The data was never the problem. Safe access was
Enterprise databases and semantic models already held the answers to most business-critical questions. Getting anything out of them required SQL or DAX, schema knowledge, and an understanding of the business rules governing how the numbers should be read. For most people that barrier is insurmountable, so every question routed through an analyst who knew both the schemas and the access rules.
- The answers lived in two places. Operational data sat raw in the warehouse; business logic sat separately in semantic models. Users did not know which held a given answer, let alone which to trust when both could produce a number.
- The schema is too large to hand to a model. Thirty tables cannot be passed on every request: accuracy degrades and cost rises as irrelevant context crowds out the tables that matter.
- Nobody types the value that is in the database. People ask about "the
north region" when the column holds
NORTH_AMERICA. A query built on the literal phrase returns nothing, and an empty result reads as "no data" rather than "wrong filter". - Access control is fragmented by region, partner and role, and write access could not be risked at all. A conversational layer returning unauthorised results is the fastest way to have it switched off permanently.
An empty answer costs more than a slow one
A semantic model that lacks the requested concept returns nothing, and to the person asking, nothing reads as "no data exists" rather than "wrong engine". A single-path system quietly loses trust that way, one unanswered question at a time.
So the platform is built trust-first and coverage-second. Semantic models are consulted first because they hold business-approved logic. The warehouse guarantees that no question goes unanswered. If no model covers the concept, the query returns zero rows, or execution errors, it routes to the warehouse automatically: no retry, no error message, no intervention.
Route it, ground it, then check who is asking
Database knowledge is split across two layers. A lightweight catalogue of plain-English table descriptions identifies which tables are relevant; only then does a rich metadata store (column definitions, synonyms, valid filter values, metric formulas) come into play. Thirty tables never become thirty tables of schema on every query; one to three relevant ones pass through.
Business terms are resolved to canonical dataset values before any query is built: a region abbreviation to a Global Region, a vendor shorthand to a Provider. Ambiguity is settled in semantic context rather than guessed at, and nothing is generated until every filter value has matched a real entry. Resolution runs in parallel for both paths, so neither engine waits on the other.
Access control is enforced before execution rather than filtered afterwards, and every answer discloses how it was produced. The core system is domain-agnostic: what changes between deployments is the metadata catalogue and the business logic configuration, which is why updating that logic costs no code.
Recognise any of this in your own estate?
Start with the problem rather than the technology, and we will tell you honestly whether it is ours to solve.
A professional-services firm, a mid-sized legal and advisory practice
They rolled out Copilot to save time. It kept guessing wrong.
A tier-2 automotive-components supplier feeding just-in-time under IATF 16949
The parts passed inspection. The defects shipped anyway.
A North American consumer-goods manufacturer with six plants and two distribution centres
The information existed. The floor couldn't reach it.
