• Are department managers waiting days for custom reports from the data team when the underlying data is already in your warehouse and the question could be answered in minutes with the right tool?

  • When non-technical users have access to raw database tables, are they producing correct analyses or finding ways to generate numbers that confirm what they already believe?

When every data question goes through the analytics team, the analytics team becomes a bottleneck and everyone else waits.

Self-service analytics gives department heads and operational managers the ability to answer their own data questions without submitting a request to the data team. Instead of waiting for an analyst to pull a custom report, the marketing manager can filter by campaign, the operations manager can slice by region, and the product manager can look at feature usage by customer segment -- all without writing SQL or waiting a week. RaftLabs builds self-service analytics platforms on Metabase, Power BI, and custom front ends -- with a clean, well-documented data layer that non-technical users can query safely without producing incorrect numbers or accessing data they shouldn't. Row-level security, guided exploration, and the curated data model that makes self-service analytics work in practice rather than in theory.

  • Pre-built data model exposing business entities (customers, orders, products) in plain language -- no SQL required

  • Row-level security ensuring each user sees only the data their role permits

  • Guided exploration with suggested filters, dimensions, and metrics for each data domain

  • Saved query and dashboard library so department teams can build on work already done rather than starting from scratch

RaftLabs builds self-service analytics platforms on Metabase, Power BI, and custom front ends -- curated data models, row-level security, and guided exploration -- for organisations where department teams need to answer their own data questions without analytics team involvement. Most projects deliver in 6 to 10 weeks at a fixed cost.

Vodafone
Aldi
Nike
Microsoft
Heineken
Cisco
Calorgas
Energia Rewards
GE
Bank of America
T-Mobile
Valero
Techstars
East Ventures

The analytics team queue fills up with requests that are individually simple but collectively consume the team's capacity: filter last month's sales by region, show me active customers by product tier, break down support tickets by category for the last quarter. Each request takes an analyst 30 minutes. Each department manager waits two days. The analytics team produces 20 reports a week that prevent them from doing the analysis that actually requires their expertise.

Self-service analytics does not eliminate the analytics team -- it changes what they spend their time on. Instead of pulling standard reports on request, they build and maintain the curated data model that department managers use to answer their own questions. The analytical capacity goes toward work that requires genuine expertise: building models, investigating anomalies, defining new metrics, and interpreting the findings that users surface through self-service exploration.

What we build

Curated semantic data model

Business-friendly data model exposing tables and fields in plain language: "Customers" instead of dim_customer, "Total Revenue" instead of a raw column calculation. Metric definitions pre-calculated so users query named metrics rather than writing formulas they might get wrong. Join paths between related tables predefined so users can explore connected entities -- customers to orders, orders to products -- without knowing the database schema or risking an incorrect join that multiplies rows and produces inflated numbers.

Row-level security and access control

Row-level security ensuring each user can only query data their role permits: sales reps see their accounts, regional managers see their region, finance sees the full organisation. Data domain access control -- HR data accessible only to HR and finance, customer PII accessible only to authorised roles. Access control managed through the platform's permission layer rather than requiring database credential management for each user. Audit logging of data access for domains with compliance requirements.

Guided exploration and discovery

Data domain entry points guiding users to the right starting point for their question -- start with Customers to analyse customer behaviour, Orders to analyse sales patterns, Support Tickets to analyse service volume. Suggested dimensions and filters for each domain. Example queries showing common analysis patterns that department teams run most frequently. Related entities highlighted from each starting point so users discover what they can explore without needing to read documentation before they begin.

Custom chart and dashboard creation

Drag-and-drop chart builder for non-technical users: select the metric, select the dimension to break it down by, select the chart type. Chart type recommendations based on the data structure -- bar chart for categorical comparison, line chart for time series, scatter for correlation. Dashboard composition from individual charts with configurable layout. Dashboard sharing and permissions for distributing work to relevant colleagues. Scheduled dashboard email delivery for recipients who need the summary without logging in.

Saved query and dashboard library

Organisation-wide library of saved queries and dashboards built by the analytics team and experienced department users. Categorised by data domain and department so the right starting points are easy to find. Ability to fork a saved query as the starting point for a new analysis rather than building from scratch. Version history for dashboards so changes can be reviewed and reverted if a modification breaks something. Usage tracking showing which saved analyses are most used -- informing which data domains need the most investment in curation and documentation.

Data documentation and data catalogue

Documentation for every table and field in the self-service data model: what it contains, how it is populated, any caveats or known limitations (e.g., this field is null for orders placed before a certain date). Data freshness indicator showing when each data source last updated so users know how current the data they are querying is. Glossary of business terms matching the plain-language field names to their technical definitions and the business logic behind them. Lineage from source system to self-service model for fields where the derivation matters.

Have a self-service analytics project?

Tell us which teams need data access, what questions they're currently waiting to have answered, and what data sources you have. We'll scope the platform and give you a fixed cost.

Frequently asked questions

Direct database access exposes raw tables with technical field names, no predefined metric calculations, no row-level security, and no join guidance. Users who don't understand the data model produce incorrect queries, join tables incorrectly, and generate misleading numbers they have no way to validate. Self-service analytics provides a curated layer on top of the database: plain-language tables and fields, predefined metrics, enforced join paths, and row-level security. Users answer questions correctly without writing SQL and without accessing data they shouldn't see.

The curated data model is the primary defence -- if users can only query named metrics with predefined formulas, they can't accidentally apply the wrong formula. Predefined join paths prevent incorrect table joins that produce Cartesian products or double-counting. Row-level security prevents querying data outside the user's scope. Beyond the technical guardrails, data documentation helps users understand what each metric measures and when it applies. For high-stakes analyses used in board reports or financial decisions, a review step by the data team is built into the workflow.

A self-service platform covering 3 to 5 data domains with a curated semantic model, row-level security, and Metabase or Power BI deployment typically takes 6 to 10 weeks. A more complete system with a custom front end, advanced data catalogue, and a larger data model covering more business domains typically takes 10 to 16 weeks. Timeline depends primarily on the number of data domains in scope and the state of the underlying data warehouse.

Most self-service analytics platforms allow SQL access alongside the no-code interface for users who need it. In Metabase, users with SQL permissions can write native queries against the warehouse alongside the visual query builder. In Power BI, DAX and M queries are accessible to power users. The distinction between no-code users and SQL users is a permission setting. Advanced SQL users work against the same curated data layer, not raw source tables, so they still benefit from the predefined metric calculations and documented join paths.