“Resource Role Distribution: Team Staffing Breakdown”
Autotask PSA Datto RMM Datto Backup Microsoft 365 SmileBack HubSpot IT Glue All reports
AI-GENERATED REPORT
You searched for:

Resource Role Distribution: Team Staffing Breakdown

How your team members are distributed across roles and departments, where the gaps are, and whether your staffing pyramid matches workload demand. Generated by AI via Proxuma Power BI MCP server.

Built from: HiBob HR
How this report was made
1
Autotask PSA
Multiple data sources combined
2
Proxuma Power BI
Pre-built MSP semantic model, 50+ measures
3
AI via MCP
Claude or ChatGPT writes DAX queries, executes them, formats output
4
This Report
KPIs, breakdowns, trends, recommendations
Ready in < 15 min

Resource Role Distribution: Team Staffing Breakdown

How your team members are distributed across roles and departments, where the gaps are, and whether your staffing pyramid matches workload demand. 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

Time saved
Calculating utilization from time entries and ticket data manually is tedious. This report does it automatically.
Capacity insight
See who is overloaded, who has bandwidth, and where bottlenecks form.
Staffing data
Evidence-based decisions about hiring, scheduling, and workload distribution.
Report categoryResource & Capacity
Data sourceAutotask PSA · Datto RMM · Datto Backup · Microsoft 365 · SmileBack · HubSpot · IT Glue
RefreshReal-time via Power BI
Generation timeUnder 15 minutes
AI requiredClaude, ChatGPT or Copilot
AudienceOperations managers, service delivery leads
Where to find this in Proxuma
Power BI › Resources › Resource Role Distribution: Team Staf...
What you can measure in this report
Summary Metrics
Resource Count by Role
Resource Count by Department
Hourly Rate by Role
Staffing Pyramid Analysis
Analysis
What Should You Do With This Data?
Frequently Asked Questions
TOTAL RESOURCES
ACTIVE RESOURCES
DISTINCT ROLES
UNASSIGNED ROLE
AI-Generated Power BI Report
Resource Role Distribution:
Team Staffing Breakdown

How your team members are distributed across roles and departments, where the gaps are, and whether your staffing pyramid matches workload demand. Generated by AI via Proxuma Power BI MCP server.

Demo Report: This report uses synthetic data to demonstrate AI-generated insights from Proxuma Power BI. The structure, DAX queries, and analysis reflect real MSP data patterns.
1.0 Summary Metrics
TOTAL RESOURCES
118
All-time roster
ACTIVE RESOURCES
84
71.2% of headcount
DISTINCT ROLES
34
Off the books
UNASSIGNED ROLE
92.45
Sum of capacity FTE
View DAX Query — Summary Metrics
EVALUATE ROW("Total Resources", [Resources - Total Count], "Active", [Resources - Active Count], "Inactive", [Resources - Inactive Count], "Active Pct", [Resources - Active %], "Avg Skills per Resource", [Skills - Avg per Resource])
What are these DAX queries? DAX (Data Analysis Expressions) is the formula language used by Power BI to query data. Each “View DAX Query” section shows the exact query the AI wrote and executed. You can copy any query and run it in Power BI Desktop against your own dataset.
2.0 Resource Count by Role

All 135 role-assigned resources, ranked from largest to smallest group. Unassigned counted separately.

Technician
39
28.9%
Specialist
19
14.1%
Unassigned
12
8.9%
Engineer II
12
8.9%
Support
11
8.1%
Admin
10
7.4%
Consultant
6.7%
Helpdesk
6
4.4%
Architect
3.7%
Manager
4
3.0%
Project Lead
4
3.0%
Senior Engineer
3
2.2%
Director
1
0.7%
View DAX Query — Resource Count by Role
EVALUATE TOPN(20, FILTER(SUMMARIZECOLUMNS('BI_Autotask_User_Role'[role_name], "Engineers", DISTINCTCOUNT('BI_Autotask_User_Role'[resource_id])), [Engineers] > 0), [Engineers], DESC) ORDER BY [Engineers] DESC
3.0 Resource Count by Department

190 total department assignments across all resources. 41.6% sit in the Unassigned bucket, the largest gap in your reporting.

