“Contract Profitability”
Autotask PSA Datto RMM Datto Backup Microsoft 365 SmileBack HubSpot IT Glue All reports
AI-GENERATED REPORT
You searched for:

Contract Profitability

A data-driven analysis of contract profitability from your Power BI environment, with breakdowns and actionable findings.

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

Contract Profitability

This report analyzes contract profitability using data from Autotask PSA.

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 › Contract Profitability
What you can measure in this report
Summary Metrics
Contracts by Type
Revenue by Company
Monthly Revenue Trend
Analysis
Recommended Actions
Frequently Asked Questions
TOTAL REVENUE
TOTAL CONTRACTS
AI-Generated Power BI Report
Contract Profitability

A data-driven analysis of contract profitability from your Power BI environment, with breakdowns and actionable findings.

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 Summary Metrics
TOTAL REVENUE
7
Unprofitable projects (of 279)
TOTAL CONTRACTS
€716k
Total project profit across portfolio
View DAX Query — Summary query
EVALUATE ROW(
  "ProjectsTotal", DISTINCTCOUNT(BI_Autotask_Projects[project_id]),
  "ProjectsWithRevenue",
    CALCULATE(
      DISTINCTCOUNT(BI_Autotask_Projects[project_id]),
      FILTER(VALUES(BI_Autotask_Projects[project_id]), [Project Total Revenue] > 0)
    ),
  "ProjectsUnprofitable",
    CALCULATE(
      DISTINCTCOUNT(BI_Autotask_Projects[project_id]),
      FILTER(VALUES(BI_Autotask_Projects[project_id]), [Project Profit] < 0)
    ),
  "TotalProjectRevenue", [Project Total Revenue],
  "TotalProjectCost", [Project Total Cost],
  "TotalProjectProfit", [Project Profit]
)
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.
1.0 Contracts by Type

Distribution of contracts across types

63.9%
Recurring Service (1,207)
26.7%
Time & Materials (504)
9.2%
Block Hours (173)
0.3%
Fixed Price (5)
ProjectClientRevenueCostProfit
Project EyePatterson, Riley and Lawson€0€3,046–€3,046
Project TodayShaw-Ryan€0€1,889–€1,889
Project PriceCraig-Huynh€0€775–€775
Project DoLittle Group€0€468–€468
Project QuiteLittle Group€0€263–€263
Project CameraFox, Conner and West€0€118–€118
Project BestMarks PLC€0€4–€4
View DAX Query — Contracts by Type query
EVALUATE
TOPN(8,
  FILTER(
    ADDCOLUMNS(
      SUMMARIZECOLUMNS(
        BI_Autotask_Projects[project_id],
        BI_Autotask_Projects[project_name],
        BI_Autotask_Projects[company_name],
        "Revenue", [Project Total Revenue],
        "Cost", [Project Total Cost],
        "Profit", [Project Profit]
      ),
      "Margin", DIVIDE([Profit], [Revenue])
    ),
    [Profit] < 0
  ),
  [Profit], ASC
)
ORDER BY [Profit] ASC
2.0 Revenue by Company

Revenue breakdown by company from billing data

Montgomery-Peck
Hahn Group
Wu-Jackson
Torres-Jones
Thompson, Contreras and R
Patterson, Riley and Laws
Richards, Bell and Christ
Burke, Armstrong and Morg
Price-Gomez
Little Group
ProjectClientRevenueProfitMargin %
Project EnvironmentLewis LLC€227,918€101,63244.6%
Project AlongDoyle-Contreras€77,269€41,83054.1%
Project LeaveClements, Pham and Garcia€59,583€32,28454.2%
Project SomebodyCraig-Huynh€88,995€26,48529.8%
Project ThoughBurke, Armstrong and Morgan€49,122€23,39247.6%
Project NumberLittle Group€42,903€22,60152.7%
Project FeelWu-Jackson€39,867€21,35953.6%
Project AnyoneRamos Group€26,162€15,51059.3%
View DAX Query — Revenue by Company query
EVALUATE
TOPN(8,
  FILTER(
    ADDCOLUMNS(
      SUMMARIZECOLUMNS(
        BI_Autotask_Projects[project_id],
        BI_Autotask_Projects[project_name],
        BI_Autotask_Projects[company_name],
        "Revenue", [Project Total Revenue],
        "Cost", [Project Total Cost],
        "Profit", [Project Profit]
      ),
      "Margin", DIVIDE([Profit], [Revenue])
    ),
    [Revenue] > 0
  ),
  [Profit], DESC
)
ORDER BY [Profit] DESC
3.0 Monthly Revenue Trend

Monthly revenue trend over the observed period

1,398,6881,234,5981,070,507906,417742,327 1,051,8871,341,613770,865 202502202504202506202508202510202512202601
Project outcomeCount
Profitable (revenue > cost)207
Loss-making (cost > revenue)7
No billing yet (no rev, no cost)65
View DAX Query — Monthly Revenue Trend query
EVALUATE
ADDCOLUMNS(
  { "Profitable", "Breakeven (no rev)", "Active no billing" },
  "Projects",
    SWITCH([Value],
      "Profitable",
        CALCULATE(
          DISTINCTCOUNT(BI_Autotask_Projects[project_id]),
          FILTER(VALUES(BI_Autotask_Projects[project_id]), [Project Profit] > 0)
        ),
      "Breakeven (no rev)",
        CALCULATE(
          DISTINCTCOUNT(BI_Autotask_Projects[project_id]),
          FILTER(VALUES(BI_Autotask_Projects[project_id]), [Project Profit] < 0)
        ),
      "Active no billing",
        CALCULATE(
          DISTINCTCOUNT(BI_Autotask_Projects[project_id]),
          FILTER(VALUES(BI_Autotask_Projects[project_id]), [Project Total Revenue] = 0 && [Project Total Cost] = 0)
        )
    )
)
5.0 Analysis

What the data is telling us

The data above paints a picture of contract profitability across your MSP operations. Look for patterns, outliers, and trends that warrant attention. Each section includes the DAX query used, so you can drill deeper into any metric that catches your eye.

6.0 Recommended Actions

1. Schedule Recurring Review

Set up a weekly or monthly review of contract profitability metrics. Trends matter more than snapshots. Use the DAX queries in this report as your starting point.

2. Connect Your Own Data

This report uses demo data. Connect Proxuma Power BI to your own Autotask PSA to generate this analysis from your real numbers.

7.0 Frequently Asked Questions
What data sources does the Contract Profitability report use?

This report pulls data from PSA through the Proxuma Power BI integration, using DAX queries against the live data model.

How often is this data refreshed?

The underlying Power BI dataset refreshes daily. Reports can be regenerated at any time for the latest figures.

Can I customize this contract profitability report?

Yes. Proxuma reports are fully customizable. You can modify the DAX queries, add new sections, or adjust the analysis to match your specific MSP needs.

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