🚨 THE PROBLEM: REVENUE IS DECLINING
$100K
March (so far, 25 days)
-$29K
Jan NOI (Lost Money)
$3.66M
Annualized Run Rate
MATH THAT MATTERS:
• Monthly break-even: ~$150K revenue (based on Jan OpEx $81K + COGS $84K)
• March at $100K = potentially another LOSS month
• Target: $6M/year = $500K/month. Currently at $200K avg = 40% of goal
• Gap: $300K/month needs to come from SOMEWHERE
• $6.5M in OPEN estimates right now. Converting 10% = $650K.
• $15.7M in DISMISSED estimates. Recovering 3% = $471K.
• 3,665 dormant customers with email. Reactivating 2% at $2,500 avg ticket = $183K.
🎯 THE 5 REVENUE PLAYS (Ranked by Speed to Cash)
🔥 PLAY 1: ESTIMATE RECOVERY (Fastest Cash -- This Week)
THE OPPORTUNITY: 2,084 open estimates (but only 6 from last 90 days are contactable, worth $28K). HOWEVER: 210 recently dismissed estimates worth $874K are recoverable.. Average value: $3,125.
Realistic target: recover 10 of the 210 recently dismissed estimates at $4K avg = $40K in quick revenue. The $6.5M number includes 1,679 estimates over 180 days old (dead leads)..
ACTION ITEMS (Robert can execute TODAY):
☐ Pull top 50 open estimates over $5K from Morpheus
☐ Ashton/Jordan call each one: "Hi, just following up on your estimate from [date]. Are you still considering this project?"
☐ For estimates over 30 days old: offer $199 off as "spring special" to create urgency
☐ For estimates over 90 days old: re-quote with current pricing (may be lower = pleasant surprise)
☐ Deploy estimate follow-up email sequence via outreach engine (Campaign 2 is READY, 2,375 contacts)
☐ Set up auto-text 3 days after estimate: "Just checking in -- any questions about your estimate?"
BLOCKERS: DKIM needed for email (Kalen action). Until then, phone calls are the play.
PROJECTED IMPACT: $100K-$325K depending on conversion rate. Timeline: immediate.
📊 PLAY 2: GOOGLE ADS -- TURN UP THE VOLUME (This Week)
CURRENT STATE: $200/day budget, $39 CPL, 23.6x ROAS verified.
THE MATH: Every $1 in Google Ads = $23.60 back. We're spending $200/day when we could spend more.
ACTION ITEMS:
☐ Review Google Ads performance for last 14 days (are we hitting daily budgets?)
☐ If campaigns are capped: increase sewer campaign budget to $100/day (highest ROI service)
☐ If sump pump campaign is seasonal (spring): increase to $75/day for March-May
☐ Add 3 new ad groups targeting high-value keywords: "emergency plumber near me", "sewer line replacement cost", "water heater replacement overland park"
☐ Ensure all 7 campaigns have correct conversion tracking (ST Job Completed = Primary)
☐ Upload latest offline conversions to Smart Bidding (feed the algorithm)
☐ Fix any geo targeting issues (verify KC metro only, no global spend)
KEY QUESTION FOR STEPHANIE: What's the max daily budget she's comfortable with? At 23.6x ROAS, $500/day = $11,800/day return = $354K/month.
PROJECTED IMPACT: $50K-$150K/month additional. Timeline: 1-2 weeks to ramp.
📧 PLAY 3: DORMANT CUSTOMER REACTIVATION (2 Weeks)
THE OPPORTUNITY: 3,665 customers with email who haven't had service in 180+ days.
Industry avg reactivation rate: 2-5%. At $2,500 avg ticket:
• 2% = 73 jobs = $182,500
• 5% = 183 jobs = $457,500
ACTION ITEMS:
☐ BLOCKER: DKIM must be set up first (Kalen -- 5 minutes in Google Admin)
☐ Deploy Apps Script to Google Sheets (already written, needs deployment)
☐ Send test batch of 20 emails to internal team
☐ If deliverability passes: launch Campaign 1 (Dormant Reactivation) to top 100 scored contacts
☐ A/B test subject lines per outreach strategy
☐ Monitor open rate (target 20%+) and reply rate (target 2%+)
☐ Scale to 500/day if open rate exceeds 20%
MESSAGING ANGLE: "It's been a while since we serviced your home. Spring is the perfect time for a plumbing checkup. $199 Spring Inspection Special -- we'll check your sump pump, water heater, and drain lines."
PROJECTED IMPACT: $100K-$450K over 90 days. Timeline: 2 weeks to first sends.
🤖 PLAY 4: DANIEL AI -- CAPTURE AFTER-HOURS REVENUE (Live Now, Needs Tuning)
THE OPPORTUNITY: BSP has ZERO after-hours coverage. Peak call window is 6-10 AM but CSRs start at 8 AM. Every missed call = a customer calling the next plumber on Google.
MATH:
• Conservative: 3 after-hours calls/day x 50% booking rate x $2,500 avg ticket = $3,750/day = $112,500/month
• Brenda (Barker & Sons) gets $15K/month from Broccoli's inbound alone
• Daniel costs $30-50/month vs Broccoli's $3,500/month
CURRENT STATUS:
✅ Daniel v2.3 deployed (ElevenLabs voice, full plumbing knowledge, listener pattern)
✅ Phone: (913) 963-9817 via Retell
✅ 3CX routing: IVR 821 -> Queue 810 -> Daniel (after-hours overflow)
❌ Stephanie says: needs better listening, more natural tone (addressed in v2.3)
❌ Does NOT book into ST yet (function calling needed)
❌ Not answering within 3 rings (3CX timeout needs adjustment)
ACTION ITEMS TO GO LIVE:
☐ Have Stephanie/Ashton test Daniel v2.3 (just deployed with fixes)
☐ Fix 3CX queue timeout for faster pickup
☐ Build ST booking function call (POST /jpm/v2/jobs)
☐ Soft launch: after-hours only (9 PM - 8 AM) for 1 week
☐ Monitor first 10 calls for quality
☐ Add 6-8 AM coverage (pre-shift peak)
PROJECTED IMPACT: $15K-$112K/month. Timeline: 1-3 weeks to production.
👑 PLAY 5: MEMBERSHIP PROGRAM -- RECURRING REVENUE (30 Days)
THE OPPORTUNITY: Zero recurring revenue right now. Every dollar is one-time. Membership creates a monthly income floor.
STRUCTURE (needs Kalen/Stephanie approval):
• Bright Club Basic: $15/month -- Priority scheduling, 10% off repairs, annual drain camera inspection
• Bright Club Plus: $25/month -- Everything in Basic + annual water heater flush + sump pump check
• Bright Club Premium: $45/month -- Everything in Plus + 1 free drain cleaning/year + emergency priority
MATH:
• 100 members at $25/month avg = $2,500/month recurring = $30,000/year baseline
• 500 members at $25/month avg = $12,500/month recurring = $150,000/year baseline
• Each member visit generates avg $800 in additional upsell revenue
• 100 members x 2 visits/year x $800 upsell = additional $160,000/year
CAUTION (from Stephanie Mar 16): Membership tabled until Brenda responds. Need clear contract terms. Must be profitable. Don't launch without Kalen sign-off.
ACTION ITEMS:
☐ Draft membership contract with clear scope/exclusions (Robert)
☐ Present to Kalen for pricing validation (use the Pricing Strategy HTML)
☐ Build membership signup flow in Morpheus
☐ Offer to existing customers during service calls: "Did you know we have a membership that saves you 10% on every visit?"
☐ Add to estimates: "Bright Club members save $X on this job"
PROJECTED IMPACT: $30K-$150K/year recurring. Timeline: 30 days to launch.
⚡ QUICK WINS (Do This Week)
1. CALL THE TOP 20 OPEN ESTIMATES
Ashton/Jordan spend 1 hour calling the 20 highest-value open estimates. Even 3 conversions at $3K avg = $9K this week. Zero cost.
2. KALEN: 5 MIN DKIM SETUP
Google Admin > Gmail > Authenticate Email > Generate Record > Add to Cloudflare. Unlocks the entire outreach engine. 3,665 dormant customers waiting.
3. TEST DANIEL v2.3
Call (913) 963-9817. Is he better? More natural? Answers questions? If yes, enable after-hours. If no, tell Robert what's still wrong.
4. REVIEW GOOGLE ADS BUDGET
Are campaigns hitting daily caps? At 23.6x ROAS, every dollar not spent is $23.60 not earned. Consider bumping to $300-500/day.
5. $199 SPRING CHECKUP SPECIAL
Post on Google Business Profile, Facebook, Nextdoor: "$199 Spring Plumbing Checkup -- sump pump, water heater, drains. Call (913) 963-1029." Generates $199 entry-point jobs that upsell to $2K+ repairs.
6. GOOGLE REVIEW PUSH
394 reviews. Every new review = more Google visibility = more calls. Text every completed job this week: "Thanks for choosing Bright Side! Would you mind leaving us a quick Google review?"
💸 MONEY ON THE TABLE (Trust Engine Verified)
$15.7M
Dismissed Estimates
IF WE EXECUTE ALL 5 PLAYS:
Play 1: Estimate Recovery (5% of $6.5M)
+$325,000
Play 2: Google Ads Increase ($400/day x 30 days x 23.6 ROAS)
+$283,200
Play 3: Dormant Reactivation (3% of 3,665 x $2,500)
+$274,875
Play 4: Daniel After-Hours (est. $15K/month baseline)
+$180,000/yr
Play 5: Membership (200 members x $25/month + upsell)
+$220,000/yr
TOTAL ANNUAL REVENUE POTENTIAL
+$1.28M - $1.68M
Current run rate: $3.66M. With all 5 plays: $3.72M - $4.12M. Gap to $6M goal: $1.88M-$2.28M (Google Ads scaling + hiring closes the rest).
📅 PRIORITY TIMELINE
THIS WEEK (Mar 25-31)
☐ Call top 20 open estimates (Ashton/Jordan)
☐ Kalen sets up DKIM (5 minutes)
☐ Stephanie/Ashton test Daniel v2.3
☐ Review Google Ads budgets -- are we capped?
☐ Post $199 Spring Checkup on GBP + Facebook + Nextdoor
☐ Text review requests to this week's completed jobs
NEXT WEEK (Apr 1-7)
☐ Deploy Apps Script email engine
☐ Send 20 test emails (deliverability check)
☐ If PASS: Launch dormant reactivation to top 100 contacts
☐ Enable Daniel after-hours (9 PM - 8 AM)
☐ Increase Google Ads sewer campaign budget
☐ Call next 30 open estimates
APRIL (Full Month)
☐ Scale email to 500 dormant contacts/day
☐ Add Daniel 6-8 AM pre-shift coverage
☐ Launch estimate recovery email campaign (Campaign 2)
☐ Draft membership contract, present to Kalen
☐ Build auto-review text system
☐ Target: $250K+ month
📝 NOTES / DECISIONS NEEDED
Stephanie's notes on Google Ads budget:
Kalen's notes on membership pricing:
Daniel AI feedback after testing v2.3:
Other revenue ideas / priorities: