This report provides a detailed breakdown of time entries by resource: who's billing and who's not? for managed service providers.
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 75.6% team billability rate means just over three-quarters of all logged time reaches an invoice. The remaining 24.4% — 12,388 hours — is absorbed as overhead. At a blended cost rate of $80/h, that overhead represents roughly $991,000 in labor the business pays for but doesn't bill out. Some of this is expected and unavoidable. The question is how much is structural, and how much is fixable.
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])), [TotalHours], DESC)
EVALUATE
TOPN(
15,
SUMMARIZECOLUMNS(
'BI_Autotask_Time_Entries'[resource_name],
"Hours Worked", SUM('BI_Autotask_Time_Entries'[hours_worked]),
"Billable Hours", SUM('BI_Autotask_Time_Entries'[Billable Hours]),
"Non Billable Hours", SUM('BI_Autotask_Time_Entries'[Non billable Hours])
),
[Hours Worked],
DESC
)
| # | Resource | Hours Worked | Billable | Non-Billable | Bill % |
|---|---|---|---|---|---|
| 1 | Dr. Amber Ayala DVM | 2,399.8 | 1,749.2 | 650.6 | 72.9% |
| 2 | James Li | 2,136.0 | 1,303.4 | 832.6 | 61.0% |
| 3 | Kevin Allen | 2,060.1 | 1,145.0 | 915.1 | 55.6% |
| 4 | Maxwell Reed | 2,050.3 | 1,837.7 | 212.6 | 89.6% |
| 5 | Andrew Roberts | 1,887.7 | 1,527.1 | 360.6 | 80.9% |
| 6 | David Hunt | 1,862.2 | 1,415.9 | 446.3 | 76.1% |
| 7 | Chelsea Thomas | 1,779.6 | 1,157.0 | 622.6 | 65.0% |
| 8 | Jennifer King | 1,584.5 | 1,228.0 | 356.5 | 77.5% |
| 9 | Jerry Mcfarland | 1,554.0 | 819.2 | 734.8 | 52.7% |
| 10 | Gregory Horn | 1,504.5 | 957.0 | 547.5 | 63.6% |
| 11 | Jeremy White | 1,492.5 | 1,093.8 | 398.7 | 73.3% |
| 12 | Elizabeth Ortega | 1,433.4 | 1,308.3 | 125.1 | 91.3% |
| 13 | Daniel Daniels | 1,418.4 | 1,343.6 | 74.8 | 94.7% |
| 14 | Brandon Bishop | 1,361.5 | 1,321.7 | 39.9 | 97.1% |
| 15 | Brandon Lynn | 1,343.7 | 1,087.2 | 256.5 | 80.9% |
EVALUATE
ADDCOLUMNS(
TOPN(
15,
SUMMARIZECOLUMNS(
'BI_Autotask_Time_Entries'[resource_name],
"Hours Worked", SUM('BI_Autotask_Time_Entries'[hours_worked]),
"Billable Hours", SUM('BI_Autotask_Time_Entries'[Billable Hours]),
"Non Billable Hours", SUM('BI_Autotask_Time_Entries'[Non billable Hours])
),
[Hours Worked],
DESC
),
"Billable Pct",
DIVIDE([Billable Hours], [Hours Worked])
)
Jennifer King (77.5%) sits just below the high-efficiency threshold.
EVALUATE
FILTER(
ADDCOLUMNS(
SUMMARIZECOLUMNS(
'BI_Autotask_Time_Entries'[resource_name],
"Hours Worked", SUM('BI_Autotask_Time_Entries'[hours_worked]),
"Billable Hours", SUM('BI_Autotask_Time_Entries'[Billable Hours]),
"Non Billable Hours", SUM('BI_Autotask_Time_Entries'[Non billable Hours])
),
"Billable Pct",
DIVIDE([Billable Hours], [Hours Worked])
),
[Billable Pct] < 0.60
)
ORDER BY [Hours Worked] DESC
Of 1,362 hours logged, 1,322 are billable. Just 40 hours non-billable across all recorded time. This is the benchmark for focused, client-facing work. Understanding his workflow helps other techs reduce overhead.
The three highest-volume resources (Ayala DVM, James Li, Kevin Allen) average 63.2% billability, below the 75.6% team mean. High hours with lower billability can indicate heavy internal project load, escalation handling, or admin-heavy roles.
With 734.8 non-billable hours out of 1,554 total, nearly half of McFarland's logged time doesn't reach an invoice. That warrants a conversation: is this by design (internal role) or a logging discipline issue?
At $80/h average cost rate, that's roughly $991,000 in overhead absorbed by the business. Not all avoidable, but converting even 5% to billable recovers ~$50,000 in revenue. Visibility is the first step.
EVALUATE
ADDCOLUMNS(
SUMMARIZECOLUMNS(
'BI_Autotask_Time_Entries'[resource_name],
"Total Hours", SUM('BI_Autotask_Time_Entries'[hours_worked]),
"Bill Hours", SUM('BI_Autotask_Time_Entries'[Billable Hours]),
"Non Bill Hours", SUM('BI_Autotask_Time_Entries'[Non billable Hours])
),
"Bill Pct", DIVIDE([Bill Hours], [Total Hours]),
"Band",
IF(
DIVIDE([Bill Hours], [Total Hours]) >= 0.80, "High (80%+)",
IF(
DIVIDE([Bill Hours], [Total Hours]) >= 0.60, "Mid (60-79%)",
"Low (<60%)"
)
)
)
ORDER BY [Total Hours] DESC
Non-billable hours include internal meetings, training, admin tasks, project work not tied to a billable contract, and any time entries manually marked as non-billable. The Non billable Hours pre-calculated column in Autotask's time entry table drives this classification.
Volume and efficiency don't always move together. High-volume techs may be handling escalations, leading internal projects, mentoring juniors, or covering infrastructure. These are valuable but non-billable. This report surfaces the pattern — investigating the cause requires looking at ticket categories alongside time entries.
Remove the TOPN(15, ...) wrapper from the DAX query and execute it directly. The SUMMARIZECOLUMNS query returns all 77 resources. Remove the result limit or paginate as needed when running against a production dataset.
Yes. Wrap the query in a CALCULATETABLE() with date or account filters. For example: CALCULATETABLE(SUMMARIZECOLUMNS(...), 'BI_Autotask_Time_Entries'[date_worked] >= DATE(2025,1,1)). Cross-filter by client using the company foreign key on the time entries table.
Most service managers target 75–85% for front-line techs, with senior engineers often lower due to escalation and mentoring overhead. The team average here is 75.6% — serviceable but with room to recover roughly 2,200 additional billable hours by reaching 80%.
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