Is the professional services team hitting its targets? A single scorecard covering financial health, SLA performance, and resource productivity. Generated by AI via Proxuma Power BI MCP server.
Is the professional services team hitting its targets? A single scorecard covering financial health, SLA performance, and resource productivity. 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: MSP operations teams and service delivery managers
How often: As needed for specific analysis or reporting requirements
Is the professional services team hitting its targets? A single scorecard covering financial health, SLA performance, and resource productivity. Generated by AI via Proxuma Power BI MCP server.
EVALUATE ROW("TotalProjects", COUNTROWS('BI_Autotask_Projects'), "TotalWorkedHours", SUM('BI_Autotask_Projects'[worked_hours]), "BillableHours", SUM('BI_Autotask_Projects'[billable_hours]), "LabourRevenue", SUM('BI_Autotask_Projects'[Labour Revenue]), "LabourCost", SUM('BI_Autotask_Projects'[Labour Cost]))
Every PS team KPI measured against its industry target, with current status. This is the answer to the question.
| KPI | Actual | Target | Gap | Status |
|---|---|---|---|---|
| Billable Utilization | 75.6% | 70–80% | On target | On Target |
| Total Revenue | €17.6M | — | — | Tracking |
| Profit Margin | 53.0% | 50%+ | +3.0 pts | On Target |
| First Response SLA | 52.9% | 85% | −32.1 pts | Below Target |
| Resolution SLA | 63.5% | 85% | −21.5 pts | Below Target |
| Tickets Handled | 67,521 | — | — | Tracking |
| Hours Worked | 50,752 | — | — | Tracking |
| Revenue per Resource | €149K | 120–160K | On target | On Target |
| Avg Hours / Resource | 430 | 400–500 | On target | On Target |
| Active Resources | 118 | — | — | Tracking |
EVALUATE
ROW(
"BillableUtilization", DIVIDE([Company - Billable Hours], [Company - Hours Worked]),
"TotalRevenue", [Revenue - Total],
"TotalCost", [Cost - Total],
"ProfitMargin", DIVIDE([Profit - total], [Revenue - Total]),
"FirstResponseSLA", [Tickets - First Response Met %],
"ResolutionSLA", [Tickets - Resolution Met %],
"TicketsHandled", COUNTROWS(BI_Autotask_Tickets),
"HoursWorked", [Company - Hours Worked],
"ActiveResources", DISTINCTCOUNT(BI_Autotask_Time_Entries[resource_name]),
"AvgHoursPerResource", DIVIDE(
[Company - Hours Worked],
DISTINCTCOUNT(BI_Autotask_Time_Entries[resource_name])),
"RevenuePerResource", DIVIDE(
[Revenue - Total],
DISTINCTCOUNT(BI_Autotask_Time_Entries[resource_name]))
)
Financial performance overview: revenue, cost, and margin across the PS team
The team generates €17.6M in revenue against €8.3M in cost, yielding a 53% margin. That is three points above the 50% floor most MSPs target for their PS function. Revenue per resource sits at roughly €149K, which falls in the healthy range for mid-market MSPs. The financial side of this team is working.
The risk is not margin erosion from cost. It is margin erosion from SLA penalties and client churn. If the SLA numbers do not improve, the financial picture will shift. Clients paying for SLA-backed contracts who see consistent misses will renegotiate or leave.
EVALUATE
ROW(
"TotalRevenue", [Revenue - Total],
"TotalCost", [Cost - Total],
"TotalProfit", [Profit - total],
"ProfitMargin", DIVIDE([Profit - total], [Revenue - Total])
)
First response and resolution SLA met percentage, broken down by ticket priority level
| SLA Metric | Met | Total | Rate |
|---|---|---|---|
| First Response | 35,715 | 67,521 | 52.9% |
| Resolution | 42,892 | 67,521 | 63.5% |
| First Day Resolution | 19,988 | 67,521 | 29.6% |
P3 tickets are the biggest SLA problem. Only 55.2% of P3 tickets meet the first response window. P3 is typically the highest-volume priority tier in an MSP, which means this single category is dragging the overall first response number down to 52.9%. The resolution side at 83.8% is close to target, so the issue is specifically about how fast the team picks up and acknowledges P3 work.
P1 first response at 68.6% is also a concern. Critical tickets should be the first ones answered. If P1 tickets are missing the response window a third of the time, the likely cause is either staffing gaps during off-hours or routing delays in the dispatch workflow.
P2 and P4 are close to target on both metrics. P2 resolution at 94.0% is the standout: once high-priority work gets picked up, the team closes it well within the window.
EVALUATE ROW("TotalTickets", COUNTROWS('BI_Autotask_Tickets'), "FirstResponseMet", CALCULATE(COUNTROWS('BI_Autotask_Tickets'), 'BI_Autotask_Tickets'[first_response_met] + 0 = 1), "ResolutionMet", CALCULATE(COUNTROWS('BI_Autotask_Tickets'), 'BI_Autotask_Tickets'[resolution_met] + 0 = 1), "FirstDayResolution", CALCULATE(COUNTROWS('BI_Autotask_Tickets'), 'BI_Autotask_Tickets'[first_day_resolution]))
Per-resource breakdown showing hours worked, billable percentage, and client coverage for the top contributors
| Resource | Hours | Billable % | Clients | Workload |
|---|---|---|---|---|
| James Wilson | 37,154 | 73% | 45 | |
| Sarah Johnson | 2,473 | 91% | 29 | |
| Dr. Michael Chen | 2,368 | 73% | 14 | |
| Emma Thomas | 1,738 | 64% | 10 | |
| Gregory Horn | 1,362 | 60% | 25 | |
| Mr. Robert Davis | 1,137 | 89% | 21 |
James Wilson accounts for 73% of total hours logged. At 37,154 hours across 45 clients, his workload is an order of magnitude higher than the next resource. This is either a data quality issue (shared account, automated entries) or a genuine single-point-of-failure risk. If Wilson is unavailable for a week, 45 clients lose their primary contact.
Sarah Johnson and Robert Davis are the efficiency leaders at 91% and 89% billable. Both are well above the 70-80% target range, which signals high productivity but also a risk of burnout if sustained over long periods without relief.
Emma Thomas (64%) and Gregory Horn (60%) are below the 70% utilization floor. That does not automatically mean underperformance. They may be allocated to internal projects, training, or escalation support that does not generate billable hours. Worth investigating with their managers to understand the allocation split.
EVALUATE
ADDCOLUMNS(
SUMMARIZE(
BI_Autotask_Time_Entries,
BI_Autotask_Time_Entries[resource_name]
),
"TotalHours", CALCULATE([Company - Hours Worked]),
"BillablePct", DIVIDE(
CALCULATE([Company - Billable Hours]),
CALCULATE([Company - Hours Worked])),
"ClientCount", CALCULATE(
DISTINCTCOUNT(BI_Autotask_Time_Entries[company_name]))
)
ORDER BY [TotalHours] DESC
At 52.9% against an 85% target, nearly half of all tickets miss the first response window. P3 tickets are the primary driver at 55.2%, but P1 critical tickets at 68.6% are equally concerning. The team resolves tickets reasonably well once engaged. The bottleneck is in the initial pickup.
At 63.5% overall, resolution SLA is better than first response but still materially below target. P1 resolution at 71.8% is the weakest tier. When critical issues take too long to close, client trust erodes regardless of how the other metrics look.
James Wilson has logged 37,154 hours (73% of total team hours) across 45 clients. Whether this reflects a data issue or actual work distribution, it represents a single point of failure. The remaining 117 resources share just 27% of total hours. That imbalance needs investigation.
53% profit margin exceeds the 50% target. Billable utilization at 75.6% sits in the sweet spot of the 70-80% range. Revenue per resource at €149K aligns with mid-market MSP benchmarks. The financial foundation is solid.
P2 resolution SLA at 94.0% and P4 at 90.6% both clear the 85% threshold. The team handles high and low priority work effectively once the initial response happens. The process works. It just needs to start faster.
5 priorities based on the scorecard findings
P3 tickets are the highest-volume category and only 55.2% meet the first response SLA. Pull the tickets that missed the window this month and check for patterns: time of day, queue, assigned team. In most cases, the fix is a dispatch rule change or an auto-assignment adjustment, not more headcount. The team resolves P3 tickets at 83.8% once they start, so the work itself is not the problem.
P1 tickets missing the response window 31% of the time suggests a staffing gap during certain hours. Check the timestamps on missed P1 first responses. If they cluster outside business hours, the answer is an on-call rotation or automated acknowledgment workflow. 68.6% on critical tickets is a client retention risk if any of those clients have SLA-backed contracts.
37,154 hours is roughly 18 FTEs worth of annual work from a single resource. Before making operational decisions based on this number, verify whether Wilson's entries include automated time, shared account logging, or bulk entries from integrations. If the hours are real, the concentration risk is severe and redistribution needs to start immediately.
At 64% and 60% billable respectively, both are below the 70% floor. This could be by design (internal project work, mentoring, escalation support) or it could signal underutilization. A five-minute conversation with their direct managers will clarify whether the allocation is intentional and whether there is billable capacity being left on the table.
The scorecard shows where the team stands today. To move from 52.9% to 85% on first response, set intermediate monthly targets (60%, 68%, 75%, 82%, 85%) and track progress weekly. A single annual target is too distant to drive behavior change. Weekly visibility creates accountability at the dispatcher and team lead level.
All data comes from Autotask PSA through the Proxuma Power BI semantic model. Revenue, cost, and hours come from time entry and contract data. SLA metrics come from ticket first response and resolution timestamps compared against the SLA plan assigned to each ticket. The AI runs DAX queries to calculate the KPIs and format them into this report.
Billable utilization is the percentage of total hours worked that are billed to a client. It is calculated as billable hours divided by total hours worked. A rate of 75.6% means roughly three out of every four hours worked generate client revenue. The industry target for MSPs is 70-80%; above 80% typically indicates insufficient time for internal work, training, or documentation.
First response SLA measures the percentage of tickets where the initial response (acknowledgment or action) happens within the time window defined in the SLA plan. For example, if a P1 ticket has a 15-minute first response target and the technician responds in 12 minutes, it counts as "met." The 52.9% overall means that nearly half of all tickets miss their first response window.
First response measures how fast the team picks up a ticket. Resolution measures how fast they close it. It is common for the pickup to be the bottleneck: tickets sit in a queue waiting for assignment or acknowledgment. Once someone starts working on it, the actual fix often happens within the resolution window. Improving dispatch rules and auto-assignment typically closes this gap faster than adding staff.
Yes. The DAX queries default to all resources and the last 12 months. You can add filters on resource name, queue, ticket category, or date range. For team-level views, filter on the resource's department or role. For monthly trends, add a date dimension to the SUMMARIZECOLUMNS call.
Yes. Connect Proxuma Power BI to your Autotask PSA, 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