“Technician Billable Rates: Who's Hitting Target and Who's Not?”
Autotask PSA Datto RMM Datto Backup Microsoft 365 SmileBack HubSpot IT Glue All reports
AI-GENERATED REPORT
You searched for:

Technician Billable Rates: Who's Hitting Target and Who's Not?

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.

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

Technician Billable Rates: Who's Hitting Target and Who's Not?

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

Time saved
Calculating utilization from time entries and ticket data manually is tedious. This report does it automatically.
Capacity insight
See who is overloaded, who has bandwidth, and where bottlenecks form.
Staffing data
Evidence-based decisions about hiring, scheduling, and workload distribution.
Report categoryResource & Capacity
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
AudienceOperations managers, service delivery leads
Where to find this in Proxuma
Power BI › Resources › Technician Billable Rates: Who's Hitt...
What you can measure in this report
Summary KPIs
Billable Rate Ranking
Top Performers vs Bottom Performers
Billable Distribution
Non-Billable Hours Breakdown
Workload vs Billability
Analysis
Recommended Actions
Frequently Asked Questions
TOTAL HOURS
BILLABLE %
NON-BILLABLE
AI-Generated Power BI Report
Technician Billable Rates:
Who's Hitting Target and Who's Not?

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.

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 KPIs
TOTAL HOURS
50,752
All tracked time entries
BILLABLE %
75.6%
38,364 billable hours
NON-BILLABLE
12,388
24.4% of total capacity
TEAM SIZE
77
Active resources with time entries
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 Billable Rate Ranking

Top 20 technicians by total hours, color-coded by billable percentage. Green = above 80%, amber = 60-80%, red = below 60%.

Tech Q
97.2%
1,290 hrs
Tech N
97.1%
1,362 hrs
Tech M
94.7%
1,418 hrs
Tech R
94.4%
1,284 hrs
Tech L
91.3%
1,433 hrs
Tech D
89.6%
2,050 hrs
Tech E
80.9%
1,888 hrs
Tech O
80.9%
1,344 hrs
Tech H
77.5%
1,585 hrs
Tech F
76.0%
1,862 hrs
Tech K
73.3%
1,492 hrs
Tech A
72.9%
2,400 hrs
Tech P
65.7%
1,294 hrs
Tech G
65.0%
1,780 hrs
Tech J
63.6%
1,505 hrs
Tech B
61.0%
2,136 hrs
Tech S
59.0%
1,256 hrs
Tech T
56.0%
1,239 hrs
Tech C
55.6%
2,060 hrs
Tech I
52.7%
1,554 hrs
View DAX Query - Per-Resource Billable Hours
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]))
3.0 Top Performers vs Bottom Performers

Comparing the 5 highest and 5 lowest billable rates among the top 20 by volume.

ResourceTotal HoursBillableNon-BillableRate
Dr. Amber Ayala DVM2,4001,74965172.9%
James Li2,1361,30383361.0%
Kevin Allen2,0601,14591555.6%
Maxwell Reed2,0501,83821389.6%
Andrew Roberts1,8881,52736180.9%
David Hunt1,8621,41644676.0%
Chelsea Thomas1,7801,15762365.0%
Jennifer King1,5851,22835777.5%
Jerry Mcfarland1,55481973552.7%
Gregory Horn1,50595754763.6%
Bottom 5 Performers
TechnicianTotal HrsBillable HrsBillable %Non-Bill Hrs
Tech B2,1361,30361.0%833
Tech S1,25674259.0%515
Tech T1,23969456.0%546
Tech C2,0601,14555.6%915
Tech I1,55481952.7%735
View DAX Query - Per-Resource with Client and Ticket Count
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)
4.0 Billable Distribution

Overall billable vs non-billable split, plus segmented breakdown by performance tier.

75.6% Billable
Overall Billable Rate
24.4% Non-Billable
Non-Billable Share

Tier breakdown among the top 20 technicians:

Top 20
8 >80%
8 @ 60-80%
4 <60%
Above 80% (target met) 60-80% (needs improvement) Below 60% (at risk)
5.0 Non-Billable Hours Breakdown

Where the non-billable time is concentrated. Sorted by non-billable hours descending.

Tech C
915 hrs
55.6%
Tech B
833 hrs
61.0%
Tech I
735 hrs
52.7%
Tech A
651 hrs
72.9%
Tech G
623 hrs
65.0%
Tech J
547 hrs
63.6%
Tech T
546 hrs
56.0%
Tech S
515 hrs
59.0%
Tech F
446 hrs
76.0%
Tech P
444 hrs
65.7%
View DAX Query - Non-Billable Hours per Resource
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
)
6.0 Workload vs Billability

Do the busiest technicians also have the best billable rates? Not always.

TechnicianTotal HrsBillable %Non-Bill HrsStatus
Tech A2,40072.9%651Amber
Tech B2,13661.0%833Amber
Tech C2,06055.6%915Red
Tech D2,05089.6%213Green
Tech E1,88880.9%361Green
Tech F1,86276.0%446Amber
Tech G1,78065.0%623Amber
Tech H1,58577.5%357Amber
Tech I1,55452.7%735Red
Tech J1,50563.6%547Amber
Tech K1,49273.3%399Amber
Tech L1,43391.3%125Green
Tech M1,41894.7%75Green
Tech N1,36297.1%40Green
Tech O1,34480.9%257Green
Tech P1,29465.7%444Amber
Tech Q1,29097.2%36Green
Tech R1,28494.4%72Green
Tech S1,25659.0%515Red
Tech T1,23956.0%546Red
7.0 Analysis
1

Eight technicians exceed the 80% billable target

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.

2

High-volume technicians with low billable rates are the biggest revenue leak

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.

3

The 60-80% amber zone holds the most potential for improvement

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.

4

Workload volume does not predict billable efficiency

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.

8.0 Recommended Actions

Steps to lift the team's overall billable rate toward the 80% target.

1

Audit non-billable time for Tech C, Tech B, and Tech I

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.

2

Set weekly utilization targets for the amber-zone group

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.

3

Study what makes the top performers different

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.

9.0 Frequently Asked Questions
How is billable percentage calculated?

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.

What is a good billable target for MSP technicians?

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.

Why are some high-volume technicians in the amber or red zone?

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.

Does this report include all 77 resources?

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.

How can I break down non-billable time by category?

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.

Can I run these DAX queries on my own Power BI dataset?

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.

How often should this report be reviewed?

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.

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