“Hours vs Revenue Mismatch: Clients That Consume More Than They Pay For”
Autotask PSA Datto RMM Datto Backup Microsoft 365 SmileBack HubSpot IT Glue All reports
AI-GENERATED REPORT
You searched for:

Hours vs Revenue Mismatch: Clients That Consume More Than They Pay For

A breakdown of hours worked vs revenue generated per client from Autotask PSA time entries and billing data. This report identifies the clients where effort does not translate to income -- and highlights 3 critical mismatches that need immediate review.

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

Hours vs Revenue Mismatch: Clients That Consume More Than They Pay For

A breakdown of hours worked vs revenue generated per client from Autotask PSA time entries and billing data. This report identifies the clients where effort does not translate to income -- and highlights 3 critical mismatches that need immediate review.

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 owners, finance leads, and operations managers tracking profitability

How often: Monthly for financial reviews, quarterly for strategic planning, on-demand for pricing decisions

Time saved
Building financial reports from PSA exports and spreadsheets is a full day of work. This report delivers it in minutes.
Margin visibility
Revenue numbers alone do not tell the story. This report connects revenue to cost for true profitability.
Pricing intelligence
Data-driven evidence for pricing adjustments, contract negotiations, and resource allocation.
Report categoryFinancial & Revenue
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
AudienceMSP owners, finance leads
Where to find this in Proxuma
Power BI › Financial › Hours vs Revenue Mismatch: Clients Th...
What you can measure in this report
Hours vs Revenue Summary
Revenue Efficiency: Top Clients by Effective Rate
The Mismatch Zone: High Hours, Low Revenue
Revenue Per Hour Distribution
Client Quadrant Analysis
Billable vs Non-Billable Breakdown
Analysis and Key Findings
Recommended Actions
Frequently Asked Questions
TOTAL HOURS WORKED
TOTAL REVENUE
AVG EFFECTIVE RATE
AI-Generated Power BI Report
Hours vs Revenue Mismatch:
Clients That Consume More Than They Pay For

A breakdown of hours worked vs revenue generated per client from Autotask PSA time entries and billing data. This report identifies the clients where effort does not translate to income -- and highlights 3 critical mismatches that need immediate review.

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 Hours vs Revenue Summary

Key metrics from Autotask PSA time entries and billing items across 77 resources and all active clients.

TOTAL HOURS WORKED
$131.96/hr
Revenue divided by total hours
TOTAL REVENUE
12,388 (24.4%)
Hours without direct revenue
AVG EFFECTIVE RATE
$1.63M
Non-billable hours × effective rate
MISMATCH CLIENTS
3
Effective rate below $200/hr
What are these DAX queries? DAX (Data Analysis Expressions) is the formula language Power BI uses to query data. Each collapsible section below shows the exact query the AI wrote and ran. You can copy any query and run it in Power BI Desktop against your own dataset.
2.0 Revenue Efficiency: Top Clients by Effective Rate

Clients ranked by effective hourly rate (revenue divided by total hours). Higher rates mean better return on time invested.

Client Total Hours Billable Hours Revenue Effective Rate Rating
Client P 84 84 $416,450 $4,958/hr Excellent
Client Q 197 183 $255,698 $1,298/hr Excellent
Client O 695 622 $589,694 $848/hr Excellent
Client C 2,801 2,665 $2,212,915 $790/hr Excellent
Client A 4,370 3,792 $2,324,617 $532/hr Strong
Client N 782 681 $328,165 $420/hr Strong
Client B 3,791 3,127 $1,431,177 $378/hr Strong
Client G 1,312 1,096 $469,660 $358/hr Strong
Client K 962 916 $321,669 $334/hr Average
Client M 865 808 $286,926 $332/hr Average
Client S 683 666 $214,469 $314/hr Average
Client I 1,006 853 $320,832 $319/hr Average
Client D 2,217 1,970 $637,092 $287/hr Below Avg
Client E 1,697 1,665 $476,622 $281/hr Below Avg
Client H 1,171 1,114 $205,547 $176/hr Critical
Client J 962 954 $167,540 $174/hr Critical
Client F 1,662 -- -- $0/hr No Revenue
View DAX Query -- Hours vs Revenue by Client
EVALUATE
TOPN(15,
  SUMMARIZECOLUMNS(
    'BI_Autotask_Companies'[company_name],
    "TotalHours", SUM('BI_Autotask_Time_Entries'[hours_worked]),
    "BillableHours", CALCULATE(SUM('BI_Autotask_Time_Entries'[hours_worked]), 'BI_Autotask_Time_Entries'[is_non_billable] = FALSE),
    "Revenue", SUM('BI_Autotask_Billing_Items'[total_amount]),
    "TicketCount", DISTINCTCOUNT('BI_Autotask_Tickets'[ticket_id])
  ),
  [TotalHours], DESC
)
3.0 The Mismatch Zone: High Hours, Low Revenue

