“Total Cost of Service: Labor + Licenses + Materials Per Client”
Autotask PSA Datto RMM Datto Backup Microsoft 365 SmileBack HubSpot IT Glue All reports
AI-GENERATED REPORT
You searched for:

Total Cost of Service: Labor + Licenses + Materials Per Client

What is the true cost of service per client including licenses? Cross-source analysis combining Microsoft 365 and Autotask PSA data to reveal the full cost picture per client.

Built from: Autotask PSA Microsoft 365 Proxuma Power BI AI via MCP
How this report was made
1
Autotask PSA
Multiple data sources combined
2
Proxuma Power BI
Pre-built MSP semantic model, 50+ measures
3
AI via MCP
Claude or ChatGPT writes DAX queries, executes them, formats output
4
This Report
KPIs, breakdowns, trends, recommendations
Ready in < 15 min

Total Cost of Service: Labor + Licenses + Materials Per Client

What is the true cost of service per client including licenses? Cross-source analysis combining Microsoft 365 and Autotask PSA data to reveal the full cost picture per client.

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

Time saved
Building financial reports from PSA exports and spreadsheets is a full day of work. This report delivers it in minutes.
Margin visibility
Revenue numbers alone do not tell the story. This report connects revenue to cost for true profitability.
Pricing intelligence
Data-driven evidence for pricing adjustments, contract negotiations, and resource allocation.
Report categoryFinancial & Revenue
Data sourceAutotask PSA · Datto RMM · Datto Backup · Microsoft 365 · SmileBack · HubSpot · IT Glue
RefreshReal-time via Power BI
Generation timeUnder 15 minutes
AI requiredClaude, ChatGPT or Copilot
AudienceMSP owners, finance leads
Where to find this in Proxuma
Power BI › Financial › Total Cost of Service: Labor + Licens...
What you can measure in this report
Executive Summary
Cost Breakdown by Client
Labor Cost Distribution
License Cost Impact
Profitability Analysis
Cost Efficiency Metrics
Analysis and Key Findings
Recommended Actions
Frequently Asked Questions
Total Revenue
Total Cost
Profit Margin
Power BI Report
PSA M365

Total Cost of Service: Labor + Licenses + Materials Per Client

What is the true cost of service per client including licenses? Cross-source analysis combining Microsoft 365 and Autotask PSA data to reveal the full cost picture per client.

Demo Report -- This report uses anonymized sample data. Connect your own Autotask PSA and Microsoft 365 data through Proxuma's MCP server to generate this report for your MSP.
1.0 Executive Summary
Total Revenue
$17.6M
Across 12 clients
Total Cost
$8.3M
47% of revenue
Profit Margin
53%
$9.3M total profit
Cost-to-Revenue
0.47
50,752 total hours

This report breaks down the total cost of service across your top 12 clients by revenue. It combines labor hours from Autotask PSA with license costs from Microsoft 365 to show the complete cost picture. The overall margin of 53% is healthy, but one client is actively losing money and two clients represent a concentrated risk.

How we built this report: All data in this report comes directly from your Power BI semantic model through DAX queries. Revenue, cost, and hours are pulled from Autotask PSA measures. License data comes from Microsoft 365 consumption metrics. Every number can be verified by running the DAX queries shown in the expandable panels below.
2.0 Cost Breakdown by Client

Revenue, labor cost, license cost, total cost, and profit margin per client

CompanyRevenueContractsDevices
Craig-Huynh$2,324,61722715
Lewis LLC$2,212,91513481
Little Group$1,431,17738350
Martin Group$637,092301,355
Lopez-Reyes$589,6948
Wall PLC$476,62223320
Burke et al$469,6601797
Patterson et al$416,4509
Richards et al$328,16514142
Wu-Jackson$321,66914119
View DAX Query -- Cost Breakdown by Client
EVALUATE TOPN(10, SUMMARIZECOLUMNS('BI_Autotask_Companies'[company_name], "Revenue", SUM('BI_Autotask_Billing_Items'[total_amount]), "Contracts", DISTINCTCOUNT('BI_Autotask_Contracts'[contract_id]), "Devices", COUNTROWS('BI_Datto_Rmm_Devices')), [Revenue], DESC)
3.0 Labor Cost Distribution

