Which resources log the least billable hours relative to total hours worked? This report ranks every resource by billable percentage and flags where workload rebalancing is needed. Generated by AI via Proxuma Power BI MCP server.
Which resources log the least billable hours relative to total hours worked? This report ranks every resource by billable percentage and flags where workload rebalancing is needed. 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
Which resources log the least billable hours relative to total hours worked? This report ranks every resource by billable percentage and flags where workload rebalancing is needed. Generated by AI via Proxuma Power BI MCP server.
EVALUATE
ROW(
"TotalLoggedHours", [Company - Hours Worked],
"TotalBillableHours", [Company - Billable Hours],
"OverallBillablePct", DIVIDE([Company - Billable Hours], [Company - Hours Worked]),
"ResourceCount", CALCULATE(DISTINCTCOUNT('BI_Autotask_Time_Entries'[resource_name]), 'BI_Autotask_Time_Entries'[hours_worked]>0)
)
Billable vs. non-billable split across all logged time entries
Across all resources, 75.6% of logged hours are billable. That is 4.4 percentage points below the industry standard of 80%. On a team logging thousands of hours per year, that gap adds up to hundreds of hours of lost revenue potential.
The non-billable 24.4% covers internal projects, admin, training, and meetings. Some of that is necessary. But when individual resources drop below 50%, there is a structural problem worth investigating.
EVALUATE
SUMMARIZECOLUMNS(
'BI_Autotask_Time_Entries'[resource_name],
"TotalHours", SUM('BI_Autotask_Time_Entries'[hours_worked]),
"BillableHours", SUM('BI_Autotask_Time_Entries'[Billable Hours]),
"NonBillableHours", SUM('BI_Autotask_Time_Entries'[Non billable Hours])
)
ORDER BY [TotalHours] DESC
Resources ranked from lowest to highest billable percentage on logged hours. Red = below 50%, amber = 50-70%, green = above 80%.
| # | Resource | Total Hrs | Billable Hrs | Internal Hrs | Billable % | Status |
|---|---|---|---|---|---|---|
| 1 | Resource A | 992 | 107 | 885 | 10.8% | Critical |
| 2 | Resource B | 64 | 18 | 46 | 28.1% | Critical |
| 3 | Resource C | 24 | 9 | 15 | 36.1% | Critical |
| 4 | Resource D | 446 | 185 | 261 | 41.4% | Critical |
| 5 | Resource E | 1,063 | 521 | 542 | 49.0% | Critical |
| 6 | Resource F | 696 | 358 | 339 | 51.4% | Watch |
| 7 | Resource G | 356 | 190 | 165 | 53.5% | Watch |
| 8 | Resource H | 2,060 | 1,145 | 915 | 55.6% | Watch |
| 9 | Resource I | 1,239 | 694 | 546 | 56.0% | Watch |
| 10 | Resource K | 603 | 340 | 263 | 56.4% | Watch |
| 11 | Resource J | 626 | 358 | 268 | 57.2% | Watch |
| 12 | Resource L | 1,256 | 742 | 515 | 59.0% | Watch |
| 13 | Resource M | 2,136 | 1,303 | 833 | 61.0% | Watch |
| 14 | Resource N | 1,505 | 957 | 547 | 63.6% | Watch |
| 15 | Resource O | 1,780 | 1,157 | 623 | 65.0% | Watch |
Autotask capacity-based billable percentage reveals a time logging gap across all resources
When you measure billable percentage against Autotask capacity hours instead of just logged hours, the numbers collapse. Every resource shows a billable percentage between 0.001% and 0.002% against their capacity. Unwritten hours make up 97-100% of available capacity.
This means one of two things. Either capacity settings in Autotask are configured too high (the default is often 2,080 hours/year per resource, which assumes full-time availability). Or your team is only logging a fraction of their actual working time.
Both problems are worth fixing. If capacity settings are wrong, your utilization dashboards will always show near-zero, making them useless for planning. If time logging is incomplete, you are losing visibility into where hours actually go.
EVALUATE
TOPN(
15,
FILTER(
ADDCOLUMNS(
SUMMARIZECOLUMNS(
'BI_Autotask_Time_Entries'[resource_name],
"Logged", [Company - Hours Worked],
"Billable", [Company - Billable Hours]
),
"BillablePct", DIVIDE([Billable], [Logged])
),
[Logged] >= 50
),
[BillablePct], ASC
)
ORDER BY [BillablePct] ASC
How far each resource sits from the 80% billable industry benchmark on logged hours
Not a single resource in this dataset hits 80%. The closest is Resource O at 65.0%, still 15 percentage points short. The worst performer, Resource A, sits at 10.8% with 885 internal hours against only 107 billable.
For the high-volume resources (H, M, E, O with 1,000+ hours each), even small improvements matter. Moving Resource H from 55.6% to 65% would shift roughly 194 hours from internal to billable. At a typical MSP hourly rate, that is real revenue.
| Resource | Current % | Gap to 80% | Hours to Shift | Impact |
|---|---|---|---|---|
| Resource A | 10.8% | -69.2pp | 687 | Critical |
| Resource E | 49.0% | -31.0pp | 330 | High Volume |
| Resource H | 55.6% | -24.4pp | 503 | High Volume |
| Resource M | 61.0% | -19.0pp | 406 | High Volume |
| Resource O | 65.0% | -15.0pp | 267 | Nearest to Target |
Why billable percentages are low and where internal hours are going
Low billable percentages typically come from a few common patterns in MSPs:
1. Role mismatch. Some resources are in roles that are naturally internal-heavy: team leads, project managers, internal IT. Resource A at 10.8% billable with 992 total hours looks like a management or infrastructure role, not a service desk technician. If that is by design, the benchmark should be different for them.
2. Internal project overload. Resources D and E each have 260-540 internal hours. If those hours are tied to internal projects (office moves, tool migrations, infrastructure upgrades), they will drag the ratio down temporarily. Check whether those projects have end dates.
3. Time entry misclassification. Non-billable time entries that should be billable are a common Autotask configuration problem. If a work type or role is set to "non-billable" by default, every entry under it will count against the ratio. Review work type settings for the resources with the biggest gaps.
4. Incomplete time logging. The capacity data confirms this: 97-100% of capacity hours are unwritten. Resources may be doing billable work but not logging it. This is the most expensive problem because unlogged billable hours are hours you can never invoice.
All 15 tracked resources fall below the MSP industry standard. The portfolio average of 75.6% masks wide variation: five resources sit below 50%, meaning more than half their logged hours generate no revenue. For high-volume resources like H (2,060 hrs) and M (2,136 hrs), even a 10-point improvement would shift 200+ hours to billable.
Every resource shows near-zero utilization against Autotask capacity settings. Unwritten hours account for 97-100% of capacity. This means either capacity is misconfigured (too high), time logging is incomplete, or both. Until this is fixed, capacity-based reports and dashboards will be unreliable.
The team is not far from the 80% target when you look at logged hours only. The gap is 4.4 percentage points. If the bottom five resources (A through E) can shift even a portion of their internal hours to billable, the portfolio will cross 80%. Start with time entry classification and work type audits.
5 priorities based on the findings above
At 10.8% billable across 992 hours, Resource A is either in a role that should not be measured by billable percentage (manager, internal IT) or is logging time against the wrong work types. Determine which it is this week. If the role is billable, review the work type configuration for every time entry.
Capacity utilization under 1% means the capacity hours in Autotask do not match reality. Check each resource's configured hours per week/year. If they default to 2,080 and your team works 1,800, the math will always be wrong. Correct the capacity settings so utilization dashboards become useful.
Resources A through E may have billable work logged under non-billable work types. Pull a sample of 20 time entries for each and check whether the work type matches the actual work done. One misconfigured work type can drag an entire resource's ratio down.
The capacity data shows massive unlogged hours. Set a minimum daily logging target (e.g., 6.5 hours per 8-hour day) and track compliance weekly. Unlogged hours are the biggest invisible cost: you cannot bill for time you did not record.
Both have 1,000+ hours logged but sit at 49% and 55.6% billable. They are your highest-volume resources below target. Shift some of their internal project work to resources with lower total hours (B, C, G) and assign more client-facing tickets to E and H. Even a 10-point improvement on these two would noticeably move the portfolio average.
A billable hour is any time entry in Autotask where the work type or billing code is set to billable. This is determined by the work type configuration in your Autotask setup. If a work type is marked non-billable, all time entries under it count as internal, regardless of whether the work was done for a client.
Capacity-based utilization divides actual logged hours by the capacity hours configured in Autotask. If capacity is set to 2,080 hours/year but a resource only logs 400 hours, the utilization will be under 20% before you even consider billable vs. non-billable. The near-zero numbers in this report suggest either capacity settings are too high or time logging is severely incomplete.
The industry benchmark is 80% for client-facing technical staff. Service desk engineers and field technicians should aim for 75-85%. Team leads and managers are often lower (50-65%) because they split time between client work and internal coordination. The key is to set different targets by role rather than applying one number to everyone.
It depends on the role. A service desk tech at 40% billable is a problem. A project manager at 40% might be normal. Before taking action, check the resource's role, the types of projects they work on, and whether their time entries are classified correctly. A misclassified work type can make a billable resource look non-billable in the data.
Start with an audit. Pull the resource's time entries for the last 90 days and check which work types they log against. If billable work is logged under non-billable work types, fix the classification. If the resource genuinely does mostly internal work, reassign some client-facing tickets to them. If time logging is incomplete, set a daily minimum and track compliance.
Yes. Connect Proxuma Power BI to your Autotask account, 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 data, and produces a report like this in under fifteen minutes.
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