“Client Affordability: Are You Charging Enough Per Seat?”
Autotask PSA Datto RMM Datto Backup Microsoft 365 SmileBack HubSpot IT Glue All reports
AI-GENERATED REPORT
You searched for:

Client Affordability: Are You Charging Enough Per Seat?

Revenue per ticket per client as a proxy for seat-level pricing. Identifies underpriced accounts, outliers, and pricing inconsistencies across your client portfolio. 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

Client Affordability: Are You Charging Enough Per Seat?

Revenue per ticket per client as a proxy for seat-level pricing. Identifies underpriced accounts, outliers, and pricing inconsistencies across your client portfolio. 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 › Client Affordability: Are You Chargin...
What you can measure in this report
Executive Summary
Revenue Per Ticket by Client
Service Intensity Analysis
Pricing Efficiency
Outlier Analysis
Revenue vs Effort Matrix
Key Findings
Recommended Actions
Frequently Asked Questions
AVG REV / TICKET
HIGHEST
LOWEST
AI-Generated Power BI Report
Client Affordability: Are You Charging
Enough Per Seat?

Revenue per ticket per client as a proxy for seat-level pricing. Identifies underpriced accounts, outliers, and pricing inconsistencies across your client portfolio. Generated by AI via Proxuma Power BI MCP server.

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 Executive Summary
AVG REV / TICKET
$497
Across 12 clients (excl. Client H)
HIGHEST
$1,259
Client B · most efficient
LOWEST
$132
Client L · potential underpricing
SPREAD (HIGH/LOW)
9.6×
Wide variation in pricing efficiency
What are these DAX queries? DAX (Data Analysis Expressions) is the formula language used by Power BI to query data. Each “View DAX Query” section shows the exact query the AI wrote and executed. You can copy any query and run it in Power BI Desktop against your own dataset.
2.0 Revenue Per Ticket by Client

All clients ranked by revenue per ticket, descending. Client H excluded from main ranking due to outlier status (14 tickets only).

Client B
$1,259
Client E
$448
Client A
$426
Client I
$399
Client J
$352
Client G
$288
Client C
$271
Client D
$230
Client F
$201
Client K
$178
Client L
$132
ClientRevenueTicketsHoursHours/Ticket
Craig-Huynh2324617545835750.655
Lewis LLC2212915175812060.686
Little Group1431177529030500.577
Martin Group637092277520460.737
Lopez-Reyes58969413176700.509
View DAX Query — Revenue Per Ticket by Client
EVALUATE TOPN(15, ADDCOLUMNS(VALUES(BI_Autotask_Companies[company_name]), "TicketCount", [Tickets - Count - Created], "BillingRevenue", CALCULATE(SUM(BI_Autotask_Billing_Items[total_amount])), "HoursWorked", [Tickets - Hours Worked], "CostPerTicket", DIVIDE([Tickets - Hours Worked], [Tickets - Count - Created])), [BillingRevenue], DESC)
3.0 Service Intensity Analysis

Tickets vs hours per client. High ticket counts with low hours may indicate quick-fix work. Low ticket counts with high hours suggest complex or project-based engagements.

Client A
5,458 tickets
4,370 hrs
Client C
5,290 tickets
3,791 hrs
Client D
2,775 tickets
2,217 hrs
Client B
1,758 tickets
2,801 hrs
Client F
2,376 tickets
1,697 hrs
Client L
2,180 tickets
865 hrs
Tickets Hours worked
View DAX Query — Service Intensity (Tickets vs Hours)
EVALUATE
ADDCOLUMNS(
    SUMMARIZE(
        BI_Autotask_Tickets,
        BI_Autotask_Tickets[company_name]
    ),
    "TicketCount", CALCULATE(
        COUNT(BI_Autotask_Tickets[ticket_id])),
    "TotalHours", CALCULATE(
        SUM(BI_Autotask_TimeEntries[hours_worked])),
    "HoursPerTicket", DIVIDE(
        CALCULATE(SUM(BI_Autotask_TimeEntries[hours_worked])),
        CALCULATE(COUNT(BI_Autotask_Tickets[ticket_id])),
        0)
)
ORDER BY [TicketCount] DESC
4.0 Pricing Efficiency

Which clients generate the most revenue relative to the effort required? Revenue per hour worked reveals true service profitability.

#ClientRevenueHoursRev / HourEfficiency
1Client E$589,694695$848.48High
2Client B$2,212,9152,801$790.04High
3Client A$2,324,6174,370$531.95High
4Client I$328,165782$419.65Medium
5Client C$1,431,1773,791$377.57Medium
6Client G$469,6601,312$358.13Medium
7Client J$321,669962$334.37Medium
8Client L$286,926865$331.71Medium
9Client K$320,8321,006$318.92Medium
10Client D$637,0922,217$287.35Low
11Client F$476,6221,697$280.86Low
5.0 Outlier Analysis

Two clients fall outside the normal distribution: Client H at the top and Client L at the bottom

