Skip to content
~/reflective_data

platform / semantic-layer

One definition of every metric. For people and AI.

Build is where your data becomes clean, reliable tables. A tested, version-controlled dbt project defines your models, metrics and dimensions once, and every dashboard, notebook and AI answer uses them.

models/marts/revenue_daily.sql
# aggregated table, built once
select order_date, channel, sum(order_total) as revenue
from {{ ref('stg_orders') }}
where status = 'completed'
group by 1, 2

# dashboards, notebooks and agents read revenue_daily,
# not billions of raw events

trusted by data teams at

NextEra Energy Invesco Adorama Adlibris StubHub Educative camino/financial

✓ Enterprise-ready. Already trusted by multiple Fortune 100 companies.

see it

How your data becomes one governed layer

Raw data comes in, dbt turns it into tested models and reporting tables, and the semantic layer defines your metrics once for every tool.

data-flow — from sources to every tool
GA4Google AdsMeta AdsCRMDatabases+ hundreds more

your sources

01 · load

Pipelines

raw tables in your warehouse

02 · build

dbt models

staging, intermediate, marts. Tested and versioned

semantic layer

metrics · dimensions

defined once, in YAML

ExploreDashboardsAI agentMCP serverNotebooksany BI tool

everything that reads your data

efficiency.md

Reporting tables make every question cheaper

AI or BI on raw events
~250 GB scanned
Reporting table from the semantic layer
~6 GB scanned

// illustrative: the same question, answered from a compact reporting table

what you get

Semantic layer, in detail

dbt-project.md

A dbt project you own

Keep the code in your own GitHub repository, or in a managed repository we host with no GitHub account needed.

editor.md

Edit, commit and run in the browser

Browse and edit project files, commit to GitHub or the managed history, pull in outside changes and run dbt with the log streamed live.

schedules.md

Schedules built in

Run dbt automatically so models stay current without anyone starting a run by hand.

reporting-tables.md

Reporting tables, not raw scans

Models build aggregated, reporting-ready tables. Dashboards and agents read compact tables instead of scanning raw event data, so answers are faster and cheaper.

governed-metrics.md

Governed metrics and dimensions

Dimensions, metrics and descriptions live in your dbt YAML and appear in Explore automatically, so they mean the same thing for everyone.

any-bi.md

Works with every BI tool

The tables live in your own warehouse, so any BI tool can use them. Explore and our AI features make the most of the layer.

how it works

From setup to answers

01 /

Connect

An admin connects your warehouse and a repository once. Choose your own GitHub or a managed repository.

02 /

Model

Editors write and test models and define metrics and dimensions in YAML, then commit.

03 /

Run and schedule

Run dbt from the platform and schedule it, so tables stay fresh.

04 /

Use everywhere

Committed models appear in Explore with their descriptions, dimensions and metrics, and the AI agent and MCP answer from them.

ai

Why AI should read from a semantic layer, not raw data

A language model can write SQL, but it cannot know what your business means by revenue or an active customer. Connected to raw tables, it guesses. Connected to a semantic layer, it uses definitions you have agreed on.

raw-data.md

AI on raw tables

  • Guesses what each metric means, so answers vary from question to question
  • Scans large raw tables, which is slow and expensive
  • Can see everything in the warehouse, including what it should not
  • Hard to explain or audit once a number leaves the tool
semantic-layer.md

AI on the semantic layer

  • Uses one definition per metric, so answers match your dashboards
  • Reads compact reporting tables, so answers are fast and cheap
  • Only sees the models you expose
  • Every number traces to a tested model

any llm / Your definitions live in your data layer, not inside a model. Use OpenAI, Anthropic, Google or any MCP-compatible LLM and get the same answers, and switch models later without rebuilding anything. Read more in why a semantic layer is essential for AI.

faq

Frequently asked questions

What is the semantic layer in Reflective Data?

It is the dbt project you build in the Build part of the platform. Your models, metrics, dimensions and descriptions are defined once, in code, and used by Explore, the AI agent, the MCP server and any other tool that reads your warehouse.

Is it dbt?

Yes. Build is a dbt project with a code editor, commits, runs and schedules in the platform. Use your own GitHub repository or a managed repository we host.

Does it work with my BI tool?

Yes. The reporting tables are created in your own warehouse, so any BI tool can use them. Explore and our AI features get the most out of the metrics and dimensions defined in the layer.

Which LLMs can use it?

Any. The agent in the platform works with OpenAI, Anthropic or Google models using your own key, and the MCP server lets any MCP-compatible LLM use the same governed data.

Why not connect AI directly to raw data?

Raw tables carry no business meaning, so a model has to guess. That leads to inconsistent answers, higher query costs and less control over what data is exposed. A semantic layer fixes all three.

Do reporting tables make queries cheaper?

Yes. Dashboards and agents read compact, aggregated tables instead of scanning raw event data, which reduces the data processed per question.

Can you build and run it for us?

Yes. Our experts can design the models and metrics with you, or run the whole platform for you. See our data build and semantic layer service.

get-started.sh

Tell us what you need. We'll scope it.

Pricing is tailored to your sources, volume and the parts of the platform you use. Request a demo or book a call with the team.