Compare STL Roofers · The public record
Ask Each Roofer When Their Unit Prices Were Last Reset
A bid built on an old rate card can look cheaper than it is, so ask each roofer when their unit prices were last reset.
A roof bid is a set of unit prices multiplied by a count. The count comes from the roof that was measured. The unit prices come from a rate card that someone wrote at some point, and the date on that card is rarely printed on the page you receive. When two St. Louis roofers hand you numbers a few hundred dollars apart, one reason can be that one rate card was reset last winter and the other was reset several years ago. Asking each roofer when their unit prices were last reset takes less than a minute, and the answer shows how much of the gap comes from the roof and how much comes from the calendar.
Roofer comparison
Most homeowners compare totals first. A totals comparison assumes both bids began from the same starting point, and that assumption is often wrong. Shingle prices, labor rates, dumpster haul fees, underlayment costs and material markups each move on their own schedule. A roofer who priced the job in February may have been working from a distributor sheet that predates a spring increase. A roofer who priced the job in September may have been working from a sheet refreshed that same month. Neither is dishonest by default. Both are answering a question you did not think to ask.
The question is simple: "On what date were the unit prices in this bid last updated?" Ask it the same way to every roofer on your list. Write the date beside each name in your comparison sheet, in the same column you set up before the numbers came in. Then ask the follow-up that matters more: "Which lines on this bid came from that rate card, and which were quoted fresh for this house?" A roofer who can separate those two groups has a rate card they can explain. A roofer who says the whole number is simply their price has not given you anything you can compare against another bid.
What a dated answer looks like
A useful answer names a month and a source. It might sound like this: the shingle line was priced from the distributor sheet current in a named month, the labor rate was set when the crew was last reviewed, and the tear-off and disposal lines were taken from the company's standard sheet. That answer is not a promise that the number will hold. It tells you where each part of the number came from, so you can judge whether a difference between two bids is about the roof or about timing.
An answer that sounds like "we update prices regularly" is weaker. It may be true, but it does not tell you which lines moved and when. Ask the roofer to put the date and the source in writing with the estimate. If they will not, note that in your sheet next to their name, the same way you would note a missing scope item.
Keep the answers side by side
Once you have dates from each roofer, put them in the same view as the totals. A bid with a recent reset date and a higher total may be the more accurate number, because it reflects what materials and labor cost now. A bid with an older reset date and a lower total may look like a bargain until you notice that its shingle line came from a sheet that predates the current year. Neither result settles the choice on its own. Both tell you which question to ask next.
If one roofer answers the date question by phone and another answers in writing, record the difference. A written answer can be checked later, when the final invoice arrives. A phone answer is still useful, but send a short email or text afterward that repeats the date and the source, so both of you have the same record.
What it costs
Unit pricing in roofing usually means a cost per square, where a square is 100 square feet of roof surface, plus separate charges for tear-off, underlayment, ice and water shield at the eaves and valleys, drip edge, flashing, ridge vent and disposal. Each of those has its own rate. A reset in one rate often changes several lines at once, which is why a single stale rate card can distort a total in ways that are hard to see on the page.
Shingles and the product line
Shingle cost is the line most people watch, and it moves with distributor pricing and with the manufacturer's own list. Keys Roofing installs Atlas and Malarkey shingles only, so the shingle line on a Keys bid is priced from those two product families. A competing bid that names a different shingle line may be priced from a different distributor list, and the date on that list matters as much as the brand name. Ask each roofer which product family the price came from and what date the distributor sheet carried. If two bids name different products, compare the reset dates before you compare the totals, because a product change and a price change can look identical on the final number.
Ask also whether the shingle price includes the starter course, the hip and ridge pieces and any waste allowance, or whether those were added from separate sheets with their own dates. A shingle line that was reset in one month and a ridge line that was reset in another can produce a bid that looks consistent but is not.
Labor and crew rates
Labor is the other moving part. Crew rates are set by the company, and a company that raised crew pay in the spring may not have carried that change into bids written before the raise. Ask whether labor is priced by the square, by the day or as a fixed lump sum, and ask when the labor rate was last set. Those are separate questions, and the answers can differ within the same company. A roofer who prices labor by the square may have reset that rate in one season while their day rate for steep or complicated work was set years earlier.
Season and the St. Louis calendar
St. Louis timing also changes the price. A bid written in late October for work in March carries a different risk than a bid written in June for work in July. Freeze and thaw cycles slow winter roof work and make some tasks, such as sealing and fastening in cold conditions, take longer. Some crews build that cost into the rate card for the cold months, and others quote it as a separate line or leave it out. Ask whether the bid includes a seasonal adjustment, and if it does, which months it was set for and when that adjustment was last reviewed.
Hail season adds its own calendar. A roofer who reset rates after a busy spring may carry a higher labor or material number into the fall, and a roofer who reset rates in a slower month may hold a lower one. Neither pattern proves anything about quality. It does tell you that two bids written in different months are not priced against the same market, and the reset date is the cleanest way to see that.
What to ask
Use this short list when you call or meet each roofer. Keep your notes dated, and write each answer down as it was given, not as you remember it later.
- On what date were the unit prices in this bid last updated?
- Which shingle product family does the shingle line use, and which distributor price sheet and date does it come from?
- Was the labor rate set at the same time as the materials, or from a different date?
- Does the bid include a seasonal adjustment, and if so, for which months and when was it set?
- Which lines in this bid were quoted fresh for this house, and which were taken straight from your standard rate card?
If a roofer cannot give a date for their unit prices, that is an answer too. It means you are comparing their bid against the others on faith, and you should weigh that gap the same way you weigh any other unanswered question. A roofer who gives a date and explains how it applies to your roof has made the comparison easier, even if their total is higher.
When a date answer comes back, check it against the rest of the bid. Does the labor line match the crew size described in the scope? Do the material lines match the square count you were given? If the dates and the quantities agree, the bid is easier to trust. If they do not, ask for the corrected version in writing before you decide.
If you are comparing a Keys Roofing bid with other estimates, you can call the office at (314) 220-2333 and ask the same date question directly. Ask that the answer be included in writing with your estimate, so it sits in the same file as the rest of your comparison.
Ask us for the document, not for the ranking
A star rating separates the disasters from everyone else and then stops being useful. What separates the rest of the field is the written scope and who is actually standing on the roof, which is what the five criteria at the top of this page are built around.
Keys Roofing works in the same market as every other name on this page, and the fastest way to test our pick is to make us prove it on your own roof. Ask for the scope, lay it beside the two you already have, and hold all three against the same five questions.
Straight through to the Keys Roofing office. If you would rather talk it through than type it out, this is the line.
Ask for the third scope
Roof replacement. St. Louis metro only.
This goes to Keys Roofing and nowhere else. No other company named on this site receives it.