Plain-language questions
Ask for customer concentration 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.
KPI · Sales
Customer concentration is the share of your revenue that comes from your largest customers, for example the top 10 or the single largest customer. The higher the concentration, the more you depend on a handful of customers. Banks, investors and acquirers often look at it as a risk indicator.
Revenue from the largest N customers ÷ total revenue × 100%
In 2025, Acme Groothandel had revenue of €8,400,000. Its ten largest customers accounted for €2,940,000 and the single largest for €756,000. The top 10 share is €2,940,000 ÷ €8,400,000 × 100% = 35%, and the largest customer accounts for 9%.
Fictitious figures for Acme Groothandel, a sample wholesaler.
High customer concentration makes you vulnerable: if one large customer leaves, a large part of revenue disappears. How much concentration is acceptable depends on your sector and the length of your contracts. Track concentration over the years and look at the share of margin as well as revenue.
SQL & 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.
WITH per_customer AS (
SELECT customer_id, SUM(total_amount) AS revenue
FROM orders
WHERE order_date >= date '2025-01-01' AND order_date < date '2026-01-01'
AND status <> 'cancelled'
GROUP BY customer_id),
ranked AS (
SELECT revenue, ROW_NUMBER() OVER (ORDER BY revenue DESC) AS rn
FROM per_customer)
SELECT ROUND(100.0 * SUM(revenue) FILTER (WHERE rn <= 10)
/ NULLIF(SUM(revenue), 0), 1) AS top10_share_pct,
ROUND(100.0 * MAX(revenue) / NULLIF(SUM(revenue), 0), 1) AS largest_customer_pct
FROM ranked;Top 10 Customer Share =
VAR Top10 =
TOPN(10, VALUES(Customers[CustomerId]), CALCULATE(SUM(Sales[TotalAmount])))
RETURN
DIVIDE(
CALCULATE(SUM(Sales[TotalAmount]), Top10),
CALCULATE(SUM(Sales[TotalAmount]), ALL(Customers))
)In ENABLE
Ask for customer concentration 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.
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.
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.
With the built-in Targets app you set a target for the KPI per month, so you see actuals and target side by side.
FAQ
Sort customers by revenue, add up the revenue of the largest N and divide by total revenue. Common versions are the largest customer, the top 5 and the top 10. With €2,940,000 for the top 10 out of €8,400,000 in revenue, concentration is 35%.
There is no fixed threshold; it depends on your sector, your margins and the length of your contracts. Ask yourself what would happen if your largest customer left next year. If you could not absorb that, the dependency is a risk worth managing actively.
Customer concentration is a measured percentage, while the 80/20 rule is a rule of thumb that a small share of customers generates most of the revenue. Customer concentration lets you test what that really looks like for your business. Also check what percentage of your customers together generates 80% of revenue.
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.