How Much Do Managed Service Providers Charge? Start With Your Cost to Serve
A prospect with 40 users asks for your per-user price. You know the going rate is somewhere around $100 to $175, a competitor quoted them $135, and you want the deal. So you pick a number, win it, and find out a year later whether it was right, usually by noticing that the client feels busier than the agreement report says they are.
Most managed service providers charge a flat monthly fee per user or per device, most often in the $50 to $200 range per user, with the bundle, the client's size and the security stack moving the number more than anything else. That is the market answer. The more useful answer for an MSP owner is that the market range only tells you where you will be compared. Your price has to come from what a seat actually costs you to support, and for most MSPs the biggest input to that, labor hours per seat, is undercounted in the PSA.
What MSPs charge: the survey numbers
The two most useful public data sets are vendor and community surveys. Treat them as a rough map, not a price list.
Kaseya's 2023 Global MSP Benchmark Survey (1,091 respondents, mostly in the Americas) asked MSPs what they charge:
| Monthly price | Per user (share of MSPs) | Per device (share of MSPs) |
|---|---|---|
| Under $50 | 16% | 20% |
| $50 to $100 | 22% | 28% |
| $101 to $150 | 17% | 11% |
| $151 to $200 | 11% | 5% |
| $201 to $250 | 4% | 3% |
| Over $250 | 1% | 2% |
| Don't offer this model | 28% | 30% |
A few things stand out. Per-device pricing clusters lower because a device is a smaller unit than a person, who often has a laptop, a phone and a tablet. Per-user pricing is spread wider, because "per user" can mean a help desk seat or a fully loaded bundle with security, backup and Microsoft 365 licensing inside it.
On models, the same survey found 26% of MSPs combine per-user and per-device pricing, 21% sell an all-in per-user price, 14% a fixed-fee subscription, 13% per device, 12% a la carte and 10% tiered bundles. An MSP Success reader survey from January 2025 came out differently, with 40% using a combination of models, 32% per device and 20% per user. Different audiences, different answers. The consistent part is that a clean single-model price list is the exception.
What the surveys can't tell you is what is inside each number. A $150 seat that includes after-hours coverage, an EDR and SOC subscription and onsite visits is a different product from a $150 seat that bills projects, onsite and after-hours separately. Comparing your price to a range without comparing the bundle is how MSPs talk themselves into discounts they didn't need to give.
Price from your cost to serve, not the range
The math behind a seat price is simple:
Seat price = (labor hours per seat per month × loaded technician cost per hour + tool and license cost per seat) ÷ (1 − target gross margin)
Loaded technician cost is salary plus payroll taxes, benefits and overhead you attribute to the service desk, divided by the hours a technician is actually available to work tickets. Tool cost per seat is your RMM, PSA, security stack, backup and anything else you resell or absorb, divided across the seats it covers.
For the margin, the MSP Success survey above is a useful reference: 68% of respondents said their gross service margin is 50% or higher, and only 5% reported under 30%. ConnectWise's Service Leadership data puts best-in-class MSPs at over 20% adjusted EBITDA in its 2023 report, which you don't get to with thin service margins.
Here is an illustration with made-up but plausible inputs. A 40-seat client, $25 per seat in tools, a loaded technician cost of $60 an hour, and a target gross margin of 55%. Your PSA says the client used 20 hours of labor last month, or half an hour per seat.
- Labor: 20 hours × $60 = $1,200
- Tools: 40 × $25 = $1,000
- Cost to serve: $2,200
- Price at 55% margin: $2,200 ÷ 0.45 = about $4,890, or roughly $122 per seat
That is the number most owners stop at. The problem is the 20 hours.
The input that is usually wrong: hours per seat
Labor hours per seat come from time entries. Time entries come from technicians, and technicians reliably log the work that started as a ticket and reliably miss the work that didn't:
- The four-minute call where a user needed a password reset and the tech just did it.
- The callback to confirm a fix worked, logged nowhere because the ticket was already closed.
- The after-hours call the on-call tech handled from their phone and meant to write up in the morning.
- Time rounded down because a tech didn't want a small fix to look slow.
None of this is laziness. It is what happens when the person doing the work is also the person who has to stop and document it, usually while the next call is ringing.
Run the same client again, assuming the real labor was 28 hours instead of 20: eight hours of quick calls, callbacks and after-hours work that never became time entries.
- Labor: 28 hours × $60 = $1,680
- Cost to serve: $2,680
- Your margin at $122 per seat ($4,880 a month): about 45%, not 55%
- Price you actually needed for 55%: $2,680 ÷ 0.45 = about $5,960, or roughly $149 per seat
The gap between $122 and $149 is the unlogged work. And your agreement reporting will hide it. Whether you call it an agreement (ConnectWise) or a contract (Autotask, HaloPSA, Syncro), any profitability view built on it divides revenue by the hours logged against it. In this example the PSA shows an effective rate of $244 an hour ($4,880 ÷ 20). The real one is about $174 ($4,880 ÷ 28). One of those makes you comfortable discounting at renewal. The other doesn't.
How to check your own numbers before you reprice
You don't need new software to find out how big the gap is. You need one week and two exports.
- Pull a week of call logs from your phone system. 3CX, RingCentral, Teams Phone, Zoom Phone and most hosted PBXs can export call detail records with the extension, the caller's number and the duration.
- Pull the same week of time entries from your PSA, by technician and by client.
- Match them up for your three busiest clients. For each call over a couple of minutes, look for a time entry on that client within the same hour or so. Count the calls with nothing.
- Do the same for your after-hours calls separately. They are the most likely to be missing and the most expensive per minute, and they are often the reason a client feels busy.
- Recalculate effective hourly rate per client with the missing time added back. Sort by the difference. The clients at the top are the ones to reprice first.
If the gap turns out to be small, good: your agreement reports are honest and you can price from them. If it is large, fix the time capture before you change the price list, or the next price list will be built on the same bad input.
This is the problem Vight was built for. It turns each support call into a ticket note and a time entry in ConnectWise, Autotask, HaloPSA or Syncro, and in ConnectWise and HaloPSA its desktop agent turns a technician's work session on a ticket into a work note and time entry, so the hours in your agreement reports include the work nobody stopped to write down. You can see the phone-to-PSA workflow here, or use the capacity assessment to estimate how much documentation time your team spends on calls.
Per user or per device?
Per user is easier to sell and easier for the client to budget, and it tracks the thing that actually generates tickets: people. Per device is easier to measure from your RMM, and it holds up better for clients with lots of shared machines, kiosks or servers. That is why so many MSPs end up with a combination: a per-user price for people and their endpoints, plus a per-device line for servers, network gear and shared devices.
Whichever you pick, the cost-to-serve math works the same way. Just measure labor per unit you actually sell, and make sure the unit count in the agreement matches what is in your RMM and your Microsoft 365 tenant at every renewal.
Frequently asked questions
How much do managed service providers charge per user?
Most MSPs that price per user charge between $50 and $200 per user per month. In Kaseya's 2023 benchmark survey, the most common band was $50 to $100 (22% of respondents), followed by $101 to $150 (17%) and $151 to $200 (11%). Higher prices usually mean more is bundled in, such as security, backup, after-hours support or onsite visits.
How much do MSPs charge per device?
Per-device pricing runs lower than per-user. In the same Kaseya survey, 28% of MSPs charged $50 to $100 per device per month and 20% charged under $50. Servers and network devices are often priced separately and higher than workstations.
What gross margin should an MSP target on managed services?
There is no single standard, but in a January 2025 MSP Success reader survey, 68% of MSPs reported a gross service margin of 50% or more, and 5% reported under 30%. If your agreements show margins well above that while the service desk feels stretched, check whether your time entries capture all the work before trusting the number.
How do I know if a client is underpriced?
Compare the agreement's monthly revenue with the real labor hours spent on that client, including quick calls, callbacks and after-hours work, then calculate an effective hourly rate. Clients whose effective rate drops sharply once missing time is added back are the ones to reprice first.
Should MSPs publish their prices?
Some do, usually as a starting per-user price for a defined bundle, to filter out prospects who only want the cheapest option. Many don't, because the bundle and the client's environment change the price. If you publish, publish what is included alongside the number, so the comparison prospects make is between bundles, not just figures.
If you want to see how much of your team's call and ticket work is reaching your time entries today, book a demo and we'll walk through it on your PSA.