Clients ranked by hours worked, with bars showing their effective hourly rate. The $347/hr average is the benchmark -- anything below it means you are getting less return per hour than the portfolio average.

Client A
$532/hr
4,370 hrs
Client B
$378/hr
3,791 hrs
Client C
$790/hr
2,801 hrs
Client D
$287/hr
2,217 hrs
Client E
$281/hr
1,697 hrs
Client F
1,662 hrs
Client G
$358/hr
1,312 hrs
Client H
$176/hr
1,171 hrs
Client I
$319/hr
1,006 hrs
Client J
$174/hr
962 hrs
View DAX Query -- Client Mismatch Analysis
EVALUATE
TOPN(15,
  SUMMARIZECOLUMNS(
    'BI_Autotask_Companies'[company_name],
    "TotalHours", SUM('BI_Autotask_Time_Entries'[hours_worked]),
    "BillableHours", CALCULATE(SUM('BI_Autotask_Time_Entries'[hours_worked]), 'BI_Autotask_Time_Entries'[is_non_billable] = FALSE),
    "Revenue", SUM('BI_Autotask_Billing_Items'[total_amount]),
    "TicketCount", DISTINCTCOUNT('BI_Autotask_Tickets'[ticket_id])
  ),
  [TotalHours], DESC
)
4.0 Revenue Per Hour Distribution

How clients distribute across effective rate buckets. Circumference = 2 x pi x 55 = 345.58.

15 CLIENTS
Rate Distribution
$600+/hr (3 clients) $350-600/hr (4 clients) $200-350/hr (5 clients) Below $200/hr (3 clients)

20% of top clients fall below $200/hr -- these are the accounts consuming disproportionate time relative to what they pay. Client F stands out with 1,662 hours and zero revenue. Client H and Client J each sit around $175/hr, roughly half the portfolio average.

5.0 Client Quadrant Analysis

Clients grouped into four quadrants based on hours worked (high/low threshold: 1,000 hours) and revenue (high/low threshold: $400,000).

High Hours / High Revenue
Client A -- 4,370 hrs / $2.32M
Client B -- 3,791 hrs / $1.43M
Client C -- 2,801 hrs / $2.21M
Client D -- 2,217 hrs / $637K
Client E -- 1,697 hrs / $477K
Client G -- 1,312 hrs / $470K
Low Hours / High Revenue
Client O -- 695 hrs / $590K
Client P -- 84 hrs / $416K
Client Q -- 197 hrs / $256K

These are your most efficient accounts -- high return, low effort.

High Hours / Low Revenue
Client F -- 1,662 hrs / $0
Client H -- 1,171 hrs / $206K
Client I -- 1,006 hrs / $321K

These clients consume heavy resources without matching revenue. Immediate review needed.

Low Hours / Low Revenue
Client J -- 962 hrs / $168K
Client K -- 962 hrs / $322K
Client L -- 866 hrs / $176K
Client M -- 865 hrs / $287K
Client N -- 782 hrs / $328K

Moderate accounts. Monitor for drift toward the red quadrant.

View DAX Query -- Top Clients by Revenue
EVALUATE
TOPN(15,
  SUMMARIZECOLUMNS(
    'BI_Autotask_Companies'[company_name],
    "TotalHours", SUM('BI_Autotask_Time_Entries'[hours_worked]),
    "BillableHours", CALCULATE(SUM('BI_Autotask_Time_Entries'[hours_worked]), 'BI_Autotask_Time_Entries'[is_non_billable] = FALSE),
    "Revenue", SUM('BI_Autotask_Billing_Items'[total_amount])
  ),
  [Revenue], DESC
)
6.0 Billable vs Non-Billable Breakdown

Overall billable ratio and per-client split. 75.6% of all hours are billable -- the remaining 24.4% represents internal time, non-billable work, and overhead.

75.6% BILLABLE
Overall Portfolio
0% BILLABLE
Client F
95.1% BILLABLE
Client H
99.2% BILLABLE
Client J

