Generated by AI via Proxuma Power BI MCP server. Billable rates, revenue mix, and margin analysis across all work types in your Autotask PSA.
Generated by AI via Proxuma Power BI MCP server. Billable rates, revenue mix, and margin analysis across all work types in your Autotask PSA.
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
Generated by AI via Proxuma Power BI MCP server. Billable rates, revenue mix, and margin analysis across all work types in your Autotask PSA.
EVALUATE
ROW(
"Total_Revenue", [Revenue - Total],
"Total_Cost", [Cost - Total],
"Gross_Profit", [Profit - total],
"Total_Worked_Hours", SUM('BI_Autotask_Tickets'[worked_hours]),
"Total_Billable_Hours", SUM('BI_Autotask_Tickets'[billable_hours])
)
Total hours logged, billable hours, ticket count, and billable percentage per service type
| Type | Tickets | % |
|---|---|---|
| Incident | 27,664 | 41.0% |
| Alert | 19,790 | 29.3% |
| Service Request | 12,653 | 18.7% |
| Change Request | 7,247 | 10.7% |
| Problem | 167 | 0.2% |
EVALUATE SUMMARIZECOLUMNS('BI_Autotask_Tickets'[ticket_type_name], "TicketCount", COUNTROWS('BI_Autotask_Tickets'))
Share of logged hours that are billed back to clients, per work type
EVALUATE
ADDCOLUMNS(
SUMMARIZECOLUMNS(
'BI_Autotask_Tickets'[worktype_id_billing_name],
"Total_Hours", SUM('BI_Autotask_Tickets'[worked_hours]),
"Billable_Hours", SUM('BI_Autotask_Tickets'[billable_hours])
),
"Billable_Pct",
DIVIDE(
SUM('BI_Autotask_Tickets'[billable_hours]),
SUM('BI_Autotask_Tickets'[worked_hours])
)
)
ORDER BY [Total_Hours] DESC
Standard T&M work drives this MSP. 29,115 of the 33,305 total hours (87.5%) came from “Standaard werkzaamheden”, which represents reactive and scheduled T&M tickets. At 74.3% billable, it is the healthiest work type by recovery rate. Most hours logged against T&M tickets are billed back to clients, which is exactly what you want.
Managed service check-ins (Beheermoment) tell a different story. 3,520 hours logged, but only 357 billed. That is an 89.9% absorption rate. This is not necessarily a problem. Managed service contracts cover most of this time as part of the monthly retainer. But it does mean 3,163 hours of skilled engineer time is being absorbed into flat-fee pricing. If your contract pricing was set when engineers were spending less time per client, you are likely undercharging.
Project work has the most striking gap: only 4.2% of project hours are marked billable. For a fixed-price or milestone-billed project, this is expected. Hours get logged but billing happens at the project level, not per time entry. The concern is whether your project pricing actually covers the hours being logged. At 1.55 hours per ticket and 233 project tickets, you are logging 361 hours of project time that is almost entirely off the per-hour billing radar.
4 actions based on the data above
Standard T&M work recovers nearly three quarters of all hours logged. This is the service line you want more of. Any operational improvements that shift work from non-billable categories to T&M billing will have a direct positive impact on revenue.
89.9% of managed service hours are absorbed by contract. If your Beheermoment contracts were priced 12 or 24 months ago, client complexity has likely grown since then. Run a comparison of hours logged per managed client against what your contracts assumed at signing time.
A 4.2% billable rate on project work is not a financial problem if projects are milestone-billed at the correct price. But you need to verify that total project revenue covers the actual hours being logged. Pull project revenue against project hours for each active project to confirm you are not working at a loss.
Field service visits show only 26% of hours billed. Travel time, preparation, and debrief time are likely being logged but not billed. Consider whether your onsite billing policy captures total engagement time or just on-site wrench time, and whether clients are being charged for travel.
Project work is often billed at fixed milestones rather than per time entry. In Autotask, engineers log hours against project tickets, but the billing happens at the project level. This means most time entries are marked as non-billable even though the project as a whole is profitable. The key question is whether your milestone pricing covers the actual hours being logged.
Not necessarily. Managed services are typically billed at a flat monthly rate that covers all included hours. The billable % in this report reflects time entry billing flags, not whether the service is profitable. A managed client could be very profitable if the monthly retainer is priced correctly relative to the hours being consumed. Use the cost vs revenue per client report to evaluate actual managed service profitability.
Yes. Connect Proxuma Power BI to your Autotask PSA account, add an AI tool 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.
DAX (Data Analysis Expressions) is the formula language used by Power BI. Each query shows exactly what data was requested. You can copy any query and run it in Power BI Desktop against your own dataset to see your real numbers.
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