The Ridgeview Advisors armadillo, in a work polo and tool belt, shines a flashlight on a leaking pipe under a service desk that drips gold coins into a bucket.
operationsfinance

Your Service Desk Margin Problem Is Hiding in Your PSA: Five Places to Look First

Most MSP margin leaks sit in PSA data nobody was taught to read. Here are five places service desk margin hides and how to train your team to find them.

Your service desk margin problem is already sitting in your PSA. The data that explains it is in your agreements, your time entries and your ticket history right now. What most MSPs are missing is a service desk lead who was taught to read that data, and an owner who reads it alongside them.

I spent years as an operator believing margin was a pricing conversation. Raise rates, renegotiate the contract, sell a bigger bundle. Pricing matters, and we have written about expanding margin without raising prices and about fixing your worst twelve clients. The pattern I kept running into was different. The margin was leaking out through habits on the service desk, and the only place those habits showed up was in PSA data that nobody on the desk had been taught to interpret.

Why does service desk margin stay invisible?

Because most MSPs measure revenue carefully and labor loosely. The industry’s best performers are doing well; ConnectWise’s Service Leadership Index 2026 profitability report (opens in a new tab) found best in class providers held adjusted EBITDA at 19 percent or better for the sixth straight year. The distance between them and everyone else is mostly operational, and most of it lives in the cost of delivering the work.

The tools are rarely the obstacle. In Kaseya’s 2025 Global MSP Benchmark Report (opens in a new tab), about 95 percent of MSPs said connecting their RMM, PSA and documentation tools is essential. Most shops already have the data connected. The gap is the person who knows which report to pull, what the number should be, and what to do on Tuesday when it is wrong. That is a capability, and capabilities can be taught.

How do you calculate gross margin on an agreement?

Agreement gross margin is the agreement’s monthly revenue minus its hard costs and labor cost, divided by the revenue. Hard costs are the licenses and tools you resell or consume to deliver it. Labor cost is every hour logged against that agreement multiplied by the loaded hourly cost of the person who logged it. The target we teach is 65 percent or better on recurring agreements, and anything consistently below 50 percent belongs on a short list for action.

The formula is simple. The trouble is that every input depends on a habit somebody on your team may never have been shown.

Five places service desk margin hides in your PSA

1. Labor cost that was never loaded

If technician hourly costs are blank, wrong or three raises out of date in your PSA, every agreement margin report you run is fiction. Some PSAs will happily show you 100 percent margin on an agreement with forty hours of labor against it, because the labor cost is zero.

Until that is fixed, use effective rate as a stopgap: agreement revenue divided by hours applied. Picture two agreements with similar revenue where one earns $95 an hour of work and the other earns $38. You do not need perfect cost data to see which one needs a conversation. Then load real hourly costs, and put a recurring reminder on the calendar to update them every time compensation changes.

2. Time that never lands on the agreement

Labor that is never entered, or entered against an internal bucket or the wrong client, makes your worst agreements look healthy and your best ones look average. This is the most common leak I see, and it is entirely behavioral. Technicians were told to enter their time. Very few were taught why it matters or held to a routine that makes it happen.

The fix is the end of shift discipline from our piece on why service quality drops when an MSP grows: every ticket updated, every hour entered, every status correct before the day ends, with a number that shows whether it happened and a manager who asks about it.

3. Agreements that stopped matching the client

Clients add users, devices, locations and applications all year. If the agreement quantities in your PSA were set at onboarding and never touched again, you are delivering support to forty seats and billing for thirty. The tickets show up as labor cost. The revenue never moves.

Reconcile agreement quantities against what your RMM and documentation tools actually see, every month, and make that reconciliation someone’s named job. The same check catches the opposite problem too, which protects client trust.

4. Clients who cost twice as much per ticket

Two clients can each pay $12,000 a month and have very different margins. Picture one averaging $45 of labor per ticket and the other $80. Company wide averages hide that difference completely. You only see it when you calculate cost per ticket by agreement.

When one client is far above the rest, the answer is usually in the ticket history, and the response is root cause work: a project that eliminates a recurring problem, end user training that prevents the avoidable tickets, automation for the repetitive requests, or a better trained first responder. One recurring printer problem fixed properly can take a meaningful share of a client’s monthly ticket volume with it.

5. Paid hours that never become applied hours

Every technician you pay for 40 hours has a certain number of hours that should end up applied to client work. If the gap between paid hours and applied hours is wide, margin disappears before a single agreement report is run. Sometimes the cause is overstaffing. More often it is time lost to interruptions, unclear escalation rules and work that was never logged.

This is the question our free Service Desk Margin Calculator (opens in a new tab) answers in about five minutes: is your desk staffed for the work it actually does?

Why is this a training problem?

Every one of the five leaks above is a habit. Loading costs, entering time, reconciling agreements, analyzing tickets and protecting applied hours are all things a service desk lead can learn, practice and reinforce. Most were promoted from the bench because they were great technicians, and nobody ever sat down with them and the owner to read an agreement margin report together.

That pairing is the point. The owner usually knows the financial target. The service desk lead knows why the tickets happen. Margin improves fastest when those two people look at the same data, agree on the one leak that matters most, and commit to a single fix they can measure next month.

What to do Monday morning

  1. Pull agreement gross margin for your ten largest clients. If the labor cost column looks too good to be true, check whether hourly costs are loaded before you trust a single number.
  2. If they are not, run effective rate for the same ten clients and circle anything well below your blended billable rate.
  3. Pick one client from that list. Compare agreement quantities to what your RMM sees, then sort its last 90 days of tickets by type and find the one that keeps coming back.
  4. Sit down with your service desk lead, look at the numbers together, and agree on one fix with one measure and one date.

Work on your own numbers with us

The Gross Margin Workshop for MSPs is two hours, live on Zoom, for an MSP owner and the person who runs the service desk. You bring one margin issue from your own PSA data, and you leave with it isolated, understood and turned into a one page plan the two of you agree on. Mark Sowden and I teach it together. The first session is Tuesday, November 10, at 10:30 a.m. Central, with more dates in December and January on our events page. Register your MSP (opens in a new tab) for $100, which covers two seats, or start with the Service Desk Margin Calculator (opens in a new tab).

Frequently asked

How do you calculate gross margin on an MSP agreement?
Take the agreement's monthly revenue, subtract the hard costs tied to it (licenses and tools) and the labor cost of every hour logged against it, then divide what is left by the revenue. The labor piece only works if each technician's hourly cost is loaded in the PSA and their time is entered against the right agreement. The target we teach is 65 percent or better on recurring agreements.
Where does service desk gross margin leak in an MSP?
Usually in five places inside the PSA: technician labor cost that was never loaded or is out of date, time that never lands on the agreement, agreements that stopped matching what the client actually has, clients whose cost per ticket runs far above the rest, and paid hours that never become applied hours. Each one is a data habit as much as a pricing problem.
What is effective rate and when should an MSP use it?
Effective rate is an agreement's monthly revenue divided by the hours applied to it. It is a useful stopgap when labor costs are not configured in the PSA, because it still shows which agreements earn $95 an hour and which earn $38. Once labor costs are loaded, agreement gross margin is the better measure.
Who should own service desk margin, the owner or the service manager?
Both, looking at the same report. The owner usually knows the financial target and the service desk lead knows why the tickets happen. Margin improves fastest when the two of them read the same agreement data together and agree on one fix at a time.

Build the capability, not just the headcount.

Talk to RVA about an L&D program, a cohort, or executive coaching built for the way MSPs actually run.

Work with RVA