A cross-source analysis of HiBob employee headcount against Autotask PSA billable utilization, covering 75 employees, 9 departments, and 50,752 hours worked.
A cross-source analysis of HiBob employee headcount against Autotask PSA billable utilization, covering 75 employees, 9 departments, and 50,752 hours worked.
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
A cross-source analysis of HiBob employee headcount against Autotask PSA billable utilization, covering 75 employees, 9 departments, and 50,752 hours worked.
Employee distribution across 9 departments from HiBob
| Department | Employees | Managers | Avg Tenure |
|---|---|---|---|
| Support | 20 | 2 | 2.1 yr |
| Engineering | 9 | 1 | 7.1 yr |
| Operations | 8 | 0 | 4.0 yr |
| IT | 6 | 1 | 3.7 yr |
| Leadership | 5 | 0 | 11.8 yr |
| Finance | 5 | 1 | 4.2 yr |
| Product | 4 | 1 | 0.0 yr |
| Sales | 4 | 2 | 1.0 yr |
| Marketing | 4 | 1 | 5.0 yr |
EVALUATE
SUMMARIZECOLUMNS(
'BI_HiBob_Employee'[department],
"EmpCount", COUNTROWS('BI_HiBob_Employee'),
"Managers", CALCULATE(
COUNTROWS('BI_HiBob_Employee'),
'BI_HiBob_Employee'[is_manager] = TRUE()
),
"AvgTenure", AVERAGE('BI_HiBob_Employee'[tenure_years])
)
ORDER BY [EmpCount] DESC
Top 8 engineers by total hours logged, with billable percentage and ticket count
| Engineer | Total Hours | Billable | Billable % | Tickets |
|---|---|---|---|---|
| Engineer A | 2,400 | 1,749 | 72.9% | 603 |
| Engineer B | 2,136 | 1,303 | 61.0% | 794 |
| Engineer C | 2,060 | 1,145 | 55.6% | 99 |
| Engineer D | 2,050 | 1,838 | 89.6% | 2,613 |
| Engineer E | 1,888 | 1,527 | 80.9% | 2,297 |
| Engineer F | 1,862 | 1,416 | 76.0% | 84 |
| Engineer G | 1,780 | 1,157 | 65.0% | 149 |
| Engineer H | 1,585 | 1,228 | 77.5% | 763 |
Engineer D and Engineer E stand out. Both sit above 80% billable while handling over 2,000 tickets each. That combination of high utilization and high ticket volume means they are doing a large share of the frontline work. Engineer C, on the other hand, logged 2,060 hours but only 55.6% billable across just 99 tickets. That suggests a project-based or internal role rather than a client-facing one.
EVALUATE
TOPN(15,
SUMMARIZECOLUMNS(
'BI_Autotask_Time_Entries'[resource_name],
"TotalHours", SUM('BI_Autotask_Time_Entries'[hours_worked]),
"BillableHrs", SUM('BI_Autotask_Time_Entries'[Billable Hours]),
"NonBillableHrs", SUM('BI_Autotask_Time_Entries'[Non billable Hours]),
"TicketCount", DISTINCTCOUNT('BI_Autotask_Time_Entries'[ticket_id])
),
[TotalHours], DESC
)
ORDER BY [TotalHours] DESC
Comparing actual output against theoretical capacity for 75 employees
The headline billable rate of 75.6% looks healthy, and it is -- for the hours that are actually being logged. The problem is that only 32.5% of theoretical capacity (75 employees × 2,080 hours/year = 156,000 hours) is being recorded at all. That means either most employees are not logging time, or a large portion of the workforce is in non-billable roles by design.
The billable target gap is even wider: the business would need 109,200 billable hours to hit a 70% utilization rate against full capacity, but only 38,364 billable hours were actually logged. That is a 64.9% shortfall against the theoretical target.
Comparing the two largest teams: Support (20 people) vs Engineering (9 people)
Support has more than double the headcount of Engineering, but the average tenure tells a different story. Support staff average 2.1 years, while Engineering averages 7.1 years. That tenure gap is significant. It suggests higher turnover in Support, which means more time spent onboarding and less accumulated domain knowledge per person.
When you look at the individual utilization data in section 3.0, the top billable engineers (Engineer D at 89.6%, Engineer E at 80.9%) handle thousands of tickets each. If Support is the largest team by headcount but its engineers are newer and less productive per person, the cost-per-billable-hour will be higher than in Engineering. This is not necessarily a problem -- Support often has a training pipeline -- but it is worth tracking quarter over quarter.
EVALUATE
ROW(
"TotalCIs", COUNTROWS('BI_Autotask_Configuration_Items'),
"TotalTickets", COUNTROWS('BI_Autotask_Tickets'),
"TotalTimeEntries", COUNTROWS('BI_Autotask_Time_Entries'),
"TotalHoursWorked", SUM('BI_Autotask_Time_Entries'[hours_worked]),
"TotalBillableHrs", SUM('BI_Autotask_Time_Entries'[Billable Hours]),
"TotalNonBillableHrs", SUM('BI_Autotask_Time_Entries'[Non billable Hours])
)
How your numbers compare against typical MSP industry targets
| Metric | Your Value | Industry Target | Status |
|---|---|---|---|
| Billable utilization (of hours worked) | 75.6% | 65-75% | On target |
| Hours logged per employee (annual) | 677 | 1,600-1,800 | Below target |
| Billable hours per employee (annual) | 512 | 1,100-1,300 | Below target |
| Manager-to-employee ratio | 1:5.4 | 1:6 to 1:8 | Slightly high |
| Capacity utilization (actual vs theoretical) | 32.5% | 75-85% | Well below |
The billable percentage of logged hours is solid at 75.6%. The real issue is that too few hours are being logged in the first place. At 677 hours per employee per year, you are well below the 1,600-1,800 range that most MSPs target. This could mean incomplete time tracking, a large number of employees in roles that do not require time logging, or both.
The manager ratio of 1:5.4 is a bit dense. Industry guidance suggests 1:6 to 1:8 for MSPs. With 14 managers across 75 employees, there is room to flatten the structure if some of those managers are also handling individual contributor work.
With 75 employees and 2,080 available hours each, you have 156,000 hours of theoretical capacity. Only 50,752 hours were actually logged. Either a significant portion of the workforce is not tracking time at all, or there is a structural reason why most capacity goes unrecorded. Until this gap is understood, any utilization metric based on headcount will be unreliable.
20 employees with an average tenure of 2.1 years means roughly half the team has been there less than two years. That is a significant training overhead. Compare this to Engineering at 7.1 years average tenure across 9 people. The Support team is likely spending a larger share of its time on onboarding and ramping up, which does not show up as billable work but still costs money.
For the hours that are being logged, the billable rate is strong. The team is spending three-quarters of their tracked time on billable work, which is above the typical MSP target of 65-75%. This means the people who are logging time are productive. The challenge is making sure more of the workforce is captured in the data.
4 priorities based on the findings above
The 32.5% capacity utilization rate is a data quality problem before it is a staffing problem. Identify which departments and roles are not logging time. If Finance, Leadership, and Marketing are exempt by design, exclude them from capacity calculations. If Support or Engineering staff are under-logging, fix the tracking first before drawing conclusions about headcount.
An average tenure of 2.1 years in a 20-person team signals turnover. Calculate the cost of recruiting, onboarding, and ramping a new Support engineer. If it takes 3-6 months to reach full productivity, you are losing significant capacity every time someone leaves. Consider retention incentives for Support staff who pass the 2-year mark.
Sales has 2 managers for 4 employees (1:2 ratio). Support has 2 managers for 20 employees (1:10 ratio). That imbalance is worth examining. Sales may be over-managed for its size, and Support may benefit from an additional team lead, especially given the low tenure and high headcount.
Run this same cross-source query every quarter. The key metrics to watch are: capacity utilization trending upward (from 32.5%), Support tenure trending upward (from 2.1 years), and billable hours per employee trending upward (from 512). If you fix time tracking compliance, you will likely see a significant jump in the first quarter alone.
Employee headcount, department assignments, tenure, and manager status are pulled from the BI_HiBob_Employee table in Proxuma Power BI. HiBob is the HR system of record. The data is synced automatically and reflects the current state of the workforce.
Theoretical capacity assumes every employee logs 2,080 hours per year (40 hours/week for 52 weeks). In practice, many roles do not track time in PSA: leadership, finance, marketing, and parts of operations. The 32.5% figure is not necessarily bad -- it means roughly a third of employees are the ones logging billable time. But it is worth auditing to make sure no billable staff are slipping through the cracks.
Industry benchmarks for MSPs typically target 65-75% billable utilization for technical staff. Above 75% is strong. Above 85% is a warning sign for burnout. Your 75.6% is in the healthy range for the hours that are actually being logged. The key is to make sure the denominator (total hours) is accurate.
All individual names are replaced with anonymous labels (Engineer A, Engineer B, etc.) in the published version of this report. When you run this query against your own data in Proxuma Power BI, the actual resource names appear. The anonymization is for the demo version only.
Proxuma Power BI loads both HiBob and Autotask into the same semantic model. The join happens at the report level through matching employee names or IDs. The DAX queries in this report pull from both tables independently and the results are compared in the analysis sections.
Yes. The DAX queries can be modified to include filters on department or date range. Add a FILTER clause to the SUMMARIZECOLUMNS function to narrow results. In Power BI, you can also apply slicers on the dashboard level without changing the underlying DAX.
Yes. Connect Proxuma Power BI to your Autotask PSA and HiBob accounts, 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