This report provides a detailed breakdown of weekly hours vs capacity per technician 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
The team carries 3,770 hours of total weekly capacity — spread across 118 active resources. In the most recent fully logged sample week, 40 technicians recorded a combined 816.3 hours. The utilization spread is wide: the busiest tech is near full capacity while others are under 60%. That gap is where scheduling decisions should start.
EVALUATE
ROW(
"Total Capacity Week", [Capacity Current Week (Autotask)],
"Total Logged Week", [Capacity Week Logged (Autotask)],
"Total Remaining", [Capacity Week Remaining (Autotask)],
"Tech Count", COUNTROWS(
FILTER(
'BI_Autotask_User_Details',
NOT(ISBLANK('BI_Autotask_User_Details'[resource_user_name]))
)
)
)
All bars are drawn against a 48h weekly capacity target (the standard full-time resource target in this Autotask configuration). James Li at 94% is the closest to the limit. Chelsea Thomas and Jennifer King at ~60% have bandwidth available for incoming work. When assigning urgent tickets, these are the techs to check first.
EVALUATE ROW("TotalHours", SUM('BI_Autotask_Time_Entries'[hours_worked]), "Resources", DISTINCTCOUNT('BI_Autotask_Time_Entries'[resource_name]), "AvgPerResource", DIVIDE(SUM('BI_Autotask_Time_Entries'[hours_worked]), DISTINCTCOUNT('BI_Autotask_Time_Entries'[resource_name])))
| Utilization Band | Techs | Hours Range | Status | Recommended Action |
|---|---|---|---|---|
| Over capacity (>100%) | 0 | > 48h | Clear | Monitor — overtime risk |
| Near capacity (85–100%) | 2 | 41–48h | Watch | Do not assign new work without checking |
| Healthy (60–85%) | 8 | 29–41h | Good | Normal assignment — check skill match |
| Under-utilized (<60%) | 2 | < 29h | Review | Assign pending tickets or flag absence |
| No entries this week | 78 | 0h | Check | Confirm PTO, training, or data gap |
78 of 118 techs show 0 hours in the sample week — in live data this typically means PTO, training days, or part-time schedules rather than inactivity. The live dashboard lets you filter these out by resource type so the utilization view stays clean.
-- Capacity utilization summary using built-in measures
EVALUATE
SUMMARIZECOLUMNS(
'BI_Autotask_User_Details'[resource_user_name],
"Capacity Week", [Capacity Current Week (Autotask)],
"Logged Week", [Capacity Week Logged (Autotask)],
"Progress Pct", [Capacity Week Progress % (Autotask)],
"Remaining", [Capacity Week Remaining (Autotask)]
)
James Li logged 45.3 out of 48 capacity hours in the sample week. Assigning a new ticket to this resource risks SLA breaches if the work estimate is even slightly off. Before routing the next high-priority ticket, check who's under 70% utilization and has the right skill level.
The good news: nobody is in overtime territory this week. The risk is that the buffer is small for the two techs in the 85–100% band. A single urgent P1 could push them over. This is the scenario the live dashboard alerts on: set a threshold at 90% and get notified before the breach.
Zero logged hours doesn't automatically mean the resource is available. It could mean PTO, a non-logging week, or a data gap in the demo dataset. In production, combining capacity data with the Autotask schedule and PTO fields gives you a true availability picture — not just "hours logged so far."
The weekly capacity target comes from the resource settings in Autotask — specifically the hours per week defined per resource. Most full-time techs in this dataset have a 48h weekly target (6 days × 8 hours). Part-time or contract resources have different targets. The Capacity Current Week measure pulls these values and adjusts for the current calendar week.
In Autotask, technicians log time entries against tickets. "Hours logged" in this report is the SUM of hours_worked on all time entries for the selected week. It reflects what techs actively recorded — not scheduled hours or calendar blocks. A tech working all day but not logging time will show 0h.
Zero hours for a given week can mean PTO, a company holiday, training days, or simply that the tech hasn't logged their time yet (for a current week query). In a live environment, this report is most useful mid-to-late week when most techs have entered at least some time. For Mondays, use the previous week's data for planning.
Yes — the live dashboard for this report includes filters for role, team, and skill group. This is especially useful if you have separate L1 and L2 teams, or if certain techs are dedicated to specific clients. Filter to L2 only and you get a capacity view that's actually relevant to P1/P2 assignment decisions.
Burnout often builds over multiple weeks — a tech consistently running at 90%+ with no recovery weeks. This weekly report, viewed over time, shows that pattern clearly. Set a team policy: no tech should be above 85% for more than two consecutive weeks without a review. The data makes that policy enforceable instead of aspirational.
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