AnomalyArmor vs Elementary
Elementary lives inside dbt. AnomalyArmor watches the warehouse regardless of which tool produced the tables — source systems, reverse-ETL, ad-hoc loads, dbt models, all of them.
When Elementary is the better call
If your entire stack flows through dbt and you value a dbt-native observability site that lives in your warehouse, Elementary is more tailored. AnomalyArmor is broader but less dbt-aware — it does not know which model produced a table, just whether the table is healthy.
Elementary is elegant for fully-dbt shops. If every table your team cares about flows through a dbt model and you like the observability site living inside your warehouse, Elementary is a lighter-weight choice. AnomalyArmor makes more sense the moment you have tables that bypass dbt.
Elementary vs AnomalyArmor
Where we overlap, where we are different, and where Elementary wins.
| Feature | Elementary | AnomalyArmor(you are here) |
|---|---|---|
| Requires dbt | ||
| Covers non-dbt tables | ||
| Hosted scheduler | Cloud tier only | |
| Auto-baseline monitors | Anomaly package | |
| Portable config (ODCS) | ||
| Schema drift |
The pricing delta
Elementary OSS is free but lives in your warehouse and you operate it. Elementary Cloud is hosted with per-seat pricing. AnomalyArmor is $5 per monitored table per month, hosted, with no dbt dependency.
Elementary OSS is free, but your team operates the runtime (the package inside your warehouse, the result tables, the observability site). Elementary Cloud removes the operational burden per seat. AnomalyArmor is $5 per table per month, hosted, and does not require dbt — you can cover tables Elementary cannot see.
What is different, specifically
- dbt dependency. Elementary requires dbt. AnomalyArmor does not. If any of your production tables do not flow through dbt (Fivetran landing zones, reverse-ETL destinations, ops-loaded tables), Elementary cannot see them.
- Where monitoring lives. Elementary writes results back to your warehouse and generates a site from them. AnomalyArmor runs outside your warehouse, queries it read-only, and surfaces alerts in Slack or PagerDuty directly.
- dbt test visibility. Elementary shows you dbt run history and test results as a native feature. AnomalyArmor does not; if that workflow matters to your team, keep Elementary for it.
- Migration path. Elementary is dbt-native, so the migration path is the dbt-tests path. The recipe at /migrate/elementary inlines the `dbt-odcs` translation with Elementary-specific notes.
Cover tables dbt cannot see
Keep Elementary if it is working. Add AnomalyArmor on top to cover every table, including the ones that never flow through a dbt model.
Elementary vs AnomalyArmor