Out of 1,410 tasks in Autotask, 1,408 (99.86%) have no incomplete service calls attached. Only 2 tasks are blocked by open service calls. This report breaks down the clean task pool by status, client, and resource to help you plan capacity with confidence.
Out of 1,410 tasks in Autotask, 1,408 (99.86%) have no incomplete service calls attached. Only 2 tasks are blocked by open service calls. This report breaks down the clean task pool by status, client, and resource to help you plan capacity with confidence.
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: Project managers, operations leads, and MSP owners tracking delivery
How often: Weekly for status updates, milestone dates for escalation, monthly for portfolio review
Out of 1,410 tasks in Autotask, 1,408 (99.86%) have no incomplete service calls attached. Only 2 tasks are blocked by open service calls. This report breaks down the clean task pool by status, client, and resource to help you plan capacity with confidence.
High-level counts across all tasks and their service call associations.
EVALUATE
VAR TasksWithIncompleteSC =
CALCULATETABLE(
VALUES('BI_Autotask_Service_Call_Tasks'[task_id]),
FILTER(
'BI_Autotask_Service_Call_Tasks',
'BI_Autotask_Service_Call_Tasks'[Service Call Status] <> "Complete"
)
)
VAR TasksOnSC = DISTINCT('BI_Autotask_Service_Call_Tasks'[task_id])
VAR TasksWithAllCompleteSC = EXCEPT(TasksOnSC, TasksWithIncompleteSC)
VAR AllTaskIDs = VALUES('BI_Autotask_Tasks'[task_id])
VAR TasksNotOnAnySC = EXCEPT(AllTaskIDs, TasksOnSC)
RETURN
ROW(
"TotalTasks", COUNTROWS(AllTaskIDs),
"TasksOnServiceCalls", COUNTROWS(TasksOnSC),
"TasksWithIncompleteSC", COUNTROWS(TasksWithIncompleteSC),
"TasksWithAllCompleteSC", COUNTROWS(TasksWithAllCompleteSC),
"TasksNotOnAnySC", COUNTROWS(TasksNotOnAnySC),
"TasksWithNoIncompleteSC", COUNTROWS(TasksWithAllCompleteSC) + COUNTROWS(TasksNotOnAnySC)
)
How service calls break down by status and which tasks they are connected to.
| SC Status | Distinct Tasks | SC-Task Links | Impact |
|---|---|---|---|
| 9 | 15 | Tasks are clear - all service calls finished | |
| 2 | 3 | Tasks blocked by open service calls |
Only 11 tasks out of 1,410 are linked to service calls at all. The remaining 1,399 tasks have no service call dependency, which makes them the bulk of the clean workload.
EVALUATE
SUMMARIZECOLUMNS(
'BI_Autotask_Service_Call_Tasks'[Service Call Status],
"TaskCount", DISTINCTCOUNT('BI_Autotask_Service_Call_Tasks'[task_id]),
"SCCount", COUNTROWS('BI_Autotask_Service_Call_Tasks')
)
Status breakdown for the 1,408 tasks that have no incomplete service call dependencies.
EVALUATE ROW("TotalProjects", COUNTROWS('BI_Autotask_Projects'), "InProgress", CALCULATE(COUNTROWS('BI_Autotask_Projects'), 'BI_Autotask_Projects'[project_status_name] = "In progress"), "Complete", CALCULATE(COUNTROWS('BI_Autotask_Projects'), 'BI_Autotask_Projects'[project_status_name] = "Complete"), "TotalWorkedHours", SUM('BI_Autotask_Projects'[worked_hours]))
Comparing time estimates against actual hours logged for tasks without service call blockers.
The 1.6% overshoot is relatively small across 1,408 tasks. Estimates are close to actual, meaning task scoping for this workload is working well.
Which clients generate the most tasks that are free from service call dependencies.
Client A dominates with 23% of all clean tasks. The top 3 clients account for 34% of the clean workload, which signals potential concentration risk.
How each engineer's workload and estimation accuracy looks across tasks without service call blockers.
| Resource | Tasks | Completed | Est. Hours | Worked Hours | Variance |
|---|---|---|---|---|---|
| Resource A | 901 | 583 | 5,710 | 4,069 | -29% under |
| Resource B | 105 | 81 | 419 | 551 | +32% over |
| Resource C | 70 | 50 | 659 | 1,103 | +67% over |
| Resource D | 45 | 43 | 336 | 617 | +84% over |
| Resource E | 44 | 18 | 72 | 332 | +361% over |
| Resource F | 38 | 34 | 291 | 383 | +32% over |
| Resource G | 34 | 34 | 480 | 411 | -14% under |
| Resource H | 33 | 26 | 359 | 318 | -11% under |
| Resource I | 23 | 4 | 196 | 566 | +189% over |
| Resource J | 22 | 12 | 285 | 418 | +47% over |
Resource A handles 64% of all clean tasks and comes in 29% under budget. Several other resources consistently overshoot estimates, which points to either under-scoping or scope creep during execution.
Department-level view of task volumes and completion rates across clean tasks.
| Department | Tasks | Completed | Completion % |
|---|---|---|---|
| (Unassigned) | 989 | 639 | 64.6% |
| Department A | 356 | 271 | 76.1% |
| Department B | 35 | 34 | 97.1% |
| Department C | 8 | 6 | 75.0% |
| Department D | 7 | 6 | 85.7% |
| Department E | 5 | 5 | 100% |
| Department F | 5 | 5 | 100% |
| Department G | 1 | 1 | 100% |
| Department H | 1 | 0 | 0% |
70% of clean tasks sit in the unassigned department bucket. This is common in Autotask environments where department assignment is optional, but it makes workload analysis harder at a team level.
Actionable takeaways from the clean task analysis.
Only 2 out of 1,410 tasks (0.14%) are blocked by incomplete service calls. The service call mechanism is working well: 91.7% of all service calls are already marked complete, and 99.2% of tasks have no service call dependency at all. This means project managers can plan capacity without worrying about service call bottlenecks.
These tasks have no service call dependency and no status blockers, yet they have not been started. This backlog is worth reviewing: some may be stale tasks that should be closed, and others may need resource assignment. A weekly task hygiene check could cut this number significantly.
While the portfolio average is only 1.6% over estimate, individual variance is much wider. Resource E logged 332 hours against a 72-hour budget (+361%), and Resource I worked 566 hours on a 196-hour estimate (+189%). These patterns suggest the estimates for certain task types or clients need recalibration.
With 326 tasks, Client A accounts for nearly a quarter of the clean workload. The top 3 clients make up 34%. If Client A has a project spike, it will impact resource availability for everyone else. Consider dedicated resource allocation or capacity buffers for high-volume accounts.
901 clean tasks are assigned to Resource A, with a 65% completion rate and actual hours coming in well under estimates. This is good operational efficiency, but also a single-point-of-failure risk. Cross-training or distributing some of this workload would reduce dependency on one person.
A clean task is any Autotask project task that has no incomplete service calls attached. This includes tasks that were never linked to a service call (1,399 tasks) and tasks where all linked service calls are marked "Complete" (9 tasks). These 1,408 tasks can proceed without waiting for on-site work or scheduled visits to finish.
Service calls in Autotask represent scheduled on-site visits or appointments. Most project tasks are internal or remote work that does not require a physical visit. The low linkage rate (0.78%) is typical for MSPs that do most project work remotely.
The BI_Autotask_Service_Call_Tasks junction table has a calculated column called "Service Call Status" that looks up the status_name from the parent BI_Autotask_Service_Calls table using LOOKUPVALUE. We filter for any status that is not "Complete" to identify blockers.
Yes. The 316 tasks in "New" status with no service call blockers are the most obvious candidates for resource assignment. Cross-reference with the client breakdown in section 5.0 and the resource capacity in section 6.0 to find the best fit.
Common causes include scope creep during execution, estimates set before full requirements are known, or time entries being logged against incorrect tasks. The resources with the highest overruns (Resource E at +361%) likely have a mix of these factors. Review their specific task types to identify patterns.
These 2 tasks are linked to 3 service calls with "New" status. Check whether those service calls are actually scheduled or if they are stale entries that should be canceled or completed. Clearing them would bring your clean task count to a perfect 1,410 out of 1,410.
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