Customer concentration


The /reports/customer-concentration endpoint analyzes revenue concentration across your customer base. It shows how MRR is distributed among your top customers (Pareto analysis), helping identify revenue concentration risk.

💡 Use case: Assess revenue concentration risk, identify your most valuable customers, understand if you're over-dependent on a few large accounts.

GET /reports/customer-concentration

Returns Pareto analysis of revenue distribution and concentration metrics.

Authentication

Required

Include your API key in the Authorization header:

curl https://api.growpanel.io/reports/customer-concentration \
-H "Authorization: Bearer YOUR_API_KEY"

Query parameters

ParameterTypeDescription
baseCurrencyoptionalstringTarget currency for conversion. Defaults to account base currency.
qoptionalstringSearch by customer name, email, or ID.
chartoptionalstringSet to pareto to return only pareto data for charting (omits detailed customer info).
tableoptionalstringSet to 1 to return data in table format with individual customer details.
regionoptionalstringFilter by region or country codes (space-separated).
currencyoptionalstringFilter by currency codes (space-separated).
industryoptionalstringFilter by industry (space-separated).
channeloptionalstringFilter by channel (space-separated).
ageoptionalstringFilter by customer age in months (e.g., 0-6, 12-).
sizeoptionalstringFilter by customer size (space-separated).
data_sourceoptionalstringFilter by data source ID (space-separated).

Response

200 OK

Returns Pareto analysis with concentration metrics.

{
"result": {
"pareto": [
{
"rank": 1,
"name": "Acme Corp",
"id": "cus_123",
"mrr": 25000,
"cumulative_mrr": 25000,
"cumulative_pct": 20.0
},
{
"rank": 2,
"name": "Beta LLC",
"id": "cus_456",
"mrr": 15000,
"cumulative_mrr": 40000,
"cumulative_pct": 32.0
},
{
"rank": "11-20",
"mrr": 18000,
"cumulative_mrr": 95000,
"cumulative_pct": 76.0,
"count": 10
}
],
"concentration": {
"top_1": { "mrr": 25000, "pct": 20.0, "count": 1 },
"top_5": { "mrr": 60000, "pct": 48.0, "count": 5 },
"top_10": { "mrr": 77000, "pct": 61.6, "count": 10 },
"top_100": { "mrr": 120000, "pct": 96.0, "count": 100 },
"rest": { "mrr": 5000, "pct": 4.0, "count": 50 }
},
"count": 50,
"summary": {
"total_mrr": 125000,
"total_customers": 150,
"avg_mrr": 833,
"median_mrr": 500
}
}
}

Response fields

FieldTypeDescription
Pareto Array
ranknumber or stringCustomer rank (1-10) or group label (e.g., "11-20")
namestringCustomer name (individual customers only)
idstringCustomer ID (individual customers only)
mrrnumberMRR in base currency (cents)
cumulative_mrrnumberCumulative MRR up to this rank (cents)
cumulative_pctfloatCumulative percentage of total MRR
countintegerNumber of customers in group (grouped entries only)
Concentration Object
top_1objectMRR, percentage, and count for top 1 customer
top_5objectMRR, percentage, and count for top 5 customers
top_10objectMRR, percentage, and count for top 10 customers
top_100objectMRR, percentage, and count for top 100 customers
restobjectMRR, percentage, and count for remaining customers
Summary Object
total_mrrnumberTotal MRR across all customers (cents)
total_customersintegerTotal number of active customers
avg_mrrnumberAverage MRR per customer (cents)
median_mrrnumberMedian MRR per customer (cents)

Example requests

Get concentration analysis

curl https://api.growpanel.io/reports/customer-concentration \
-H "Authorization: Bearer YOUR_API_KEY"

Get pareto chart data only

curl "https://api.growpanel.io/reports/customer-concentration?chart=pareto" \
-H "Authorization: Bearer YOUR_API_KEY"

Search for specific customer

curl "https://api.growpanel.io/reports/customer-concentration?q=acme" \
-H "Authorization: Bearer YOUR_API_KEY"

Filter by region

curl "https://api.growpanel.io/reports/customer-concentration?region=us" \
-H "Authorization: Bearer YOUR_API_KEY"

Notes

⚠️ Currency values: All monetary values are returned in cents/smallest currency unit. Divide by 100 for display in most currencies.

  • Pareto principle: Typically 80% of revenue comes from 20% of customers
  • Top 10 detail: The top 10 customers are listed individually, then grouped (11-20, 21-50, etc.)
  • Concentration risk: High concentration (e.g., top 5 customers = 50%+ of MRR) indicates risk
  • Median vs average: Large difference suggests high concentration
  • Use cases: Investor due diligence, risk assessment, account management prioritization