Metric Glossary Template (fields)- Metric Name- Formal Definition (formula + business logic)- SQL Reference / Example Query- Primary Owner (team + person)- Downstream Consumers (dashboards, teams)- Cadence (frequency of calculation / refresh)- Data Sources / Tables- Calculation Window (e.g., rolling 30d, MTD)- Filters / Segmentation (e.g., region, product)- Caveats & Edge Cases- Last Updated (date) / Version- SLA for Accuracy / Reconciliation notesFive example entries1) Active User (DAU)Formal: Count of unique users who performed at least one product event in a day.SQL:sql
SELECT event_date, COUNT(DISTINCT user_id) AS dau
FROM events
WHERE event_date = CURRENT_DATE - INTERVAL '1 day'
AND event_name IN ('open_app','page_view','api_call')
GROUP BY event_date;
Owner: BI — Jane DoeCadence: DailyCaveats: Exclude service/system users; mobile/web dedupe.2) Churn Rate (monthly)Formal: (Customers churned in month) / (Customers at start of month)SQL:sql
WITH start_users AS (
SELECT COUNT(DISTINCT acct_id) AS start_cnt
FROM subscriptions
WHERE status='active' AND snapshot_date = date_trunc('month', current_date) - INTERVAL '1 month'
),
churned AS (
SELECT COUNT(DISTINCT acct_id) AS churn_cnt
FROM subscriptions
WHERE status IN ('canceled','past_due') AND change_date BETWEEN date_trunc('month', current_date) - INTERVAL '1 month' AND date_trunc('month', current_date) - INTERVAL '1 day'
)
SELECT churn_cnt::float / NULLIF(start_cnt,0) AS churn_rate FROM start_users CROSS JOIN churned;
Owner: Customer Success — AlexCadence: MonthlyCaveats: Define churn (voluntary vs involuntary), trial expirations.3) Net Promoter Score (NPS)Formal: %Promoters(9-10) - %Detractors(0-6) from survey responses in period.SQL (pseudo):sql
SELECT
100.0 * (SUM(CASE WHEN score >=9 THEN 1 ELSE 0 END) - SUM(CASE WHEN score <=6 THEN 1 ELSE 0 END)) / COUNT(*) AS nps
FROM surveys
WHERE survey_type='NPS' AND response_date BETWEEN '2025-10-01' AND '2025-10-31';
Owner: CS Ops — PriyaCadence: Rolling 30d / MonthlyCaveats: Low response bias; sample size threshold.4) Time-to-Value (TTV)Formal: Median days from paid account creation to first key-success event (e.g., first workflow completed).SQL (pseudo):sql
SELECT percentile_cont(0.5) WITHIN GROUP (ORDER BY days_to_value) AS median_ttv
FROM (
SELECT acct_id,
DATE_PART('day', MIN(event_date_filter) - MIN(paid_at)) AS days_to_value
FROM (
SELECT acct_id, MIN(paid_at) AS paid_at FROM accounts WHERE paid_at IS NOT NULL GROUP BY acct_id
) a
JOIN events e ON e.acct_id = a.acct_id AND e.event_name='first_workflow_completed'
GROUP BY acct_id
) t;
Owner: Customer Success Analytics — MarcoCadence: QuarterlyCaveats: Define "key-success event" per product; exclude legacy migrations.5) Annual Recurring Revenue (ARR)Formal: Sum of active subscription MRR * 12 for qualifying customers at snapshot.SQL:sql
SELECT SUM(mrr)*12 AS arr
FROM subscriptions
WHERE status='active' AND snapshot_date = date_trunc('month', current_date);
Owner: Finance / RevOps — Finance LeadCadence: MonthlyCaveats: Exclude one-time fees, annual contracts prorated rules, FX adjustments.Notes on governance- Store glossary in centrally accessible place (Looker/Confluence) with versioning.- Require owners to approve metric changes; add automated tests/reconciliations.- Include sample queries referenced by unique IDs for reproducibility.