Unassigned
79
41.6%
Service Desk
32
16.8%
Engineering
16
8.4%
Projects
7.9%
Sales
11
5.8%
NOC
8
4.2%
Management
8
4.2%
Admin
7
3.7%
Consulting
2.6%
Finance
3
1.6%
Others
6
3.2%
View DAX Query — Resource Count by Department
EVALUATE TOPN(15, FILTER(SUMMARIZECOLUMNS('BI_Autotask_User_Role'[department_name], "Engineers", DISTINCTCOUNT('BI_Autotask_User_Role'[resource_id])), [Engineers] > 0), [Engineers], DESC) ORDER BY [Engineers] DESC
4.0 Hourly Rate by Role

Average billable hourly rate per role, showing whether your rate card reflects seniority and skill level

RoleCountAvg Rate ($/hr)Billable HoursRate Tier
Senior Engineer3$1612,340Premium
Consultant9$1535,616Premium
Project Lead4$1532,880Premium
Architect5$1533,120Premium
Manager4$1471,920Standard+
Engineer II12$1438,640Standard+
Technician39$1237,488Standard
Specialist19$1233,240Standard
Support11$1232,040Standard
Helpdesk6$1231,080Standard
Admin10$00Non-billable
Director1$00Non-billable
View DAX Query — Hourly Rate by Role
EVALUATE
ADDCOLUMNS(
    SUMMARIZE(
        BI_Autotask_Resources,
        BI_Autotask_Roles[role_name]
    ),
    "ResourceCount", COUNTROWS(BI_Autotask_Resources),
    "AvgHourlyRate", AVERAGE(BI_Autotask_Resources[internal_cost]),
    "BillableHours", SUM(BI_Autotask_Resources[billable_hours])
)
ORDER BY [AvgHourlyRate] DESC
5.0 Staffing Pyramid Analysis

Your team structure mapped to a typical MSP seniority pyramid, showing where the weight sits and where the gaps are

TierRoles IncludedCount% of TotalShape
Leadership Director, Manager 5 3.7%
Senior Technical Sr. Engineer, Architect, Consultant, Project Lead 21 15.6%
Mid-Level Engineer II, Specialist 31 23.0%
Front-Line Technician, Support, Helpdesk 56 41.5%
Non-Technical Admin 10 7.4%
Unassigned No role set 12 8.9%
Reading the pyramid: A healthy MSP staffing pyramid is typically 5% leadership, 20% senior technical, 30% mid-level, and 45% front-line. Your senior technical tier at 15.6% is below the 20% benchmark, while your front-line at 41.5% is close to target. The 8.9% unassigned segment creates a blind spot in capacity planning.
View DAX Query — Staffing Pyramid
EVALUATE
ADDCOLUMNS(
    DATATABLE(
        "Tier", STRING,
        "SortOrder", INTEGER,
        {
            {"Leadership", 1},
            {"Senior Technical", 2},
            {"Mid-Level", 3},
            {"Front-Line", 4},
            {"Non-Technical", 5},
            {"Unassigned", 6}
        }
    ),
    "Count", SWITCH(
        [Tier],
        "Leadership", CALCULATE(COUNTROWS(BI_Autotask_Resources),
            BI_Autotask_Roles[role_name] IN {"Director","Manager"}),
        "Senior Technical", CALCULATE(COUNTROWS(BI_Autotask_Resources),
            BI_Autotask_Roles[role_name] IN {"Senior Engineer","Architect","Consultant","Project Lead"}),
        "Mid-Level", CALCULATE(COUNTROWS(BI_Autotask_Resources),
            BI_Autotask_Roles[role_name] IN {"Engineer II","Specialist"}),
        "Front-Line", CALCULATE(COUNTROWS(BI_Autotask_Resources),
            BI_Autotask_Roles[role_name] IN {"Technician","Support","Helpdesk"}),
        "Non-Technical", CALCULATE(COUNTROWS(BI_Autotask_Resources),
            BI_Autotask_Roles[role_name] = "Admin"),
        "Unassigned", CALCULATE(COUNTROWS(BI_Autotask_Resources),
            ISBLANK(BI_Autotask_Resources[role_id]))
    )
)
ORDER BY [SortOrder] ASC
6.0 Analysis

The team is bottom-heavy. 56 of 135 role-assigned resources (41.5%) sit in front-line positions: Technician, Support, and Helpdesk. That is close to the 45% benchmark for MSPs. But the 39 Technicians alone make up nearly 29% of all assignments, which means your largest single group is also your lowest-rate group at $123/hr.

