“Internal vs Client Hours: Where Your Team Really Spends Time”
Autotask PSA Datto RMM Datto Backup Microsoft 365 SmileBack HubSpot IT Glue All reports
AI-GENERATED REPORT
You searched for:

Internal vs Client Hours: Where Your Team Really Spends Time

Resource-level breakdown of billable and non-billable hours from Autotask PSA. Generated by AI via Proxuma Power BI MCP server.

Built from: Autotask PSA
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

Internal vs Client Hours: Where Your Team Really Spends Time

Resource-level breakdown of billable and non-billable hours from Autotask PSA. 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: Account managers, MSP owners, and service delivery leads

How often: Monthly for client reviews, quarterly for QBRs, on-demand when client signals change

Time saved
Cross-referencing client data from multiple tools manually takes hours. This report brings it together.
Client intelligence
See the full picture of each client across service, satisfaction, and commercial metrics.
Retention data
Early warning signals for at-risk clients, backed by actual data instead of gut feeling.
Report categoryClient Management
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
AudienceAccount managers, MSP owners
Where to find this in Proxuma
Power BI › Client Management › Internal vs Client Hours: Where Your ...
What you can measure in this report
Summary Metrics
Overall Hours Split
Resource-Level Breakdown
Internal Time Patterns
Client-Facing Efficiency
Capacity vs Logged Analysis
Analysis & Insights
Recommended Actions
Frequently Asked Questions
Total Hours
Billable %
Internal %
AI-Generated Power BI Report
Internal vs Client Hours:
Where Your Team Really Spends Time

Resource-level breakdown of billable and non-billable hours from Autotask PSA. Generated by AI via Proxuma Power BI MCP server.

Demo data. This report uses anonymized sample data. Connect your own Autotask to see your real numbers.
1.0 Summary Metrics
Total Hours
50,752
across all resources
Billable %
75.6%
38,364 hrs client-facing
Internal %
24.4%
12,388 hrs non-billable
Resources
77
with logged time entries
How this data was generated: The AI connected to Proxuma Power BI via MCP, queried the BI_Autotask_Time_Entries table using DAX, and calculated billable vs non-billable totals per resource. All numbers come directly from your Autotask time entries. The queries are shown in toggle blocks throughout this report so you can verify or re-run them yourself.
2.0 Overall Hours Split

Across all 77 resources, 75.6% of logged hours went to client-facing work. The remaining 24.4% was non-billable: internal projects, admin, meetings, training, and other overhead. A 75/25 split is within the normal range for MSPs, but there is room to push that ratio closer to 80/20 with targeted changes.

75.6% Client
Client-Facing Hours
38,364 hrs
24.4% Internal
Internal Hours
12,388 hrs
DAX Query: Overall Split
EVALUATE ROW("BillableHours", SUM('BI_Autotask_Time_Entries'[Billable Hours]), "NonBillableHours", SUM('BI_Autotask_Time_Entries'[Non billable Hours]), "TotalHours", SUM('BI_Autotask_Time_Entries'[hours_worked]), "BillableRatio", DIVIDE(SUM('BI_Autotask_Time_Entries'[Billable Hours]), SUM('BI_Autotask_Time_Entries'[hours_worked])))
3.0 Resource-Level Breakdown

The table below shows the top 15 resources by total hours. The spread is wide: Resource D spends 89.6% of time on clients, while Resource C is at 55.6%. Both are high-volume resources, so even small percentage shifts have a real impact on capacity.

Resource Total Hrs Billable Internal Client % Internal %
Resource A2,4001,74965172.9%27.1%
Resource B2,1361,30383361.0%39.0%
Resource C2,0601,14591555.6%44.4%
Resource D2,0501,83821389.6%10.4%
Resource E1,8881,52736180.9%19.1%
Resource F1,8621,41644676.0%24.0%
Resource G1,7801,15762365.0%35.0%
Resource H1,5851,22835777.5%22.5%
Resource I1,55481973552.7%47.3%
Resource J1,50595754763.6%36.4%
Resource K1,4921,09439973.3%26.7%
Resource L1,4331,30812591.3%8.7%
Resource M1,4181,3447594.7%5.3%
Resource N1,3621,3224097.1%2.9%
Resource O1,3441,08725780.9%19.1%

Top 10 resources by client-facing %:

Resource N
97.1%
1,362 hrs
Resource M
94.7%
1,418 hrs
Resource L
91.3%
1,433 hrs
Resource D
89.6%
2,050 hrs
Resource E
80.9%
1,888 hrs
Resource O
80.9%
1,344 hrs
Resource H
77.5%
1,585 hrs
Resource F
76.0%
1,862 hrs
Resource K
73.3%
1,492 hrs
Resource A
72.9%
2,400 hrs
DAX Query: Resource Hours Breakdown
EVALUATE
ADDCOLUMNS(
    SUMMARIZECOLUMNS(
        'BI_Autotask_Time_Entries'[resource_name],
        "TotalHours", SUM('BI_Autotask_Time_Entries'[hours_worked]),
        "BillableHours", SUM('BI_Autotask_Time_Entries'[Billable Hours]),
        "InternalHours", SUM('BI_Autotask_Time_Entries'[Non billable Hours])
    ),
    "ClientPct", DIVIDE([BillableHours], [TotalHours]),
    "InternalPct", DIVIDE([InternalHours], [TotalHours])
)
ORDER BY [TotalHours] DESC
4.0 Internal Time Patterns

Four resources spend more than 35% of their time on internal work: Resource C (44.4%), Resource B (39.0%), Resource I (47.3%), and Resource J (36.4%). Together, those four account for 3,030 non-billable hours, which is nearly a quarter of all internal time across the entire team.

