Evidence Explorer

27 decisions · 26 governed
4
PN
My view
All Tech & Data Ops
churn
Scoped to your work — 4 open items
Source System
Document Type
Date Range
Query: churn
Trace ID
6 sources found
dbt model — churn_daily.sql
analytics-dbt (GitHub)Retrieved: 9 Aug 2026, 08:56
Metric calculation, v2.4 exclusion logic
Metric Spec — churn_rate v2.4
Semantic Layer (dbt metrics)Updated: 18 Jul 2026
Used in: 2 traces
Definition, exclusions, grain
PR #1482 — Churn definition update
GitHubMerged: 18 Jul 2026
Used in: 1 trace
Change history, review approvals
Board extract — q_board_churn.sql
reports repoLast changed: 3 Apr 2026
Used in: 2 traces
Divergent v2.3 embedded logic
DAG run log — churn_daily 2026-08-09
AirflowCompleted: 04:12
Used in: 1 trace
Pipeline health at query time
Catalog entry — accounts_dim
AtlanUpdated: 2 Aug 2026
Used in: 1 trace
Column descriptions, PII classification

dbt model — churn_daily.sql

analytics-dbt · main branch · Retrieved 9 Aug 2026, 08:56
Used by 2 Brain operations
models/marts/churn_daily.sqlmain · SHA a3f81c
-- model: churn_daily · materialized: incremental · unique_key: month
with accounts as (
select account_id, account_status, plan_id
from analytics.accounts_dim
),
events as (
select account_id, event_ts
from analytics.subscription_events
),
joined as (
select a.account_id, a.account_status, e.event_ts
from accounts a
left join events e on e.account_id = a.account_idUsed in EB-TD-03144, Step 3
),
active_accounts as (
select date_trunc('month', event_ts) as month,
count(distinct account_id) as active_start
from joined
where account_status != 'paused'Used in EB-TD-03144, Step 1
and account_status != 'trial'
group by 1
)
select month,
churned::float / nullif(active_start, 0) as churn_rate
from active_accounts
How This Evidence Connects
implements Metric Spec churn_rate v2.4
diverges from Board extract q_board_churn.sql (v2.3 logic)
feeds 6 dashboards per column-level lineage