There's a simple test for whether your bids are too low: your win rate. If you're winning 90%+ of jobs you quote, customers are saying yes too fast. A healthy win rate for a contractor is 40–60%. Below that you're too expensive; above that, you're leaving money on the table.
Most contractors who underbid aren't bad at math. They're pricing from the wrong foundation — usually an hourly rate anchored on what they'd accept as an employee, not what it costs to run a business. Here are the five specific mistakes behind most underpriced bids.
Overhead is every business cost that isn't tied to a specific job: insurance, vehicle payments, tools and equipment, phone, accounting software, licensing, advertising. These costs are real and recurring — if they're not in your bids, you're paying for them out of your pocket.
Most contractors anchor their labor rate on what they made as an employee — say, $25/hr as a journeyman. But as a business owner, that number doesn't cover taxes (add ~30%), no paid time off, no benefits, no sick days, and no paid downtime between jobs. If your labor rate is your old employee wage, you're working for less than you did before you started the business.
Buying materials at cost and passing that cost through to the customer sounds fair — but it's actually a loss. You spent time getting quotes, drove to the supplier, hauled it to the job site, managed excess inventory, and you take on liability if a product is defective or damaged in transit. Passing materials at cost means you're doing all of that for free.
Every hour you're working isn't billable. Travel to and from jobs, loading and unloading the truck, writing estimates, following up on invoices, taking calls, buying materials — none of this appears on a timesheet, but all of it is your time. Contractors who track their hours carefully usually find that 25–35% of their work week is non-billable.
A straightforward repeat job for a customer you know is not the same as a complex first-time job with unclear scope, tight access, and unknown site conditions. Treating them identically means you're subsidizing difficult jobs with your easy jobs — and pricing yourself out of the easy ones when competitors undercut you.
The Fix: A Simple Bidding Formula
Once you've addressed the five mistakes above, every bid follows the same structure:
+ Materials × 1.20 (20% markup)
+ Per-job overhead allocation
+ Complexity buffer (if applicable)
× 1.15–1.25 (profit margin)
= Your bid price
The "fully-loaded labor rate" includes your target wage, self-employment taxes, and overhead per hour. The profit margin on top covers the return for running the business — this isn't your pay, it's what the business makes.
Run this math on your last five jobs. If any came in at a loss or paper-thin margin, you'll see exactly which line item was missing.
How to Raise Your Rates Without Losing Customers
If you're currently undercharging, raising rates is uncomfortable but necessary. A few things that help:
- Do it on new customers first. Price new work correctly from the start. Don't undercut yourself to win strangers.
- Give existing customers notice. A 60-day heads-up on a rate change is professional. Most customers who value your work will stay.
- Expect some churn. Losing price-sensitive customers is a feature, not a bug. They'll be replaced by customers willing to pay for quality.
- Don't apologize for your rates. Quote with confidence. Hesitation signals that you think your rate is too high — and customers pick up on that.
Use a Calculator to Build Accurate Bids
The fastest way to price correctly is to have a tool that forces you to enter every cost explicitly. When you see all the numbers laid out — labor, materials, markup, overhead — it's much harder to accidentally leave something out.