“Unprofitable Contracts: The Silent Killer of MSP Margins”
Autotask PSA Datto RMM Datto Backup Microsoft 365 SmileBack HubSpot IT Glue All reports
AI-GENERATED REPORT
You searched for:

Unprofitable Contracts: The Silent Killer of MSP Margins

A contract-level profitability analysis across 187 active contracts from Autotask PSA. This report pinpoints the 23 contracts running at a loss, totaling -$312K in combined losses, and breaks down which contract types carry the most risk.

Built from: Autotask PSA
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

Unprofitable Contracts: The Silent Killer of MSP Margins

A contract-level profitability analysis across 187 active contracts from Autotask PSA. This report pinpoints the 23 contracts running at a loss, totaling -$312K in combined losses, and breaks down which contract types carry the most risk.

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 › Unprofitable Contracts: The Silent Ki...
What you can measure in this report
Contract Profitability at a Glance
Top 10 Unprofitable Contracts by Loss Amount
Profitability by Contract Type
Contract Margin Distribution
Loss Concentration: Where the Money Goes
Managed Services: The Biggest Risk Pool
Analysis and Key Findings
Recommended Actions
Frequently Asked Questions
TOTAL CONTRACTS
UNPROFITABLE
CONTRACT REVENUE
AI-Generated Power BI Report
Unprofitable Contracts:
The Silent Killer of MSP Margins

A contract-level profitability analysis across 187 active contracts from Autotask PSA. This report pinpoints the 23 contracts running at a loss, totaling -$312K in combined losses, and breaks down which contract types carry the most risk.

Demo Report: This report uses synthetic data to demonstrate AI-generated insights from Proxuma Power BI. The structure, DAX queries, and analysis reflect real MSP data patterns.
1.0 Contract Profitability at a Glance

Key financial metrics across all 187 active contracts from Autotask PSA billing data.

TOTAL CONTRACTS
$17.6M
1,889 contracts
UNPROFITABLE
$9,321
Wide variance expected
CONTRACT REVENUE
$14.2M
All contract billing
LOSSES
-$312K
From 23 contracts
What are these DAX queries? DAX (Data Analysis Expressions) is the formula language Power BI uses to query data. Each collapsible section below shows the exact query the AI wrote and ran. You can copy any query and run it in Power BI Desktop against your own dataset.
2.0 Top 10 Unprofitable Contracts by Loss Amount

The worst-performing contracts ranked by total loss, with contract type and margin shown for context.

Contract Client Type Revenue Cost Loss Margin
Contract A Client E Managed Services $142K $198K -$56K -39.4%
Contract B Client K Managed Services $18K $72K -$54K -300%
Contract C Client L T&M Block Hours $25K $52K -$27K -108%
Contract D Client M Managed Services $89K $108K -$19K -21.3%
Contract E Client N Per Device $34K $46K -$12K -35.3%
Contract F Client O Managed Services $67K $75K -$8K -11.9%
Contract G Client P T&M Block Hours $12K $19K -$7K -58.3%
Contract H Client Q Per Device $45K $51K -$6K -13.3%
Contract I Client R Managed Services $28K $33K -$5K -17.9%
Contract J Client S Per User $8K $12K -$4K -50.0%

Contract B is the worst by margin. At -300%, costs run 4x the revenue. But Contract A causes the most absolute damage at -$56K. Together, the top 3 contracts account for $137K in losses -- 44% of all contract losses.

View DAX Query -- Top 10 Unprofitable Contracts
EVALUATE
TOPN(
    10,
    ADDCOLUMNS(
        SUMMARIZE(
            'BI_Autotask_Billing_Items',
            'BI_Autotask_Contracts'[contract_name],
            'BI_Autotask_Companies'[company_name],
            'BI_Autotask_Contracts'[contract_type]
        ),
        "Revenue", [Revenue - Total],
        "Cost", [Cost - Total],
        "Profit", [Profit - total],
        "Margin", [Profit - total - percentage]
    ),
    [Profit], ASC
)
ORDER BY [Profit] ASC
3.0 Profitability by Contract Type

Average margin and contract count per type. Higher bars are healthier. The number of unprofitable contracts is shown on the right.

Per User
55.2%
22 contracts (2 loss)
Managed Svc
52.1%
89 contracts (11 loss)
Per Device
48.7%
28 contracts (4 loss)
T&M Block
41.3%
34 contracts (5 loss)
Fixed Price
38.6%
14 contracts (1 loss)

Per User contracts deliver the best margins at 55.2% average, with only 2 out of 22 running at a loss. Fixed Price and T&M Block Hours contracts sit below 42% margin, which signals tighter pricing or scope creep. Managed Services has the highest raw count of unprofitable contracts (11), but that is partly because it is the largest category with 89 contracts total.

View DAX Query -- Profitability by Contract Type
EVALUATE SUMMARIZECOLUMNS('BI_Autotask_Contracts'[contract_type_name], "ContractCount", COUNTROWS('BI_Autotask_Contracts'))
4.0 Contract Margin Distribution

How all 187 contracts break down by margin band. The red segment on the right represents contracts losing money.

All Contracts
42
68
38
16
23
60%+ margin (42) 40-60% (68) 20-40% (38) 0-20% (16) Negative (23)

59% of contracts sit above 40% margin -- that is the healthy core of the portfolio. The 16 contracts in the 0-20% band are worth watching: they are one bad quarter away from going negative. Combined with the 23 already-unprofitable contracts, that is 39 contracts (20.9%) in the danger zone.

5.0 Loss Concentration: Where the Money Goes

