Why this matters
Clear metric definitions are the backbone of trustworthy BI dashboards. As a Data Analyst, you will:
- Translate business questions into precise, repeatable metrics.
- Prevent disputes by documenting inclusions, exclusions, and time grain.
- Enable consistent decisions across teams and tools.
- Speed up onboarding with a shared glossary everyone can use.
Real tasks you will face
- Audit conflicting KPIs across teams and create a single definition.
- Write a metric card that product, marketing, and finance all sign off on.
- Explain why a dashboard number changed after a data model update.
- Add a new KPI while preserving historical comparability.
Concept explained simply
A metric definition is a recipe for a number. If two people follow the same recipe, they should get the same result.
Mental model: the Metric Card
Think of a Metric Card as a small spec that answers 10 key questions. If any answer is missing, the number can drift.
Metric Card — the 10 must-haves
- Name and short purpose
- Business question it answers
- Formula with explicit numerator and denominator
- Time grain (daily/weekly/monthly) and window (e.g., rolling 7 days)
- Dimensions allowed for slicing (country, channel, etc.)
- Filters and exclusions (bots, test traffic, canceled orders)
- Data source tables/views and join keys
- Inclusion logic (unique users vs sessions, net vs gross)
- Refresh cadence and data freshness expectations
- Owner and QA checks, plus an example calculation
Anatomy of a good metric definition
- State the business question. Example: Are we turning website traffic into purchases?
- Write the formula plainly. Use words first, then the precise calculation.
- Lock the time grain. Daily vs weekly can change values.
- Clarify populations. Users vs sessions; paying customers vs signups.
- List all filters. Remove test data, internal staff, and refunded orders if needed.
- Declare dimensions. Which segment splits are valid?
- Name the sources. Tables/views and their keys.
- Define refresh & quality checks. When does it update and how do you validate it?
- Give a worked example. Show numbers from a small mock dataset.
- Assign an owner. Who approves changes?
Worked examples
Example 1 — E‑commerce Conversion Rate
Name: Site Conversion Rate (Daily)
Question: What share of unique visitors complete a purchase today?
Formula (words): Purchases today divided by unique visitors today.
Formula (precise): count_distinct(orders.order_id where order_status = 'paid' and order_date = d) / count_distinct(web_visits.user_id where visit_date = d)
Grain: Daily (UTC), no rolling window.
Filters: Exclude staff/test users and orders with full refunds.
Dimensions: traffic_source, device_type, country.
Sources: orders, web_visits (join on user_id not required here).
Refresh: Hourly; finalized EOD.
Owner: Growth Analytics.
Example:
Day d: unique visitors = 1,000 Paid orders (net) = 55 Conversion Rate = 55 / 1,000 = 5.5%
Edge cases: If visitors = 0, return null and flag data quality.
Example 2 — Subscription Monthly Churn Rate
Name: Subscriber Churn Rate (Monthly)
Question: What percent of paying subscribers leave this month?
Formula (words): Subscribers who churned this month divided by subscribers at start of month.
Formula (precise): churned_subs_m / opening_subs_m
Grain: Monthly, calendar months.
Filters: Exclude involuntary churns reversed within 7 days (billing retries).
Dimensions: plan_tier, country.
Sources: subscriptions_snapshot_monthly.
Refresh: Monthly +3 days for finalization.
Owner: Revenue Analytics.
Example:
Opening subs on Mar 1 = 20,000 Churned during Mar (net of reactivations within 7 days) = 1,100 Churn Rate = 1,100 / 20,000 = 5.5%
Edge cases: If opening_subs_m = 0, return null and alert.
Example 3 — Average Order Value (AOV)
Name: AOV (Daily)
Question: How much revenue do we get per order today?
Formula (words): Net revenue divided by number of paid orders.
Formula (precise): sum(orders.net_revenue where order_status='paid') / count_distinct(order_id where order_status='paid')
Grain: Daily.
Filters: Exclude shipping revenue if policy defines net_revenue without shipping; exclude full refunds.
Dimensions: traffic_source, device.
Sources: orders.
Refresh: Hourly.
Owner: Commerce Analytics.
Example:
Paid orders = 80 Net revenue = $6,800 AOV = 6,800 / 80 = $85.00
Write your glossary
Use this template for each metric.
Copy-friendly Metric Card template
Name: Purpose (1 sentence): Business question: Formula (words): Formula (precise): Numerator: Denominator: Time grain and window: Valid dimensions: Filters and exclusions: Inclusions logic (unique users? net vs gross?): Data sources and keys: Refresh cadence and freshness expectation: Owner and change process: QA checks: Example calculation (with small numbers): Notes (edge cases, known gaps):
Exercises
Everyone can do the exercises and take the Quick Test. Only logged‑in users will have their progress saved.
Exercise 1 — Define WAU precisely
Create a Metric Card for Weekly Active Users (WAU).
- Business context: A user is active if they trigger the event app_open or completes any meaningful action (purchase, message_sent, file_upload).
- Time grain: Weekly (Mon–Sun), reported on week ending Sunday.
- Requirement: Unique users per week; exclude staff/test accounts.
Deliverable: A filled Metric Card with an example using a tiny mock week.
Exercise 2 — Calculate three metrics from mock data
Using the dataset below, compute Conversion Rate, AOV, and Monthly Churn Rate.
Visitors (April 10): 1,200 unique Orders (April 10): 66 paid, 4 fully refunded Order net revenue (after refunds) for April 10: $5,940 Subscribers opening on April 1: 12,000 Churned in April (net of 2 reactivations within 7 days): 720
- Conversion Rate uses paid orders net of full refunds as numerator.
- AOV uses net revenue and count of paid orders (exclude fully refunded orders).
- Churn Rate uses net churn divided by opening subs.
Checklist before you submit
- Time grain stated and unambiguous.
- Numerator and denominator clearly defined.
- All exclusions listed (staff, test, refunds).
- Sources and refresh cadence included.
- One small example with numbers.
Common mistakes and self-check
- Undefined population: Mixing users and sessions. Self-check: Does the denominator say unique users or sessions?
- Time grain drift: Weekly metric calculated with daily logic. Self-check: Is the window and week boundary specified?
- Missing exclusions: Internal traffic inflating KPIs. Self-check: Are test/staff IDs filtered?
- Gross vs net confusion: Not handling refunds. Self-check: Does definition say net of refunds?
- Implicit joins: Ambiguous source tables. Self-check: Are tables and keys listed?
- Divide-by-zero handling: Returning 0 instead of null. Self-check: What happens when denominator is 0?
Quick self-audit steps
- Read the metric aloud to a non-analyst; if they can restate it, it’s clear.
- Have a peer compute the example independently; results must match.
- Test with a zero/edge case to verify your guards.
Practical projects
- Create a 1‑page glossary for 8–10 core KPIs (traffic, conversion, revenue, retention). Acceptance: Every KPI has formula, grain, filters, owner, example.
- Instrument a data quality checklist for two metrics (freshness threshold, row counts, zero‑denominator alert). Acceptance: Alerts trigger on anomalies in a sample extract.
- Run a metric alignment workshop with a mock team. Acceptance: Resolve one conflict (e.g., net vs gross revenue) and document the final definition.
Learning path
- Review business goals and choose 5–10 essential KPIs.
- Draft Metric Cards using the template.
- Validate with small mock datasets and peer review.
- Implement calculations in your BI tool with identical logic.
- Set up refresh cadence and basic QA checks.
- Version your glossary; track and communicate any definition changes.
Mini challenge
Your PM asks for “activation rate.” Draft a concise first-pass definition:
- Business question and formula (words + precise).
- Time grain, population, and one example.
- List at least two exclusions.
Hint
Activation often means a user completes a key action within N days of signup. Define N, the action, and unique user logic.
Next steps
- Convert two of your Metric Cards into implemented measures in your BI tool.
- Share your glossary draft for cross‑functional sign‑off.
- Take the Quick Test below to confirm understanding.