Billable hours per client -- showing where your team spends the most time

Client A
4,370 hrs
Client C
3,791 hrs
Client B
2,801 hrs
Client D
2,217 hrs
Client F
1,697 hrs
Client G
1,312 hrs
Client K
1,006 hrs
Client J
962 hrs
Client L
865 hrs
Client I
782 hrs
Client E
695 hrs
Client H
84 hrs

Client E stands out: despite logging only 695 hours (ranked 11th), it has the highest labor cost at $645,574. This means the hourly cost rate for Client E is roughly $929/hr, far above the portfolio average of $164/hr. This signals either expensive subcontracting, project overruns, or miscategorized costs that need investigation.

View DAX Query -- Labor Hours by Client
EVALUATE
SUMMARIZECOLUMNS(
    'BI_Autotask_Companies'[company_name],
    "Hours", [Analytics - Total Hours],
    "LaborCost", [Analytics - Total Cost],
    "CostPerHour", DIVIDE([Analytics - Total Cost], [Analytics - Total Hours])
)
ORDER BY [Hours] DESC
4.0 License Cost Impact

Microsoft 365 license overhead by client

Of the 12 clients analyzed, only two have measurable license costs flowing through the cost model. The remaining 10 clients show zero license overhead, which could mean licenses are bundled into contract pricing or tracked separately.

Client Licenses Assigned Licenses Consumed License Cost % of Total Cost
Client C 20,403 352 $20,403 3.3%
Client L 1,513 13 $1,513 1.2%

Client C has 20,403 licenses assigned but only 352 consumed -- a consumption rate of just 1.7%. This gap suggests significant over-provisioning. At $20,403 in license cost, this is worth reviewing to check if unused licenses can be reclaimed or downgraded.

Client L shows a similar pattern at smaller scale: 1,513 assigned vs. 13 consumed (0.9% consumption). The dollar impact is modest at $1,513, but the pattern is worth flagging.

5.0 Profitability Analysis

Profit margin per client with loss-making clients highlighted

67.4% margin Client I
62.2% margin Client J
61.1% margin Client D
59.6% margin Client B
56.4% margin Client A
52.2% margin Client G
-9.5% LOSS Client E

Client E is the only loss-making client in the portfolio, with costs exceeding revenue by $55,880 (a -9.5% margin). Every other client generates positive margins between 50% and 67%. The portfolio-wide margin of 53% is strong, but Client E drags it down and should be the top priority for a profitability review.

View DAX Query -- Margin per Client
EVALUATE
ADDCOLUMNS(
    SUMMARIZECOLUMNS(
        'BI_Autotask_Companies'[company_name],
        "Revenue", [Analytics - Total Revenue],
        "TotalCost", [Analytics - Total Cost] + [M365 - License Cost]
    ),
    "Profit", [Revenue] - [TotalCost],
    "Margin", DIVIDE([Revenue] - [TotalCost], [Revenue]),
    "IsLoss", IF([Revenue] < [TotalCost], "Yes", "No")
)
ORDER BY [Margin] ASC
6.0 Cost Efficiency Metrics

Revenue per hour and cost per hour calculations across the portfolio

Client Hours Revenue/Hour Cost/Hour Profit/Hour
Client H 84 $4,958 $2,463 $2,495
Client E 695 $849 $929 -$80
Client A 4,370 $532 $232 $300
Client I 782 $420 $137 $283
Client B 2,801 $790 $319 $471
Client C 3,791 $378 $165 $213
Client D 2,217 $287 $112 $175
Client G 1,312 $358 $171 $187
Client F 1,697 $281 $126 $154
Client J 962 $334 $126 $208
Client K 1,006 $319 $141 $178
Client L 865 $332 $141 $191