Client H and Client J both have high billable ratios (95%+), meaning almost all their hours are tagged as billable -- yet revenue per hour is extremely low. This points to a rate card or contract issue, not a utilization problem. Client F has zero billable hours despite 1,662 hours logged, suggesting all work is classified as non-billable or the billing relationship is completely missing.

7.0 Analysis and Key Findings
!

1. Client F: 1,662 hours with zero revenue

This is the largest mismatch in the dataset. Client F logged 1,662 hours -- the 6th highest across all clients -- with no billable hours and no associated revenue. This could be an internal project miscategorized as a client, a billing integration failure, or a contractual gap where work is being done without any billing mechanism. Either way, this represents roughly $576,000 in lost potential revenue at the portfolio average rate.

!

2. Client H and Client J earn half the average rate

Both clients sit around $175/hr -- roughly 50% of the portfolio average of $347/hr. With a combined 2,133 hours, that is a significant resource commitment. If these accounts were billing at the average rate, they would generate $740K instead of $373K -- a $367K gap. The high billable ratios (95%+) confirm this is a pricing problem, not a utilization one.

!

3. Internal hours: 7,264 hours at $0.07/hr effective rate

Internal time entries account for 14.3% of all hours. While some internal overhead is expected, the $503 in associated revenue is unusual and likely a data anomaly. Review whether any client-related work is being misclassified as internal, as even a small percentage shift would improve the billable ratio noticeably.

4. Top 3 clients generate excellent returns

Client C ($790/hr), Client A ($532/hr), and Client P ($4,958/hr) show that efficient client relationships are possible. Client P in particular demonstrates what a high-value, low-touch engagement looks like -- 84 hours generating $416K. Use these as benchmarks when renegotiating contracts for underperforming accounts.

8.0 Recommended Actions

Concrete steps to close the hours-vs-revenue gap across the portfolio.

1

Investigate Client F immediately

Determine whether this is a data issue (missing billing integration), an internal project mislabeled as a client, or actual unbilled work. If it is real client work, establish a billing mechanism this month. At the portfolio average rate, 1,662 hours represents over $576K in potential revenue.

2

Review rate cards for Client H and Client J

Both clients have near-perfect billable ratios but generate less than half the average rate. Pull their contracts and compare agreed rates to actual billing. If the rates are contractually locked, negotiate an adjustment at the next renewal. Target: bring both above $250/hr within 6 months.

3

Audit internal time classification

7,264 internal hours is 14.3% of total capacity. Audit the time entries to confirm none of this work belongs to a client account. Even reclassifying 5% would add 363 billable hours back to the pool, improving the overall billable ratio to 76.3%.

9.0 Frequently Asked Questions
What is the "effective rate" and how is it calculated?

Effective rate is total revenue divided by total hours worked for a client. It shows what you actually earn per hour of effort -- regardless of whether those hours are billed at different rates or include non-billable time. A low effective rate means you are spending more time than the revenue justifies.

Why does Client F show zero revenue?

Client F has 1,662 hours in Autotask time entries but no matching records in the billing items table. This typically means either the billing integration is broken, the work is done under a contract that does not generate billing items, or the company record is misconfigured in Autotask.

What is a good effective rate for an MSP?

It varies by region and service mix, but a healthy MSP typically targets an effective rate above $200/hr. The portfolio average of $347/hr in this dataset is strong. Clients below $200/hr should be reviewed, and anything below $150/hr is almost certainly losing money when fully-loaded costs are included.

How does billable ratio relate to the mismatch?

A high billable ratio with a low effective rate means the problem is pricing, not utilization. You are billing the hours -- just not at high enough rates. A low billable ratio with decent rates suggests too much non-billable work, which is a different problem requiring scope or process changes.

Can I run these DAX queries on my own dataset?

Yes. Copy any query from the toggles above and paste it into DAX Studio or Power BI Desktop. The queries reference standard Proxuma data model tables (BI_Autotask_Time_Entries, BI_Autotask_Billing_Items, BI_Autotask_Companies) that exist in every Proxuma Power BI deployment.

What about clients with very few hours?

Clients with minimal hours (like Client P at 84 hours) can show extremely high effective rates because their revenue comes primarily from product licensing, managed services, or fixed-fee contracts rather than hourly billing. These rates are real but not directly comparable to high-touch service clients.

How often should this report be reviewed?

Monthly for the top-level KPIs and quarterly for the full client breakdown. Set alerts for any client whose effective rate drops below $200/hr on a rolling 3-month basis so you catch deterioration early.

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