Ravindra BagaleCourses & study guides मराठी Track your progress

Power BI KPIs

Sales & Revenue KPIs in Power BI

A KPI is one number that tells you how the business is doing. KPI means Key Performance Indicator. In this chapter you learn 5 sales KPIs. For each one we go in the same order: Why we need it, What it means, and How to make it in Power BI.

The 5 KPIs: Total Revenue, Gross Sales, Net Sales, Average Order Value (AOV) and Sales Growth %.

The example data

About this data

Five made-up companies from five industries. Each row is one company for one year (April to March). Each company uses its own money: ₹, £, $ or €. So we never add two companies together. We read each row on its own.

  • Company = company name, its industry and city.
  • Cur = the currency its numbers are in.
  • Orders = how many orders customers placed.
  • Gross = Qty × Price for all orders. The full bill before anything is taken off.
  • Discount = money taken off the bill.
  • Returns = money given back for items sent back.
  • Delivery = delivery fees customers paid.
  • Net H1 / Net H2 = Net Sales in the first half (April–September) and the second half (October–March).

In the Power BI file, the same numbers come from an Orders table (one row = one order) linked to a Companies table. You will use it in the practice tasks below.

CompanyCurOrdersGrossDiscountReturnsDeliveryNet H1Net H2
Chai Point Cafes
Food & beverage · Pune
₹6₹14,775₹476₹655₹220₹9,265₹4,379
Sahyadri Pharma
Pharma · Nashik
₹6₹43,980₹3,908₹2,170₹140₹18,421₹19,481
Thames Bikes
Bicycle shop · London
£6£13,305£508£1,990£16£6,749£4,058
Brooklyn Bakes
Bakery · New York
$6$893$45$0$14$472$376
Berlin SoftWorks
Software · Berlin
€6€9,910€447€215€17€5,222€4,026

KPI dashboard for Chai Point Cafes

This is how the 5 KPIs look as cards on a report page. All numbers come from the first row of the table.

1 Total Revenue

Why

The owner first asks: how much money came in from selling? Total Revenue answers this in one number.

What

Total Revenue is all money that comes in from selling. Here it is Net Sales plus the delivery fees customers paid.

  • Net Sales = sales money after discounts and returns (KPI 3)
  • Delivery fee = extra money the customer paid for delivery

How (in Power BI)

  1. On the Home tab, click New measure.
  2. Type the name Total Revenue =.
  3. Use SUMX over the Orders table, so Power BI works one row at a time.
  4. On each row: Qty × Price, minus Discount, minus Returns, plus DeliveryFee.
  5. Press Enter. Put the measure on a Card visual.
Total Revenue = SUMX(Orders, Orders[Qty] * Orders[Price] - Orders[Discount] - Orders[Returns] + Orders[DeliveryFee])
Worked example (Chai Point Cafes, Pune, ₹): Net Sales ₹13,644 + Delivery ₹220 = ₹13,864.

2 Gross Sales

Why

Gross Sales shows the size of demand: how much customers wanted to buy, before any cuts.

What

Gross Sales is the full bill: units sold × price of one unit, added up for all orders. Nothing is taken off yet.

  • Qty = units sold in one order
  • Price = price of one unit

How (in Power BI)

  1. On the Home tab, click New measure.
  2. Type Gross Sales =.
  3. Use SUMX over Orders, because the multiply must happen on each row.
  4. On each row multiply Qty by Price.
  5. Press Enter and show it on a Card.
Gross Sales = SUMX(Orders, Orders[Qty] * Orders[Price])
Worked example (Chai Point Cafes, Pune, ₹): All 6 orders added up = ₹14,775.

3 Net Sales

Why

Discounts and returns eat into sales. Net Sales shows the sales money we really keep.

What

Net Sales = Gross Sales − Discounts − Returns.

  • Discount = money taken off the bill
  • Returns = money given back when a customer sends items back

How (in Power BI)

  1. On the Home tab, click New measure.
  2. Type Net Sales =.
  3. Use SUMX over Orders.
  4. On each row: Qty × Price, minus Discount, minus Returns.
  5. Press Enter. Compare it with Gross Sales on two cards.
Net Sales = SUMX(Orders, Orders[Qty] * Orders[Price] - Orders[Discount] - Orders[Returns])
Worked example (Chai Point Cafes, Pune, ₹): ₹14,775 − ₹476 − ₹655 = ₹13,644.

4 Average Order Value (AOV)

Why

If AOV goes up, each customer visit brings more money. Shops push combos and "add one more" offers to raise it.

What

AOV is the average money from one order. AOV = Net Sales ÷ number of orders.

  • Number of orders = count of rows in the Orders table
  • DIVIDE = a safe divide. It gives blank instead of an error when the bottom is 0

