BlogData Analytics BasicsChapter 4
BASICS · CHAPTER 4Beginner–Intermediate

Key Metrics Every Data Analyst Must Know

Revenue metrics, customer metrics, conversion metrics, and operations metrics — every formula, an Indian business example, and the SQL to calculate it. The metrics you will encounter in every interview and every real role.

Revenue & Financial MetricsCustomer MetricsConversion & Marketing MetricsOperations & Supply Chain Metrics
DATA ANALYTICS SERIES:← Ch 3: DA ProcessCh 4: Key Metrics ←Ch 5: Intro to Databases →

This chapter covers 12 business metrics across 4 categories — each with the plain-English definition, the exact formula, a real Indian business example, and the SQL to calculate it. You do not need to memorise all of these at once. Read through, then come back when you encounter each metric in a real dataset or interview.

Revenue & Financial Metrics

Total Revenue / Gross Revenue

SUM of all sales amounts in the period
INDIAN EXAMPLE

Total orders shipped × average order value. A D2C brand reporting ₹2.4 crore GMV in August.

ANALYST NOTE: Always clarify whether a revenue figure is gross (before returns) or net (after returns). Indian e-commerce companies typically report Gross Merchandise Value (GMV) which is gross before returns and seller fees.
SELECT SUM(order_amount) AS total_revenue
FROM orders
WHERE order_date BETWEEN '2026-08-01' AND '2026-08-31'
  AND status != 'cancelled';

Month-over-Month (MoM) Growth

((This Month Revenue − Last Month Revenue) / Last Month Revenue) × 100
INDIAN EXAMPLE

Revenue July ₹3.2 crore, August ₹2.6 crore → MoM = ((2.6 − 3.2) / 3.2) × 100 = −18.75%

ANALYST NOTE: MoM is sensitive to short-term events (promotions, holidays). Always check whether a MoM change reflects a real trend or a one-time event.
SELECT
    month,
    revenue,
    LAG(revenue) OVER (ORDER BY month)          AS prev_month_revenue,
    ROUND(100.0 * (revenue - LAG(revenue) OVER (ORDER BY month))
          / LAG(revenue) OVER (ORDER BY month), 1) AS mom_growth_pct
FROM monthly_revenue;

Year-over-Year (YoY) Growth

((This Period Revenue − Same Period Last Year) / Same Period Last Year) × 100
INDIAN EXAMPLE

August 2026 revenue ₹2.6 crore vs August 2025 ₹2.1 crore → YoY = +23.8%

ANALYST NOTE: YoY removes seasonality. For Indian businesses, always compare Indian financial year periods (April–March) alongside calendar year when reporting to management.
SELECT
    YEAR(order_date)  AS yr,
    MONTH(order_date) AS mth,
    SUM(order_amount) AS revenue
FROM orders
GROUP BY YEAR(order_date), MONTH(order_date)
ORDER BY yr, mth;
-- Compare rows at same month across consecutive years

Average Order Value (AOV)

Total Revenue / Number of Orders
INDIAN EXAMPLE

₹26,00,000 revenue from 3,200 orders → AOV = ₹812.50 per order

ANALYST NOTE: AOV is a key lever in e-commerce. A 10% increase in AOV through bundling or upselling has zero acquisition cost — unlike adding new customers.
SELECT
    ROUND(SUM(order_amount) / COUNT(order_id), 2) AS aov
FROM orders
WHERE order_date BETWEEN '2026-08-01' AND '2026-08-31';

Customer Metrics

Customer Churn Rate

(Customers Lost in Period / Customers at Start of Period) × 100
INDIAN EXAMPLE

OTT platform: 10,000 subscribers at start of July, 9,200 at end (ignoring new sign-ups) → Churn = 8%

ANALYST NOTE: A churn rate above 5% monthly needs immediate investigation. The cost of acquiring a new customer is typically 5–7x the cost of retaining an existing one.
-- Monthly churn: customers active last month but not this month
SELECT
    ROUND(100.0 * COUNT(DISTINCT last_month.customer_id)
          / NULLIF(COUNT(DISTINCT this_month.customer_id), 0), 1) AS churn_rate_pct
