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.

What's included

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.

How we work

From request to result

  1. 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. 2

    Semantic layer

    We describe metrics, dimensions, joins, and aggregation rules, and the metric owner approves every definition.

  3. 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. 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.

Who it fits

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.

Track record

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.

Scope of work

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 it works

How the system is built

  1. 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.

  2. 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.

  3. 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.

Limitations and cost

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.

Stack

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.

The main store for metrics and reference data: the semantic layer keeps definitions, access rules, and query history here.A columnar database for heavy aggregates: it sums revenue and funnels over millions of rows in seconds while PostgreSQL holds the reference tables.The event stream from your sources: a new data batch lands in the warehouse and refreshes the cache without a manual restart.A cache for finished answers and query plans: a repeated question on the same metric returns in milliseconds.The SQL generation and access-check service: it assembles the query from the semantic layer and applies role filters before execution.
Budget estimate

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

2

Users

50

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

Questions

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

Ready to discuss your task?

Leave a request – we'll get back with a proposal and a preliminary estimate.

Contact us