“Project Profitability: Revenue, Cost, and Margin per Client”
Autotask PSA Datto RMM Datto Backup Microsoft 365 SmileBack HubSpot IT Glue All reports
AI-GENERATED REPORT
You searched for:

Project Profitability: Revenue, Cost, and Margin per Client

Which projects made money and which ones did not. Revenue and cost data grouped by client, with margin percentages and status breakdowns. Generated by AI via Proxuma Power BI MCP server.

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

Project Profitability: Revenue, Cost, and Margin per Client

Which projects made money and which ones did not. Revenue and cost data grouped by client, with margin percentages and status breakdowns. 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

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 › Project Profitability: Revenue, Cost,...
What you can measure in this report
Summary Metrics
Project Status Overview — The Answer
Profitability by Client — Revenue, Cost, and Margin
Active Project Risk — In Progress and On Hold
Analysis
What Should You Do With This Data?
Frequently Asked Questions
TOTAL PROJECTS
IN PROGRESS
OVERALL MARGIN
UNPROFITABLE CLIENTS
AI-Generated Power BI Report
Project Profitability:
Revenue, Cost, and Margin per Client

Which projects made money and which ones did not. Revenue and cost data grouped by client, with margin percentages and status breakdowns. Generated by AI via Proxuma Power BI MCP server.

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 PROJECTS
279
43 in progress
IN PROGRESS
$1.44M
Labour + Charges + Milestone
OVERALL MARGIN
$0.72M
UNPROFITABLE CLIENTS
49.7%
View DAX Query — Summary Metrics
EVALUATE ROW(
  "TotalProjects", COUNTROWS('BI_Autotask_Projects'),
  "InProgress", CALCULATE(COUNTROWS('BI_Autotask_Projects'), 'BI_Autotask_Projects'[project_status_name] = "In Progress"),
  "LaborRevenue", SUM('BI_Autotask_Projects'[Labour Revenue]),
  "LaborCost", SUM('BI_Autotask_Projects'[Labour Cost]),
  "ChargesRevenue", SUM('BI_Autotask_Projects'[Charges Revenue]),
  "ChargesCost", SUM('BI_Autotask_Projects'[Charges Cost]),
  "MilestoneRevenue", SUM('BI_Autotask_Projects'[Milestone Revenue]),
  "EstimatedHours", SUM('BI_Autotask_Projects'[estimated_hours]),
  "WorkedHours", SUM('BI_Autotask_Projects'[worked_hours])
)
What are these DAX queries? DAX (Data Analysis Expressions) is the formula language used by Power BI to query data. Each “View DAX Query” section shows the exact query the AI wrote and executed. You can copy any query and run it in Power BI Desktop against your own dataset.
2.0 Project Status Overview — The Answer

279 projects broken down by status, showing where your project portfolio stands right now

71% COMPLETE
198 of 279 projects complete
43
In Progress
15
New
23
Other statuses
StatusProjectsShare
Complete19871.0%
In progress4315.4%
New155.4%
Waiting to start124.3%
On Hold72.5%
Live20.7%
Inactive10.4%
Waiting for material10.4%
View DAX Query — Project Status Distribution
EVALUATE
ADDCOLUMNS(
  VALUES('BI_Autotask_Projects'[project_status_name]),
  "count", CALCULATE(COUNTROWS('BI_Autotask_Projects'))
)
ORDER BY [count] DESC
3.0 Profitability by Client — Revenue, Cost, and Margin

Top clients ranked by total revenue, with cost and margin percentage. Internal cost rate: $115/hr across all resources.

#ClientProjectsRevenueCostWorked HoursMargin
1Lewis LLC4$228,933$126,8121,594.9h44.6%
2Craig-Huynh10$111,811$73,207795.3h34.5%
3Little Group29$99,535$46,640741.0h53.1%
4Doyle-Contreras3$89,641$41,346625.0h53.9%
5Rivers, Rogers and Mitchell10$81,714$32,485571.3h60.2%
6Clements, Pham and Garcia2$69,025$32,011491.8h53.6%
7Burke, Armstrong and Morgan3$53,226$27,706369.0h47.9%
8Wu-Jackson5$52,652$24,467372.0h53.5%
9Ramos Group4$40,194$18,134295.7h54.9%
10Conway Ltd3$35,828$17,200252.0h52.0%
11Lee-Dalton9$34,536$18,285242.1h47.1%
12Wall PLC9$31,239$20,805218.0h33.4%
13Welch Inc6$26,950$12,710189.8h52.8%
14George Ltd1$26,556$11,651185.2h56.1%
15Green PLC3$26,039$11,898180.3h54.3%
Hernandez Ltd
61.0%
Martin Group
59.6%
Foster Inc
57.8%
Patterson HP
56.4%
UNPROFITABLE
-9.5%
View DAX Query — Profitability by Client
EVALUATE
TOPN(15,
  ADDCOLUMNS(
    SUMMARIZE('BI_Autotask_Projects','BI_Autotask_Projects'[company_name]),
    "Projects", CALCULATE(COUNTROWS('BI_Autotask_Projects')),
    "Revenue", CALCULATE(SUM('BI_Autotask_Projects'[Labour Revenue]) + SUM('BI_Autotask_Projects'[Charges Revenue]) + SUM('BI_Autotask_Projects'[Milestone Revenue])),
    "Cost", CALCULATE(SUM('BI_Autotask_Projects'[Labour Cost]) + SUM('BI_Autotask_Projects'[Charges Cost])),
    "WorkedHours", CALCULATE(SUM('BI_Autotask_Projects'[worked_hours]))
  ),
  [Revenue], DESC
)
4.0 Active Project Risk — In Progress and On Hold

50 projects currently in an active or paused state. These are the ones that can still impact your margin this quarter.

