Storm Lead Generation — Pro Forma & AI Outreach Comparison
Roof Works of Texas · Updated March 2026
Business Assumptions
| Metric | Value | Source |
|---|---|---|
| Average job revenue | $18,000 | Industry avg (insurance replacement) |
| Gross margin | 33% | Industry standard 25–35% |
| Gross profit per job | $6,000 | 32.5–35% of job revenue |
| Net margin | 11% | Industry standard 8–14% |
| Net profit per job | $2,000 | After overhead & SGA |
| Target close rate — post-storm leads | 15–30% | Storm leads convert 2–3× warm leads |
| Target close rate — cold outreach | 2–5% | Industry benchmark |
| CAD parcels (Dallas County) | 634,402 | DCAD ingest, 96% geocoded |
| Avg DFW storm affected properties | 500–2,500 | Based on March 4 2026 event |
Door Knocking
Baseline
How it works: Sales rep drives to storm-affected neighborhood, walks door to door.
| Metric | Value |
|---|---|
| Rep cost (fully loaded) | $25–35/hr |
| Doors knocked per hour | 20–30 |
| Contact rate (someone home) | 40–50% → 10–15 contacts/hr |
| Appointment set rate | 10–15% of contacts |
| Appointments per hour | 1–2 |
| Close rate on appointment | 30–40% |
| Jobs per 8-hr day | 2–6 |
| Revenue per day | $36,000–$108,000 |
| Cost per job (labor only) | $40–$140 |
| Effective CAC | $40–$140 |
Pros
Highest trust, immediate qualification, rep can assess damage on-site
Cons
Weather-dependent, physically exhausting, geographic limits, rep morale, can't scale without headcount, takes 2–3 days post-storm to mobilize
Cold Email
AI-Assisted
How it works: Export enriched parcel list → skip trace for email → send branded sequence via Hostinger SMTP. Already built in admin panel.
Cost Breakdown (per storm event, 300 Tier A+B prospects)
| Item | Cost |
|---|---|
| Skip tracing (BatchSkipTracing, $0.15/record) | $45.00 |
| Email sending (Hostinger SMTP, included) | $0.00 |
| AI personalization (Claude Haiku, ~$0.001/email) | $0.30 |
| Rep time to review + send (30 min) | $12.50 |
| Total per campaign | $57.80 |
Performance Model
| Metric | Conservative | Realistic | Optimistic |
|---|---|---|---|
| Records enriched (Tier A+B) | 300 | 300 | 300 |
| Email delivery rate | 85% | 88% | 92% |
| Open rate | 25% | 35% | 45% |
| Reply / click rate | 3% | 6% | 10% |
| Appointment set rate | 1.5% | 3% | 5% |
| Appointments | 4–5 | 9 | 15 |
| Close rate | 20% | 25% | 30% |
| Jobs closed | 1 | 2–3 | 4–5 |
| Revenue | $18,000 | $36,000–$54,000 | $72,000–$90,000 |
| Gross Profit (33%) | $6,000 | $12,000–$18,000 | $24,000–$30,000 |
| Net Profit / EBITDA (11%) | $2,000 | $4,000–$6,000 | $8,000–$10,000 |
| CAC (cost / jobs) | $57.80 | $19–$29 | $12–$14 |
| ROI | 311× | 623–934× | 1,246–1,557× |
Pros
Fully automated after setup, scalable, permanent record in CRM, personalizable with AI
Cons
Email goes to spam for unknown senders, needs 3–5 touch sequence, slower feedback loop, requires valid email (skip trace)
Best For
Initial outreach blast within 24–48 hrs of storm, follow-up sequence over 7–14 days
SMS
AI-Assisted via Twilio
How it works: Same enriched list → send storm inspection text → AI-assisted reply qualification. Built in admin panel (pending Twilio activation).
Cost Breakdown (per storm event, 300 prospects)
| Item | Cost |
|---|---|
| Skip tracing — same list as email, no extra cost | $0.00 |
| Twilio SMS ($0.0083/message outbound) | $2.49 |
| AI reply handling (Claude Haiku, ~$0.002/exchange) | $1.20 |
| Rep time to close warm replies (1 hr) | $25.00 |
| Total per campaign | $28.69 |
Performance Model
| Metric | Conservative | Realistic | Optimistic |
|---|---|---|---|
| SMS delivery rate | 90% | 93% | 97% |
| Open rate | 90% | 95% | 98% |
| Response rate | 8% | 15% | 22% |
| Appointment rate from responses | 20% | 30% | 40% |
| Appointments | 4–5 | 13–14 | 26 |
| Close rate | 20% | 25% | 30% |
| Jobs closed | 1 | 3–4 | 8 |
| Revenue | $18,000 | $54,000–$72,000 | $144,000 |
| Gross Profit (33%) | $6,000 | $18,000–$24,000 | $48,000 |
| Net Profit / EBITDA (11%) | $2,000 | $6,000–$8,000 | $16,000 |
| CAC | $28.69 | $7–$10 | $3.59 |
| ROI | 628× | 1,882–2,510× | 5,019× |
Pros
98% open rate, immediate, conversational, feels personal, fastest response loop
Cons
Opt-out/spam compliance (10DLC registration required), phone numbers harder to obtain than emails, can feel intrusive if messaging is poor
Best For
Same-day follow-up after email, re-engagement of non-openers, time-sensitive "we're in your neighborhood this week" pushes
AI Voice Calling
Outbound AI Agent
How it works: AI agent (Bland.ai or Retell AI) calls the prospect, introduces as "calling on behalf of Roof Works of Texas," qualifies damage, books free inspection if interested. No human needed until appointment confirmed.
Cost Breakdown (per storm event, 300 prospects)
| Item | Bland.ai | Retell AI |
|---|---|---|
| Per-minute rate | $0.09/min | $0.07/min |
| Avg call duration (qualified + voicemail) | 2.5 min avg | 2.5 min avg |
| Cost per call attempt | $0.225 | $0.175 |
| 300 calls | $67.50 | $52.50 |
| Phone number rental | $15.00/mo | $2.00/mo |
| Skip tracing (same list, no extra cost) | $0 | $0 |
| Total per campaign | $82.50 | $54.50 |
Performance Model (shared)
| Metric | Conservative | Realistic | Optimistic |
|---|---|---|---|
| Connect rate (live answer) | 20% | 30% | 40% |
| Qualified (interested in inspection) | 15% of connects | 25% | 35% |
| Appointments booked by AI | 60% of qualified | 70% | 80% |
| Appointments | 5–6 | 15–16 | 33 |
| Close rate | 25% | 30% | 35% |
| Jobs closed | 1–2 | 4–5 | 11–12 |
| Revenue | $18,000–$36,000 | $72,000–$90,000 | $198,000–$216,000 |
| Gross Profit (33%) | $6,000–$12,000 | $24,000–$30,000 | $66,000–$72,000 |
| Net Profit / EBITDA (11%) | $2,000–$4,000 | $8,000–$10,000 | $22,000–$24,000 |
| CAC (Retell) | $27–$54 | $11–$14 | $4.55–$4.95 |
| ROI (Retell) | 330–661× | 1,321–1,651× | 3,633–3,963× |
Pros
Scales infinitely, calls within minutes of storm, no human fatigue, consistent pitch every time, works nights/weekends, books directly into calendar
Cons
Some prospects hang up on AI calls, requires well-tuned script, AI can mishandle unusual objections, setup takes 1–2 days
Best For
First contact blast within 4–6 hours of a major storm event while reps are still mobilizing
Human Telemarketing
Comparison Baseline
| Metric | Value |
|---|---|
| Caller cost | $18–$25/hr |
| Dials per hour | 30–40 |
| Connect rate | 15–25% → 5–10 connects/hr |
| Appointment rate | 10–15% of connects |
| Appointments per hour | 0.5–1.5 |
| Close rate | 20–25% |
| Jobs per 8-hr shift | 1–3 |
| Cost per job (labor only) | $60–$200 |
| Effective CAC | $60–$200 |
Pros
Human judgment, can handle complex objections, builds rapport
Cons
Most expensive at scale, turnover, inconsistent quality, limited hours, compliance burden
Direct Mail
Reference
| Metric | Value |
|---|---|
| Cost per piece (design + print + postage) | $0.80–$1.50 |
| 500 pieces | $400–$750 |
| Response rate | 1–2% |
| Appointments from 500 pieces | 5–10 |
| Close rate | 20–25% |
| Jobs | 1–2 |
| CAC | $200–$750 |
| ROI | 20–75× |
Slow (5–10 day delivery), can't time to storm event, no personalization at scale
ROI Summary — Head-to-Head
300 prospects, realistic scenario
| Channel | Cost | Jobs | Revenue | Gross Profit (33%) | Net / EBITDA (11%) | ROI | Speed |
|---|---|---|---|---|---|---|---|
| Door Knocking | $200 (1 day) | 3–5 | $54K–$90K | $18K–$30K | $6K–$10K | 90–150× | 1–3 days post-storm |
| Cold Email ★ | $58 | 2–3 | $36K–$54K | $12K–$18K | $4K–$6K | 623–934× | < 2 hrs |
| SMS ★★ | $29 | 3–4 | $54K–$72K | $18K–$24K | $6K–$8K | 1,882–2,510× | < 1 hr |
| AI Calling — Retell ★★ | $55 | 4–5 | $72K–$90K | $24K–$30K | $8K–$10K | 1,321–1,651× | < 30 min |
| Human Telemarketing | $800 (1 day) | 2–3 | $36K–$54K | $12K–$18K | $4K–$6K | 45–67× | Same day |
| Direct Mail | $500 | 1–2 | $18K–$36K | $6K–$12K | $2K–$4K | 12–24× | 5–10 days |
SMS > AI Calling > Email >> Telemarketing > Door Knock > Direct Mail
AI Calling > SMS > Email > Door Knock > Telemarketing > Direct Mail
Door Knock ≈ AI Calling > SMS > Email > Direct Mail
Recommended Stack — Storm Day Protocol
A storm hits DFW. Optimal sequence:
T+0 hrs Storm-alert cron detects DFW hail event → sends push notification
T+1 hr Generate Leads in admin panel → 300 Tier A+B prospects scored + tiered
T+2 hrs AI Calling (Retell/Bland) → 300 automated outbound calls begin
"Hi, this is Alex calling for Roof Works of Texas. We noticed your
neighborhood in [city] had significant hail today and we're offering
free roof inspections. Can I book a quick 20-minute visit?"
T+2 hrs SMS blast → 300 texts sent simultaneously (non-call-hours backup)
T+4 hrs Email sequence starts → personalized branded email to all 300
(reinforces AI call, catches those who missed the call)
T+48 hrs Follow-up SMS + email to non-responders (automated, 2-touch)
T+7 days Final follow-up email → "Last chance — free inspection offer expires"
Reps: Only handle calls from AI-qualified leads who said YES. Zero cold dialing.
AI Tools for Admin Panel Integration
Retell AI — Outbound Voice Agent
Recommended- Cost: $0.07/min, $2/mo per number
- Integration: REST API + webhook → post-call webhook fires to
/api/admin/prospects/[id]to update status to CONTACTED or INTERESTED - What to build:
/api/admin/outreach/voice-campaignroute that acceptsprospect_ids[], dispatches batch calls, receives webhook - Timeline: 1–2 days to build + test
Twilio 10DLC Registration — Enable SMS at Scale
- Cost: ~$4/mo brand fee + $10 campaign registration (one-time)
- Already coded:
lib/sms.ts+TWILIO_FROM_NUMBERenv var — just needs credentials - Timeline: Hours once Twilio funded + 10DLC approved (1–3 business days)
BatchData API — Automated Property Enrichment
- Cost: $500/mo for 20,000 records ($0.025/record)
- What it adds: Phone + email + storm damage history + equity + roof permit history
- Integration: Webhook on generate-leads completion → auto-enrich top Tier A prospects
- Replaces: Manual BatchSkipTracing CSV upload workflow
- ROI breakeven: 1 job/month covers the subscription
Bland.ai — Alternative/Backup Voice
- Cost: $0.09/min
- Advantage over Retell: No-code setup, Zapier/Make integration, simpler for first deployment
- Use case: Faster to test; switch to Retell at volume
Clay.com — Hyper-Personalization at Scale
- Cost: $185–$495/mo
- Use case: Pull LinkedIn + social data on property owners for ultra-personalized outreach at volume
- Verdict: Overkill until running 1,000+ prospects/storm
Twilio ConversationRelay — Two-Way AI SMS
- Cost: $0.05/message + SMS cost
- What it does: AI reads inbound SMS replies and responds intelligently — converts SMS from broadcast to conversation
- Build complexity: 4/5 — webhook handler + LLM prompt engineering
- Timeline: 3–5 days
Tools to Avoid
- Air.ai: FTC lawsuit filed August 2025, platform inactive — do not use
- Apollo.io for homeowners: B2B database, poor coverage for residential
- Attentive / Klaviyo: Built for ecommerce, $8K+ annual minimums, wrong market
- Vapi.ai: Costs stack with hidden provider fees at scale — Retell is cheaper
CAC Comparison — Full Picture
Cost per Qualified Lead (realistic scenario)
Property Value Recovery — Why DCAD Appraisal Values Matter
Current state: total_value = $0 for all 634,402 parcels (appraisal file not yet loaded). Scoring model uses sqft as proxy — adequate but not optimal.
To fix: Download ACCOUNT_APPRL_YEAR.CSV from DCAD (separate from RES_DETAIL.CSV). Re-run ingest with: python dcad_ingest.py --skip-geocoding --values-only
Impact: Unlocks proper value-tier scoring — estimated 15–20% improvement in Tier A lead quality.
Five-Year Revenue Projection (Storm Lead Gen Only)
Assumptions: 4 DFW storms/year, 300 Tier A+B prospects per storm, SMS + AI voice stack
| Year | Storms | Prospects | Jobs (3% close) | Revenue | Lead Gen Cost |
|---|---|---|---|---|---|
| 2026 (partial) | 2 | 600 | 18 | $270,000 | $300 |
| 2027 | 4 | 1,200 | 36 | $540,000 | $600 |
| 2028 | 4 | 1,500* | 45 | $675,000 | $750 |
| 2029 | 4 | 2,000* | 60 | $900,000 | $1,000 |
| 2030 | 4 | 2,500* | 75 | $1,125,000 | $1,250 |
*Growth from adding Tarrant, Collin, Denton CAD data
Pro forma prepared for Roof Works of Texas internal planning. All projections based on industry benchmarks and modeled assumptions. Actual results will vary based on storm frequency, market conditions, and execution quality.