How (in Power BI)

  1. On the Home tab, click New measure.
  2. Type AOV =.
  3. Top part: Net Sales (the same SUMX as KPI 3).
  4. Bottom part: COUNTROWS of Orders.
  5. Put both inside DIVIDE. Press Enter.
AOV = DIVIDE(SUMX(Orders, Orders[Qty] * Orders[Price] - Orders[Discount] - Orders[Returns]), COUNTROWS(Orders))
Worked example (Chai Point Cafes, Pune, ₹): ₹13,644 ÷ 6 orders = ₹2,274.00 per order.

5 Sales Growth %

Why

Growth tells if the business is getting bigger or smaller. Investors and managers check it first.

What

Sales Growth % = (this period − last period) ÷ last period. Here we compare H2 with H1.

  • H1 = April–September
  • H2 = October–March
  • CALCULATE = runs a measure with an extra filter, like Half = "H2"

How (in Power BI)

  1. On the Home tab, click New measure.
  2. Make Net Sales for H2 with CALCULATE and the filter Half = "H2".
  3. Make Net Sales for H1 the same way.
  4. Take H2 minus H1.
  5. DIVIDE that by H1. Format the measure as a percentage.
Sales Growth % =
VAR NowSales = CALCULATE([Net Sales], Orders[Half] = "H2")
VAR LastSales = CALCULATE([Net Sales], Orders[Half] = "H1")
RETURN DIVIDE(NowSales - LastSales, LastSales)
Worked example (Chai Point Cafes, Pune, ₹): (₹4,379 − ₹9,265) ÷ ₹9,265 = -52.7%. Sales fell. Sahyadri Pharma grew: (₹19,481 − ₹18,421) ÷ ₹18,421 = 5.8%.

Comparison card

KPITakes off discounts?Takes off returns?Adds delivery fees?Chai Point
Gross SalesNoNoNo₹14,775
Net SalesYesYesNo₹13,644
Total RevenueYesYesYes₹13,864

Interview cards

Q. What is the difference between Gross Sales and Net Sales?

Gross Sales is the full bill. Net Sales is Gross Sales minus discounts and returns.

Q. Why use DIVIDE and not the / sign for AOV?

If there are no orders, / gives an error. DIVIDE gives blank, so the card stays clean.

Q. Can you add ₹ sales and £ sales in one card?

No. Convert to one currency first with an exchange-rate table, or show each company separately.

Q. Why is AOV a measure, not a calculated column?

It is a ratio of two totals. It must change with slicers, so it is a measure.

Revision card

  • Gross Sales = Qty × Price, all orders
  • Net Sales = Gross − Discount − Returns
  • Total Revenue = Net Sales + other sales income (delivery fees)
  • AOV = Net Sales ÷ Orders
  • Sales Growth % = (Now − Last) ÷ Last

Quick quiz

1. A shop has Gross Sales ₹10,000, discount ₹1,000 and returns ₹500. What is Net Sales?

2. Net Sales is $2,000 from 40 orders. What is AOV?

3. Last half £400, this half £500. Sales Growth % is…

4. Which KPI does not take off returns?

5. Which DAX function is safe when the bottom number is 0?

Practice tasks

Loading DAX practice tasks...

  1. Gross Sales (Easy): Shown per Company. Measure: Gross Sales = Qty × Price, added up for all orders.
  2. Total Discount (Easy): Shown per Company. Measure: Total Discount = sum of the Discount column.
  3. Total Returns (Easy): Shown per Company. Measure: Total Returns = sum of the Returns column.
  4. Net Sales (Medium): Shown per Company. Measure: Net Sales = Qty × Price − Discount − Returns, for all orders.
  5. Total Revenue (Medium): Shown per Company. Measure: Total Revenue = Net Sales + DeliveryFee, for all orders.
  6. Order Count (Easy): Shown per Company. Measure: Orders = number of rows in Orders.
  7. Average Order Value (AOV) (Medium): Shown per Company. Measure: AOV = Net Sales ÷ number of orders.
  8. Unique Customers (Easy): Shown per Company. Measure: Customers = how many different CustomerID values.
  9. Sales per Customer (Medium): Shown per Company. Measure: Sales per Customer = Net Sales ÷ number of different customers.
  10. Return Rate % (Medium): Shown per Company. Measure: Return Rate % = Returns ÷ Gross Sales.
  11. Net Sales in H2 (Medium): Shown per Company. Measure: Net Sales H2 = Net Sales only for rows where Half is "H2".
  12. Sales Growth % (H2 vs H1) (Hard): Shown per Company. Measure: Sales Growth % = (Net Sales H2 − Net Sales H1) ÷ Net Sales H1.