The most striking outlier sits outside the top 15. One resource logged 992 hours with 89.2% classified as internal, only 107 hours were billable. This profile suggests a management role, an internal project lead, or a resource that was misclassified in Autotask. Either way, it is worth confirming whether the role is correct.

On the other end, several resources logged near 99% client time. These tend to be low-hour contractors or specialists deployed exclusively on client projects. They skew the average up, but they are not large enough to move the overall number.

Resource I
52.7%
47.3%
Resource C
55.6%
44.4%
Resource B
61.0%
39.0%
Resource J
63.6%
36.4%
Resource G
65.0%
35.0%
Client-facing Internal
5.0 Client-Facing Efficiency

Five resources sit above 80% client-facing time while also logging over 1,000 hours. These are your workhorses: high volume, high utilization, minimal internal overhead. Resource D stands out at 89.6% on 2,050 hours. Resource N is the overall leader at 97.1%, though on a smaller volume of 1,362 hours.

The interesting middle ground sits between 70% and 80%. Resources A, F, K, and H all fall here. They are productive but carry enough internal load to be worth a closer look. In many cases, a 5-point improvement in client % for a resource logging 1,500+ hours frees up 75 or more hours per year.

N

Resource N: 97.1% client time

Almost exclusively client-facing. Only 40 internal hours on 1,362 total. This resource either has zero admin burden or logs internal time elsewhere.

D

Resource D: 89.6% on high volume

2,050 hours total with only 213 internal. The best combination of volume and efficiency in the dataset.

L

Resource L: 91.3% client time

1,433 hours with only 125 non-billable. Consistent performer with minimal overhead.

DAX Query: Capacity Measures
EVALUATE
SUMMARIZECOLUMNS(
    'BI_Autotask_Time_Entries'[resource_name],
    "BillablePct", [Billable % (Autotask Capacity)],
    "UnwrittenPct", [Unwritten % (Autotask Capacity)],
    "InternalPct", [Internal % (Autotask Capacity)]
)
ORDER BY [BillablePct] ASC
6.0 Capacity vs Logged Analysis

The numbers in the table above are based on logged hours only. They do not account for capacity, which means they miss the third category: unwritten time. A resource might show 75% client and 25% internal, but if they only logged 60% of their available capacity, the real picture is different.

The capacity-based DAX measures (Toggle 3 above) split each resource's available hours into three buckets: billable %, internal %, and unwritten %. Resources with high unwritten percentages are either not logging all their work or have genuine idle capacity. Both are worth investigating.

For context: if 77 resources each have 1,800 hours of annual capacity, the total pool is roughly 138,600 hours. Only 50,752 were logged. That leaves a significant gap, though not all of it is lost. Some resources are part-time, some joined mid-year, and some roles do not require full time entry logging.

7.0 Analysis & Insights
!

Four resources carry disproportionate internal load

Resources B, C, I, and J spend 36-47% of their time on internal work. Combined, that is 3,030 hours of non-billable time. If even half of that is reducible, it represents 1,500 hours of potential billable capacity per year.

!

One resource at 89% internal suggests a role mismatch

A resource outside the top 15 logged 992 hours with only 107 billable. This is likely a manager, trainer, or internal project lead. If the role is correct, the classification should be updated. If the role has changed, the workload needs rebalancing.

Top performers are consistently above 80%

Resources D, E, L, M, N, and O all maintain above 80% client time on meaningful volume. This is the benchmark to aim for. Their work patterns are worth studying for the rest of the team.

8.0 Recommended Actions
1

Audit internal time for Resources B, C, I, and J

Pull the actual time entries for these four resources and categorize the internal work. Separate unavoidable overhead (team meetings, mandatory training) from reducible tasks (manual reporting, repeated troubleshooting on internal systems). Set a target to move each resource 5-10 percentage points toward client work within 90 days.

2

Validate the 89% internal resource

Confirm whether this person's role is intentionally internal-facing. If yes, update the Autotask role or department so they do not skew utilization reports. If no, investigate what is consuming their time and whether any of it can be delegated or automated.

3

Set a team-wide 80% client target

Use the top performers as proof that 80%+ is achievable at scale. Share this report with team leads and set a quarterly goal. Track progress using the capacity measures (Toggle 3) which include unwritten time as well.

9.0 Frequently Asked Questions
What counts as "internal" hours?

Any time entry in Autotask that is classified as non-billable. This includes internal projects, admin tasks, team meetings, training, and anything logged against an internal company or non-billable work type. The classification comes directly from your Autotask setup.

What is a healthy internal-to-client ratio?

Most MSPs aim for 75-80% client-facing time across the team. Below 70% usually signals too much overhead or a logging problem. Above 85% for the whole team is unusual and may mean internal work is not being tracked.

Why do some resources show 99% client time?

These are typically contractors or part-time specialists who only log time against client tickets. They do not attend internal meetings or do admin work, or they log that time in a different system. Their ratios are accurate for what they log, but they do not reflect a full-time employee's reality.

How does this relate to the capacity measures?

The main table shows percentages based on logged hours only. The capacity measures (Toggle 3) add a third dimension: unwritten time. A resource logging 75% client and 25% internal might only be at 60% capacity utilization, meaning 40% of their available hours are not accounted for.

Can I filter this by time period?

Yes. Add a date filter to the DAX queries using CALCULATETABLE with a filter on the date column. For example, filter to the last 90 days to see recent trends, or compare Q1 vs Q2 to spot seasonal patterns.

Can I run this report against my own data?

Yes. Connect Proxuma Power BI to your Autotask account, 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.

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