Custom BI Dashboard (Business Intelligence)
Companies often face the problem: data is scattered across CRM, ERP, marketplaces, and reports are prepared manually in Excel. This leads to delays in decision-making, errors due to human factors, and inefficient use of resources. A BI dashboard solves all these problems by unifying data into a single repository and allowing business users to build reports in real time independently. Our experience — over 20 completed projects, 7 years on the market. Certified specialists in ClickHouse and PostgreSQL. Quality guarantee at all development stages.
Why Data Warehouse Is the Foundation of Any BI Solution?
Data Warehouse is a centralized storage optimized for analytical queries, not for transactions. Unlike simple connections to sources, a DWH avoids N+1 queries and ensures data consistency. The standard approach is the dimensional model (star schema):
dim_customers | dim_products — fact_orders — dim_dates | dim_locations fact_orders — facts (transactions), contains numeric metrics (amount, quantity) and keys to dimensions. dim_* — dimensions (descriptive data). Queries like "sales by region for Q3" work quickly thanks to this structure. A proper data model can save up to 40% of analysts' time.
How ClickHouse Accelerates Analytical Queries?
ClickHouse is a columnar DBMS with enormous aggregation speed. In practice: a query COUNT(*) + SUM(revenue) on a table with 1 billion rows executes in 0.5 seconds, while on PostgreSQL it takes 15 minutes. ClickHouse is 10–100 times faster than PostgreSQL for typical BI queries.
-- ClickHouse: sales by category for the last 30 days SELECT category, sum(revenue) AS total_revenue, uniqExact(customer_id) AS unique_customers, count() AS orders FROM orders_mv WHERE toDate(created_at) >= today() - 30 GROUP BY category ORDER BY total_revenue DESC; ETL from PostgreSQL to ClickHouse: via clickhouse-local + scheduled job or Apache Airflow. Materialized views can also be used for precomputed aggregates.
How We Build an ETL Pipeline for BI?
- Data source audit — identify all relevant systems (CRM, ERP, marketplaces), assess volumes and update frequency.
- DWH design — develop a star schema considering future reports.
- ETL development — use Apache Airflow for orchestration, dbt for transformations. Example DAG:
source_extract → load_to_staging → transform_to_dwh → load_to_clickhouse. - ClickHouse optimization — configure partitioning, primary key, materialized views.
- Dashboard creation — 10–20 typical reports with filters, drill-down, parameterized queries.
What Is Self-Service BI and How to Embed It?
Self-service means an analyst or manager can build the required report themselves. Components:
- Query builder UI — drag & drop fields, select aggregations, filters without SQL.
- Dashboard builder — add widget, choose chart type, configure axes.
- Parameterized reports — template with variables, user input values.
Comparison of tools for embedding BI:
| Tool | Type | Self-service | Embedding | Open source |
|---|---|---|---|---|
| Metabase | Embedded | Yes | iframe/API | Yes |
| Apache Superset | Full BI | Yes | API | Yes |
| Lightdash | BI + dbt | Yes | API | Yes |
| Custom | Fully custom | Optional | Full | Own code |
We help choose the optimal option for your task. Contact us for a consultation to discuss details.
OLAP and Slice & Dice
OLAP allows "slicing" data across multiple dimensions:
- Drill-down: year → quarter → month → day
- Slice: only one region from all
- Dice: region × category × period
- Pivot: rows and columns swap places
In a BI dashboard, this is implemented through hierarchical filters and pivot tables.
Cohort Analysis
Cohort analysis groups users by the period of first action and tracks metrics over time:
| Cohort | M0 | M1 | M2 | M3 |
|---|---|---|---|---|
| Cohort 1 | 100% | 42% | 31% | 28% |
| Cohort 2 | 100% | 39% | 28% | — |
SQL for cohort retention:
WITH cohorts AS ( SELECT user_id, DATE_TRUNC('month', created_at) AS cohort_month FROM users ), activity AS ( SELECT user_id, DATE_TRUNC('month', event_at) AS activity_month FROM user_events WHERE event_type = 'purchase' ) SELECT cohort_month, EXTRACT(MONTH FROM AGE(activity_month, cohort_month)) AS period, COUNT(DISTINCT a.user_id)::FLOAT / COUNT(DISTINCT c.user_id) AS retention_rate FROM cohorts c LEFT JOIN activity a USING (user_id) GROUP BY 1, 2; Access and Security
- Row-level security: each manager sees only their own clients/region.
- Policies at the dataset level: who can create reports, who can only view.
- Query audit: who viewed which reports and when.
What Is Included in BI Dashboard Development
- Data source audit and modeling.
- ETL pipeline development (ClickHouse, Airflow).
- Dashboard creation (10–20 reports).
- Architecture documentation.
- Access rights and security setup.
- Training for the analytics team.
- Technical support after launch.
Timeline
MVP BI dashboard (ClickHouse/PostgreSQL, 10–15 reports, basic filters, user roles): 3–4 months. Full BI platform with self-service builder, cohorts, ETL, and embedded SDK: 5–9 months. Order BI dashboard development and get an engineer consultation. Contact us to discuss the details of your project.







