Which clients make you money, which ones break even, and which one is losing you money. Generated by AI via Proxuma Power BI MCP server.
Which clients make you money, which ones break even, and which one is losing you money. Generated by AI via Proxuma Power BI MCP server.
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
Which clients make you money, which ones break even, and which one is losing you money. Generated by AI via Proxuma Power BI MCP server.
EVALUATE
VAR ClientRev = FILTER(ADDCOLUMNS(VALUES('BI_Autotask_Companies'[company_name]),"Rev",[Revenue - Total],"Cost",[Cost - Total]),[Rev]>0)
RETURN ROW(
"Total Revenue", SUMX(ClientRev,[Rev]),
"Total Cost", SUMX(ClientRev,[Cost]),
"Total Profit", SUMX(ClientRev,[Rev]-[Cost]),
"Avg Margin", DIVIDE(SUMX(ClientRev,[Rev]-[Cost]), SUMX(ClientRev,[Rev])),
"Billing Clients", COUNTROWS(ClientRev),
"Unprofitable Count", COUNTROWS(FILTER(ClientRev,[Cost]>[Rev]))
)
All 13 clients with billing data, sorted by profit margin percentage from highest to lowest
| # | Client | Revenue | Cost | Profit | Margin | Status |
|---|---|---|---|---|---|---|
| 1 | Lewis LLC | €2,212,915 | €894,222 | €1,318,693 | 59.6% | Top performer |
| 2 | Craig-Huynh | €2,324,617 | €1,013,970 | €1,310,647 | 56.4% | Strong |
| 3 | Little Group | €1,431,177 | €603,420 | €827,758 | 57.8% | Strong |
| 4 | Martin Group | €637,092 | €248,212 | €388,880 | 61.0% | Strong |
| 5 | Wall PLC | €476,622 | €214,395 | €262,227 | 55.0% | Healthy |
| 6 | Burke, Armstrong and Morgan | €469,660 | €224,394 | €245,267 | 52.2% | Healthy |
| 7 | Richards, Bell and Christensen | €328,165 | €107,091 | €221,073 | 67.4% | Strong |
| 8 | Patterson, Riley and Lawson | €416,450 | €206,868 | €209,582 | 50.3% | Healthy |
| 9 | Torres-Jones | €255,698 | €46,812 | €208,887 | 81.7% | Top performer |
| 10 | Wu-Jackson | €321,669 | €121,483 | €200,186 | 62.2% | Strong |
| 11 | Thompson, Contreras and Rios | €320,832 | €141,416 | €179,416 | 55.9% | Healthy |
| 12 | Price-Gomez | €286,926 | €120,188 | €166,739 | 58.1% | Healthy |
| 13 | Velasquez, Thomas and Mclaughlin | €166,279 | €21,712 | €144,568 | 86.9% | Top performer |
| 14 | Lee-Dalton | €198,503 | €69,709 | €128,794 | 64.9% | Strong |
| 15 | Coleman, Rojas and Smith | €166,235 | €39,307 | €126,928 | 76.4% | Strong |
| 16 | Hurst Group | €146,054 | €19,235 | €126,820 | 86.8% | Top performer |
| 17 | Hahn Group | €253,148 | €133,138 | €120,010 | 47.4% | Healthy |
| 18 | Clements, Pham and Garcia | €175,507 | €71,242 | €104,264 | 59.4% | Healthy |
| 19 | Turner, Gonzalez and Vega | €128,053 | €25,322 | €102,731 | 80.2% | Top performer |
| 20 | Buchanan, Acosta and Chambers | €188,912 | €93,716 | €95,196 | 50.4% | Healthy |
EVALUATE
TOPN(20, FILTER(ADDCOLUMNS(VALUES('BI_Autotask_Companies'[company_name]),
"Revenue",[Revenue - Total],"Cost",[Cost - Total],
"Profit",[Revenue - Total]-[Cost - Total],
"Margin",DIVIDE([Revenue - Total]-[Cost - Total], [Revenue - Total])),[Revenue]>0),[Profit],DESC)
ORDER BY [Profit] DESC
Top 8 clients by revenue, showing the gap between what they pay and what they cost
EVALUATE
TOPN(8, FILTER(ADDCOLUMNS(VALUES('BI_Autotask_Companies'[company_name]),
"Revenue",[Revenue - Total],"Cost",[Cost - Total]),[Revenue]>0),[Revenue],DESC)
ORDER BY [Revenue] DESC
How clients spread across margin bands, from loss-making to high-margin
EVALUATE
VAR Clients = FILTER(ADDCOLUMNS(VALUES('BI_Autotask_Companies'[company_name]),
"Rev",[Revenue - Total],"Cost",[Cost - Total],
"Margin",DIVIDE([Revenue - Total]-[Cost - Total], [Revenue - Total])),[Rev]>0)
RETURN UNION(
ROW("Band","Negative (< 0%)","Count",COUNTROWS(FILTER(Clients,[Margin]<0))),
ROW("Band","Low (0-20%)","Count",COUNTROWS(FILTER(Clients,[Margin]>=0 && [Margin]<0.20))),
ROW("Band","Moderate (20-40%)","Count",COUNTROWS(FILTER(Clients,[Margin]>=0.20 && [Margin]<0.40))),
ROW("Band","Healthy (40-60%)","Count",COUNTROWS(FILTER(Clients,[Margin]>=0.40 && [Margin]<0.60))),
ROW("Band","Strong (60-80%)","Count",COUNTROWS(FILTER(Clients,[Margin]>=0.60 && [Margin]<0.80))),
ROW("Band","Excellent (80%+)","Count",COUNTROWS(FILTER(Clients,[Margin]>=0.80)))
)
The gap between your most efficient client and your only loss-maker
EVALUATE
VAR Clients = FILTER(ADDCOLUMNS(VALUES('BI_Autotask_Companies'[company_name]),
"Rev",[Revenue - Total],"Cost",[Cost - Total],
"Margin",DIVIDE([Revenue - Total]-[Cost - Total],[Revenue - Total])),[Rev]>=10000)
RETURN UNION(TOPN(1, Clients,[Margin],DESC), TOPN(1, Clients,[Margin],ASC))
ORDER BY [Margin] DESC
The portfolio is profitable. A weighted average margin of 57.3% across €10M in revenue means the business retains roughly €5.8M after direct costs. That is a strong baseline for an MSP. But the distribution tells a more specific story.
Two clients generate 44% of all revenue. Patterson Hood Perez (€2.32M) and Martin Group (€2.21M) together account for €4.54M. Both run above 56% margin, so they are not just large, they are profitable at scale. Losing either one would cut portfolio profit by over €1.3M overnight.
Garcia LLC is the only loss-maker, but the loss is not small. At -9.5% margin, every €100 billed to Garcia costs €109.50 to deliver. The €55,879 net loss is real money, but more importantly, it is consuming team hours that could serve profitable clients. Their 1,317 tickets and 670 worked hours represent resources that are generating negative returns.
Torres-Jones is the efficiency benchmark. At 81.7% margin, their cost-to-serve is remarkably low relative to revenue. This is 24 points above the portfolio average. If even two or three other clients could move toward this level, portfolio profit would increase significantly without adding any new revenue.
Four clients sit between 47% and 55% margin. They are profitable, but with less room for unexpected costs or scope creep. Colon and Sons at 47.4% is the closest to the danger zone among profitable clients. Any increase in their support volume without a matching contract adjustment would push them toward breakeven.
5 actions based on the profitability breakdown above
A -9.5% margin means you are paying to serve this client. Pull the billing detail for their 8 contracts and identify which ones are underpriced. Look at the 1,317 tickets: if a large share are out-of-scope work billed at contract rates, the fix is adjusting the contract to match actual usage. If the contract terms are correct but delivery costs are too high, look at whether specific ticket types or escalation patterns are driving the €645K cost figure.
At 47.4%, this client is profitable but barely above the point where one bad month could flip them negative. They have 9 contracts. Check whether any of those contracts are up for renewal in the next quarter and build the margin data into the renewal conversation. A 5-point margin improvement here, from 47% to 52%, would add roughly €12,600 in annual profit.
These two clients generate €2.63M in combined profit. That is 45% of total portfolio profit from two accounts. Assign dedicated account management, run quarterly business reviews, and make sure their service experience stays high. Losing one of these accounts would take years to replace through new business.
An 81.7% margin on 11 contracts is unusual. Look at the contract types, the ticket volume, and the delivery model for this client. If they are on a fixed-fee agreement with low ticket counts, that contract structure may be worth replicating for similar-sized clients. The gap between Torres-Jones (81.7%) and the portfolio average (57.3%) represents a 24-point opportunity if the model is transferable.
A single snapshot shows where you are today. Running this monthly reveals which clients are trending toward breakeven and which are improving. Set a threshold at 50% margin. Any client that drops below it for two consecutive months should trigger a contract review. Early action costs less than waiting until a client is already unprofitable.
Revenue and cost data come from the BI_Autotask_Billing_Items table in Proxuma Power BI. The total_amount field represents what you billed the client. The our_cost field represents your direct cost for that billing item. Profit is the difference between the two. The AI runs DAX queries against this data to calculate margins per client.
This report uses the our_cost field from Autotask billing items, which typically reflects direct costs: labor, licenses, hardware at cost. It does not include overhead like rent, utilities, or admin salaries. Your true net margin will be lower than the figures shown here. Use these margins for relative comparison between clients rather than absolute profitability.
Most MSP benchmarks suggest a gross margin of 50-70% on managed services contracts. Below 50% leaves thin room for unexpected costs. Above 70% typically indicates highly efficient delivery or premium pricing. The 57.3% portfolio average in this report sits in the healthy middle range.
Start by identifying which contracts and ticket types are driving the cost. Common causes: underpriced agreements that do not reflect actual usage, high escalation rates, out-of-scope work being absorbed at contract rates, or overstaffing on the account. Renegotiate the contract terms, cap out-of-scope hours, or raise rates at renewal. If the client refuses adjustments and the loss is structural, it may be better to exit the relationship.
Yes. Connect Proxuma Power BI to your Autotask PSA, add an AI tool (Claude, ChatGPT, or Copilot) via MCP, and ask the same question. The AI writes the DAX queries, runs them against your real billing data, and produces a report like this in under fifteen minutes. Your costs and margins will reflect your actual client base.
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