How much revenue do our top 10 clients represent? This report breaks down client-level revenue concentration, identifies dependency risks, and quantifies the impact of losing your largest accounts.
How much revenue do our top 10 clients represent? This report breaks down client-level revenue concentration, identifies dependency risks, and quantifies the impact of losing your largest accounts.
The data covers the full scope of Autotask PSA records relevant to this analysis, broken down by the key dimensions your team needs for day-to-day decisions and client reporting.
Who should use this: MSP owners, finance leads, and operations managers tracking profitability
How often: Monthly for financial reviews, quarterly for strategic planning, on-demand for pricing decisions
How much revenue do our top 10 clients represent? This report breaks down client-level revenue concentration, identifies dependency risks, and quantifies the impact of losing your largest accounts.
Your top 10 clients generate $9.2M of your $17.6M total revenue. That is 52.3% of all revenue concentrated in just 1.8% of your client base. The top two clients alone account for 25.8%. If either of those accounts churns, you lose more than a quarter of your revenue overnight. The remaining 540 clients average just $15.6K each, which means your long tail generates volume but not enough per-client revenue to compensate for a major loss at the top.
Ranked by annual revenue with cumulative share of total portfolio revenue ($17.6M)
| # | Client | Revenue | % of Total | Cumulative % | Risk |
|---|---|---|---|---|---|
| 1 | Client A | $2,324,617 | 13.2% | 13.2% | Critical |
| 2 | Client B | $2,212,915 | 12.6% | 25.8% | Critical |
| 3 | Client C | $1,431,177 | 8.1% | 33.9% | High |
| 4 | Client D | $637,092 | 3.6% | 37.5% | Moderate |
| 5 | Client E | $589,694 | 3.3% | 40.9% | Moderate |
| 6 | Client F | $476,622 | 2.7% | 43.6% | Low |
| 7 | Client G | $469,660 | 2.7% | 46.2% | Low |
| 8 | Client H | $416,450 | 2.4% | 48.6% | Low |
| 9 | Client I | $328,165 | 1.9% | 50.5% | Low |
| 10 | Client J | $321,669 | 1.8% | 52.3% | Low |
EVALUATE
VAR _TotalRevenue =
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue]))
VAR _Top10 =
TOPN(10,
SUMMARIZE(
BI_Autotask_Contracts,
BI_Autotask_Companies[company_name]
),
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue])),
DESC
)
RETURN
ADDCOLUMNS(_Top10,
"Revenue", CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue])),
"PctOfTotal", DIVIDE(
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue])),
_TotalRevenue
),
"CumulativePct", DIVIDE(
SUMX(
FILTER(_Top10,
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue]))
>= EARLIER(CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue])))),
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue]))
),
_TotalRevenue
)
)
ORDER BY [Revenue] DESC
Pareto breakdown: 1.8% of clients generate 52.3% of revenue
The classic Pareto principle suggests 20% of clients should drive 80% of revenue. Your distribution is more extreme than that. Just 1.8% of your client base generates over half of all revenue. This level of concentration creates significant operational and financial risk. A single contract loss at the top could force layoffs or restructuring.
The top 5 clients alone account for $7.2M (40.9%). The gap between Client C ($1.43M) and Client D ($637K) is especially notable: a 55% drop-off. This means your revenue pyramid has a very narrow peak with a steep cliff after the third position.
EVALUATE
VAR _AllClients =
SUMMARIZE(
BI_Autotask_Contracts,
BI_Autotask_Companies[company_name]
)
VAR _TotalRev = CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue]))
VAR _ClientCount = COUNTROWS(_AllClients)
RETURN
ROW(
"TotalRevenue", _TotalRev,
"TotalClients", _ClientCount,
"AvgPerClient", DIVIDE(_TotalRev, _ClientCount),
"Top1Revenue", MAXX(
TOPN(1, _AllClients,
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue])), DESC),
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue]))),
"Top2Revenue", SUMX(
TOPN(2, _AllClients,
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue])), DESC),
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue]))),
"Top5Revenue", SUMX(
TOPN(5, _AllClients,
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue])), DESC),
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue]))),
"Top10Revenue", SUMX(
TOPN(10, _AllClients,
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue])), DESC),
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue])))
)
Clients segmented by annual revenue contribution
| Revenue Tier | Clients | % of Clients | Total Revenue | % of Revenue |
|---|---|---|---|---|
| > $1M | 3 | 0.5% | $5,968,709 | 33.9% |
| $250K - $1M | 7 | 1.3% | $3,239,352 | 18.4% |
| $50K - $250K | 48 | 8.7% | $4,812,000 | 27.3% |
| $10K - $50K | 210 | 38.2% | $2,856,708 | 16.2% |
| < $10K | 282 | 51.3% | $730,000 | 4.1% |
Impact analysis: what happens if your largest clients churn?
| Scenario | Revenue Lost | Remaining Revenue | Impact | Recovery |
|---|---|---|---|---|
| Client A churns | -$2,324,617 | $15,282,152 | -13.2% | 73 new avg clients needed |
| Client B churns | -$2,212,915 | $15,393,854 | -12.6% | 69 new avg clients needed |
| Both A + B churn | -$4,537,532 | $13,069,237 | -25.8% | 142 new avg clients needed |
| Top 5 churn | -$7,195,495 | $10,411,274 | -40.9% | 225 new avg clients needed |
Replacing Client A would require signing 73 new clients at your current average revenue of $32K per client. That is roughly 13% of your entire existing client base. In practice, replacing a $2.3M account through organic growth alone could take 12 to 18 months, assuming your sales pipeline supports that volume.
The combined loss of Client A and Client B would cut revenue by $4.5M. At your current average deal size, that means finding 142 replacement accounts. No MSP can absorb that kind of concentration risk without a deliberate diversification strategy.
EVALUATE
VAR _TotalRevenue =
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue]))
VAR _AvgPerClient =
DIVIDE(_TotalRevenue,
DISTINCTCOUNT(BI_Autotask_Companies[company_name]))
VAR _Top5 =
TOPN(5,
SUMMARIZE(
BI_Autotask_Contracts,
BI_Autotask_Companies[company_name]
),
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue])),
DESC
)
RETURN
ADDCOLUMNS(_Top5,
"ClientRevenue", CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue])),
"PctOfTotal", DIVIDE(
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue])),
_TotalRevenue),
"RemainingIfLost", _TotalRevenue -
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue])),
"ClientsToReplace", ROUNDUP(
DIVIDE(
CALCULATE(SUM(BI_Autotask_Contracts[contract_revenue])),
_AvgPerClient),
0)
)
ORDER BY [ClientRevenue] DESC
Long tail analysis and concentration benchmarks
Your largest client generates 7.2 times more revenue than your 10th-largest client. In a well-diversified portfolio, this ratio should ideally sit below 3x. The steep drop-off between Client C ($1.43M) and Client D ($637K) creates a structural vulnerability. If any of the top 3 clients leaves, no combination of mid-tier accounts can fill the gap quickly.
The long tail of 540 clients averaging $15.6K each provides breadth, not depth. These accounts are individually low-risk but collectively important: they generate $8.4M (47.7% of total revenue). Growing the average revenue of this segment by even 10% would add $840K and reduce top-client dependency.
Client A ($2.32M) and Client B ($2.21M) together account for more than a quarter of your revenue. Losing either one would require 69-73 new average-sized clients to recover. This is the single biggest financial risk in your portfolio.
Your long tail generates volume (47.7% of revenue) but at a very low per-client average. Many of these accounts may cost more to service than they generate when you factor in support overhead, onboarding, and account management time. Segmenting these by profitability would help identify which ones deserve growth investment.
Despite the concentration risk at the top, having 550 active accounts means you are not a boutique MSP dependent on a handful of relationships. The client base is large enough to support a deliberate diversification strategy. Growing 50 mid-tier accounts from $50K to $100K would add $2.5M and significantly reduce top-client dependency.
5 priorities based on the concentration analysis
These two accounts represent 25.8% of revenue. Assign a named account manager to each. Schedule quarterly business reviews. Track NPS or CSAT separately. Any early sign of dissatisfaction should trigger an executive-level conversation. The cost of proactive retention is a fraction of the cost of replacement.
You have 48 clients in this range generating $4.8M. These are your most scalable segment. Identify the 15-20 accounts with the highest upsell potential (unused services, low seat penetration, no managed security) and run targeted expansion campaigns. Growing this tier from 27.3% to 35% of revenue would reduce top-10 dependency below 45%.
282 clients generating 4.1% of revenue is a long tail that may be burning margin. Calculate the fully loaded cost to serve each account (support hours, tooling licenses, management overhead). Clients that are unprofitable should be repriced, moved to a self-service tier, or referred to a smaller MSP. Freeing up resources from unprofitable accounts lets you reinvest in growth accounts.
If your top clients are on month-to-month or annual contracts, you have no runway to react to a churn decision. Move your top 10 accounts to 2-3 year agreements with built-in price escalations. This gives you visibility into renewal risk and time to prepare if a client signals they want to leave.
Add "Top 10 Revenue Share" and "Top Client as % of Total" to your monthly leadership dashboard. Set a target to reduce top-10 concentration from 52.3% to below 40% within 18 months. Treat revenue diversification the same way you would treat any other operational KPI.
Most MSP advisors recommend that no single client should represent more than 10% of total revenue, and the top 10 clients should stay below 40%. If your top client exceeds 15%, acquirers and lenders will flag it as a concentration risk during due diligence.
Buyers typically apply a discount of 10-30% to valuations when a single client exceeds 15% of revenue. High concentration signals key-person and key-account risk. Reducing your top-client share from 13.2% to below 10% could meaningfully increase your valuation multiple at exit.
Revenue is pulled from Autotask PSA contract data through the Proxuma Power BI semantic model. The AI runs DAX queries against the BI_Autotask_Contracts table, grouping by company and calculating totals, percentages, and cumulative shares.
Monthly for the KPI dashboard. Quarterly for a full breakdown like this report. After any major contract win or loss, re-run the analysis to see how the concentration profile has shifted.
Yes. Connect Proxuma Power BI to your Autotask PSA, add an AI tool (Claude, ChatGPT, or Copilot) via MCP, and ask "How much revenue do our top 10 clients represent?" The AI writes the DAX queries, runs them against your data, and produces a report like this in under fifteen minutes.
Connect Proxuma Power BI to your PSA, RMM, and M365 environment, use an MCP-compatible AI to ask questions, and generate custom reports - in minutes, not days.
See more reports Get started