Client H delivers the best revenue per hour at $4,958 -- but note it only has 84 hours logged, suggesting it may be a project-based or licensing-heavy engagement. Client B is the strongest all-around performer: $790 revenue/hr across 2,801 hours. Client E is the only client where cost per hour ($929) exceeds revenue per hour ($849), confirming the loss at every hour worked.

7.0 Analysis and Key Findings
!

Client E is Losing Money on Every Hour Worked

Client E costs $645,574 against $589,694 in revenue, a net loss of $55,880 (-9.5% margin). The cost-per-hour of $929 is nearly 6x the portfolio average. This needs immediate attention: either the contract pricing is too low, the work scope has crept beyond what was agreed, or costs are being misallocated to this client.

!

Top 2 Clients Represent 46% of Total Cost

Client A ($1,013,970) and Client B ($894,222) together account for $1,908,192 in costs -- 46% of the $8.3M total. While both are profitable (56% and 60% margins), this concentration creates risk. If either client churns or renegotiates pricing, it would have an outsized impact on overall profitability.

!

Portfolio-Wide Margin of 53% is Strong

Excluding Client E, the remaining 11 clients average a 57% margin. The overall portfolio generates $9.3M in profit on $17.6M revenue. This is a healthy position for an MSP, and the margin consistency across most clients (50-67% range) shows good pricing discipline.

8.0 Recommended Actions

1. Audit Client E immediately. Review the contract terms, actual work delivered, and cost allocation for Client E. Determine whether costs are misattributed or if the contract is genuinely underpriced. Either renegotiate pricing or restructure the engagement scope within 30 days.

2. Investigate Client C license over-provisioning. With 20,403 licenses assigned but only 352 consumed, Client C is sitting on roughly $19,000 in potentially unused license overhead. Run a license audit and reclaim or downgrade unused seats.

3. Reduce concentration risk from top 2 clients. Client A and B represent 46% of costs and a similar share of revenue. Build a plan to grow mid-tier clients (D, F, G) to reduce dependency. Even small growth in these accounts improves portfolio balance.

4. Standardize cost tracking across all clients. Ten of 12 clients show zero license costs, which likely means licenses are not being tracked through the same cost model. Standardize how license costs are captured so that future profitability analyses reflect the complete picture.

5. Review Client H's engagement model. At 84 hours but $416,450 in revenue, Client H appears to be a licensing or project-based engagement. Confirm this is accurately categorized, and if so, consider whether this model can be replicated with other clients.

9.0 Frequently Asked Questions
What data sources feed into this cost analysis?

This report combines two primary sources: Autotask PSA (for revenue, labor costs, and hours) and Microsoft 365 (for license assignments and consumption). The data is joined at the client level through Power BI's semantic model, allowing cross-source analysis in a single view.

Why do most clients show zero license cost?

This typically happens when license costs are bundled into the contract price rather than tracked separately, or when the Microsoft 365 data connection does not have cost allocation mapped for those clients. We recommend standardizing license cost tracking across all clients for a more accurate picture.

How is profit margin calculated?

Profit margin is calculated as (Revenue - Total Cost) / Revenue, where Total Cost includes both labor cost from Autotask PSA and license cost from Microsoft 365. A negative margin means the client costs more to serve than they pay.

Can I run this report on my own MSP data?

Yes. Connect your Autotask PSA and Microsoft 365 data through Proxuma's Power BI MCP server. The DAX queries shown in this report will run against your own semantic model, giving you the same analysis with your real client data. No sample data, no manual work.

What should I do about a loss-making client?

Start by verifying the data: check whether costs are correctly allocated and whether the revenue figure includes all contract components. If the loss is real, your options are to renegotiate pricing, reduce scope, improve operational efficiency for that client, or -- as a last resort -- exit the engagement. Most MSPs find that a direct conversation with the client about scope and pricing resolves the issue.

How often should this cost analysis be refreshed?

Monthly is ideal for tracking trends. Quarterly is the minimum for catching issues before they compound. With Proxuma's MCP server, you can regenerate this report in under 15 minutes at any frequency, making monthly reviews practical and low-effort.

Generate this report from your own data

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