
Conversational BI: a chat with your company data
We build Conversational BI on top of your warehouse: a semantic layer, SQL generation, and role-based access. Fifty analysts ask questions in plain words, and the system returns figures and charts.
An analyst asks a question in plain words and gets SQL, a chart, and a short answer from your warehouse.
Pricing
from ₽900,000
per project
This is the lower bound of a project. We scope the exact quote after a brief: it depends on volume and the number of integrations.
Capabilities
A semantic layer over the warehouse
Metrics, dimensions, and joins are defined once, so every query counts revenue and margin by one definition.
A question in plain language
The model translates the question into SQL against the semantic layer schema and shows the generated query before it runs.
Access by role
A user sees the rows and columns allowed by their role, and access filters apply to every query.
A chart and a short answer
The system picks the chart type, labels the axes, and adds a two- or three-sentence reading with the period.
From request to result
1
Warehouse and metric audit
We review the warehouse schema, the source list, and the metric owners, then fix which figures count as official.
2
Semantic layer
We describe metrics, dimensions, joins, and aggregation rules, and the metric owner approves every definition.
3
NL-to-SQL and access
We connect the SQL generator, test it on a set of real questions, and set up role-based filters.
4
Pilot and launch
We launch on a group of fifty users, collect the questions that miss an answer, and bring accuracy to the agreed threshold.
Check if it fits you
Good fit
A warehouse and a metric owner
Data sits in PostgreSQL or ClickHouse, and a named person owns the revenue and margin definitions.
Roles are defined
You have documented roles and access rules for rows and columns in reports.
Not a fit
Reports live in spreadsheets
Scattered files and manual exports show different revenue for one period, so a shared source comes first.
Regulated metrics without governance
When official figures are unapproved, the chat repeats the gaps between reports, so a governance rule comes first.
What you get
2 sources
Two sources in the base
The base contour connects two sources, for example PostgreSQL and ClickHouse. Each source brings its own tables, and the semantic layer joins them into shared metrics.
50 users
Fifty users
The pilot covers fifty users across roles. Each gets access to their own rows and asks questions without exports or a thread with an analyst.
On request
Semantic layer
We add the semantic layer as a separate stage when the metric count grows and definitions change. The layer holds joins and rules, so new questions rest on one data model.
What the delivery includes
Semantic layer
We describe metrics, dimensions, joins, and aggregation rules in one layer. The metric owner approves the definitions, and the layer becomes the source for the chat and the dashboard.
Data chat
We deploy a question-and-answer interface with SQL generation, access checks, and a short reading. The user sees the query, the chart, and the period behind each figure.
Dashboard
We assemble a dashboard from the questions the pilot users ask most. The panels refresh on schedule and are the entry point for the analytics team.
How the system is built
The question
An analyst asks a question in plain words: "what is revenue by region for the quarter". The system finds the metric and dimensions in the semantic layer and clarifies the period when the question allows two readings.
The SQL query
The generator assembles the SQL query from semantic layer definitions, applies role filters, and checks the syntax. The user sees the finished SQL before execution and can save it as a report.
The answer and access
The warehouse returns aggregates, and the system picks a chart and writes a short reading with the period and units. Access filters apply to rows and columns, so each user sees their own slice of the data.
Where the solution pushes back
- 01
Semantic layer quality
Answer accuracy rests on semantic layer quality: described metrics, joins, and aggregation rules produce predictable SQL. One metric owner approves the definitions, and that speeds up every change.
- 02
Access model
The access model sets row and column visibility for each role. The closer the roles match how departments work, the easier the rights are to maintain and check during the pilot.
- 03
Data freshness
Data freshness follows the load schedule: Kafka refreshes streaming tables within minutes, and nightly marts arrive on schedule. Every answer shows the time of the last load.
Technologies
The technologies we use in our work and their role in a project.
Warehouse and query layer
The warehouse reads from PostgreSQL and ClickHouse, update events flow through Kafka, the answer cache lives in Redis, and Python handles SQL generation and access checks.
Cost calculator
This is an indicative range, not a quote. We scope the exact estimate after a brief: it depends on volume and the number of integrations.
Sources
Users
Semantic layer
Access control
Add-ons
Support
Year one: updates and monitoring, a reply within 2 business days.
Service
Conversational BI: a chat with your company data
The estimate covers our team's work. Hardware, third-party service licences and travel are added on request.
Estimated cost
₽1.15M
Timeline
6 wk
Frequently asked questions
How accurate are the answers?
In the pilot we measure the share of questions with correct SQL and a correct figure on your set. We agree on the threshold before launch: it is usually 90-95% for common questions on approved metrics, and the system flags complex queries.
Who sees what?
A role sets access: row and column filters apply before the query runs, so a user receives only permitted data. The rules live in the semantic layer and change with the role.
Which sources do you connect?
PostgreSQL, ClickHouse, Kafka, and marts built on them. The base contour includes two sources, and we add extra ones one at a time: each adds tables, joins, and aggregation rules.
How long does the launch take?
The pilot runs 4-6 weeks: the audit and semantic layer, then NL-to-SQL and access, then the launch with a user group. The term depends on the metric count and schema readiness.
What teams add to this service
Related Services
Part of Solutions
Implementation Examples
−90%
Discrepancies in reports
Ready to discuss your task?
Leave a request – we'll get back with a proposal and a preliminary estimate.
Contact us