Most people running a repair versus replacement comparison are holding two numbers that were never built to be compared. One quote covers labour and parts on a single failed component. The other covers materials, permits, disposal, and a crew that has to touch everything around it. Subtract one from the other and you get a figure that looks decisive and is not.
The arithmetic itself is simple. The problem is that almost every calculator you will find online was built for a vehicle or an appliance, not a house.
This page is the home-project version: the line items to check, the real current cost ranges, and the places where the generic formula quietly gives you the wrong answer.
Why Two Quotes Are Not Comparable Yet
A repair quote usually covers the failed part, the labour to fit it, and the trip charge for the visit. That is often the entire scope. A replacement quote usually covers new material, demolition, disposal, new connections, finishing, and a permit if the work needs one.
Put those two side by side and the comparison looks obvious. It is not, because the replacement quote is buying more than a new version of the same thing.
It is buying the removal of the old one, the disposal of the old one, and the finish that goes back over the work.
The first job is to make both numbers describe the same scope. One repair and one replacement for the same component, in the same location, with the same visible finish, including the same permit requirement.
If a contractor will not tell you what a line covers, ask them to write it on the quote. A quote that says “supply and fit” is not comparable to one that itemises. This is the single step that makes every later number meaningful.

The Line Items That Decide the Comparison
What a repair quote leaves out
Three categories separate a repair number from a replacement number. They are the ones most often missing from the repair side of the page.
The first is the permit cost. A repair rarely needs one. A replacement often does, and that inspection adds a scheduled delay and a fee that has nothing to do with the material.
The second is disposal. Taking a deck apart and hauling it away is a separate line item from building the new one, and on older homes it can be substantial.
The third is the trip charge. A single repair visit often carries a minimum service call on top of the work. That minimum belongs in your total, because you are going to pay it either way.
Also check whether each quote includes paint, drywall patching, or a finish coat. A repair that leaves a bare patch and a replacement that comes back finished are not the same job.
Real Repair And Replacement Costs By Project
These are current figures from published cost data. They conflict, and the conflicts are useful, because they show you how much scope changes the number.
For a water heater, Angi puts repair anywhere from $90 to $1,800, averaging about $615. HomeAdvisor’s range is tighter at $228 to $1,017 with an average near $616, and HomeGuide puts a tank repair at $150 to $700. The spread is the point: a failed thermostat and a corroded tank are the same headline and nowhere near the same bill.
For window repair, HomeGuide lists $175 to $600, while Thumbtack data puts the range at $217 to $614 with most people paying around $361. A single pane replacement runs $75 to $200. A full window replacement runs $300 to $1,500 installed.
For a deck repair, published averages range from roughly $2,000 to $3,200 depending on scope, with a broader Thumbtack range of $1,101 to $4,662. Full rebuilds run far higher than any repair figure on this list.
For pipe repair, a single accessible leak costs $150 to $1,000, averaging about $450. A whole-house repipe with PEX runs $2,500 to $5,000 for a small home and $4,000 to $8,000 for an average one. Copper runs roughly double.
For drywall repair, HomeAdvisor puts most jobs between $296 and $930, averaging about $612. Nail pops run $10 to $60, cracks $60 to $400, and water damage $600 to $1,550. Replacing wall surface runs $1.50 to $5.00 per square foot installed.
For a roof repair, expect $400 to $1,900 with an average near $1,150, and minor work starting around $300. A roof replacement averages about $10,000, with most projects falling between $7,500 and $14,000.
Put those pairs together and the pattern is clear. Repair is cheaper in absolute terms nearly every time. The question is never whether repair costs less. It is whether the repair buys enough remaining life to be worth the difference.
Where The Generic Calculator Formula Misleads
Built for vehicles, not for houses
Search for a repair versus replacement calculator and you will mostly find vehicles and appliances. They work on cost per mile or cost per year, then divide the difference by how long you expect to keep the thing.
That model assumes the old asset and the new one are the same object with a different age. In a house they are not.
That assumption is why the calculators that rank for this query are about vehicles and appliances. A new partial replacement is usually a different specification from the original: better insulation, a different efficiency rating, a code upgrade you get for free.
Three home-specific traps follow from that.
The first is that a repair extends the life of the old part without improving anything. A new water heater is a new efficiency rating. The calculator cannot see that.
The second is scale. Replacing one window of twelve is not a window replacement, and its cost per unit will look terrible next to a full-house figure even when it is the right call.
The third is that a replacement changes the job around it. New windows usually mean new trim, new interior trim cuts, and sometimes a paint correction that a repair never touches.
How To Run The Comparison On Your Quotes
Put both quotes on one sheet of paper, one line per item, and align them in two columns. Then work through five steps.
- Step one is scope. Make every line in the repair total have a counterpart in the replacement scope. Anything with no counterpart is work the replacement includes and the repair does not.
- Step two is to add the missing side. If the repair quote omits a permit the replacement needs, the repair is not cheaper by the full gap. Add the comparable items to both sides so they describe the same job.
- Step three is to record the remaining life of each option. A cheap repair on a component at the end of its serviceable life is a loan against the next failure.
- Step four is the ratio. Divide the repair total by the replacement total. Below one half, cost favours repair clearly. Above seven tenths, cost favours replacement. Between the two, the condition of the component decides it.
- Step five is to check the numbers against published ranges for your project type. If your quote sits far outside the range that other homeowners pay, ask what is different about your job before you accept it.
What The Result Does Not Decide
A cost comparison tells you which option is cheaper. It does not tell you which option is correct, and treating it that way is how a cheap repair becomes a second project next year.
The remaining life of what you are fixing decides part of it. A nine-year-old water heater with one failed part is almost always a repair situation, because the tank itself still has years left and the part is identifiable.
Condition decides the rest. Structure that is compromised, damage that is systemic, or code that now requires something different all push toward replacement regardless of the arithmetic.
This is where the 50% rule and the trigger method in the home repair versus replacement guide do the work that money cannot. Cost narrows the field. Condition decides the case.
If you want the component-specific detail, each project has its own page: roof repair versus replacement, a pipe repair compared to a repipe, deck repair versus rebuild, window repair versus replacement, water heater repair versus replacement, and drywall repair versus replacement. They cover what is actually broken. This page covers what it costs.
Read the component page first to confirm the condition is worth repairing. Then come back here with your two quotes and run the comparison.








