Busy and profitable are unrelated, and a full calendar actively hides the problem — because every hour you spend working is an hour you do not spend looking at why.
There are four causes and you can tell them apart.
1. The work is underpriced
The most common, and the least visible from inside because every job is priced consistently wrong so nothing looks unusual.
Check the arithmetic first: a 40% markup produces a 29% margin, so if you have been marking up by your target margin you have been under-earning on every job for as long as you have been trading. See markup and margin.
Then check whether the price covers overhead and your own wage, not just the materials and the technician — see pricing a job.
2. Hours are going somewhere you do not bill
A "two hour job" is routinely four hours of paid time once travel, loading, materials collection and paperwork are counted.
If technician utilisation is high but margin is thin, the hours are real and unpriced. If utilisation is low, the hours are going to gaps between jobs, which is a routing problem.
3. Some of the work is losing money
An average margin routinely contains job types sold at a loss, carried by ones sold well. Nothing about the monthly total shows it.
Job margins breaks it down, and the common finding is uncomfortable: the work filling the schedule is not the work carrying the profit.
4. Overhead has outgrown the revenue
If gross margin is healthy and net is thin, the work is priced right and the business is carrying too much cost. See reducing overhead.
Order
Arithmetic, then job margins, then utilisation, then overhead. The first is free and fixes the most.
A further cause
Sometimes the answer is that the business is doing too much low-value work well. Being fully booked at a price that does not work is not a capacity success — it is the market accepting a price you should not have offered.
Your own numbers
This article explains the general case. For what is actually happening in your business — which customers, which jobs, which period — ask the assistant in the Command Center, which can see your workspace. The wiki cannot: it is public, and it has no access to anyone's data.