FROM (SELECT DISTINCT customer_id FROM orders
      WHERE DATE_FORMAT(order_date, '%Y-%m') = '2026-07') this_month
LEFT JOIN (SELECT DISTINCT customer_id FROM orders
           WHERE DATE_FORMAT(order_date, '%Y-%m') = '2026-08') next_month
    ON this_month.customer_id = next_month.customer_id
LEFT JOIN (SELECT DISTINCT customer_id FROM orders
           WHERE DATE_FORMAT(order_date, '%Y-%m') = '2026-07') last_month
    ON this_month.customer_id != next_month.customer_id;

Customer Lifetime Value (CLTV)

Average Order Value × Purchase Frequency × Average Customer Lifespan
INDIAN EXAMPLE

AOV ₹800 × 6 orders/year × 3 years = ₹14,400 CLTV per customer

ANALYST NOTE: CLTV tells you how much you can afford to spend acquiring a customer. If CLTV is ₹14,400 and acquisition cost is ₹2,000, you have a healthy 7x ratio. If acquisition cost approaches CLTV, the business model is at risk.
SELECT
    customer_id,
    COUNT(order_id)                                       AS total_orders,
    ROUND(SUM(order_amount), 0)                           AS total_revenue,
    ROUND(AVG(order_amount), 0)                           AS avg_order_value,
    DATEDIFF(MAX(order_date), MIN(order_date)) / 30       AS active_months
FROM orders
GROUP BY customer_id
HAVING total_orders > 1
ORDER BY total_revenue DESC;

Net Promoter Score (NPS)

% Promoters (score 9–10) − % Detractors (score 0–6)
INDIAN EXAMPLE

Survey: 60% promoters, 15% detractors → NPS = 45. Above 50 is excellent in India.

