
The Hardest Question in a Contracting Business: Which Jobs Actually Made You Money?
Hi folks. There is one question I have started asking every contractor I work with, and it is the one that produces the longest pause.
Which of your jobs last year actually made you money?
Not which ones were biggest. Not which ones you enjoyed. Which ones, after everything, put more in your pocket than they took out. When I asked it of the team at JJB Home Improvements, a client of ours, they were honest about it: answering that properly would take them a good long while. And I want to be clear, that is not a knock on them. It is one of the best-run kinds of answers you can get, because most owners either cannot answer it at all or, worse, answer it confidently and wrong.
JJB put their finger on exactly why it is hard, too. Two things. They had a hard time pinning down their overhead and fixed expenses well enough to spread them across jobs. And on the jobs where they subbed work out, it was tough to stay on top of what the subs were actually costing them and what margin was left after. Those two problems are not unique to them. They are the two places where job profitability goes to hide in almost every contracting business I have seen.
Why the question is so genuinely hard
It would be easy to treat this as a bookkeeping failure and move on. It is not. The question is hard for structural reasons, and it is worth naming them, because you cannot fix what you think is just laziness.
The first reason is that the number you can see is not the number that matters. Most contractors can tell you the gross margin on a job, revenue minus the direct costs of materials and labor. That number feels like profit. It is not. Overhead has to come out of it, and for a small contractor overhead commonly runs 15 to 25% of revenue. Watch what that does. Building Advisor walks through a job with a 24.4% gross margin that, once overhead is loaded in, nets 1.7%, and notes that if your real overhead rate is north of 30%, that same job actually lost money. The gross number looked healthy. The job was underwater. You cannot see that without doing the allocation, and the allocation is exactly the part JJB found hard.
The second reason is that the costs themselves are slippery, and subcontractors are the slipperiest. On a subbed job, the sub's invoice is only part of the story. There is the change that got agreed to on site and never made it onto paper. There is the sub who came back to fix something and the hours that got quietly absorbed. There is labor burden on your own crew, often 20 to 50% on top of base wages once you count payroll taxes, insurance, and the rest. None of that shows up on the estimate. All of it comes out of the margin. If you are not tracking it as the job runs, you are reconstructing it from memory months later, which is precisely why the honest answer to my question is "give me a few days."
The third reason is the quiet one. The systems do not talk. The estimate lives in one place, the actual costs in accounting, the change orders in a text thread or somebody's head, and the sub invoices in a folder. Nobody built a wall between them on purpose. They just grew up separately, and reconciling them into a per-job profit number is manual work that only happens when someone sits down and forces it. Most owners are too busy running jobs to force it, so it never happens, so the question stays unanswered.
What it costs to leave it unanswered
Here is the part that should make this worth a Saturday. When you do not know which jobs make money, you make three expensive mistakes without realizing it, over and over.
You keep bidding the work that loses. If you do not know that a certain kind of job, a certain trade, a certain type of client, consistently comes in underwater, you will keep saying yes to it. You will even chase more of it, because it is often the work that is easy to sell. You are effectively paying for the privilege of being busy.
You underprice the work that wins, because you do not know it is winning. The job you think is marginal might be your best one, and you are discounting it to compete when you have room not to.
And you fly blind on your single biggest cost lever. When net margins in this business commonly sit between 5 and 11%, the difference between your good jobs and your bad ones is most of your take-home. Managing that mix is the whole game, and you cannot manage a mix you cannot see.
The upside runs the same direction. Contractors who start tracking cost at the job level tend to find $2,000 to $5,000 in monthly profit leaks within the first month, not because they found a magic saving, but because they could finally see where the money was quietly going. The number was always there. They just could not see it.
What actually fixes it
The fix is not a heroic accounting effort once a year. That is the thing everyone tries and nobody sustains, because it is miserable and it is always out of date by the time it is done. The fix is making the per-job number fall out of the work as the work happens.
That means a few unglamorous things. An overhead rate you have actually calculated, so it can be loaded onto every job automatically instead of guessed at. Real labor burden in your labor cost, not just base wages. Subcontractor costs and change orders captured against the job as they occur, not reconstructed later. And one place where the estimate and the actuals sit side by side so you can see the gap the moment it opens instead of at tax time.
This is squarely where we spend our time at Massively Useful, because the reason it does not happen on its own is almost always that the numbers live in separate systems that were never going to talk to each other. Getting them into one place, with overhead and burden built into the math, is the difference between "give me a few days" and a dashboard the owner can glance at on a Monday. To JJB's credit, wanting to answer the question well is the hard part and the right instinct. The plumbing to answer it fast is the part that can be built.
But you do not need any of that to start. You can pick your three biggest jobs from last year and force the number by hand, once, including a real overhead load and every sub cost you can dig up. It will be tedious and it will probably surprise you. That surprise is the whole point. It is the cheapest market research you will ever do, because it is about the business you already have.
I am going to keep asking contractors this question, because the pause it produces tells me more about a business than almost anything else. If you run a shop, I would genuinely like to know: how long would it take you to answer it, honestly? And if you have a system that makes it easy, tell me what it is. I am always looking for good ones.
If you want to get to the point where "which jobs made money" is a number you can see instead of a project you dread, start with a Revenue Audit at massivelyuseful.ai.

