A deep look at effective hourly rates across 15 clients from Autotask PSA billing and time entry data. This report reveals which clients generate thousands per hour of work and which ones barely register -- and why the average rate of $1.87/hr is a number you should ignore.
A deep look at effective hourly rates across 15 clients from Autotask PSA billing and time entry data. This report reveals which clients generate thousands per hour of work and which ones barely register -- and why the average rate of $1.87/hr is a number you should ignore.
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
A deep look at effective hourly rates across 15 clients from Autotask PSA billing and time entry data. This report reveals which clients generate thousands per hour of work and which ones barely register -- and why the average rate of $1.87/hr is a number you should ignore.
High-level financial metrics across the full client base. The average effective rate looks alarming at first, but the story is more nuanced than a single number.
Top 15 clients sorted by effective rate (revenue / hours worked). Clients with very few hours but significant revenue dominate the top of this list.
| Client | Eff. Rate | Hours Worked | Revenue | Flag |
|---|---|---|---|---|
| Client A | $48,147 | 0.17 | $8,026 | Low hours |
| Client B | $35,939 | 0.42 | $14,976 | Low hours |
| Client C | $27,975 | 5.32 | $148,731 | Product-heavy |
| Client D | $21,237 | 0.25 | $5,309 | Low hours |
| Client E | $16,040 | 8.53 | $136,869 | Product-heavy |
| Client F | $13,199 | 1.13 | $14,959 | Low hours |
| Client G | $12,743 | 2.35 | $29,947 | Product-heavy |
| Client H | $12,189 | 10.50 | $127,988 | Product-heavy |
| Client I | $9,771 | 0.22 | $2,116 | Low hours |
| Client J | $7,714 | 1.00 | $7,714 | Low hours |
| Client K | $6,453 | 0.25 | $1,613 | Low hours |
| Client L | $4,966 | 83.87 | $416,450 | High volume |
| Client M | $4,916 | 9.42 | $46,293 | Product-heavy |
| Client N | $3,470 | 5.07 | $17,581 | Mixed |
| Client O | $3,450 | 48.20 | $166,279 | High volume |
Note: Six of the top 10 clients logged fewer than 2 hours of work. Their sky-high effective rates come from product licensing, recurring contracts, or one-time purchases rather than labour. These clients inflate the average and should be analysed separately.
EVALUATE
TOPN(
15,
ADDCOLUMNS(
SUMMARIZE(
'BI_Autotask_Companies',
'BI_Autotask_Companies'[company_name]
),
"EffRate", [Analytics - Client Effective Rate],
"HoursWorked", [Company - Hours Worked],
"Revenue", [Revenue - Total]
),
[EffRate], DESC
)
Comparing hours invested against revenue generated for each client. The bars make it obvious: hours and revenue are barely correlated.
EVALUATE ROW("TotalRevenue", SUM('BI_Autotask_Charges'[billable_amount]), "TotalHours", [Tickets - Hours Worked], "EffectiveRate", DIVIDE(SUM('BI_Autotask_Charges'[billable_amount]), [Tickets - Hours Worked]))
Grouping the 15 clients into rate bands to show how effective rates cluster. Most of the outlier rates come from clients with minimal labour hours.
How revenue is distributed among the top 15 clients. Two clients account for nearly half of the total revenue in this group.
EVALUATE
TOPN(
15,
ADDCOLUMNS(
SUMMARIZE(
'BI_Autotask_Companies',
'BI_Autotask_Companies'[company_name]
),
"EffRate", [Analytics - Client Effective Rate],
"HoursWorked", [Company - Hours Worked],
"Revenue", [Revenue - Total]
),
[EffRate], DESC
)
The average is dragged to near-zero by clients who generate millions in revenue with almost no logged hours. This happens when product licensing, recurring managed services, or hardware sales are tied to clients that rarely open tickets. Using this number for any planning decision will lead you in the wrong direction.
Nine of the 15 clients in this dataset have fewer than 10 hours of logged work. Their effective rates range from $6,453/hr to $48,147/hr. These are not labour clients. They are recurring revenue accounts or one-off purchases that happen to have a company record in Autotask. Mixing them with labour-intensive accounts corrupts any rate-based analysis.
Client L stands out as the most meaningful data point: 83.87 hours of actual work generating $416K in revenue. This is likely a managed services client with substantial product licensing on top. Client O follows a similar pattern with 48 hours and $166K. These two clients represent what a healthy high-value engagement looks like.
The 55,785 billed hours vs 50,752 worked hours gap (about 5,033 hours) suggests billing adjustments, minimum billing increments, or time rounding policies in play. This is not unusual for MSPs with 15-minute or 30-minute minimum billing rules, but it is worth tracking to make sure it does not create client friction.
The effective hourly rate is one of those metrics that looks straightforward but collapses under scrutiny when applied to an MSP client base. The core issue: MSP revenue is a mix of labour billing, product licensing, recurring managed services, and hardware pass-throughs. Dividing total revenue by hours worked treats all revenue as if it was earned by the hour. It was not.
Look at Client A. The $48,147/hr rate comes from $8,026 in revenue divided by 10 minutes of logged work. That is almost certainly a product sale or a licensing renewal where someone created a time entry for administrative tracking. It tells you nothing about what your labour is worth. The same pattern repeats for Clients B, D, F, I, J, and K.
The clients that actually reveal your labour economics are the ones with meaningful hours. Client L (84 hours, $416K) and Client O (48 hours, $166K) are the real signals. Even these are likely inflated by bundled product revenue, but at least the hours base is large enough to produce a rate that reflects actual work patterns.
To get a clean effective rate, you need to filter out clients with fewer than 20 hours of logged work. You also need to separate product revenue from labour revenue at the billing item level. Until you do that, the "effective rate" metric will keep lying to you -- showing numbers that look impressive but mean nothing for capacity planning or pricing decisions.
The 10% gap between worked and billed hours is a separate conversation. It might reflect minimum billing increments, or it might indicate that certain contracts allow for billing adjustments. Either way, it is real revenue, and it should be tracked separately from the time-based rate calculations.
Practical steps to make the effective rate metric useful and to improve revenue visibility per client.
Create two client groups: labour-driven (20+ hours logged) and product-driven (under 20 hours). Calculate the effective rate for each group separately. The labour segment will give you a realistic benchmark for your hourly value. The product segment is a licensing and procurement metric, not a labour metric.
In Autotask, billing items have a type field (Service, Expense, Product, etc.). Build a measure that excludes product billing items from the effective rate calculation. This will give you a clean "labour-only" rate that actually reflects what your team earns per hour of hands-on work.
Any client with fewer than 10 hours of work should be excluded from effective rate dashboards by default. Include a filter toggle so leadership can still see the full picture, but the default view should show rates that are based on enough data to be meaningful.
The average is calculated across the full client base, including clients with massive revenue but almost no logged hours. A client generating $500K in product sales with 0.5 hours logged produces a per-client rate in the tens of thousands, but when averaged with labour-heavy clients at $100-200/hr, the math produces a misleadingly low number. This is a weighted average problem, not a pricing problem.
Hours worked is the actual time logged by technicians in time entries. Hours billed is what appears on the invoice, which may include minimum billing increments (e.g., 15-minute minimums), rounding rules, or manual billing adjustments. The 10% gap between the two numbers in this dataset is within normal range for MSPs.
Not in its raw form. The effective rate mixes labour income with product and licensing revenue. For pricing, use the labour-only rate: filter billing items to service-type entries only, then divide by hours worked. That gives you a clean view of what each hour of technician time actually earns.
Look at the ratio of hours logged to total revenue. If a client generates more than $1,000 per hour worked, the revenue is almost certainly dominated by product sales or licensing. Clients where the effective rate falls between $100-500/hr are your true labour accounts. Anything below $100/hr deserves a closer look at contract terms.
Yes. Copy any query from the toggles above and paste it into DAX Studio or the Power BI Desktop performance analyzer. The queries reference standard Proxuma data model tables and measures that exist in every Proxuma Power BI deployment.
Quarterly is enough for client segmentation. The effective rate does not shift fast unless you onboard or lose a major client. Monthly review is better for tracking billed-vs-worked hour gaps, since those can signal process issues with time entry compliance or billing rule changes.
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