An electrical contractor I know pays his lead tech $28 an hour and bills him out at $40. The logic feels sound: the guy costs $28, the company keeps $12, everybody wins. The company is losing money on every hour the tech works, and the owner found out at tax time, which is when everyone finds out. If you want to know how to markup labor costs, start by accepting that the wage is the smallest number in the stack.
How to markup labor costs: the four-layer stack
The stack has four layers and the wage is only the first. Take the $28 wage. Layer two is labor burden: the employer's share of payroll taxes, workers comp, unemployment insurance, and any benefits. Thirty percent is a realistic planning figure for skilled trades, which turns $28 into $36.40 of loaded cost. That $36.40 is the true cost of one hour of that tech, and it is the number most contractors never calculate. Everything below it is the business paying the customer for the privilege of working.
Layer three is overhead recovery. Your trucks, your office, your insurance, your estimator's salary, the software, the phone system: none of it appears on a job estimate, but all of it has to be paid by the hours you bill.
The professional method comes from construction cost accounting: add up a year's general and administrative overhead, divide by the year's projected direct labor cost, and that percentage is your overhead factor. The textbook example is $100,000 of annual overhead over $500,000 of direct labor, a 20% factor. For our tech, 25% overhead on the $36.40 loaded cost brings the break-even to $45.50 an hour. Notice what just happened: the $40 billing rate does not even cover cost. It is $5.50 underwater before profit enters the picture.
Layer four is profit, and this is where the markup-versus-margin confusion does its damage. A 20% net margin does not mean multiplying cost by 1.20. Margin is measured against the selling price, so the formula is cost divided by (1 minus margin): $45.50 / 0.80 = $56.88 an hour. Multiply by 1.20 and you get $54.60, which is an 18.2% margin wearing a 20% label. The gap looks small on one hour and enormous across a year.
The $25,320 damage report
Now the damage report. At $40 billed against a $56.88 true price, the contractor loses $16.88 per hour. Over 1,500 billable hours in a year, that is $25,320 gone, on one tech. The owner was not running a business with thin margins; he was running a charity with trucks. This is the most common pricing failure in contracting, and it is invisible in the checking account because the jobs keep coming and the cash keeps flowing right back out.
The annual-factor method: pricing from the P&L
There is a second method worth knowing, and it works from the annual numbers instead of the hourly ones. The Canadian Contractor profit series lays it out: take last year's revenue, subtract overhead and your target net profit, and the remainder is what your direct job costs were allowed to be. Their example: $500,000 revenue, $100,000 overhead, $50,000 profit target leaves $350,000 of direct costs, so every dollar of direct cost must be marked up by a factor of 1.43, a 43% markup, to hit the plan. Same math as the hourly build-up, approached from the P&L instead of the timesheet. If your markup factor is below what last year's books say it needs to be, your bids are fiction.
One more distinction the pros get right: labor and materials do not carry the same markup. TradesMetrics' standard job prices the contractor's own labor at a 40% markup but materials, equipment, and subcontractors at 10%, because the office overhead rides on your crew's hours, not on the wire you resell. Their example job totals $48,400 in cost and $54,250 in price: a 12% blended markup, an 11% margin. The owner who puts 40% on labor thinks he is running a 40% markup business. He is running an 11% margin business. Same dollars, different denominator, and the denominator is the one the bank looks at.
Run the same stack for every skill level on the crew, because the apprentice and the master do not cost you the same hour. One contractor pricing guide suggests the shape of the answer: apprentices billing around $45, journeymen around $65, masters around $85, each built from that worker's own wage through the same four layers. A single blended shop rate overcharges the apprentice's work and undercharges the master's, which means you lose the easy bids and win the hard ones. That is backwards.
The whole method compresses to four rules. Never bill below loaded cost plus overhead; that number is your floor, not your price. Build the rate in the right order: wage, burden, overhead, then margin by division. Set separate rates by skill level, because the apprentice and the master do not cost you the same hour. And check the annual factor against last year's books once a year, because costs drift and the markup has to drift with them. The $28 tech was never a $40-an-hour tech. He was a $56.88 tech, and the sooner the bids say so, the sooner the business stops donating.
Frequently asked questions
What is the formula for labor markup?
Build it in layers: loaded labor cost (wage plus burden) times one plus your overhead percentage gives break-even, then divide by one minus your target margin to get the billable rate. Markup percentage itself is (price minus cost) divided by cost, times 100.
What is labor burden and what percentage should I use?
Labor burden is everything the wage does not show: the employer's payroll taxes, workers compensation, unemployment insurance, and benefits. Thirty to 35% of the wage is a realistic planning figure for skilled trades, but compute your own from last year's books rather than guessing.
Should materials and labor carry the same markup?
No. Your own labor carries the office overhead, so it takes the higher markup; materials and subcontractors take a lower one. One standard job prices own-crew labor at 40% markup and materials, equipment, and subs at 10%.
What is the difference between markup and margin on labor?
Markup is profit measured against cost; margin is profit measured against the selling price. A 20% margin means cost divided by 0.80, not cost times 1.20. Multiplying by 1.20 produces an 18.2% margin wearing a 20% label.
How do I know if my labor rate covers overhead?
Check it annually from the P&L: add last year's overhead and your target profit, divide by direct labor costs, and that is the markup factor your bids must beat. In the textbook example, $100,000 of overhead plus $50,000 of target profit over $350,000 of direct costs demands a 1.43 factor, a 43% markup.
Enjoying these guides? Get new free tools and pricing notes by email.