Guide
4 min read
By MSP Margin Editorial
Most MSPs price agreements per user or per endpoint. Fewer know what each of those units costs to support. Without that number, pricing tends to follow what competitors charge or what the last client accepted, and a client that consumes far more support than average can stay on the books for years without anyone noticing it loses money.
A cost-to-serve calculation puts a cost next to every agreement. It does not need to be precise to the dollar. It needs to be consistent, so you can compare clients and track changes over time.
The three layers of cost
Labor. Pull the agreement time logged against the client in your PSA for a period, ideally several months to smooth out spikes. Multiply by your fully loaded cost per productive technician hour. Include time from everyone who touches the client: help desk, escalation engineers, and the account manager's service reviews if you track them.
Stack. These are tools and services you pay for per unit and deploy to the client: RMM and remote access agents, endpoint protection, email security, backup, documentation seats. Some are priced per endpoint and some per user, so keep them separate. Use your actual cost per unit, not list price.
Overhead allocation. This is the share of costs that do not vary by client, such as rent, management salaries, accounting, insurance and company-wide software. Pick a simple allocation basis, often endpoints or users under management, divide the overhead pool by that total, and apply the rate to each client. The basis is a judgment call. What matters is using the same one for every client.
Look at the result at two levels. Contribution margin, before overhead, tells you whether the client pays for the resources it directly uses. Margin after overhead tells you whether it pays its share of running the business.
A worked example
The figures below are illustrative, rounded for clarity, and not drawn from any real client or vendor price list.
A client has 40 users and 50 endpoints and pays $6,000 per month. Over the past six months, agreement time averaged 22 hours per month. Your fully loaded cost per productive hour is $55. Per-endpoint tools cost you $14 per endpoint per month and per-user tools cost $8 per user. Your overhead allocation rate is $15 per endpoint.
- Labor: 22 hours x $55 = $1,210
- Per-endpoint stack: 50 x $14 = $700
- Per-user stack: 40 x $8 = $320
- Direct cost: $1,210 + $700 + $320 = $2,230
- Contribution margin: $6,000 - $2,230 = $3,770, or 62.8%
- Overhead: 50 x $15 = $750
- Total cost to serve: $2,230 + $750 = $2,980
- Margin after overhead: $6,000 - $2,980 = $3,020, or 50.3%
Per unit, that is $2,980 / 50 = $59.60 per endpoint, or $2,980 / 40 = $74.50 per user.
Now suppose a second client with the same headcount and price used 60 hours a month instead of 22. Labor rises by 38 hours x $55 = $2,090. Margin after overhead falls to $3,020 - $2,090 = $930, or 15.5%. Same price, same stack, very different client.
Using the number to price
For new agreements, cost to serve gives you a floor. Build the expected labor hours from similar clients, add the stack you plan to deploy, add the overhead rate, then set the price to reach the margin you want. If a prospect's environment looks more complex than average, adjust the labor estimate rather than hoping the average holds.
For renewals, compare each client's actual cost to serve against what you assumed when you priced it. Agreements written years ago often reflect an older tool stack and an older labor cost.
Spotting the clients that cost too much
Run the calculation for every agreement and sort by margin after overhead. The bottom of the list usually falls into a few patterns: clients with aging hardware that generates constant tickets, clients who added users without a price adjustment, and clients whose agreement scope has crept to include work that should be billed as projects.
Each pattern has a different fix: a hardware refresh proposal, a true-up of billed units, or a scope conversation. Repricing is one option, but not the only one, and the data makes that conversation far easier to have.
Refresh the analysis quarterly. Labor hours swing month to month, so use a rolling average, and update your hourly cost and stack prices when they change.
This guide is general information meant to help with internal analysis, not accounting advice. How you allocate overhead for management reporting can differ from what your financial statements require, so confirm the approach with your CPA.
