dbt Semantic Layer vs MetricFlow
dbt Semantic Layer
getdbt.comMetricFlow
github.comSide by side
| Figure | dbt Semantic Layer | MetricFlow |
|---|---|---|
| Price from | $0.09/mo | $100/mo |
| Free plan | Yes | Yes |
| Free trial | Yes | Yes |
| Open source | — | Yes |
| Web | Yes | Yes |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | — | Yes |
| API | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 5 | 5 |
| Spec score · Semantic Layer Software | 9.2 (#2) | 9.1 (#3) |
| APIs | The Semantic Layer provides GraphQL and JDBC APIs and a Python SDK for querying metrics and dimensions. | Custom integrations can use JDBC, ADBC, GraphQL, and the Python SDK library. |
| Documentation depth | Documentation covers semantic models, entities, dimensions, metrics, CLI commands, manifests, deployment, credentials, tokens, and integrations. | The developer documentation includes guides for joins, time spines, validations, semantic models, metrics, saved queries, advanced modeling, deployment, caching, exports, integrations, and APIs. |
| Founded | 2016 | 2016 |
| Headquarters | Oakland, California, United States | Oakland, California, USA |
| Integrations | The product page says the Semantic Layer offers an API, the dbt MCP Server, and dozens of out-of-the-box integrations for BI, notebooks, spreadsheets, embedded analytics, and AI systems. | Official documentation lists downstream integrations including Tableau, Hex, Dot, Mode, and Google Sheets. |
| Licence | The dbt Semantic Layer service and APIs are proprietary cloud software; MetricFlow and dbt-semantic-interfaces are Apache 2.0 licensed. | MetricFlow versions 0.209.0 and newer use Apache 2.0; earlier releases used AGPL or BSL licensing. |
| Purpose | The Semantic Layer centralizes metric definitions on dbt models and automatically handles data joins for consistent use across downstream tools and applications. | MetricFlow defines and manages metric logic and generates SQL for querying metrics across data dimensions. |
| Warehouse support | The Semantic Layer documentation identifies Snowflake, BigQuery, Databricks, and Redshift as supported data platforms. | Official documentation lists Snowflake, BigQuery, Databricks, Postgres for dbt v1, and Redshift as supported engines. |
| What it does | The Semantic Layer centralizes metric definitions in dbt and generates queries with joins for downstream tools. | MetricFlow is a semantic layer that defines metrics and compiles requests into reusable, warehouse-specific SQL. |
Plans
dbt Semantic Layer
- DeveloperFree
- dbt State add-on$0.09 a month
- Starter$100 a month
- EnterprisePriced on request
- Enterprise+Priced on request
MetricFlow
- DeveloperFree
- MetricFlowFree
- Starter$100 a month
- EnterprisePriced on request
- Enterprise+Priced on request
In their own words
dbt Semantic Layer
The dbt Semantic Layer centralizes metric definitions on dbt models and handles joins so downstream tools and applications can use metrics consistently. MetricFlow generates SQL at query time from semantic model and metric configurations. Teams define those models and metrics in YAML as version-controlled, lineage-aware code. MetricFlow can optimize joins, rewrite queries to reduce compute and latency, and cache repeated queries. The product offers an API, the dbt MCP Server and integrations for BI tools, notebooks, spreadsheets, embedded analytics and AI systems. GraphQL and JDBC APIs and a Python SDK provide ways to query metrics and dimensions; Claude and ChatGPT can connect to governed metrics through the MCP server. Documented warehouse platforms include Snowflake, BigQuery, Databricks and Redshift. Defining and querying metrics requires a dbt Starter or Enterprise-tier account, and single-tenant accounts need account-representative setup and enablement. Starter includes 5,000 queried metrics per month; Enterprise and Enterprise+ each include 20,000. Starter costs $100 a month per user. The free Developer plan does not list the Semantic Layer.
MetricFlow
MetricFlow is a free, open-source tool from dbt Labs for defining metric logic and generating SQL across data dimensions. Metrics and semantic models are written in YAML within a dbt project, using simple, conversion, cumulative, derived and ratio types. Entity types and parameters construct joins while avoiding fan-out and chasm joins. MetricFlow works with dbt 1.6 and higher and lists Snowflake, BigQuery, Databricks and Redshift, plus Postgres for dbt v1 only. A working dbt project and adapter are required. It is distributed under Apache 2.0 and installs from PyPI with `pip install dbt-metricflow`. The tool does not currently support dbt built-in functions or packages. Custom integrations can use JDBC, ADBC, GraphQL or the Python SDK. The dbt Semantic Layer, powered by MetricFlow, lists integrations including Power BI, Tableau, Google Sheets, Excel, Omni, Hex, Mode and Sigma. MetricFlow is self-hosted and costs nothing; hosted Semantic Layer Starter access is listed at $100 per user/month.