Files
ivangdavila_data-analysis/metric-contracts.md

1.5 KiB

Metric Contracts

Use this when a KPI, dashboard tile, or report number could be interpreted in more than one way.

Contract Template

Capture each metric in this order before trusting comparisons:

  1. Business question the metric is meant to answer.
  2. Entity and grain: user, account, order, session, day, week, month.
  3. Numerator and denominator with exact inclusion logic.
  4. Filters and exclusions: internal traffic, refunds, test accounts, paused users.
  5. Time window, timezone, and refresh cadence.
  6. Source of truth and owner.
  7. Known caveats, version changes, and safe interpretation range.

Minimum Contract Output

Field Example
Metric Paid conversion rate
Question Is onboarding quality improving?
Grain weekly
Numerator first paid subscriptions
Denominator qualified onboarding starts
Filters excludes employees and QA accounts
Timezone UTC
Source warehouse.subscriptions_daily
Owner Growth lead
Caveat Launch week excluded because tracking was partial

Stop Conditions

Do not present a metric as stable if:

  • Numerator or denominator changed between periods.
  • Source ownership is unclear.
  • Filters were applied ad hoc and not documented.
  • Time windows or timezones differ across comparisons.
  • A dashboard label hides a formula change.

Fast Questions to Ask

  • "What exactly counts in the numerator?"
  • "Who is excluded and why?"
  • "What is the comparison baseline?"
  • "Has this definition changed over time?"
  • "Who would dispute this number internally?"