The senior technical tier tells a different story. You have only 3 Senior Engineers supporting the entire organization. With 12 Engineer IIs and 19 Specialists below them, the escalation path is thin. If one Senior Engineer is out, a third of your top-tier capacity disappears. For an MSP with 118 resources, 3 senior engineers is a bottleneck waiting to happen.

The department data has a bigger problem. 79 out of 190 department assignments (41.6%) are in the Unassigned bucket. That means more than four in ten resource-department records have no department set in Autotask. This breaks any reporting that depends on departmental grouping: utilization by department, cost allocation, and capacity planning all become unreliable. Fixing this is a data hygiene issue, not a staffing one.

On the rate side, the gap between Senior Engineers at $161/hr and Technicians at $123/hr is 31%. That is a reasonable spread. The concern is volume: you have 39 people billing at $123/hr and only 3 billing at $161/hr. If you could shift even 5 Technicians to Engineer II ($143/hr), you would add roughly $20/hr per person across 1,200+ annual hours each, which translates to material revenue without adding headcount.

The billable percentage of 75.6% is solid for an MSP. Industry benchmarks sit around 70-80%. But the 38,364 total billable hours are concentrated in the lower-rate roles. Increasing the proportion of work handled at the Engineer II or Consultant rate would improve effective revenue per hour without changing the total volume.

7.0 What Should You Do With This Data?

5 priorities based on the findings above

1

Assign roles to the 12 unassigned resources immediately

These 12 resources are invisible to any role-based reporting, capacity planning, or workload distribution. Open each resource record in Autotask and set the correct role. This is a 30-minute admin task that fixes 8.9% of your staffing data overnight.

2

Clean up the 79 unassigned department records

41.6% of department assignments are blank. Until this is fixed, you cannot trust any departmental utilization or cost allocation reports. Assign a bulk cleanup to your Autotask admin. Group resources by their actual team, then update the department field in Autotask. The fix is manual but one-time.

3

Address the Senior Engineer gap

Three Senior Engineers for an MSP with 118 resources is thin. Identify 2-3 Engineer IIs who are ready for promotion and create a development path. The hourly rate difference between $143 and $161 pays for itself through higher-value project work and reduced escalation bottlenecks.

4

Review the Technician-to-Engineer II ratio

You have 39 Technicians and 12 Engineer IIs. That is a 3.25:1 ratio. For most MSPs, a 2:1 ratio works better because it reduces the number of escalations that stall in a queue. Evaluate whether some of your experienced Technicians should be reclassified or upskilled to Engineer II.

5

Use this data in your next quarterly business review

The staffing pyramid, billable percentage of 75.6%, and rate distribution are strong QBR material for internal planning. They show leadership where the team stands, where the gaps are, and where investment in hiring or upskilling would have the most impact on revenue and service quality.

8.0 Frequently Asked Questions
Where does the resource data come from?

The data comes from the BI_Autotask_Resources and BI_Autotask_Roles tables in Proxuma Power BI. These tables are synced from your Autotask PSA instance and include every resource record with their role assignment, department, hourly rate, and active status. The AI queries this data using DAX to produce the breakdowns in this report.

Why do 12 resources show as "Unassigned" for role?

These resources exist in Autotask but do not have a role_id value set. This typically happens when resources are created quickly without filling in all fields, or when the role field is not required in your Autotask configuration. Setting the correct role in Autotask Admin fixes this immediately in the next Power BI refresh.

What is a healthy staffing pyramid for an MSP?

A commonly referenced benchmark is 5% leadership, 20% senior technical, 30% mid-level, and 45% front-line. The exact split depends on your service model. Project-heavy MSPs need more senior engineers and consultants. Break-fix-heavy MSPs lean more on front-line technicians. The key is that the pyramid should match the work you actually do, not just the people you have.

How is the billable percentage calculated?

Billable percentage divides total billable hours by total available working hours across all resources. In this dataset, 38,364 billable hours out of approximately 50,745 total available hours gives 75.6%. Admin and Director roles are excluded from the billable calculation because they are set to $0/hr.

Can I run this report against my own data?

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 resource data, and produces a report like this in under fifteen minutes.

Generate this report from your own data

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