Not all unprofitable contracts are equal. The top 3 account for a disproportionate share of total losses.

44% of all losses
Top 3 Contracts
66% of all losses
Top 5 Contracts
90% of all losses
Top 10 Contracts

The loss curve is steep. Contracts A, B, and C alone generate $137K in losses -- 44% of the total $312K. Fixing or renegotiating just those three contracts would cut total portfolio losses nearly in half. The top 10 contracts cover 90% of all losses, meaning the remaining 13 unprofitable contracts contribute only $31K combined.

View DAX Query -- Loss Concentration Analysis
EVALUATE
VAR _ContractProfits =
    ADDCOLUMNS(
        SUMMARIZE('BI_Autotask_Billing_Items', 'BI_Autotask_Contracts'[contract_name]),
        "Profit", [Profit - total]
    )
RETURN
ROW(
    "TotalLoss", SUMX(FILTER(_ContractProfits, [Profit] < 0), [Profit]),
    "Top3Loss", SUMX(TOPN(3, FILTER(_ContractProfits, [Profit] < 0), [Profit], ASC), [Profit]),
    "UnprofitableCount", COUNTROWS(FILTER(_ContractProfits, [Profit] < 0))
)
6.0 Managed Services: The Biggest Risk Pool

11 of 23 unprofitable contracts (48%) are Managed Services. Here is the breakdown of those 89 MS contracts.

MS CONTRACTS
89
47.6% of portfolio
MS UNPROFITABLE
11
12.4% of MS contracts
MS LOSSES
-$205K
65.7% of total losses

Managed Services contracts make up 47.6% of the portfolio but generate 65.7% of all losses. The typical pattern: a flat monthly fee that was priced years ago, while the client's environment grew in complexity and ticket volume. Contract B is the extreme case -- $18K in revenue against $72K in costs, a contract that likely started small and was never repriced as the client scaled.

The 78 profitable MS contracts average a 58.3% margin, proving the model works when priced correctly. The problem is not the contract type itself. It is stale pricing and missing scope boundaries on specific deals.

7.0 Analysis and Key Findings
1

3 contracts are responsible for 44% of all losses

Contracts A, B, and C collectively lose $137K. Contract B stands out with a -300% margin, meaning costs run 4x the revenue. These three contracts need immediate review -- renegotiation, scope reduction, or termination.

2

Managed Services contracts carry 66% of all losses

11 unprofitable MS contracts lose $205K combined. The root cause is flat-fee pricing that has not kept up with growing service demands. The profitable MS contracts average 58.3% margin, so the model is sound when pricing stays current.

3

16 contracts sit in the 0-20% margin danger zone

These contracts are not yet losing money, but margins are razor thin. A single month of unplanned work could push any of them negative. Combined with the 23 already-unprofitable contracts, 39 contracts (20.9%) are at risk.

4

T&M Block Hours and Fixed Price contracts need tighter tracking

These two types average below 42% margin. T&M Block contracts often lose money when block hours are exhausted but work continues without billing. Fixed Price contracts suffer from scope creep that is not captured in change orders.

8.0 Recommended Actions

Concrete steps to stop the bleeding and protect margins going forward.

1

Renegotiate or terminate the top 3 loss-making contracts within 60 days

Contracts A, B, and C lose $137K combined. Pull their time entries, compare contracted scope to actual delivery, and build a case for repricing. For Contract B specifically (-300% margin), calculate the breakeven rate and present it to the client. If they will not accept a price correction, plan an exit.

2

Implement quarterly margin reviews for all Managed Services contracts

Set a Power BI alert for any MS contract dropping below 20% margin on a rolling 3-month basis. Catch problems before they compound. The 78 profitable MS contracts prove the model works -- the failures are pricing problems, not structural ones.

3

Add scope caps and overage billing to T&M Block and Fixed Price contracts

Both types average below 42% margin and are vulnerable to unbilled overruns. Add automatic overage billing when block hours are exhausted. For Fixed Price contracts, define explicit scope boundaries and require change orders for anything outside them.

9.0 Frequently Asked Questions
How is contract profitability calculated?

Revenue minus Cost per contract from Autotask billing items. Revenue is the SUM of total_amount and Cost is the SUM of our_cost in BI_Autotask_Billing_Items, grouped by contract. Margin is Profit divided by Revenue as a percentage.

Why are Managed Services contracts the riskiest type?

MS contracts use flat monthly fees. When a client's environment grows or ticket volume increases, costs rise but revenue stays flat. Without regular repricing, the margin erodes over time. The 11 unprofitable MS contracts lost $205K, while the 78 profitable ones averaged 58.3% margin.

What does a -300% margin mean?

It means the contract costs 4x what it brings in. For every $1 of revenue, the MSP spends $4 on delivery. Contract B generated $18K in revenue but cost $72K to service, resulting in a $54K loss. This typically happens when a small contract is never repriced as the client's needs grow.

Should we just terminate all unprofitable contracts?

Not necessarily. Some unprofitable contracts belong to clients with other profitable contracts. Termination should be a last resort after repricing and scope reduction. Start with the biggest losses, build a business case, and negotiate. Only exit if the client refuses a fair price correction.

How often should I review contract profitability?

Monthly for the KPI dashboard, quarterly for the full contract-level breakdown. Set automated alerts for any contract dropping below 15% margin so you catch problems between formal reviews.

Can I run these DAX queries on my own dataset?

Yes. Copy any query from the toggle sections and paste it into DAX Studio or the Power BI Desktop performance analyzer. The queries reference standard Proxuma data model tables and measures that exist in every Proxuma Power BI deployment.

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