ANALYST NOTE: NPS ranges from −100 to +100. In India, BFSI and e-commerce companies track NPS quarterly. An NPS below 0 means more customers are unhappy than happy — a serious problem.
SELECT
    SUM(CASE WHEN score >= 9 THEN 1 ELSE 0 END) * 100.0 / COUNT(*) AS promoter_pct,
    SUM(CASE WHEN score <= 6 THEN 1 ELSE 0 END) * 100.0 / COUNT(*) AS detractor_pct,
    ROUND(
        SUM(CASE WHEN score >= 9 THEN 1 ELSE 0 END) * 100.0 / COUNT(*) -
        SUM(CASE WHEN score <= 6 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 1
    )                                                                AS nps
FROM nps_survey
WHERE survey_date BETWEEN '2026-08-01' AND '2026-08-31';

Conversion & Marketing Metrics

Conversion Rate

(Number of Conversions / Total Visitors or Leads) × 100
INDIAN EXAMPLE

50,000 website visitors → 1,200 purchases → Conversion Rate = 2.4%

ANALYST NOTE: Conversion rate varies massively by channel. Direct traffic converts at 3–5%; social traffic at 0.5–1%; paid search at 2–4%. Always segment conversion rate by traffic source before drawing conclusions.
SELECT
    DATE(session_date)                               AS date,
    COUNT(DISTINCT session_id)                       AS total_sessions,
    COUNT(DISTINCT order_id)                         AS orders,
    ROUND(100.0 * COUNT(DISTINCT order_id)
          / COUNT(DISTINCT session_id), 2)           AS conversion_rate_pct
FROM web_sessions
LEFT JOIN orders USING (session_id)
GROUP BY DATE(session_date)
ORDER BY date;

Customer Acquisition Cost (CAC)

Total Marketing & Sales Spend / Number of New Customers Acquired
INDIAN EXAMPLE

Spent ₹5 lakh on ads in August → acquired 400 new customers → CAC = ₹1,250

ANALYST NOTE: A healthy business has CLTV / CAC ratio above 3. If CAC is ₹1,250 and CLTV is ₹14,400, the ratio is 11.5 — excellent. If the ratio is below 1, the business is losing money on every customer it acquires.
-- CAC by marketing channel
SELECT
    channel,
    SUM(spend_inr)                                      AS total_spend,
    COUNT(DISTINCT c.customer_id)                       AS new_customers,
    ROUND(SUM(spend_inr) / NULLIF(COUNT(DISTINCT c.customer_id), 0), 0)
                                                        AS cac_inr
FROM marketing_spend ms
LEFT JOIN customers c
    ON ms.channel = c.acquisition_channel
    AND MONTH(c.signup_date) = MONTH(ms.spend_date)
GROUP BY channel
ORDER BY cac_inr ASC;

Return on Investment (ROI)

((Gain from Investment − Cost of Investment) / Cost of Investment) × 100
INDIAN EXAMPLE

Spent ₹2L on a Diwali campaign → generated ₹8L incremental revenue → ROI = ((8 − 2) / 2) × 100 = 300%

ANALYST NOTE: ROI is simple but requires knowing the incremental revenue — the revenue that would not have happened without the campaign. This is harder to measure than it sounds and is often where attribution analysis is needed.
SELECT
    campaign_name,
    spend_inr,
    incremental_revenue,
    ROUND(100.0 * (incremental_revenue - spend_inr) / spend_inr, 1) AS roi_pct
FROM campaign_performance
ORDER BY roi_pct DESC;

Operations & Supply Chain Metrics

On Time In Full (OTIF)

(Orders Delivered On Time AND In Full Quantity / Total Orders) × 100
INDIAN EXAMPLE

10,000 orders shipped → 8,200 delivered on time and with correct quantity → OTIF = 82%

ANALYST NOTE: OTIF below 90% is a problem in most Indian B2B supply chains. The metric combines two conditions — both must be true for an order to count as successful. A delivery that arrives on time but short by 2 units fails OTIF.
SELECT
    carrier,
    COUNT(*)                                                          AS total_orders,
    SUM(CASE WHEN on_time = 1 AND qty_correct = 1 THEN 1 ELSE 0 END) AS otif_count,
    ROUND(100.0 *
          SUM(CASE WHEN on_time = 1 AND qty_correct = 1 THEN 1 ELSE 0 END)
          / COUNT(*), 1)                                              AS otif_pct
FROM deliveries
WHERE delivery_date BETWEEN '2026-08-01' AND '2026-08-31'
GROUP BY carrier
ORDER BY otif_pct ASC;

Days of Inventory Outstanding (DIO)

(Average Inventory Value / COGS) × Number of Days
INDIAN EXAMPLE

Average inventory value ₹40L, COGS per day ₹2L → DIO = 20 days

ANALYST NOTE: Lower DIO = less cash locked in stock. But too low a DIO means stockouts. The target DIO depends on the industry — FMCG targets 20–30 days, electronics 30–45 days, pharma varies by product type.
SELECT
    category,
    ROUND(AVG(stock_value_inr), 0)                       AS avg_inventory_value,
    ROUND(SUM(cogs_inr) / 30, 0)                         AS daily_cogs,
    ROUND(AVG(stock_value_inr) / (SUM(cogs_inr) / 30), 1) AS dio_days
FROM inventory_snapshot
WHERE snapshot_date BETWEEN '2026-08-01' AND '2026-08-31'
GROUP BY category
ORDER BY dio_days DESC;

Quick Reference — All 12 Metrics at a Glance

MetricFormula (short)Category
Total Revenue / Gross RevenueSUM of all sales amounts in the periodRevenue & Financial Metrics
Month-over-Month (MoM) Growth((This Month Revenue − Last Month Revenue) / Last Month Re…Revenue & Financial Metrics
Year-over-Year (YoY) Growth((This Period Revenue − Same Period Last Year) / Same Peri…Revenue & Financial Metrics
Average Order Value (AOV)Total Revenue / Number of OrdersRevenue & Financial Metrics
Customer Churn Rate(Customers Lost in Period / Customers at Start of Period) …Customer Metrics
Customer Lifetime Value (CLTV)Average Order Value × Purchase Frequency × Average Custome…Customer Metrics
Net Promoter Score (NPS)% Promoters (score 9–10) − % Detractors (score 0–6)Customer Metrics
Conversion Rate(Number of Conversions / Total Visitors or Leads) × 100Conversion & Marketing Metrics
Customer Acquisition Cost (CAC)Total Marketing & Sales Spend / Number of New Customers Ac…Conversion & Marketing Metrics
Return on Investment (ROI)((Gain from Investment − Cost of Investment) / Cost of Inv…Conversion & Marketing Metrics
On Time In Full (OTIF)(Orders Delivered On Time AND In Full Quantity / Total Ord…Operations & Supply Chain Metrics
Days of Inventory Outstanding (DIO)(Average Inventory Value / COGS) × Number of DaysOperations & Supply Chain Metrics
Continue the Series
← Ch 3: DA ProcessCh 5: Intro to Databases →

Frequently Asked Questions

What is a KPI in data analytics?

A KPI (Key Performance Indicator) is a quantifiable measure used to evaluate how effectively a business is achieving its objectives. In data analytics, KPIs are the specific metrics that appear on dashboards and reports — because they directly reflect business health. A good KPI is specific (measures one thing), timely (updated frequently enough to act on), actionable (if the number changes, someone can do something about it), and business-relevant (tied to a goal the organisation cares about). Examples: monthly revenue, customer churn rate, on-time delivery rate, conversion rate. Not everything is a KPI — a metric becomes a KPI when a team actively monitors it and makes decisions based on it.

What is the difference between a metric and a KPI?

A metric is any quantitative measurement — total website visits, total orders placed, average delivery time. A KPI is a metric that has been designated as critical to a specific business goal. All KPIs are metrics, but not all metrics are KPIs. For example, "number of pages viewed per session" is a metric. For a content site whose goal is engagement, it becomes a KPI. For an e-commerce site whose goal is transactions, it is just a supporting metric. The distinction matters in analytics because dashboards should highlight KPIs — the numbers stakeholders care about — not every available metric. Cluttered dashboards that show 40 metrics with no hierarchy are a common analyst mistake.

What is customer churn rate and how do you calculate it?

Customer churn rate is the percentage of customers who stop using a product or service in a given period. Formula: Churn Rate = (Customers Lost in Period / Customers at Start of Period) × 100. Example: if you had 10,000 customers at the start of July and 9,200 at the end of July (without counting new additions), churn = (800 / 10,000) × 100 = 8%. In Indian subscription businesses (OTT platforms, SaaS, telecom), churn is a primary KPI because acquiring a new customer costs 5–7x more than retaining an existing one. A churn rate above 5% monthly is typically a red flag that something is wrong with product value or customer experience.

What is Month-over-Month (MoM) growth and Year-over-Year (YoY) growth?

Month-over-Month (MoM) growth compares a metric in one month to the previous month. Formula: MoM Growth = ((This Month - Last Month) / Last Month) × 100. It shows short-term momentum but is sensitive to seasonality. Year-over-Year (YoY) growth compares the same month (or period) across two consecutive years. Formula: YoY Growth = ((This Year - Last Year) / Last Year) × 100. YoY removes seasonality — comparing August 2026 to August 2025 is more meaningful than comparing August 2026 to July 2026 for categories like electronics (where July has a different demand pattern than August). Indian financial analysis typically reports both — MoM for operational monitoring, YoY for strategic reviews.

EVIKA ACADEMY · NOIDA SECTOR 51

Apply these metrics on real Indian data

Our curriculum covers every metric in this chapter — calculated in SQL, visualised in Power BI, and presented in mock interview scenarios. Free demo class.

Book Free Demo Class →
🎓 Free Demo Class — Online & Offline · Noida Sector 51