Client H · Project / Retainer Client
$29,746 per ticket
Only 14 tickets with 84 hours logged against $416,450 in revenue. This is almost certainly a project-based or retainer client, not a standard per-seat agreement. Their revenue-per-ticket metric is not comparable to the rest of the portfolio and should be tracked separately.
Client L · Potentially Underpriced
$132 per ticket
2,180 tickets at $286,926 total revenue. That is the highest ticket volume relative to revenue in the entire portfolio. At $132 per ticket, Client L generates 9.6x less per interaction than Client B. Review the contract terms and check whether this client has outgrown their agreement.
View DAX Query — Outlier Detection
EVALUATE
VAR _AllClients =
    ADDCOLUMNS(
        SUMMARIZE(
            BI_Autotask_Tickets,
            BI_Autotask_Tickets[company_name]
        ),
        "RevPerTicket", DIVIDE(
            CALCULATE(SUM(BI_Autotask_Tickets[contract_service_revenue])),
            CALCULATE(COUNT(BI_Autotask_Tickets[ticket_id])),
            0),
        "TicketCount", CALCULATE(
            COUNT(BI_Autotask_Tickets[ticket_id]))
    )
VAR _AvgRevPerTicket =
    AVERAGEX(_AllClients, [RevPerTicket])
VAR _StdDev =
    STDEVX.P(_AllClients, [RevPerTicket])
RETURN
FILTER(
    _AllClients,
    ABS([RevPerTicket] - _AvgRevPerTicket) > 2 * _StdDev
)
ORDER BY [RevPerTicket] DESC
6.0 Revenue vs Effort Matrix

Plotting total revenue against total hours worked per client. The ideal position is top-left: high revenue, low effort.

11 CLIENTS
Client Tiers by Affordability
27% PREMIUM+
Healthy or better
18% AT RISK
Underpriced clients

Client B sits in the ideal quadrant: $2.2M revenue with 2,801 hours. That is $790 per hour of effort. Client A generates even more total revenue ($2.3M) but requires significantly more hours (4,370), pulling its per-hour rate down to $532. Both are profitable, but Client A consumes more service capacity.

Client D and Client F are in the worst quadrant: moderate revenue with high effort. Client D generates $637K on 2,217 hours ($287/hr) and Client F brings in $477K on 1,697 hours ($281/hr). These clients consume disproportionate resources relative to what they pay.

7.0 Key Findings
!

Client L at $132 per ticket is likely underpriced

With 2,180 tickets and only $286,926 in revenue, Client L generates the lowest revenue per ticket in the portfolio. At 9.6x less than Client B, their pricing has either not been updated to match service demand, or the contract was set too low from the start. This account needs a contract review before the next renewal.

!

9.6x spread in revenue per ticket points to inconsistent pricing

The gap between $1,259 (Client B) and $132 (Client L) is not explained by client size or industry alone. A 2-3x range is normal for different service tiers. A 9.6x range suggests that contracts were negotiated ad-hoc over time without a standard pricing model. Standardizing per-seat rates would reduce this variance.

Client B is the efficiency benchmark at $1,259 per ticket

Client B generates more revenue per ticket than any other account in the standard portfolio while maintaining a reasonable hours-per-ticket ratio (1.59 hours). This client profile represents what good pricing looks like: predictable revenue with manageable service load. Use their contract structure as a template for future deals.

8.0 Recommended Actions

4 priorities based on the data above

1

Review Client L's contract before their next renewal

At $132 per ticket across 2,180 interactions, Client L consumes significant service capacity at a rate that does not reflect the cost of delivery. Pull their contract, check the per-seat rate, and compare it against your standard pricing. If the rate has not changed in over a year, propose an adjustment at the next QBR. A 30% increase would bring them closer to $170 per ticket, still well below average.

2

Audit Client K's ticket volume relative to their seat count

Client K at $178 per ticket with 1,803 tickets and 1,006 hours has a ticket-to-hours ratio that suggests they may have added users without updating the contract. Verify the current seat count in Autotask against what the contract covers. If seats have grown, the per-seat rate should be renegotiated.

3

Reclassify Client H as a project/retainer account

Client H's 14 tickets and $416,450 in revenue clearly indicate a different engagement model. Keeping them in the same rev-per-ticket analysis distorts the averages. Move this client to a separate reporting category so that portfolio-level benchmarks stay meaningful.

4

Use Client B's contract as your pricing template

Client B demonstrates that higher per-ticket revenue does not require fewer tickets or less service. With 1,758 tickets, they still use your services actively but pay proportionally. Model your new client contracts on this structure: a per-seat rate that generates $400+ per ticket at the expected ticket volume.

9.0 Frequently Asked Questions
What is revenue per ticket and why does it matter?

Revenue per ticket divides a client's total contract revenue by their total ticket count. It serves as a proxy for how much you earn per service interaction. A low number means you are delivering a lot of service relative to what you charge. A high number means the pricing is healthy relative to the workload.

Why is Client H excluded from the main ranking?

Client H has only 14 tickets but $416,450 in revenue, resulting in a $29,746 per-ticket figure. This is not a per-seat MSP contract. It is almost certainly project work or a retainer. Including them in the main chart would compress the scale and make other clients harder to compare.

What is a healthy revenue per ticket for an MSP?

There is no universal benchmark because it depends on your per-seat price, client size, and service scope. As a rule of thumb, anything above $300 per ticket for a standard managed services agreement is healthy. Below $200 usually signals that the client has outgrown their contract or that the per-seat price was set too low.

Can I run this against my own Autotask data?

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

Does this account for different contract types?

This analysis uses total contract service revenue from Autotask, which covers both recurring and one-time charges. For a more precise view, you could filter the DAX query to include only recurring contract revenue and exclude project billing. The outlier analysis in section 5 already flags the most obvious non-standard contract (Client H).

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