Natural Language Analytics with Snowflake Cortex for Self-Service BI
gitlab · Tech · 2026 · source Agentic: no · promotional bias: med · source-backed · extracted with prompt 0.5.6 (schema v2)
Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.
Problem
Domain: Self-service business intelligence
GitLab needed non-technical users to query structured data in natural language without increasing the analytics backlog or bypassing enterprise governance.
Constraints:
- The system needed to support simple and complex business queries.
- Early proof-of-concept accuracy was only 60%.
- Data access had to respect role-based controls.
- Business users needed faster time-to-insight than analyst queues could provide.
Architecture
GitLab used Snowflake Cortex with semantic models, prompt engineering, verified query feedback loops, and Snowflake role-based access controls to create governed conversational analytics.
Diagram confidence: reconstructed (reconstructed from prose).
flowchart LR business-user-interface["Business User Interface"] snowflake-cortex["Snowflake Cortex"] semantic-models["Semantic Models"] verified-query-feedback-loops["Verified Query Feedback Loops"] snowflake-governance["Snowflake Governance"] business-user-interface --> snowflake-cortex snowflake-cortex --> semantic-models snowflake-cortex --> snowflake-governance semantic-models --> snowflake-cortex verified-query-feedback-loops --> snowflake-cortex snowflake-governance --> business-user-interface
Components
| Component | Role | Interacts with |
|---|---|---|
Business User Interface |
Accepts natural-language analytics questions. | Snowflake Cortex |
Snowflake Cortex |
Translates natural-language questions into governed analytics queries. | Semantic Models, Snowflake Governance |
Semantic Models |
Describe business data so the model can map user questions to structured queries. | Snowflake Cortex |
Verified Query Feedback Loops |
Improve accuracy using reviewed successful queries. | Snowflake Cortex |
Snowflake Governance |
Applies role-based access controls to analytics access. | Business User Interface |
Data flow
A user asks a natural-language BI question, Cortex interprets it through semantic models and prompt context, verified-query feedback improves future behavior, and Snowflake governance enforces role-based access to results.
Why this architecture
Keeping the assistant inside Snowflake let GitLab improve self-service accuracy while inheriting native governance and access controls.
Models used: Snowflake Cortex
Scale
- Accuracy improved from 60% in the proof of concept to 85-95% for simple production queries.“evolved from a basic proof-of-concept with 60% accuracy to a production system achieving 85-95% accuracy for simple queries”summary, stated
- Complex queries reached 75% accuracy.“75% for complex queries”summary, stated
- Some teams reduced analytics requests by about 50%.“reduced analytics requests by approximately 50% for some teams”summary, stated
- Time-to-insight dropped from weeks to seconds.“decreased time-to-insight from weeks to seconds”summary, stated
Alternatives considered (roads not taken)
Traditional analyst-mediated BI
Rejected because: It created backlog and delayed business answers.
Ungoverned natural-language data access
Rejected because: Enterprise security required native role-based access controls.
Patterns
query-rewriting (query-generation)
Natural-language BI questions are rewritten into structured Snowflake analytics queries.
eval-driven-development (quality)
Verified-query feedback loops improved production query accuracy after a weaker proof of concept.
safety-policy-enforcement (governance)
Snowflake role-based access controls enforce enterprise data governance.
Tradeoffs
Use Snowflake-native conversational analytics
Chose Snowflake Cortex and governance over A separate external BI chatbot.
Rationale: Keeping the system in Snowflake preserved governance while enabling natural-language access.
Use feedback loops
Chose Verified query feedback over Static prompt-only behavior.
Rationale: Production accuracy needed to improve from the POC baseline.
Gotchas (what bit them)
Proof-of-concept accuracy is not enough for self-service BI.
Root cause: Early natural-language analytics produced only 60% accuracy.
Resolution: Add semantic models, prompt engineering, and verified query feedback loops.
Democratized analytics can become a governance risk.
Root cause: Non-technical users directly query structured enterprise data.
Resolution: Use Snowflake native governance and role-based access controls.
Evaluation
GitLab measured accuracy by query complexity, request reduction, and time-to-insight.
Metrics: Simple-query accuracy · Complex-query accuracy · Analytics request reduction · Time-to-insight
Outcomes
- Simple-query accuracy reached 85-95%.
- Complex-query accuracy reached 75%.
- Some teams reduced analytics requests by about 50%.
- Time-to-insight dropped from weeks to seconds.
The case reports team-level request reductions and production accuracy bands rather than total user volume.