IT Support Contract Margin Calculator
Enter what a client pays you each month, the seats on the contract, what your tools cost for that client, the technician hours the contract takes, what an hour of technician time costs you and any other monthly costs. You get the labour cost, the total cost, the gross profit and margin, the cost and fee per seat, and the number of labour hours at which the contract stops making money. It is built for managed service providers (MSPs), IT support companies and freelance IT consultants who want to know whether a support contract pays. Nothing is sent anywhere.
In one sentence: Contract margin is the share of a monthly support fee left after the tools, technician time and other costs that the contract uses.
Formula: labour cost = labour hours × loaded hourly cost; total cost = tool costs + labour cost + other costs; gross profit = monthly fee − total cost; margin % = gross profit ÷ monthly fee × 100; cost per seat = total cost ÷ seats; fee per seat = monthly fee ÷ seats; break-even hours = (monthly fee − tool costs − other costs) ÷ loaded hourly cost.
What each input means
The monthly fee is what the client pays you for the contract each month, before any sales tax. If the contract is billed quarterly or yearly, divide to a monthly figure. Leave out one-off project work billed separately, because its costs are not in the other inputs either.
Seats is the number of users or devices the contract covers. It is optional. With it, the calculator shows what each seat costs you and what the client pays per seat, which makes it easier to compare this contract with others of a different size.
Tool costs are the monthly licence and platform costs you carry for this client: monitoring agents, endpoint protection, backup storage, email filtering, and the share of your PSA and RMM bills that this client accounts for. Your vendor licence bills list most of these per seat or per device, so multiply by the client's count. For platforms billed as one fee, use a fair share, such as the client's seats divided by all the seats you manage.
Labour hours are the technician hours the contract took in a month: tickets, scheduled maintenance, reviews and account meetings. Your ticket system reports give you time logged per client. Use an average over several months so that one busy month does not decide the answer. Loaded hourly cost is what an hour of that time costs you: pay from payroll plus employer taxes, benefits, equipment and training, divided by the hours a technician spends on client work.
Other costs catch anything else the contract uses each month, such as a dedicated phone line, travel to the client's site, or third-party support you buy in.
Reading the result
With the example figures, a fee of 4,500 for 50 seats, 1,000 in tools, 35 hours of labour at 60 an hour and 200 in other costs, labour costs 2,100 and the contract costs 3,300 in all. That leaves a gross profit of 1,200, a gross margin of 26.67 percent. Each seat costs you 66 and pays you 90. The contract breaks even at 55 labour hours: past that, every extra hour is a loss.
The margin is gross margin for this contract. It shows what the contract contributes after its own costs. It does not include rent, sales, management time or the other costs of running the business, which have to be paid out of the gross profit of all your contracts together.
What a negative gross profit means
When the total cost is more than the fee, gross profit and margin turn negative. The contract is costing you money every month, and the negative figure is how much. A negative result usually comes from one of three places. The client may be using far more technician time than the fee was priced for. Tool costs may have risen since the contract was signed, through vendor price rises or added seats you did not bill for. Or the fee may simply have been set too low at the start.
The inputs tell you which. Compare the labour hours with the break-even hours: if hours are well above break-even, the problem is usage, and the conversation with the client is about scope or a price increase. If hours are below break-even and the contract still loses money, tool and other costs are taking too much of the fee. Check that every seat you pay for is a seat the client is billed for.
Using break-even hours
Break-even hours are the labour hours at which gross profit is exactly zero. The figure is the fee left after tools and other costs, divided by your loaded hourly cost. It gives your service desk a number to watch. When the hours logged against a client in a month start to approach it, the contract is close to costing more than it earns, and it is time to look at what is driving the tickets.
It is also useful when you quote. Before you agree a fee, estimate the hours the client is likely to need and compare them with the break-even hours the fee would give you. If the estimate is close to break-even, there is little room for a bad month. The per-user price calculator works the other way round, from costs and a target margin to a price.
The calculator does not say what margin a contract ought to earn. That depends on your costs and your business, so compare the result with your other contracts and with the same contract over time.
Frequently asked questions
Why are the per-seat figures shown as n/a?
Per-seat figures divide by the number of seats. When seats is 0 or left empty, there is nothing to divide by, so the calculator leaves those figures out.
Should I include my own time?
Yes, if you work on the contract. Count your hours in the labour hours and give them a loaded cost, or the margin will look better than it is.
Is this the same as net profit?
No. It is gross profit for one contract. Net profit comes after the costs of running the whole business.
Is my data stored?
No. Everything runs in your browser.