Skip to content
SPECIFICTION
Get listed

dbt Semantic Layer vs MetricFlow

dbt Semantic Layer

getdbt.com

MetricFlow

github.com

Side by side

Figuredbt Semantic LayerMetricFlow
Price from$0.09/mo$100/mo
Free planYesYes
Free trialYesYes
Open source—Yes
WebYesYes
Windows—Yes
macOS—Yes
Linux—Yes
APIYesYes
Self-hosted—Yes
Plans published55
Spec score · Semantic Layer Software9.2 (#2)9.1 (#3)
APIsThe 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 depthDocumentation 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.
Founded20162016
HeadquartersOakland, California, United StatesOakland, California, USA
IntegrationsThe 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.
LicenceThe 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.
PurposeThe 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 supportThe 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 doesThe 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

dbt Semantic Layer pricing →

MetricFlow

  • DeveloperFree
  • MetricFlowFree
  • Starter$100 a month
  • EnterprisePriced on request
  • Enterprise+Priced on request

MetricFlow pricing →

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.

Visit getdbt.com

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.

Visit github.com