How much of your team's expected capacity actually gets logged in Autotask? This report compares time entries against capacity settings per resource and reveals a compliance gap that undermines every utilization metric you rely on.
How much of your team's expected capacity actually gets logged in Autotask? This report compares time entries against capacity settings per resource and reveals a compliance gap that undermines every utilization metric you rely on.
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: Security teams, compliance officers, and MSP owners managing risk
How often: Weekly for security posture, monthly for compliance reporting, on-demand for audits
How much of your team's expected capacity actually gets logged in Autotask? This report compares time entries against capacity settings per resource and reveals a compliance gap that undermines every utilization metric you rely on.
BI_Autotask_Time_Entries table, and ran Autotask Capacity measures (Billable %, Unwritten %, Internal %) per resource. The compliance rate compares total logged hours against the capacity hours configured in Autotask for each resource. All data is anonymized.
Logged hours vs. unlogged capacity across all 77 resources
The left donut shows the big picture. Of all expected capacity hours across 77 resources, only about 0.2% actually have a corresponding time entry in Autotask. The remaining 99.8% is completely unaccounted for.
The right donut provides a small silver lining: of the hours that are logged, 75.6% are billable. The team is not logging low-value internal time instead of client work. They are simply not logging most of their time at all.
EVALUATE
SUMMARIZECOLUMNS(
'BI_Autotask_Time_Entries'[resource_name],
"BillablePct", [Billable % (Autotask Capacity)],
"UnwrittenPct", [Unwritten % (Autotask Capacity)],
"InternalPct", [Internal % (Autotask Capacity)]
)
ORDER BY [UnwrittenPct] DESC
Top 15 resources by hours logged, showing capacity-based compliance
| Metric | Value |
|---|---|
| Total Tickets | 67,521 |
| Tickets with Time | 36,285 (53.7%) |
| Tickets without Time | 31,236 (46.3%) |
| Avg Hours per Ticket | 1.40h |
| Total Hours | 50,752 |
| Total Entries | 82,790 |
EVALUATE ROW("TotalTickets", COUNTROWS('BI_Autotask_Tickets'), "TicketsWithTime", DISTINCTCOUNT('BI_Autotask_Time_Entries'[ticket_id]), "AvgHoursPerTicket", DIVIDE(SUM('BI_Autotask_Time_Entries'[hours_worked]), DISTINCTCOUNT('BI_Autotask_Time_Entries'[ticket_id])))
Is this a logging problem or a configuration problem?
A 99.8% unwritten rate across every single resource is not normal. Two explanations exist, and both require action.
Scenario 1: Capacity settings are wrong. Autotask lets you define capacity hours per resource. If these were never configured, or if they default to an unrealistic number (like 24 hours/day, 7 days/week), the denominator in every capacity-based measure becomes absurdly large. A resource logging 40 hours per week against a capacity of 168 hours will always show as 24% utilized, not the 100% you expect. If the default is even higher, you get the sub-1% numbers in this report.
Scenario 2: The team genuinely logs very little. Some MSPs have a culture where only billable client work gets logged. Internal meetings, project work, admin time, and training go unrecorded. If that is the case here, the 50,752 hours logged represent only the tip of the iceberg, and you have no visibility into where the rest of the time goes.
The most likely answer is a combination of both. Start by auditing the capacity settings in Autotask Admin > Resources. If the numbers there do not match your team's actual contracted hours, fix them first. Then measure again.
What bad time logging compliance means for your other metrics
Time logging compliance is not just a process metric. It is the foundation for every financial and operational report you build. When 99.8% of capacity goes unrecorded, the following metrics become unreliable:
Utilization rate is the most obvious casualty. If your team logs 0.2% of capacity, your utilization dashboards will show your MSP as nearly idle. That is clearly not true if you are handling tickets and closing projects. But anyone looking at the data without context will draw the wrong conclusion.
Revenue per hour calculations break down. You can calculate revenue per logged hour, but you cannot calculate revenue per available hour. The difference matters when you are trying to understand whether you are overstaffed or understaffed.
Resource planning becomes guesswork. Without accurate time data, you cannot tell which technicians are overloaded and which have spare capacity. Staffing decisions end up based on gut feel instead of data.
Client profitability reports understate the real cost of service delivery. If a technician spends 3 hours on a client but only logs 1, the profitability report shows a margin that does not exist.
EVALUATE
ROW(
"TotalHours", SUM('BI_Autotask_Time_Entries'[hours_worked]),
"BillableHours", SUM('BI_Autotask_Time_Entries'[Billable Hours]),
"ResourceCount", DISTINCTCOUNT('BI_Autotask_Time_Entries'[resource_name]),
"BillableRatio", DIVIDE(
SUM('BI_Autotask_Time_Entries'[Billable Hours]),
SUM('BI_Autotask_Time_Entries'[hours_worked])
)
)
Looking at the 50,752 hours that were actually recorded
Setting aside the capacity problem, the hours that are logged tell a more encouraging story. Of 50,752 total logged hours across all resources, 75.6% are billable. That is a solid ratio by MSP standards, where the typical range sits between 60% and 80%.
This means the team does prioritize logging billable client work. The gap is in everything else: internal projects, meetings, training, admin, and travel. These hours either are not being logged at all, or they are happening but nobody records them.
The 24.4% that is non-billable is not wasted time. It includes internal tickets, project work, and operational tasks that keep the MSP running. But without logging those hours consistently, you cannot distinguish between a team that spends 10% on internal work and one that spends 40%.
Not a single resource in the dataset logs more than 0.23% of their expected capacity. This is a systemic issue, not an individual performance problem. The Autotask capacity configuration is the most likely root cause and should be audited before drawing any utilization conclusions.
Utilization rates, resource planning, and client profitability reports all depend on accurate time data. With a 99.8% gap between capacity and logged hours, none of these metrics can be trusted. Any business decision based on utilization data from this PSA instance carries significant risk.
The team logs billable work first, which is the right priority. But the absence of internal time entries means you have no visibility into overhead, training, or admin hours. The true billable ratio (against total working time) is unknown.
Step-by-step plan to close the compliance gap
Go to Autotask Admin > Resources and check the capacity hours for each resource. If they are set to default values (or unrealistically high numbers), update them to match actual contracted hours. A resource working 40 hours/week should show 40 hours/week capacity, not 168. This single fix will move your compliance metrics from 0.2% to something meaningful.
After fixing capacity settings, set a team target. Most MSPs aim for 85-95% of capacity logged. Do not expect 100%. Meetings get interrupted, context-switching happens, and some time is genuinely unloggable. But moving from 0.2% to 85% will transform your reporting quality.
Create standard internal task categories: meetings, training, admin, project work. Make it as easy to log internal time as it is to log ticket time. The goal is full visibility, not just billable tracking. Without internal time entries, you will never know your true utilization rate.
Re-run this report every month after making changes. Compliance improvements should show up within the first reporting cycle. If numbers do not move, the issue is not awareness but process. Look at whether your PSA makes time logging too difficult or whether there is no accountability mechanism in place.
Share per-resource compliance numbers with team leads weekly. Not as a punishment tool, but as a visibility metric. Teams that see their own numbers improve faster than teams that get lectured about time logging. Make the data visible and let peer accountability do the rest.
The most likely cause is misconfigured capacity settings in Autotask. If resource capacity defaults to an unrealistically high number (like 24/7 availability), even a full 40-hour work week will show as a fraction of a percent. Check Admin > Resources in Autotask and verify that capacity hours match actual contracted working hours for each resource.
Most well-run MSPs aim for 85-95% of capacity hours logged. This includes both billable and internal time. Reaching 100% is unrealistic because small gaps between tasks, context switching, and brief interruptions will always exist. The key is closing the gap enough that utilization metrics become reliable.
No. The 50,752 logged hours and 75.6% billable ratio show that your team is active and productive. The problem is that the capacity baseline in Autotask does not reflect reality. Once capacity settings are corrected, the compliance rate will jump to a much more realistic number.
Each resource in Autotask has a capacity setting that defines their expected working hours. Proxuma Power BI uses these to calculate measures like Billable %, Unwritten %, and Internal %. If a resource has 2,080 hours/year capacity (40 hrs/week) and logs 1,800 hours, their compliance is 87%. If the capacity is set to 8,760 hours (24/7), the same 1,800 hours shows as 21%.
Utilization rate, resource planning accuracy, client profitability calculations, and revenue-per-hour metrics all depend on accurate time data. Fixing compliance also makes staffing decisions data-driven instead of guesswork. You will know who has spare capacity and who is overloaded.
Yes. Connect Proxuma Power BI to your Autotask instance, 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 data, and produces a report like this one 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