Metric definition drift
When two reports use the same metric name but different formulas, filters, time zones, or identity rules, so both produce different answers.
See it
What it is
Metric definition drift happens when one familiar label quietly acquires multiple formulas. 'Active users' might mean anyone who opened the app in one dashboard and only people who completed a core action in another. Both charts can run perfectly and still disagree because the shared name is hiding different rules.
Reach for the term when GA4, PostHog, a warehouse query, and a board deck show different answers to what sounds like one question. Compare the event, numerator, denominator, identity rule, filters, time zone, window, and late-data policy. Put the agreed definition in one owned semantic layer and make every report consume it. Airbnb hit this hard enough to build an internal metric platform, Minerva, so a metric is defined once and every tool asks Minerva for it.
Gotcha: centralizing the SQL does not end drift if the inputs differ. Two tools can share a formula but resolve users or receive late events differently. Version intentional changes, backfill history when safe, and mark the date of any break instead of silently drawing one continuous line.
Ask AI for it
Create one canonical dbt model for [metric] and expose that model to both Looker and Metabase. In the model documentation, pin down the numerator, denominator, qualifying event, grain, identity key, filters, UTC time zone, window, late-arrival policy, owner, and definition version. Generate the SQL, schema.yml tests for nulls and accepted values, and a CI query that compares each downstream dashboard's latest 28-day result with the canonical result and fails above a 0.5% difference. Include a migration note for any historical definition change.