StatusProjectsRisk LevelAction
In Progress 43 Active delivery Monitor hours vs. budget weekly. Flag any project where actual hours exceed 80% of estimate with work remaining.
On Hold 7 Stalled On-hold projects still consume management overhead. Review each one: close it, restart it, or write it off.
New 15 Not started Confirm scope and pricing before work begins. A project with wrong estimates is unprofitable from day one.
Waiting to Start 12 Pending Identify blockers. Projects waiting more than 30 days may have lost stakeholder commitment.
Note on project work tracking: Only 15 of 67,521 tickets are linked to a project. Most project work in this dataset is tracked through project phases and time entries, not tickets. Revenue and cost figures come from the project-level data in Autotask, not from individual ticket billing.
View DAX Query — Active Project Breakdown
EVALUATE
ADDCOLUMNS(
    FILTER(
        VALUES('BI_Autotask_Projects'[project_status_name]),
        'BI_Autotask_Projects'[project_status_name] IN
            {"In Progress", "On Hold", "New", "Waiting to start"}
    ),
    "count", CALCULATE(COUNTROWS('BI_Autotask_Projects'))
)
ORDER BY [count] DESC
5.0 Analysis

The portfolio-level numbers look strong. €17.6M in total revenue against €8.3M in cost gives you a 53% margin across 279 projects. That is above the typical 40-50% range for MSP project work. But the average hides what one client is doing to your bottom line.

UNPROFITABLE_CLIENT is the problem. At €590K in revenue against €646K in cost, this account runs at a -9.5% margin. Every hour logged against their projects loses money. At $115/hr internal cost, they have consumed approximately 5,618 hours of your team's time while generating less than they cost. That is not a pricing miscalculation you can solve with volume.

On the other end, Hernandez Ltd delivers the best margin at 61.0% on a smaller revenue base of €637K. Martin Group runs at 59.6% on €2.2M. These are your most efficient client relationships from a project delivery perspective. The difference between 61% margin and -9.5% margin is the difference between a team generating profit and a team subsidizing a client's IT operations.

The 7 on-hold projects are a quieter risk. They sit in your backlog consuming planning and management time without moving forward. Each one should have a clear decision: resume, rescope, or close. Projects that have been on hold for more than 60 days rarely restart at the original scope.

Revenue concentration is also worth watching. Patterson Hood Perez and Martin Group together account for €4.5M of €17.6M total revenue, roughly 25.6%. If either account churns, you lose a quarter of your project revenue in one go.

6.0 What Should You Do With This Data?

5 priorities based on the findings above

1

Fix UNPROFITABLE_CLIENT immediately: renegotiate rates or exit the account

A -9.5% margin on €590K in revenue means you are paying €56K out of pocket to service this client's projects. Pull the project-level breakdown and identify which specific projects or phases are driving the loss. If it is a fixed-price contract with scope creep, renegotiate the rate for new phases. If the entire relationship is underwater, have the conversation about repricing or ending the engagement. Every month you delay costs roughly €4,670.

2

Audit the 7 on-hold projects: decide within two weeks

On-hold projects are neither complete nor cancelled. They consume time in planning meetings, resource allocation discussions, and status reviews. Go through each one and make a decision: restart with a revised scope, close it as no longer needed, or convert it to a ticket-based engagement. Projects that have been stalled for more than 60 days should default to closure unless a stakeholder actively requests otherwise.

3

Set up budget tracking on all 43 in-progress projects

You have 43 projects actively consuming hours right now. Without a weekly hours-vs-budget check, you will not catch a project going over budget until it is already unprofitable. Set an alert at 80% of estimated hours. When a project crosses that threshold with more than 20% of the work remaining, stop and review before logging more time. The UNPROFITABLE_CLIENT situation almost certainly started as a single project going over budget without anyone noticing.

4

Reduce revenue concentration: diversify your project pipeline

Patterson Hood Perez and Martin Group represent 25.6% of total project revenue between them. Losing either account would be a significant hit. Look at your sales pipeline and make sure new project wins are spreading across a wider client base. Healthy MSPs keep their largest single-client concentration below 15% of total revenue.

5

Use Hernandez Ltd as your pricing benchmark

At 61.0% margin, Hernandez Ltd is your most efficient project client. Look at what makes that engagement work: tight scope definition, efficient resource allocation, or higher billing rates. Whatever the pattern is, replicate it in your proposals to new clients. If you could lift the portfolio average from 53% to 58%, that is an additional €880K in profit on the same revenue base.

7.0 Frequently Asked Questions
How is project profitability calculated?

Revenue comes from the project billing data in Autotask. Cost is calculated using the internal cost rate ($115/hr) multiplied by logged hours. Margin is the difference between revenue and cost, expressed as a percentage of revenue. A 53% margin means you keep 53 cents of every euro billed.

Why are projects grouped by client instead of individually?

With 279 projects, an individual project listing would be too long to act on. Grouping by client shows the relationship-level picture: some clients are consistently profitable, others are not. You negotiate rates and contracts at the client level, so that is where the actionable data lives.

What is a good profit margin for MSP projects?

Industry benchmarks vary, but most managed service providers target 40-60% gross margin on project work. Below 40% usually signals scope creep, underpricing, or inefficient resource allocation. Above 60% is strong. The 53% average in this dataset is healthy, though the one negative-margin client is a clear outlier.

Why are most tickets not linked to projects?

In Autotask, project work is typically tracked through project phases and tasks, not through the ticket system. Only 15 of 67,521 tickets have a project association. Service desk tickets (break-fix, incidents, requests) go through the ticket workflow. Project work goes through the project workflow. The revenue and cost figures in this report come from the project-level data.

Can I run this report against my own data?

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 project data, and produces a report like this in under fifteen minutes.

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