A single number for a renovation is always wrong. Anyone who hands you one either has not looked closely or is planning to change it later.
Read the spread, not the middle
When a trade has a wide range, that width is telling you something specific: the cost depends on what is behind the wall, and nobody has looked yet.
Foundation work runs from five thousand to thirty. Plumbing repipe runs from four and a half to fifteen. Paint runs from two dollars a foot to four and a half. The paint range is narrow because paint is paint. The foundation range is wide because the answer is genuinely unknown until someone gets under there.
So the wide lines are your risk list. Those are the ones that need a real bid before you commit to a purchase price, and the narrow ones you can plan around.
Use the high end for the offer
Nobody has ever opened a wall and found less work than they expected. Not once.
So when you are working out what to offer, use the top of the range. If the deal only works at the bottom of the range, the deal does not work. That is not pessimism, it is just the way these come out.
Contingency is not optional
Fifteen percent is the floor, not a cushion. On an older house with unknowns, twenty is more honest.
The money is not for the things on the list. It is for the things not on the list, which is a different category and always exists.
The line people forget
Holding costs. Taxes, insurance, utilities, lawn, security. On a typical project that is over a thousand dollars a month, and if the job runs two months long that is real money that never appears on any contractor's estimate because it is not their line to carry.
It is yours.