EnableYourData.com

KPI · Sales

Average discount rate: formula and example.

Average discount rate is the total discount amount divided by order value before discount. It shows how much revenue you give away to win orders. Because every discount comes straight off your margin, it is one of the most direct levers on profitability.

Average discount rate formula

Total discount amount ÷ (revenue after discount + discount amount) × 100%

Worked example

In the third quarter, Acme Groothandel had a gross order value of €2,250,000, on which it gave €157,500 in discounts. The average discount rate is €157,500 ÷ €2,250,000 × 100% = 7%. Revenue after discount is €2,092,500.

Fictitious figures for Acme Groothandel, a sample wholesaler.

How to read this KPI

A rising average discount means you give away more revenue per order. Compare it by sales rep, customer segment and product group: large differences between reps often point to missing discount rules. Read it together with gross margin and quote conversion rate.

Pitfalls with average discount rate

  • Dividing discount by revenue after discount instead of before, which inflates the percentage.
  • Counting only order-level discounts and forgetting line discounts or retrospective rebates.
  • Confusing a weighted average with the average of individual discount percentages.

SQL & DAX

Calculating average discount rate in SQL and DAX

Two examples on a fictitious data warehouse for Acme Groothandel: a PostgreSQL query and a measure for a Power BI model. Adjust table and column names to your own model.

SQL · PostgreSQL
-- total_amount is het orderbedrag na korting
SELECT date_trunc('quarter', order_date) AS quarter,
       SUM(total_amount + discount_amount) AS gross_amount,
       SUM(discount_amount) AS discount,
       ROUND(100.0 * SUM(discount_amount)
             / NULLIF(SUM(total_amount + discount_amount), 0), 1) AS avg_discount_pct
FROM orders
WHERE status <> 'cancelled'
GROUP BY 1
ORDER BY 1;
DAX · Power BI
Average Discount % =
DIVIDE(
    SUM(Sales[DiscountAmount]),
    SUM(Sales[TotalAmount]) + SUM(Sales[DiscountAmount])
)

In ENABLE

Tracking this KPI in ENABLE

Plain-language questions

Ask for average discount rate per month, customer or product in the SQL Explorer with AI. The AI writes the SQL, you see the query and run it yourself; the AI only receives metadata.

Read more →

In your Power BI dashboard

Define the KPI as a measure in your Power BI model and show it in the portal, with "Last refreshed" next to it. Access profiles and optional row-level security decide who sees which figures.

Read more →

Custom dashboards (pilot)

Add the KPI as a tile to a custom dashboard, compared with last year. The Dashboard Builder is a pilot and can be switched on per client.

Read more →

Monthly targets

With the built-in Targets app you set a target for the KPI per month, so you see actuals and target side by side.

Read more →

FAQ

Frequently asked questions

How do you calculate average discount rate?

Divide the total discount amount by order value before discount and multiply by 100%. With €157,500 in discounts on €2,250,000 gross, the average discount rate is 7%. That way a large discounted order weighs more than a small one.

What is the difference between discount and margin?

Discount is the amount taken off the selling price, while margin is what remains after deducting the cost price. Every euro of discount comes straight off the margin. With a 25% gross margin, a 5% discount therefore costs you a fifth of your margin.

How can you reduce average discounting?

You reduce average discounting with clear rules on who may give how much discount, and under what conditions. Make discounts visible per sales rep and per customer. Requiring approval above a fixed percentage often helps on its own.

Use AI on your own data. Securely, and without the headache.

In an online demo we show how ENABLE makes your data securely available and how you build on it: describing an app in the AI Builder, plain-language questions, dashboards and APIs. And how we set it up and manage it for you.