The 90-Day Estimate Graveyard: How AI Can Revive Construction Bids That Never Became Jobs
An unanswered estimate is neither a booked job nor necessarily a lost opportunity. This practical guide shows how to review aging bids, use AI to prepare useful follow-up, refresh outdated assumptions and turn customer replies into clear next steps—without treating your proposal total as guaranteed revenue.
By ContractorPro Team

What is the 90-day estimate graveyard?
The estimate graveyard is the set of proposals your business sent but never gave a reliable final status. Some customers postponed the project. Some hired someone else. Some never received a usable proposal. Others are waiting for a selection, a clearer scope or a discussion that nobody scheduled. A record marked ‘sent’ does not distinguish these situations.
For this guide, review bids sent in the previous 90 days that have not become confirmed jobs. This is an operational starting point, not a research-backed conversion threshold. A service repair, a bathroom remodel and a commercial tender have different decision cycles. Expand or narrow the window based on your business and the customer’s stated timing.
Do not wait 90 days to follow up on new work. ServiceTitan’s contractor playbook recommends starting estimate follow-up within 48 hours and assigning a responsible coordinator. That is vendor practice guidance, not a universal rule or proof of a specific conversion lift. Your customer’s agreed next step should take priority over a generic cadence.
Also distinguish a negotiable private proposal from a formal competitive bid. Public procurement and many commercial tenders have prescribed communication channels and award processes. A homeowner follow-up script is not permission to contact an evaluation panel, change a submitted bid or bypass procurement rules.
Why construction bids stall before they become jobs
Silence is ambiguous. The customer may lack funding, be comparing scope rather than price, need another decision-maker, have postponed work or simply be busy. Your estimate may also have an unclear exclusion or a missing selection. These are hypotheses until the customer confirms them. AI cannot determine someone’s private motivation from an unanswered email.
Internal handoffs create a different problem. The estimator believes sales is following up; sales thinks the owner called; the owner assumes a reminder was sent. Without an assigned owner and recorded next action, everyone can be working hard while the opportunity sits still. A CRM helps only if people maintain its records.
Sometimes losing a bid is the right outcome. Work outside your service area, an unrealistic schedule, a price below cost or an unacceptable scope risk should not be revived just to increase sales. Bid recovery is about finding viable work and learning why the rest did not proceed—not winning every estimate.
- Customer timing or decision authority is unresolved.
- Scope, options or exclusions are difficult to compare.
- Pricing validity or availability has changed.
- The proposal was not received or the review link is inaccessible.
- No one owns the next conversation.
- The customer declined, but the estimate status was never updated.
Step 1: build a clean estimate-aging inventory
Start with records, not a mass message. For each candidate, capture the estimate identifier, customer, job type, sent date, latest revision, proposed value, expiration date, last actual contact, known decision date, status and responsible person. Use your existing estimate and customer records or a supported export; do not assume every platform has a dedicated aged-bid report.
Keep personal information inside approved business systems. If you use an external AI tool, confirm its data terms and your authorization before uploading customer correspondence. Redact unnecessary phone numbers, addresses, financial details and attachments. A useful summary often needs project type and decision context, not the customer’s entire private file.
Resolve duplicates before totaling value. Three revisions of one kitchen estimate are one opportunity, not three potential jobs. Reconcile accepted estimates against the actual job record so you do not send a ‘still interested?’ message to someone whose crew already started. Remove canceled projects, opt-outs, invalid addresses and records without a legitimate contact path.
Separate bid age from inactivity. A 70-day-old proposal discussed yesterday needs different handling from a 20-day-old proposal with no acknowledged receipt. Track both the original sent date and the last meaningful exchange. An automated message firing does not necessarily mean the customer engaged.
Step 2: classify the bid before choosing the next action
A useful review ends with a decision about each record. ‘Open’ should mean the project remains possible, not merely that nobody clicked a status button. Preserve the customer’s actual words and record uncertainty explicitly. If the status is unknown, the first task is clarification—not negotiation.
Use these categories as a proposed operating model. They are not a claim that ContractorPro ships this exact status taxonomy. Map them to the records and tasks available in your workspace, and keep one accountable owner for the next step.
- Active, decision pending: confirm the agreed review date and answer a specific open question.
- Deferred, timing known: record the customer’s requested future contact date; do not keep chasing now.
- Unknown outcome: send one permission-appropriate status check.
- Expired or changed: offer a new review, not acceptance at an unverified old price.
- Declined or awarded elsewhere: record the reason if volunteered and close the opportunity.
- Duplicate or already won: reconcile records; do not contact as a recovery lead.
- Opted out or unsuitable: suppress outreach or close according to the reason.
Step 3: prioritize a small review queue—not an imaginary AI win score
Start with opportunities supported by facts: a customer asked to revisit next month, requested an option or raised a question you can now answer. Then review suitable projects with unknown outcomes. A large proposal is not automatically the best opportunity; it may require more capacity, expose greater risk or have already been awarded.
Use simple review fields: customer-confirmed timing, scope fit, estimated contribution, outstanding information, price validity and crew availability. Label missing data as unknown. Do not assign ‘82% likely to buy’ because an AI model produces a convincing number. Without a validated model and relevant outcomes, that number is decoration, not evidence.
Begin with a manageable group—perhaps ten records as an internal pilot, not a recommended industry standard. Review drafts and responses before expanding. You will learn more from a small accurate queue than from hundreds of generic messages that create scheduling promises or customer complaints.
Step 4: use AI to summarize context and draft for human review
AI is useful for organizing supplied notes, identifying missing fields, turning a recorded objection into a draft question and preparing different scope explanations. It is not evidence that the customer is ready to purchase. NIST’s AI Risk Management Framework emphasizes managing AI risks; its generative-AI profile discusses confidently incorrect output, often called confabulation. Verify the facts, not just the tone.
A practical prompt is: ‘Using only these authorized notes, summarize this unsold estimate. Separate confirmed facts from missing information. Identify the recorded next step. Draft a concise email asking whether the project is still planned and addressing the documented question. Do not invent discounts, availability, customer motives, prices or consent. If the proposal expired, say it needs review before a new offer.’ Supply only the minimum relevant context.
Give the reviewer a checklist: correct customer and estimate; accurate revision and scope; no unsupported promise; current contact permission; correct sender; no misleading subject; a clear question; and a recorded stop condition. If AI suggests ‘your price is locked’ but nobody verified that, remove it. If it says a permit is unnecessary, do not treat that as advice.
ContractorPro’s plan-eligible AI employees can support administrative drafts and estimate-related work. This article’s audit and outreach process is a proposed team workflow, not a claim that ContractorPro autonomously scans every old bid, runs a recovery campaign, negotiates or books jobs. Confirm the precise tools, plan access and connections you need before relying on automation.
AI can revive the conversation. Only verified scope, sound pricing, a willing customer and a workable schedule can revive the job.
Step 5: refresh the offer before reviving the sale
An old estimate is a historical offer, not a guarantee that its assumptions still hold. Check supplier quotes, material availability, subcontractor pricing, labor requirements, project access, selections and your current schedule. Confirm applicable terms and any expiration date. If the scope changed, issue a clear revision instead of overwriting the old record.
Do not discount first and calculate later. If direct estimated cost is a hypothetical $12,000 and price is $15,000, the $3,000 difference is a 20% contribution margin before costs excluded from that base. Cutting price by $1,500 leaves $1,500 contribution at unchanged cost—half the original contribution, with a margin of about 11.1%. These are arithmetic examples, not customer results or prescribed pricing.
If affordability is the confirmed issue, assess a genuinely smaller scope or phased option, with its costs and limitations explained. ContractorPro supports estimate upgrade packages and customer selection; your team must price each package and verify what it includes. A ‘good/better/best’ layout does not make an unprofitable base option safe.
After agreement, confirm how acceptance becomes a job, what deposit or payment terms were actually agreed and when work can be scheduled. Do not invent a deposit percentage, finance offer or start date to make a follow-up more persuasive. A new acceptance is not the same as cash collected or final job profit.
Three construction estimate follow-up email templates
Template 1—Unknown outcome. Subject: ‘Checking the status of your [project] estimate.’ Message: ‘Hi [name], I’m following up on estimate [reference] for [confirmed scope]. Is the project still something you’re planning, or should we close our record? If a question is holding up your decision, tell me what you would like clarified. We’ll verify current pricing and availability before confirming any next step. [Business signature].’
Template 2—Known scope question. Subject: ‘A clearer option for your [project].’ Message: ‘Hi [name], you mentioned [recorded concern] when we discussed estimate [reference]. We can review [specific alternative] and explain how the scope and price would change. Would you like a revised comparison? We won’t change the original offer or assume approval without your review. [Business signature].’
Template 3—Deferred project. Subject: ‘Revisiting [project] at the time you requested.’ Message: ‘Hi [name], you asked us to check back around [recorded date]. Is that still a useful time to revisit [scope]? If your plans have changed, let us know and we’ll update the record. Any revised proposal would reflect current selections, costs and availability. [Business signature].’
These are writing examples, not complete compliant email layouts or legal templates. For commercial email, add the required identification, valid postal address and working opt-out mechanism as applicable. Do not disguise a promotion as a service alert. Use your business’s approved sending process and have an adviser confirm classification and requirements.
Permission-first outreach: email, SMS, calls and stop rules
Channel choice is not simply a deliverability decision. A customer providing a phone number for an estimate does not automatically authorize automated marketing texts. A newsletter signup does not provide SMS consent either. Keep channel-specific consent and opt-out records, and consult a qualified adviser about applicable federal, state and local rules.
The FTC’s CAN-SPAM business guide explains that commercial-email requirements apply beyond bulk sends and include business-to-business messages. It calls for accurate sender information, non-deceptive subjects, a valid postal address and an opt-out method; opt-out requests must be honored within ten business days. As an operating practice, suppress promptly rather than using the deadline as a reason to keep sending.
The FCC’s unwanted-call and text guidance explains restrictions on robocalls and robotexts and the role of consent. Do not assume a manual message, an old inquiry or an existing relationship exempts every outreach activity. Legal obligations depend on the message, technology and situation; this guide is not legal advice.
ContractorPro’s texting safeguards require recorded consent, enforce an 8am–9pm sending window in the workspace time zone and honor logged STOP/opt-out requests. Verify the recipient’s local time as well; a configured business time zone is not a guarantee that every recipient is within the appropriate hours. Never use another channel to evade a customer’s request to stop.
Stop the current sequence when a customer replies, accepts, declines, requests a later date or opts out. A reply should trigger a reviewed next step, not another blind reminder. If your chosen workflow cannot detect replies or suppress pending sends, do not run it unattended. Assign the owner to reconcile responses before the next contact.
A practical follow-up cadence for aging bids
For an initial audit, one reviewed status check is often enough to determine whether a conversation should restart. If no response arrives, consider one further useful contact at an interval appropriate to the project and the customer’s preferences. This is an example policy for your team to evaluate, not an evidence-based optimal schedule or a license to contact everyone twice.
Give the second message a reason to exist: clarify a documented selection, ask whether a proposed time is still relevant or offer to close the record. ‘Just bumping this again’ adds little. Avoid fake scarcity such as ‘last crew slot’ unless the availability is real, current and approved to communicate.
If the customer remains silent, mark the outcome as unconfirmed and stop the active sequence under your policy. Retain only what your business legitimately needs under its retention rules. Do not silently add the person to a newsletter or indefinite remarketing list. If the customer requests September, record September—not a weekly reminder until then.
A hypothetical recovery funnel: proposal value is not recovered revenue
Suppose an initial audit contains 40 estimate records with a face value of $400,000. Ten are revisions or already-resolved records. Twelve more are declined, unsuitable or suppressed. That leaves 18 candidates totaling a hypothetical $180,000. Those figures describe inventory, not money owed, expected sales or a forecast.
Imagine eight candidates respond, four request a fresh review and two accept revised jobs worth $15,000 each. The resulting $30,000 is accepted contract value. At hypothetical direct estimated costs of $12,000 per job, planned contribution is $6,000 before company overhead, recovery effort, taxes and other excluded costs. It is not $180,000 recovered, and it is not $30,000 net profit.
Now reconcile actual costs and collections. If combined direct actual cost rises to $26,000, contribution on $30,000 price falls to $4,000 before those other costs. If a customer cancels or payment is delayed, the cash result changes again. Track booked value, invoices, receipts and cost performance separately.
Every count, dollar amount and outcome in this example is invented solely to explain measurement. It is not a ContractorPro customer case, a conversion benchmark or a predicted return. Compare your pilot against your own recorded baseline and explain uncertainty rather than borrowing a vendor’s success percentage.
The weekly estimate-revival scorecard
Record candidates reviewed, records corrected, permitted contacts sent, meaningful replies, revised estimates, accepted jobs, declines, deferrals and opt-outs. Define each metric before reporting it. A meaningful reply should represent a customer response—not a delivery receipt, tracking pixel or automatic vacation message.
For this pilot, a response rate can be defined as unique responding opportunities divided by unique opportunities contacted. Acceptance can be measured against contacted opportunities or revised offers, but state the denominator. Count one customer opportunity once and keep revisions linked. Small samples should be reported as counts as well as percentages.
Record the actual reason for delay or loss when volunteered. Useful categories include timing, scope, affordability, competitor selected, not proceeding and unknown. Do not let AI fill missing reasons with ‘price’ because that makes a tidy chart. Review recurring questions to improve future estimates and the initial customer conversation.
Maintain an owner and next-action date for viable open work. Then reconcile accepted estimates with jobs and billing. That turns a recovery review into an operating loop instead of a one-time campaign that creates another pile of unmaintained records.
A seven-day rollout your team can actually review
Days 1–2: define the review window, reconcile records and verify contact permissions. Pick a small pilot and assign an owner. Days 3–4: confirm current scope, costs and availability, then prepare and review messages. Do not send until the records and channel requirements are clear.
Days 5–6: send approved outreach through your existing tools, handle replies and update statuses before any further contact. Day 7: compare the review queue with actual outcomes, record missing information and refine the process. These dates are a suggested implementation plan, not a promise that jobs will close in a week.
Build the prevention loop at the same time. When a new estimate is sent, confirm receipt where appropriate, name the decision-maker, ask about timing and agree on the next step. A clean next-action habit is more valuable than periodically asking AI to rescue months of uncertainty.
Where ContractorPro fits—and what your team still controls
ContractorPro connects customer records, estimates and proposals with the wider job workflow. Its platform describes price-book-driven estimates, branded proposals and digital signatures; estimate packages support customer selection. Plan-eligible AI assistance can help prepare administrative work, with your team verifying the underlying information and commitments.
For this article’s method, use those existing records to review one unsold estimate, clarify customer context and prepare a next action. Ask sales to demonstrate the exact estimate, customer-review and follow-up tools you need. Do not infer a dedicated autonomous 90-day recovery engine from the presence of AI employees or a general follow-up feature.
After a customer accepts a current offer, verify the downstream job, schedule, invoice and payment setup. Features and automation vary by plan. ContractorPro does not perform automated blueprint takeoff, interpret contracts or code, approve engineering, supervise safety or guarantee that a customer will accept or pay.
The best starting point is one real but appropriately handled opportunity: a current scope, an accurate estimate, an unanswered question and an owner ready to follow through. Test the actual handoffs before expanding your process.
Frequently asked questions
How do contractors follow up on unsold estimates?
Confirm the estimate is genuinely unresolved, check contact permission and price validity, then ask whether the project is still planned and what needs clarification. Assign an owner, record the answer and stop or defer outreach according to the customer’s response.
Is 90 days the best time to revive a construction bid?
No universal best interval is established here. Ninety days is a proposed window for an initial inventory review, not a reason to delay new-estimate follow-up. Use the project’s decision cycle and the customer’s agreed next-contact date.
Can AI automatically recover old construction estimates?
AI can help summarize supplied records and prepare messages, but automation depends on the actual tools, permissions and safeguards implemented. This guide does not claim ContractorPro ships an autonomous old-bid recovery campaign. People verify prices, scope, scheduling and customer responses.
Should I discount an estimate to get a customer back?
Not without understanding current costs and the customer’s confirmed objection. A discount can sharply reduce contribution. Consider a correctly priced smaller scope or clearly defined option when suitable, and have the customer review any revised offer.
Can I resend an expired construction estimate?
You can offer to review it, but do not represent an expired price or schedule as current without verification. Check scope, supplier prices, labor and availability; provide a clearly identified revision when necessary.
Does an estimate request give permission for automated texts?
Do not assume it does. Keep channel-specific permission records and follow applicable law and opt-outs. ContractorPro requires recorded texting consent and applies its sending-window and STOP safeguards; newsletter consent is separate.
How should I measure recovered bids?
Measure unique contacts, meaningful replies, revised offers and accepted jobs, then separately reconcile invoices, cash received and actual costs. The total face value of old proposals is neither recovered revenue nor a profit forecast.
Can this process be used for public construction tenders?
Only within the procurement and contract rules that govern the tender. Formal bids can restrict contacts and revisions. Do not adapt homeowner sales scripts to public evaluation or award processes without qualified review.
What happens when I use the newsletter form?
Your explicit email opt-in is securely stored; repeated normalized email addresses do not create duplicate subscriber records. It does not start a trial or authorize SMS. Newsletter campaign delivery requires a dedicated marketing email service.
What does the ContractorPro trial cost today?
The trial lasts 3 days and requires a card, with $0 due today. Your selected plan is charged when the trial ends unless you cancel beforehand. Check current pricing and ask sales to confirm features and connection requirements.
Sources & further reading
Primary references from government agencies, standards bodies and platform documentation used to fact-check this guide.
- Contractor Playbook: Follow-Up CoordinatorServiceTitan (vendor practice guidance)
- Follow up on opportunitiesServiceTitan Help Center (product documentation)
- CAN-SPAM Act: A Compliance Guide for BusinessFederal Trade Commission
- Stop Unwanted Robocalls and TextsFederal Communications Commission
- AI Risk Management FrameworkNational Institute of Standards and Technology
- Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence ProfileNIST, AI 600-1
- ContractorPro platform capabilitiesContractorPro (company product documentation)
Related tools & services
Give your next estimate a clear path to a real job
Your team already invested time in understanding the customer and pricing the work. ContractorPro brings customer records, estimates, proposal options and job workflows together so the next step does not have to live in someone’s memory. Evaluate one real estimate and the exact follow-up tools you need with a 3-day free trial. Card required, $0 due today. Your selected plan is charged when the trial ends unless you cancel before then. Features and connections vary by plan; see pricing or talk to sales. No guaranteed bid recovery or autonomous recovery campaign is promised.
Keep customer context connected
Use existing CRM records to organize the opportunity and keep your reviewed next step grounded in actual customer information.
Prepare clearer estimates
Build from your scope and price book, with your team verifying quantities, current costs, exclusions and commitments.
Offer meaningful package choices
Present estimate options for customer selection without disguising a discount or promising work you have not priced.
Use AI with human judgment
Plan-eligible specialists assist administrative preparation; your team checks drafts and confirms the specific sending tools available.
Connect acceptance to operations
Review the job, schedule and billing handoffs once an offer is accepted instead of treating a reply as completed revenue.
Verify payment readiness
Use existing invoice and customer-payment workflows after the required setup, and distinguish accepted value from collected cash.
3-day free trial · Card required · Plan features vary · Cancel anytime
Keep reading
ContractorPro field notes
Stay closer to your job costs
Sign up for contractor guides and ContractorPro product news.


