dbt-expectations vs Elementary.
dbt-expectations and Elementary both anchor in quality & testing — 5 dimensions differ, 5 hold. Below: posture, coverage diff, and capability matrix.
What each is betting on.
Apache-2.0 dbt package, not a company. The original repo (calogica/dbt-expectations) was marked no longer maintained on 2024-12-18; active development forked to metaplane/dbt-expectations and the dbt Package Hub listing now publishes under the `metaplane` namespace (latest 0.10.x, dbt Fusion-compatible). Metaplane was itself acquired by Datadog (announced 2025-04-23). The package remains free and Apache-2.0 — it was never sold or made proprietary.
No strategic-posture note on file. Core product positioning is in the tool detail page.
Each tool's current strategic narrative, verbatim from its profile.
How each tool describes the other.
It extends dbt's four built-in tests for teams that want richer assertions without leaving the dbt project — a lighter, code-only alternative to soda or the full Great Expectations framework. Against elementary it adds no anomaly detection or reporting UI; against bigeye, monte-carlo, or anomalo it has no ML monitoring, lineage, or incident management. In practice it pairs with those tools rather than competing: several observability vendors document running dbt-expectations as the in-warehouse assertion layer beneath their platform.
Against dbt-expectations and Great Expectations, Elementary is the obvious upgrade path. Both of those are assertion libraries; Elementary is an assertion library plus an anomaly detection engine plus a UI plus an incident workflow. Teams usually adopt Elementary after hitting the limits of manually-authored dbt tests — specifically, the "we can't pre-specify every failure mode" limit that ML anomaly detection is designed to solve.
Each quote is pulled from the named tool's own "Where it fits" write-up.
Spec sheet diff.
| dbt-expectations | Elementary | |
|---|---|---|
| Vendor | Metaplane (Datadog) | Elementary Data |
| Deployment | Self-hosted only | SaaS · Self-hosted |
| Pricing | OSS · paid tiers | OSS · free |
| Founded | 2020 | 2021 |
| HQ | — | Tel Aviv, Israel |
| Test paradigm | Assertion-based | Assertion + anomaly |
Both share Primary cluster: Quality & testing · License: Open source · Free tier: Yes · OSS self-host: Yes · dbt integration: Native · OpenLineage: None · Status: ● active · Authoring style: YAML
Each tool's center of gravity.
| Cluster | dbt-expectations | Elementary |
|---|---|---|
| Lineage & metadata | 0/3 | 2/3 |
| Quality & testing | 3/3primary | 3/3primary |
| Catalog & discovery | 0/3 | 0/3 |
Scored 0–3 per cluster on the same rubric across all tools. A 0 means the cluster isn't the tool's focus, not that the feature is absent. See the methodology.
Where they cover different ground.
The declared feature set.
3 of 6 declared features differ — listed first.
These are each tool's self-declared key_features; a blank dot means
undeclared, not impossible.
| Feature | dbt-expectations | Elementary |
|---|---|---|
| ML Anomaly Detection Quality & testing | ||
| Warehouse-Native Monitoring Quality & testing | ||
| Column-Level Lineage Lineage & metadata | ||
| Assertion-Based Testing Quality & testing | ||
| dbt-Native Testing Quality & testing | ||
| Schema Change Detection Quality & testing |
Where they disagree.
Quality & testing
5 of 13 differ| dbt-expectations | Elementary | |
|---|---|---|
| ML anomaly detection | ||
| Pre-merge diffing | ||
| Incident management | ||
| Root-cause UI | ||
| Column profiling |
When to pick each.
dbt-centric analytics-engineering teams that already run dbt test in CI and want a broad library of declarative, in-warehouse assertions — value ranges, regex and pattern matching, schema shape, and distributional bounds (mean, median, stdev, quantiles) — with zero added cost or infrastructure. It is the natural first step up from dbt's four built-in tests (unique, not_null, accepted_values, relationships) for a team that wants richer checks without leaving the dbt workflow.
Teams with a mature dbt practice who want observability that runs in the same codebase, on the same schedule, reviewed in the same pull requests. Especially strong for analytics engineers who value "tests as code" and want anomaly detection without leaving the dbt mental model. The OSS version is a credible production tool, not a crippled demo.
What each does best.
dbt-expectations stands out for
- Free and Apache-2.0 with no paid tier, no SaaS, and no lock-in — the only cost is your own warehouse compute
- A library of 50+ assertions far beyond dbt's four built-ins (value ranges, regex, schema shape, distributional bounds)
- Fully native to dbt — declared in YAML, run by dbt test / dbt build, inheriting dbt severity levels, CI, and run artifacts; the current fork release is dbt Fusion-compatible
- Push-down execution across Postgres, Snowflake, BigQuery, DuckDB, Spark, and Trino
Elementary stands out for
- Fully open-source core is genuinely production-grade, not a trial ramp to a paid tier
- Tests live in the dbt project, so they version with the model they test
- Anomaly detection without the warehouse-side cost model of a pure monitoring tool
- dbt artifact ingestion gives accurate model-level lineage without extra configuration
Tools both also compete with.
A note on this comparison.
Every capability value above traces to dbt-expectations or Elementary's own structured spec, which links back to its source — nothing here is averaged or smoothed across the two.
Notice something inaccurate? Send a correction.