Client context
B2B SaaS company · 22 employees · 2 analysts · ~30 non-technical operators
A 22-person B2B SaaS had a warehouse that 30 operators could not query without help from two analysts. We built a natural-language layer on top of a governed semantic model and shipped it inside the existing product.
Project snapshot
The delivery and value signals below are anonymized and rounded so the operating scale is visible without exposing the client.
Client context
B2B SaaS company · 22 employees · 2 analysts · ~30 non-technical operators
Delivery team
2 engineers + 1 product lead with the data lead and operator representatives
Sponsor
Head of Operations
Analytics adoption
4× in a quarter
Weekly active analytics users
Project-reportedAnalyst capacity
~15 hrs/week
Directional repeat-question capacity
Directional modelAnswer boundary
Governed first
Semantic definitions before generation
Project-reportedProduction signal
What we learned
Actual process teardown
The important change is not a model in isolation. It is the full operating path around the model: inputs, orchestration, controls, review, and the system of record.
The challenge
Two analysts were translating repeat questions from sales, support, and operations into SQL while the people closest to the business waited for answers. Metric definitions lived in dashboards and tribal knowledge, so every follow-up risked creating a different version of the truth.
The production response
We inventoried the questions and definitions first, built the semantic layer in dbt, and added a natural-language query loop that shows the generated SQL, source metrics, and result context. Ambiguous or high-impact questions still route to an analyst.
Operators submitted questions to two analysts instead of querying the warehouse directly.
Analysts translated informal language into SQL and clarified which metric definition the request meant.
A one-off query or dashboard was created, checked, and shared back through a channel or document.
Follow-ups created another queue item and repeated the same context gathering.
Operators ask a question inside the existing product workspace.
The semantic layer constrains metrics, dimensions, joins, access rules, and allowed data domains.
AI translates the question into traceable SQL and presents the result with metric context and citations.
Users validate the insight, ask follow-ups, or route an ambiguous answer to an analyst before acting.
Phase-by-phase delivery
Each phase turns the process teardown into a concrete production deliverable, with a clear value created before the next layer is added.
Understand what operators ask, where analysts spend time, and which definitions cause rework.
Delivered
Value created
The system targets repeatable decisions and clarifies where natural language is safe to use.
Make business definitions explicit before allowing AI to generate queries.
Delivered
Value created
Answers become grounded in the organization’s language rather than inferred from raw column names.
Translate questions into traceable queries and make the result understandable to the operator.
Delivered
Value created
Users can move from question to action without creating a new analyst ticket for every iteration.
Measure usage and quality while routing ambiguous or high-impact questions back to analysts.
Delivered
Value created
Self-service expands without creating a second, invisible reporting layer.
Measured and modeled impact
Project-reported outcomes are shown alongside directional models. Public benchmark figures are kept in their own evidence section below.
Analytics access
Project-reportedWeekly active users grew 4×
Before
Two analysts triaging repeat questions
After
Natural-language workspace with governed definitions
Anonymized and rounded project-reported adoption outcome supplied for this case study; independently unverified in the public view.
For a small SaaS, the value comes from letting roughly 30 operators answer common questions while the two-person data team focuses on durable analytics work.
Model
Decisions accelerated × value per decision + analyst hours released × loaded analyst cost − workflow operating cost
Assumptions to validate
ROI scorecard
Each teardown shows the practical ROI lens for the transformation. Existing project signals stay labeled; financial impact remains a transparent model until baseline volumes, costs, and quality data are verified.
Directional model: repeat questions move out of the two-analyst queue and into a governed workspace.
Model analyst hours released plus the value of decisions made sooner from trusted operational data.
The data team can spend less time translating repeat questions and more time on durable models, quality, and planning.
Weekly active analytics users grew fourfold in a quarter in the existing project report.
Governed definitions, traceable SQL, and analyst routing reduce inconsistent answers across teams.
ROI should be finalized against the client baseline: loaded labor cost, transaction volume, unit economics, throughput, and measured error or denial rates. The directional model is a value pathway—not an invented client result.
System blueprint
The tool list shows what each component is responsible for across the application, data, AI, integration, orchestration, and governance layers.
Application + AI
TypeScript
Analytics workspace, question routing, and query explanation
Workspace
Next.js
Embedded natural-language analytics experience
Semantic layer
dbt
Metric definitions, dimensions, approved joins, and data tests
Warehouse
BigQuery
Governed query execution and warehouse access boundary
Governance
SQL guardrails
Allowed domains, access policies, generated-query checks, and limits
Operations
Answer feedback loop
Analyst review, definition corrections, and quality instrumentation
The system is grounded in the client’s existing operational data rather than an unbounded external corpus.
Public benchmark evidence
These sources support the transformation pattern. They are not client-specific outcomes and should not be read as such.
Snowflake describes semantic context as necessary for reliable natural-language analytics and cites a public example with thousands of monthly analysis queries and analyst-capacity savings.
Why it matters here
Supports the requirement for governed definitions and traceable query generation rather than an unbounded chatbot over raw tables.
External research provides context and benchmarks. It does not verify the anonymized client, implementation, or project-specific results described above.
Names, logos, and specific numbers are redacted in this public view. Full references are available under NDA on request.
Start with the friction you already see. We will help you determine what is worth solving and how to move it safely into production.