Conversational BI
HeliosDB Full plans conversational business intelligence for analysts who do not write SQL: multi-turn questions in plain language that the database translates into SQL with the schema in context, runs and explains. Conversational BI and natural-language-to-SQL are on the roadmap and not in the current release; today the HTTP gateway serves chat completions, embeddings, vector stores and agent memory.
Planned: conversational BI and natural-language-to-SQL are on the roadmap. Read the documentation.
Problem Being Solved
Root Cause: The SQL barrier excludes most knowledge workers:
- SQL Expertise Required: Complex syntax, joins, aggregations
- Schema Knowledge Needed: Table names, column types, relationships
- IT Backlog: Weeks to get ad-hoc reports
- Self-Service Failed: BI tools still require training
HeliosDB Solution: Native Conversational BI
Architecture
HeliosDB Conversational BI Architecture:
┌─────────────────────────────────────────────────────────────┐
│ Natural Language Query │
│ "Show me top 10 customers by revenue last quarter" │
└────────────────────────────┬────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Intent & Entity Recognition │
│ Intent: aggregate_query │
│ Entities: customers, revenue, last_quarter, top_10 │
│ Confidence: 0.96 │
└────────────────────────────┬────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Schema-Aware SQL Generation │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Schema Context: │ │
│ │ ├── customers table (id, name, segment) │ │
│ │ ├── orders table (customer_id, amount, order_date) │ │
│ │ ├── FK: orders.customer_id → customers.id │ │
│ │ └── 'revenue' maps to SUM(orders.amount) │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ Generated SQL: │
│ SELECT c.name, SUM(o.amount) as revenue │
│ FROM customers c │
│ JOIN orders o ON c.id = o.customer_id │
│ WHERE o.order_date >= '2024-07-01' │
│ AND o.order_date < '2024-10-01' │
│ GROUP BY c.id, c.name │
│ ORDER BY revenue DESC │
│ LIMIT 10 │
└────────────────────────────┬────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Query Validation & Execution │
│ - Security check: User has access to tables │
│ - Performance check: Query cost acceptable │
│ - Execute and return results with explanation │
└─────────────────────────────────────────────────────────────┘
Natural Language SQL Interface
-- Enable conversational mode
\chat on
-- Natural language query
User: "Show me top 10 customers by revenue last quarter"
HeliosDB: I'll query the orders and customers tables to find the top 10 customers
by total revenue in Q3 2024.
Generated SQL:
SELECT c.name, SUM(o.amount) as revenue
FROM customers c
JOIN orders o ON c.id = o.customer_id
WHERE o.order_date >= '2024-07-01' AND o.order_date < '2024-10-01'
GROUP BY c.id, c.name
ORDER BY revenue DESC
LIMIT 10;
| name | revenue |
|-------------------|-------------|
| ... | ... |
User: "How does that compare to the previous quarter?"
HeliosDB: I'll add Q2 2024 data to compare with Q3.
Generated SQL:
WITH q3 AS (...), q2 AS (...)
SELECT
c.name,
q3.revenue as q3_revenue,
q2.revenue as q2_revenue,
ROUND((q3.revenue - q2.revenue) / q2.revenue * 100, 1) as growth_pct
FROM q3 JOIN q2 ON q3.customer_id = q2.customer_id
ORDER BY q3.revenue DESC LIMIT 10;
User: "Which of those are in the enterprise segment?"
HeliosDB: Filtering to enterprise segment customers only.
-- Remembers context from previous query
Conversational Sessions
-- Create conversation session
CREATE CONVERSATION SESSION sales_analysis
WITH (
default_schema = 'public',
time_context = 'fiscal_year',
user_role = 'sales_analyst',
max_rows = 1000
);
-- Multi-turn conversation with context
ASK 'What were our total sales last month?';
ASK 'Break that down by product category';
-- Remembers "last month" context
-- Returns: breakdown by category
ASK 'Which category grew the most compared to the month before?';
-- Remembers time range, adds comparison
ASK 'Show me the top 5 products in that category';
-- Remembers Electronics category
-- Returns: top 5 electronic products
ASK 'Add their inventory status';
-- Extends previous query with inventory join
-- Returns: products with inventory levels
-- Export conversation to report
EXPORT CONVERSATION TO '/reports/sales_analysis_2024_11.md';
Query Explanation & Confidence
-- Ask with explanation
ASK WITH EXPLANATION 'Average order value by customer segment this year';
Response:
┌─────────────────────────────────────────────────────────────┐
│ INTERPRETATION │
│ You want to see the average order value (total amount per │
│ order) grouped by customer segment for the current year. │
│ │
│ CONFIDENCE: 94% │
│ │
│ ASSUMPTIONS: │
│ - "This year" = 2024-01-01 to now │
│ - "Order value" = orders.amount column │
│ - "Segment" = customers.segment column │
│ │
│ ALTERNATIVE INTERPRETATIONS: │
│ 1. Average of all items per order (if you meant line items) │
│ 2. Median order value (if you want central tendency) │
│ │
│ Would you like to proceed or clarify? │
└─────────────────────────────────────────────────────────────┘
User: "Proceed"
Generated SQL:
SELECT
c.segment,
AVG(o.amount) as avg_order_value,
COUNT(o.id) as order_count
FROM customers c
JOIN orders o ON c.id = o.customer_id
WHERE o.order_date >= '2024-01-01'
GROUP BY c.segment
ORDER BY avg_order_value DESC;
| segment | avg_order_value | order_count |
|------------|-----------------|-------------|
Concrete Examples
Example 1: Sales Operations
Company Profile: B2B SaaS with 500 sales reps
Challenge: Sales reps need pipeline data without SQL knowledge
Example 2: Marketing Analytics
Company Profile: E-commerce with marketing team of 20
Challenge: Marketers need campaign performance without technical help
Example 3: Executive Dashboards
Company Profile: Public company with C-suite needing metrics
Challenge: Executives need instant access to company metrics
Example 4: Product Analytics
Company Profile: Mobile app with product team
Challenge: PMs need user behavior insights without SQL
Conclusion
HeliosDB's native Conversational BI democratizes data access for all knowledge workers. Organizations can:
- Accelerate Decisions: Minutes instead of days for insights
Performance depends on workload and hardware. Published figures are measured on representative fixtures; see the benchmarks page and reproduce them on your own workload.