Compare Contractor Quotes

You got three bids and they're all different numbers. Now what?

Why three different contractors give you three different numbers

You ask three roofers for a quote. One says $10,000. Another says $12,000. The third says $15,500. Same house, same roof. What's going on?

Usually it comes down to materials, labor rates, and what each contractor includes in the scope. The $10,000 bid might be using builder-grade shingles and skipping the ice shield. The $15,500 bid might include a 10-year workmanship warranty and premium underlayment. Or maybe one of them is just more expensive because they can be.

The problem is that without a breakdown, you can't tell which is which. A single number on a page tells you almost nothing.

What a useful quote actually looks like

If a contractor hands you a quote that just says “Bathroom remodel — $18,000,” that's not a quote. That's a number. A real quote breaks down what you're paying for so you can compare it against someone else's.

What should be in every contractor quote

  • Materials with brands and quantities, not just “materials included”
  • Labor broken out separately from materials
  • A timeline with a start date and a completion date
  • Who pulls the permits and what they cost
  • What the warranty covers and for how long
  • Payment schedule tied to milestones, not front-loaded
  • What's specifically not included (dumpster, cleanup, painting, etc.)

If a contractor won't itemize, that's worth noting. It doesn't necessarily mean they're dishonest. But it means you can't compare their bid against anyone else's in a meaningful way.

When something about a quote feels off

A few things that should make you pause:

The price is way below the others.If one bid lands 30-40% under the rest, ask why. Maybe they found an efficiency. More likely they're using cheaper materials, not pulling permits, or planning to make it up in change orders once your walls are open.

They want more than 15% upfront. A deposit for materials is normal. 50% before any work starts is not. You want a payment schedule where the money follows the work, not the other way around.

They need an answer today.Real scheduling constraints exist. But “this price is only good today” is almost always a way to stop you from getting other bids.

No insurance paperwork.Ask for a certificate of insurance. If they hesitate, that tells you something. If they don't have one, that tells you more.

How to actually compare bids

Put the quotes next to each other and line up the numbers. Materials cost, labor cost, permits, warranty, timeline. If one contractor breaks it down and another gives you a lump sum, ask the lump-sum contractor to itemize. If they won't, you're comparing apples to a sealed box.

The middle bid is often the safest bet, but not always. What matters more is whether the numbers make sense. If you know the market rate for your project going in, you can spot outliers in either direction.

Example: three roof replacement quotes

Here's what three bids for a 2,000 sq ft asphalt shingle roof might look like:

ContractorMaterialsLaborTotalvs Market
ABC Roofing$4,800$5,200$10,000Below range
Summit Contractors$5,500$6,500$12,000Mid-range
Premium Home Pros$7,000$8,500$15,500Above range

Market range for this project: $11,000–$14,000 based on 546 roofing quotes in our database (median: $12,550).

ABC's bid is under market. That doesn't mean it's bad, but you should ask what shingles they're using and whether ice shield and proper flashing are included. Summit is right in the middle of the range. Premium is high, which could mean better materials or a longer warranty — or it could mean they just charge more.

The point isn't to pick the cheapest option. It's to understand what each number actually means before you sign anything.

Already have quotes to compare?

Check your contractor's bid against real market data, or get your own AI estimate to use as a benchmark.