A per-technician breakdown of billable vs non-billable hours. See which team members consistently hit utilization targets and where capacity is being absorbed by internal or non-chargeable work. Generated by AI via Proxuma Power BI MCP server.
A per-technician breakdown of billable vs non-billable hours. See which team members consistently hit utilization targets and where capacity is being absorbed by internal or non-chargeable work. 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: Operations managers, service delivery leads, and MSP owners managing capacity
How often: Weekly for scheduling, monthly for utilization reviews, quarterly for staffing decisions
A per-technician breakdown of billable vs non-billable hours. See which team members consistently hit utilization targets and where capacity is being absorbed by internal or non-chargeable work. Generated by AI via Proxuma Power BI MCP server.
Top 20 technicians by total hours, color-coded by billable percentage. Green = above 80%, amber = 60-80%, red = below 60%.
EVALUATE ROW("TotalEntries", COUNTROWS('BI_Autotask_Time_Entries'), "TotalHours", SUM('BI_Autotask_Time_Entries'[hours_worked]), "BillableHours", SUM('BI_Autotask_Time_Entries'[Billable Hours]), "NonBillable", SUM('BI_Autotask_Time_Entries'[Non billable Hours]), "ResourceCount", DISTINCTCOUNT('BI_Autotask_Time_Entries'[resource_name]))
Comparing the 5 highest and 5 lowest billable rates among the top 20 by volume.
| Resource | Total Hours | Billable | Non-Billable | Rate |
|---|---|---|---|---|
| Dr. Amber Ayala DVM | 2,400 | 1,749 | 651 | 72.9% |
| James Li | 2,136 | 1,303 | 833 | 61.0% |
| Kevin Allen | 2,060 | 1,145 | 915 | 55.6% |
| Maxwell Reed | 2,050 | 1,838 | 213 | 89.6% |
| Andrew Roberts | 1,888 | 1,527 | 361 | 80.9% |
| David Hunt | 1,862 | 1,416 | 446 | 76.0% |
| Chelsea Thomas | 1,780 | 1,157 | 623 | 65.0% |
| Jennifer King | 1,585 | 1,228 | 357 | 77.5% |
| Jerry Mcfarland | 1,554 | 819 | 735 | 52.7% |
| Gregory Horn | 1,505 | 957 | 547 | 63.6% |
| Bottom 5 Performers | ||||
|---|---|---|---|---|
| Technician | Total Hrs | Billable Hrs | Billable % | Non-Bill Hrs |
| Tech B | 2,136 | 1,303 | 61.0% | 833 |
| Tech S | 1,256 | 742 | 59.0% | 515 |
| Tech T | 1,239 | 694 | 56.0% | 546 |
| Tech C | 2,060 | 1,145 | 55.6% | 915 |
| Tech I | 1,554 | 819 | 52.7% | 735 |
EVALUATE TOPN(15, SUMMARIZECOLUMNS('BI_Autotask_Time_Entries'[resource_name], "TotalHours", SUM('BI_Autotask_Time_Entries'[hours_worked]), "BillableHours", SUM('BI_Autotask_Time_Entries'[Billable Hours]), "NonBillable", SUM('BI_Autotask_Time_Entries'[Non billable Hours]), "TicketCount", DISTINCTCOUNT('BI_Autotask_Time_Entries'[ticket_id])), [TotalHours], DESC)
Overall billable vs non-billable split, plus segmented breakdown by performance tier.
Tier breakdown among the top 20 technicians:
Where the non-billable time is concentrated. Sorted by non-billable hours descending.
EVALUATE
TOPN(20,
SUMMARIZECOLUMNS(
'BI_Autotask_Time_Entries'[resource_name],
"NonBillableHours", CALCULATE(
SUM('BI_Autotask_Time_Entries'[hours_worked]),
'BI_Autotask_Time_Entries'[is_non_billable] = TRUE
),
"BillablePct", DIVIDE(
CALCULATE(
SUM('BI_Autotask_Time_Entries'[hours_worked]),
'BI_Autotask_Time_Entries'[is_non_billable] = FALSE
),
SUM('BI_Autotask_Time_Entries'[hours_worked])
)
),
[NonBillableHours], DESC
)
Do the busiest technicians also have the best billable rates? Not always.
| Technician | Total Hrs | Billable % | Non-Bill Hrs | Status |
|---|---|---|---|---|
| Tech A | 2,400 | 72.9% | 651 | Amber |
| Tech B | 2,136 | 61.0% | 833 | Amber |
| Tech C | 2,060 | 55.6% | 915 | Red |
| Tech D | 2,050 | 89.6% | 213 | Green |
| Tech E | 1,888 | 80.9% | 361 | Green |
| Tech F | 1,862 | 76.0% | 446 | Amber |
| Tech G | 1,780 | 65.0% | 623 | Amber |
| Tech H | 1,585 | 77.5% | 357 | Amber |
| Tech I | 1,554 | 52.7% | 735 | Red |
| Tech J | 1,505 | 63.6% | 547 | Amber |
| Tech K | 1,492 | 73.3% | 399 | Amber |
| Tech L | 1,433 | 91.3% | 125 | Green |
| Tech M | 1,418 | 94.7% | 75 | Green |
| Tech N | 1,362 | 97.1% | 40 | Green |
| Tech O | 1,344 | 80.9% | 257 | Green |
| Tech P | 1,294 | 65.7% | 444 | Amber |
| Tech Q | 1,290 | 97.2% | 36 | Green |
| Tech R | 1,284 | 94.4% | 72 | Green |
| Tech S | 1,256 | 59.0% | 515 | Red |
| Tech T | 1,239 | 56.0% | 546 | Red |
Tech Q (97.2%), Tech N (97.1%), Tech M (94.7%), Tech R (94.4%), Tech L (91.3%), Tech D (89.6%), Tech E (80.9%), and Tech O (80.9%) all hit or beat the 80% benchmark. These eight technicians combined deliver 10,923 billable hours from 12,169 total hours. That is a 89.8% average rate for this group.
Tech C logged 2,060 hours but only 55.6% were billable. That is 915 non-billable hours from a single person. Tech B shows a similar pattern: 2,136 hours, only 61.0% billable, with 833 hours going unbilled. These two technicians alone account for 1,748 non-billable hours. If their rates matched the team average (75.6%), that would recover roughly 420 billable hours.
Eight technicians sit in the 60-80% range. Together they represent 14,455 total hours. Moving this group from an average of 69.4% to 80% would add roughly 1,530 additional billable hours across the team. That is the equivalent of almost one full-time technician's annual output without hiring anyone new.
Tech A has the highest total hours (2,400) but sits at only 72.9% billable. Meanwhile, Tech Q logged just 1,290 hours but achieved 97.2% billable. The busiest people are not always the most profitable. This suggests the issue is in work assignment and time categorization, not in effort or capacity.
Steps to lift the team's overall billable rate toward the 80% target.
These three technicians account for 2,483 non-billable hours combined. Pull their time entries by work type and look for patterns: internal projects, admin overhead, travel, or misclassified entries. Even reclassifying 10-15% of their non-billable time could shift the overall team rate by a full percentage point.
The 8 technicians between 60-80% are the best candidates for quick wins. Set individual weekly targets, review progress in 1:1s, and track the trend. A 5-point increase for this group alone adds over 700 billable hours per year.
Tech Q, Tech N, Tech M, and Tech R all exceed 94% billable. Look at their client mix, ticket types, and how they log time. If they work mostly on billable contracts with minimal context-switching, that is a model to replicate across the team.
Billable percentage is the sum of hours where is_non_billable = FALSE divided by the total hours_worked for each resource. The data comes from the BI_Autotask_Time_Entries table in the Proxuma Power BI data model.
Most MSPs target 70-80% billable utilization for technicians. Senior engineers or those with management responsibilities may target 60-70%. Anything consistently below 60% deserves investigation.
Common causes include internal project work, training responsibilities, team lead duties, pre-sales activities, or simply time entries that should have been marked as billable but were not. The fix depends on which of these applies.
The detailed breakdown shows the top 20 by total hours. The summary KPIs at the top cover all 77 active resources. You can run the DAX query without the TOPN wrapper to see every resource.
Add the work_type or task_category column from BI_Autotask_Time_Entries to the SUMMARIZECOLUMNS query. This will show whether non-billable hours go to internal projects, admin, training, or other categories.
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.
Monthly is ideal for tracking trends. Weekly spot checks on the bottom performers help catch slippage early. The top performers rarely need intervention, so focus review time on the amber and red zones.
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