Replacing a roof is one of the costliest upgrades a homeowner can make. Roofing contractors look at several variables to determine the price of a new roof, including its size, pitch, accessibility and cost of materials. Because of this, prices for a new roof can range drastically.

In terms of a ballpark figure, though, Michael Allen, owner of Above It All Roofing in Irvine, California, says the average cost of a new roof runs as low as $5,000 for a basic asphalt shingle roof — the most commonly used roofing material in America — to $25,000 and up for higher-end roof types. The average price, he says, is $12,000 to replace an architectural shingle roof in his market.

Calls to contractors revealed that prices range from $4,500 to $10,000 to tear off and replace an roof with basic shingle in 2016. Prices can also vary greatly depending on where you live. “We’ve done [asphalt shingle] roofs for the Housing Authority here in Charlotte for lower-income people for as low as $4,000,” says Dan Hood, sales and marketing manager for H & S Roofing Company in Charlotte, North Carolina. “And [now] we’re in the process of putting on a $150,000 slate roof.”