The short answer
Total your annual overhead, divide it by the annual base that drives it, and apply that rate to every job before you add profit.
Overhead rate = annual overhead pool ÷ annual allocation base
Price = (direct cost + allocated overhead) ÷ (1 - target margin)
That formula is on every page ranking for this question. What none of them tell you is that the base decides more than the pool does. Two contractors with identical overhead, identical costs and identical margin targets will quote the same job thousands of dollars apart because one divides by total job cost and the other divides by labor hours. Both are doing it correctly. Only one is doing it correctly for their business.
First, the line that gets counted twice
Before you pick a base, make sure the pool is clean, because the most expensive error here is not a wrong percentage. It is a cost sitting in two places at once.
On the r/estimators thread Calculating Overhead and Profit, an estimator posting as Azien_Heart makes the point directly: "Be aware though that some cost that might seem like an Indirect Cost can really be a COG, like WC for Labors. if your office is not separating it, it might change your %."
Workers compensation is the usual offender. It lands in the overhead pool because it arrives as a single insurance bill, and it lands in the burdened labor rate because any honest burden calculation includes it. Now every job pays for it twice. Payroll taxes and small tools do the same. If you have already built a labor burden rate, every line inside that burden has to come out of the overhead pool. You cannot have both.
Watch out
Run this check before anything else. Print your overhead pool line by line next to your burdened labor rate line by line, and look for the same expense in both columns. Contractors who find one usually find three. Every duplicate inflates your quote for no benefit and loses you work you should have won.
The clean split: direct cost is anything that would not exist if this job did not exist, and overhead is everything else, running whether or not you have a job on the books. Rent, insurance, admin wages, software, non-job vehicles, professional fees, and your own unbilled hours.
The base is the decision
Here is the part the ranking pages skip. Foundation Software's overhead allocation guide lists four common bases, total direct job costs, direct labor costs, direct labor hours and equipment costs, and correctly notes that "a labor-intensive roofing contractor probably shouldn't allocate their liability insurance based on truck usage." What it never does is show you what the choice costs.
So let us show it. Take a contractor with a $120,000 annual overhead pool, expecting $800,000 of direct job cost this year, split evenly between $400,000 of labor and $400,000 of materials and subs. At an average burdened cost of $50 an hour, that labor is 8,000 hours.
Three defensible rates fall out of the same pool:
| Allocation base | Annual base | Overhead rate |
|---|---|---|
| Total direct job cost | $800,000 | 15% of direct cost |
| Direct labor dollars | $400,000 | 30% of labor cost |
| Direct labor hours | 8,000 hours | $15.00 per labor hour |
Now price two jobs. Both have exactly $20,000 of direct cost. Job A is a labor-heavy renovation: $15,000 of labor, which is 300 hours, and $5,000 of materials. Job B is a material-heavy equipment swap: $4,000 of labor, which is 80 hours, and $16,000 of materials.
| Job A (300 hrs) | Job B (80 hrs) | |
|---|---|---|
| Direct cost | $20,000 | $20,000 |
| Overhead at 15% of cost | $3,000 | $3,000 |
| Overhead at 30% of labor | $4,500 | $1,200 |
| Overhead at $15/labor hour | $4,500 | $1,200 |
Same pool. Same jobs. The overhead on Job B swings from $1,200 to $3,000, a factor of 2.5, purely on the base you picked. At a 30% target margin that is the difference between quoting Job B at $30,286 and quoting it at $32,857.
By the numbers
The two labor bases agree here only because this example uses one average wage. The moment your crew has apprentices at $28 and leads at $65, labor dollars and labor hours stop agreeing, and labor hours is usually the more honest of the two: an hour of apprentice time consumes the same dispatch, the same truck and the same scheduling as an hour of lead time.
Why the wrong base loses you the jobs you priced right
This is the consequence nobody writes about, and it is worse than a pricing error.
Job B, the material-heavy one, consumes 80 hours of crew time. It occupies your schedule, your dispatcher and your trucks for two weeks less than Job A does. It genuinely uses less of your company. But if you allocate on total job cost, you charge it the same $3,000 that Job A pays, because the base cannot tell the difference between an hour of your foreman and a pallet of material sitting on the truck.
So you quote Job B high and lose it to someone who allocates on labor. And you quote Job A low, at $3,000 of overhead instead of the $4,500 it consumes, and you win it.
Run that for a year and your mix drifts toward exactly the jobs your pricing understates. You did not get unlucky and you did not get outsold. Your allocation base selected your workload for you, which is why a contractor can raise prices, keep winning, and still finish the year flat.
It is also why the how to price a job as a contractor math only holds if the overhead going into it was allocated on the right base. Markup and margin arithmetic applied to a distorted cost produces a confidently wrong price.
Two camps, and when each is right
There is a real disagreement between two credible sources here, and neither page acknowledges the other exists.
Michael Stone at Markup and Profit argues against ever allocating overhead by time. In Job Costs and Overhead he writes: "I've seen contractors try to apportion overhead on a daily basis when compiling their estimates. Others try to apportion overhead on a weekly, monthly or per job basis. I don't recommend any of those approaches." His reasoning is that overhead does not stop: "You might have a few days or a week without any jobs running, but your overhead bill won't take any days off. If you apportion overhead by the job, will you assign more overhead to the next job to make up for the down days?" His answer is a percentage applied through markup, set from projected overhead against projected volume.
The opposite camp, represented by ProjectWatch Pro's construction overhead rate guide, argues that only a per-billable-hour rate is honest, putting overhead for a typical project business at $30 to $60 per hour and calling the 10 and 10 rule "a structural margin drain."
Both are right about different things, and the resolution is simpler than either states.
Stone is right that overhead must be recovered across your whole year, not charged to whichever job happens to be running. A per-hour rate applied to actual hours does exactly what he warns against: a job that runs long absorbs more overhead than you quoted, and the estimate looks like it failed when the real problem was the labor estimate.
The per-hour camp is right that for most small trade businesses, crew time is what drives the overhead. Dispatch, scheduling, vehicles and supervision all scale with hours in the field.
The synthesis: use hours to choose the rate, use the estimate to apply it. Calculate what an hour of field time costs in overhead, build that into the estimated hours in your bid, and leave it there. Stone's objection is really an objection to charging overhead on actuals, not to using time as the base for setting the rate.
Correct overhead allocation raises your price, and a higher price only works if you have enough qualified demand to be selective. Pavado builds done-for-you lead generation systems for local service businesses: a dedicated conversion page, a qualifying form that arrives with the answers attached, and lead-to-sale tracking, fed by outreach and Meta ads we build and run.
The trades already run two cost pools
Something worth noticing: plenty of shops already do sophisticated multi-pool allocation without knowing that is what it is called.
In r/electricians, an operator describes their structure plainly: "We charge $85 hr. for an electrician and $65 hr. for an apprentice. We also charge $30 an hour for a service truck and $40 an hour for a bucket truck." That is textbook two-pool allocation. Labor-driven overhead recovers through the labor rates, and equipment-driven overhead recovers through a separate equipment rate applied only to the jobs that use the equipment.
That is more accurate than a single blended percentage. Costs driven by different things get recovered on different bases, and a job that never touches the bucket truck never pays for it.
You do not need two pools on day one. But if one class of cost in your overhead is lumpy and job-specific, a crane, a dump trailer, a dedicated service vehicle, pull it into its own rate rather than smearing it across every job including the ones that never use it.
Order does not matter. Compounding does.
The r/estimators thread produces a debate where the top-voted answers and the downvoted answer are each half right.
The top answers describe sequencing. "We do OH first, subtotal and then Profit calculated second," writes one estimator. The highest-voted comment in the thread agrees: "I opt for overhead applied first then profit applied second over the project AND overhead totals."
A commenter named Unlikely_Track_5154 replied that this is arithmetic theatre: "They are multiplication so it doesn't matter what order you do them in. 1.25X(1.03)=1.03X(1.25)." That comment sits at negative two points. It is also correct. Applying overhead before profit gives exactly the same total as the reverse.
The distinction that moves money is a different one: whether you compound or add.
- Additive: cost multiplied by 1.20, which is 10% plus 10%.
- Compounded: cost multiplied by 1.10, then by 1.10, which is 1.21.
On a $100,000 job that is a $1,000 difference, and it is the compounded version that reflects reality, since you want profit on the overhead you carry as well as on the work.
That gap widens fast when you stack more steps. A contractor in r/Contractor posted his actual sequence: sub price, plus 7% for miscellaneous, times 12% overhead, times 37.5% profit, times a 3% estimating fee, times 7% for taxes. Five modest-looking percentages. He reports the result as "a total markup of 82% and a actual profit margin of 25%." Five compounding steps averaging around 13% each turn into 82%, which is the sort of number that surprises the person applying it.
Tip
If you present overhead and profit as separate lines on commercial work, compound them and show both. If you present a single number, compound them internally and quote one price. What you should not do is compound internally, then also add a separate contingency percentage you forgot was already inside the 7% miscellaneous line.
Where your own pay goes
Overhead pools in owner-operated businesses are almost always understated by one line: the owner.
The cleanest treatment posted in r/Contractor comes from an operator in the thread How do you actually pay yourself as the owner?: "if I'm working in the field, I pay myself at the same rate I'd pay a foreman. That's part of the cost of producing the job. On top of that, I also pay myself an owner's salary out of overhead, just like I'd pay an office manager. It forced me to price my work so both buckets were covered."
That is the right structure, and the last sentence is the point. Splitting your own pay across both buckets forces the price to carry both.
The alternative, which is what most owner-operators actually do, is to take a draw. A draw is equity, not expense, so it touches neither bucket. Your field hours cost the job nothing and your office hours cost the company nothing, which makes the jobs you personally work look the most profitable in the file. They are usually the least.
The top-voted reply in that thread is worth keeping for context: "You guys are getting paid?" at 91 points, ahead of every substantive answer. Owner compensation missing from the overhead pool is not an edge case in this industry. It is the default.
The check nobody runs
Every article on this topic stops at setting the rate. None of them tell you to go back and see whether the rate worked, and this is the single biggest gap in the contractor-facing literature on overhead.
Cost accounting has a name for it. The fixed overhead volume variance is the difference between the overhead you budgeted and the overhead you actually applied to jobs. Search for it and you get university course notes and accounting syllabi. Search the contractor blogs and it is absent, which is remarkable given that it explains most of the "my rate was right and I still lost money" stories in the trades.
The arithmetic is simple. Your rate was overhead divided by expected volume. It only recovers the pool if the volume shows up.
| Planned | Actual | |
|---|---|---|
| Overhead pool | $120,000 | $120,000 |
| Direct job cost | $800,000 | $600,000 |
| Overhead rate applied | 15% | 15% |
| Overhead recovered | $120,000 | $90,000 |
You under-recovered $30,000. Your rate was arithmetically correct on every single job all year. The volume was wrong, and no amount of estimating discipline catches that, because the failure is not in any estimate.
Two responses. First, check it quarterly: multiply your rate by the direct cost billed year to date and compare it to the overhead actually spent. If you are behind at the halfway mark, you can still raise the rate for the back half. Second, set the rate against a conservative volume. BuildCrux frames this well in its overhead and profit guide, recommending you spread overhead "across the jobs you actually expect to run this year, not across an imaginary full calendar."
The uncomfortable implication is that under-recovered overhead is usually a demand problem wearing a pricing costume. If your rate is honest and your volume misses, the fix is not in the spreadsheet.
"If I price in all my overhead I will never win a bid"
This objection came up verbatim in the r/estimators thread, from a contractor posting as BrooklynBuild: "If you account for everything (overhead) in a bid you will never win a competitive bid."
It deserves a real answer rather than a lecture, because he is describing something true. In a market where competitors are not counting their overhead, a contractor who counts theirs will lose bids. That is not a math error. It is an accurate read of the market he is bidding into.
The rebuttal in the thread, from Bosa_McKittle, is the correct one: "You account for it either way. You either build the cost into the budget, or you mark up your project at the end to cover the estimated cost. If you don't cover overhead, you will go out of business fast since you aren't covering your operating expenses."
Both are true at once, and that is the actual situation. Overhead is not optional, and pricing it will cost you bids. Which means the constraint is not your pricing method, it is the number of qualified opportunities you get to price. A contractor quoting three jobs a month cannot afford to lose two. A contractor quoting fifteen can price correctly and let the wrong ones go. Every honest overhead calculation ends in the same place: your price went up, so your close rate goes down, so you need more at the top.
Build your number this week
- Pull twelve months of overhead. Every cost that is not tied to a specific job. Include your own admin time and depreciation on shared equipment.
- Remove the duplicates. Anything already inside your burdened labor rate comes out of the pool. Workers compensation and payroll taxes first.
- Add your owner salary. The office half, not the field half. If you have never paid yourself one, use what you would pay a manager to do that work.
- Pick the base by looking at the driver. Ask what your overhead tracks over a year. If it moves with crew time, use labor hours. If it moves with job size, use direct cost. Most small trade shops are the first.
- Pull the lumpy equipment into its own rate. Anything expensive that only some jobs use gets a separate hourly or daily charge.
- Divide by a conservative volume. Use the volume you expect, not the volume you want.
- Apply it in the estimate, then divide by one minus your margin. Not add. Compound overhead and profit rather than summing them.
- Diarize a quarterly recovery check. Rate times year-to-date direct cost, against year-to-date overhead spent. Adjust before December, not after it.
The bottom line
Everyone asking how to build overhead into their prices expects the answer to be a percentage. It is not. The percentage falls out of two numbers you already have, and the choice that decides whether your prices are right is the base you divide by.
Get the base wrong and the damage is not a slightly-off quote. It is a year of winning the jobs you understated and losing the ones you priced correctly, which looks exactly like a market problem and is not one. Match the base to what drives your overhead, pull the duplicated costs out of the pool, put your own salary in it, and check quarterly that the rate is recovering what you spend. Then make sure enough of the right jobs come across your desk that you can afford to price them properly.
