A breakdown of labour revenue, cost, and margin across 77 resources from Autotask PSA project and time entry data. This report maps billable hours per technician against client revenue to identify which resources drive profit and which ones are underwater.
A breakdown of labour revenue, cost, and margin across 77 resources from Autotask PSA project and time entry data. This report maps billable hours per technician against client revenue to identify which resources drive profit and which ones are underwater.
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
A breakdown of labour revenue, cost, and margin across 77 resources from Autotask PSA project and time entry data. This report maps billable hours per technician against client revenue to identify which resources drive profit and which ones are underwater.
Key financial and utilisation metrics across all 77 active resources in the last 12 months.
The highest-revenue clients ranked by total billing, showing total hours, billable hours, and the effective rate per billable hour.
| Client | Total Hrs | Bill. Hrs | Revenue | Eff. Rate |
|---|---|---|---|---|
| Client A | 4,370 | 3,792 | $2,324,617 | $532/hr |
| Client B | 2,801 | 2,665 | $2,212,915 | $790/hr |
| Client C | 3,791 | 3,127 | $1,431,177 | $378/hr |
| Client D | 2,217 | 1,970 | $637,092 | $287/hr |
| Client E | 695 | 622 | $589,694 | $849/hr |
| Client F | 1,697 | 1,665 | $476,622 | $281/hr |
| Client G | 1,312 | 1,096 | $469,660 | $358/hr |
| Client H | 84 | 84 | $416,450 | $4,958/hr |
| Client I | 782 | 681 | $328,165 | $420/hr |
| Client J | 962 | 916 | $321,669 | $334/hr |
| Client K | 1,006 | 853 | $320,832 | $319/hr |
| Client L | 865 | 808 | $286,926 | $332/hr |
| Client M | 197 | 183 | $255,698 | $1,298/hr |
| Client N | 710 | 605 | $253,148 | $357/hr |
| Client O | 683 | 666 | $214,469 | $314/hr |
Client H stands out. With only 84 hours logged, it generates $416,450 in revenue for an effective rate of $4,958/hr. This is likely a licensing or product-heavy account with minimal labour. Client M shows a similar pattern at $1,298/hr from just 197 hours.
EVALUATE
TOPN(15,
SUMMARIZECOLUMNS(
'BI_Autotask_Companies'[company_name],
"TotalHours", SUM('BI_Autotask_Time_Entries'[hours_worked]),
"BillableHours", CALCULATE(SUM('BI_Autotask_Time_Entries'[hours_worked]), 'BI_Autotask_Time_Entries'[is_non_billable] = FALSE),
"Revenue", SUM('BI_Autotask_Billing_Items'[total_amount])
),
[Revenue], DESC
)
Comparing total labour cost ($724.9K) against labour revenue ($1.43M) for the top clients by hours worked. The gap between the bars is your profit per client.
EVALUATE
ROW(
"LabourRevenue", [Labour Revenue],
"LabourCost", [Labour Cost]
)
Comparing clients with the highest effective hourly rates (product/licensing-heavy) versus those with the lowest (labour-intensive). The donut shows what share of revenue the top 5 clients by effective rate contribute.
The top 5 clients by effective rate generate 55.1% of the top-15 revenue from just 6,849 hours. The bottom 5 clients need 6,468 hours to produce only 18.4% of that same revenue. The difference is clear: high-rate clients run on licensing and product revenue, while low-rate clients consume heavy labour for every dollar earned.
The top 15 resources by total hours, split into billable and non-billable. Resources with a low billable percentage represent a direct drag on labour margins.
| Metric | Value |
|---|---|
| Revenue/Employee | $89,300 |
| Hours/Employee | 677 |
| Effective Rate | $131.96/hr |
| Billable Ratio | 75.6% |
EVALUATE ROW("TotalRevenue", SUM('BI_Autotask_Charges'[billable_amount]), "Employees", [Total Employees], "RevenuePerEmployee", DIVIDE(SUM('BI_Autotask_Charges'[billable_amount]), [Total Employees]), "HoursPerEmployee", DIVIDE([Tickets - Hours Worked], [Total Employees]))
Identifying the accounts and technicians that contribute the most to the $708,669 labour profit.
Client-side profit concentration is extreme. The top 3 clients (A, B, C) generate $5.97M of the top-15 revenue, representing 56.7% of the group total. Client B delivers the best balance: $2.2M revenue from only 2,801 hours, with a $790/hr effective rate. Client A brings in the most revenue ($2.3M) but also consumes the most hours (4,370).
Tech N and Tech M are the efficiency leaders. Tech N logs 97.1% billable across 1,362 hours while handling 3,275 tickets for 137 different clients. That level of utilisation with that breadth of coverage is exceptional. Tech M runs at 94.7% billable on 1,418 hours and 3,220 tickets. These two set the standard for what good looks like.
Tech C and Tech I are the biggest drags on margin. Tech C has 915 non-billable hours (44.4% of total) while only handling 99 tickets across 54 clients. That pattern suggests either project-based work with poor time tracking, or internal work that should be reclassified. Tech I at 52.7% billable with only 29 clients looks like a resource that is underdeployed.
High-volume ticket handlers correlate with high billable rates. Tech D (2,613 tickets, 89.6% billable), Tech E (2,297 tickets, 80.9%), and Tech N (3,275 tickets, 97.1%) all maintain strong utilisation while processing large ticket volumes. The reactive work keeps them billing. Resources with low ticket counts but high hours tend to drift into non-billable territory.
At $1.43M revenue against $724.9K cost, the labour operation produces nearly a dollar of profit for every dollar of cost. The 24.4% gap between overall billable ratio (75.6%) and target (>85%) represents roughly 5,260 hours that could shift from non-billable to billable. At $347/hr average, that gap is worth up to $1.8M in potential revenue.
Tech C (55.6% billable, 2,060 hrs) and Tech I (52.7% billable, 1,554 hrs) together log 3,614 hours with 1,650 non-billable hours between them. If these two were brought to the team average of 75.6%, that would convert 807 hours to billable work, worth an estimated $280K in revenue.
This is almost certainly product or licensing revenue attached to minimal labour. While the effective rate looks spectacular, it masks the true cost structure. If the relationship changes or the product revenue drops, there are no hours to cut. This type of client needs a different management approach than labour-driven accounts.
The five resources with the highest ticket counts (Tech N, Tech M, Tech D, Tech E, Tech J) average 85.2% billable. The five resources with the lowest ticket counts average just 66.0% billable. Reactive ticket work naturally fills the day with billable activity. Resources on project work need tighter tracking to match that standard.
Concrete steps to improve labour profitability and resource utilisation.
Pull every non-billable time entry for both resources over the last 90 days. Categorize them: internal project, admin, training, or misclassified. Target: identify at least 40% of non-billable hours that should be reclassified or eliminated. Set a 75% billable target for the next quarter.
Make the billable percentage visible to every technician on a weekly basis. Resources that can see their own number tend to self-correct. Set the team target at 80% and flag anyone below 65% for a manager conversation. The data already exists in Power BI; it just needs a dedicated view.
Clients like H ($4,958/hr) and M ($1,298/hr) skew the average effective rate. Create two segments: "labour-driven" (effective rate below $500/hr) and "product-driven" (above $500/hr). This gives a clearer picture of true labour efficiency without the noise from licensing revenue.
Effective rate is total revenue divided by billable hours for each client. It represents the real revenue generated per hour of billable work, accounting for fixed-fee contracts, product sales, and any other billing items attached to that client.
Labour margin only looks at revenue and cost from project-based work tied to time entries. The overall margin includes recurring services, product sales, and other billing items that may have very different cost structures. Labour margin isolates the people side of the business.
A billable hour is any time entry where is_non_billable equals FALSE in the Autotask time entries table. This is set by the technician or the billing rules on the contract. Internal meetings, training, and admin tasks are typically non-billable.
Not necessarily. Low ticket counts with high hours usually means project-based work, where a single ticket covers many hours. The concern arises when low ticket counts combine with low billable percentages, as that suggests underutilisation or poorly tracked internal work.
Monthly for the resource utilisation metrics. The billable percentage can shift fast, especially when resources move between projects. The client revenue table is best reviewed quarterly or when contracts come up for renewal.
Yes. Copy any query from the toggles above 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.
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