Last 30 days ▾
All channels ▾

Portfolio Scorecard — All 10 Brands

Cross-brand visibility · Last 30 days · Confidence ratings on every metric
DAY 30 OUTPUT
updated 2026-04-27 06:00
Portfolio Spend
$427K /mo
▲ 3.2% vs prior 30d
High confidence
Services Booked / day
312
▲ 5.1%
ServiceTitan-verified
Portfolio CAC
$211
▼ 4.6%
Brands 4–10 partial
Portfolio ROAS
4.18x
▲ 0.22x
Pilot-grade only on B-1
Attribution Coverage
73%
▲ 11pp
Target: 95% by D90

Brand-by-brand snapshot

Click a brand to drill in
Beehive Plumbing
Spend$58K
Bookings/d31
CAC$192
ROAS4.6x
High95% cov.
Comfort Solutions
Spend$71K
Bookings/d42
CAC$226
ROAS3.9x
Med68% cov.
Diamond
Spend$48K
Bookings/d29
CAC$201
ROAS4.3x
Med72% cov.
Master Rooter
Spend$36K
Bookings/d25
CAC$185
ROAS4.5x
Med78% cov.
SameDay
Spend$52K
Bookings/d38
CAC$178
ROAS4.7x
Med81% cov.
Superior Water & Air
Spend$44K
Bookings/d28
CAC$245
ROAS3.7x
Low54% cov.
Walker / St. George
Spend$31K
Bookings/d21
CAC$219
ROAS4.0x
Low61% cov.
Craig's Services
Spend$27K
Bookings/d19
CAC$232
ROAS3.8x
Low58% cov.
Lee's
Spend$33K
Bookings/d22
CAC$208
ROAS4.2x
Med76% cov.
My Buddy the Plumber
Spend$28K
Bookings/d17
CAC$214
ROAS4.1x
Low52% cov.

Services booked / day · last 30 days

Portfolio total

Spend mix by brand

% of portfolio paid spend

Beehive Plumbing — Brand Scorecard

Pilot brand · Phase 2 stabilized · Daily refresh · CMO + GM dashboard
PILOT · LIVE
updated 2026-04-27 06:00
Spend (MTD)
$58K
▲ 4.1%
Verified
Calls / day
94
▲ 8 vs avg
CallRail
Services Booked / day
31
▲ 6.9%
ServiceTitan
CAC
$192
▼ 8.6%
Closed-loop
ROAS
4.6x
▲ 0.4x
Daily

Calls + bookings · last 30 days

Daily, by source

Funnel snapshot

Drill in →
Impressions1.2M
Clicks/calls8,420
Leads2,820
Booked jobs930
Completed868
Repeat (90d)142
LEAKAGE FLAG
Lead → Booking conversion below baseline (33% vs 38%). View leakage diagnostic →

Channel mix · click to drill into channel performance

CAC, ROAS, leads per channel
ChannelSpendLeadsCPLCACROASConv.ConfidenceStatus
Google Ads$22,4001,040$21.50$1824.8x39%HighScale
LSAs (Google Local)$11,800512$23.04$1635.4x42%HighScale
Meta Ads$8,200388$21.13$2243.9x33%MediumTest
SEO / Organic$3,400468$7.26$7811.2x36%MediumScale
Yelp / Angi$5,800142$40.85$3622.4x28%MediumFix
Direct / Referral$1,200198$6.06$5414.8x44%HighHold
Email / SMS (lifecycle)$2,10052$40.38$988.4x52%HighTest
Microsoft / Bing$3,10078$39.74$2913.0x31%LowFix

Beehive — Funnel by Stage

Stage volume · conversion rate · leakage flags · click a stage to see channels feeding it
CLOSED LOOP · LIVE
30-day window

Stage volume + conversion + leakage

Hover for benchmark · click to drill
1 · Impressions
awareness · top of funnel
1.2M
0.7% CTR
baseline 0.6%
2 · Clicks / Calls
consideration · engagement
8,420
33.5%
click-to-lead
3 · Leads
form fill · phone · chat
2,820
33.0%
▼ baseline 38% · LEAK
4 · Booked Jobs
CSR confirmation · scheduled
930
93.3%
booking-to-completion
5 · Completed Services
field tech · paid invoice
868
$1,743 AOV
$1.51M revenue
6 · Repeat Customer (90d)
membership · win-back
142
16.4%
repeat rate · target 22%

Funnel conversion · 90-day trend

Each stage's conversion rate

Where this stage breaks down

Lead → Booking diagnostic
CSR speed-to-answer
Avg 14s · target 8s · 22% of calls roll to voicemail
−4.2%
Out-of-area inbound (Yelp)
15% of Yelp leads disqualified · trade-area mismatch
−1.8%
After-hours leads
28% of leads after 6pm · no warm transfer
−1.1%

Channel Performance — Beehive Plumbing

Online + offline media · Spend · CAC · ROAS · attribution coverage · click a channel to see campaigns
SCALE / FIX / TEST
30-day window
Total channel spend
$113K
tracked + modeled media
Offline spend mix
49%
mailers · billboards · radio · TV
Best CAC channel
Direct/Referral
$54 CAC · 14.8x ROAS
Attribution coverage
78%
offline modeled until validated

All channels · sortable · click for campaigns

Digital, mailers, billboards, radio, and TV · CAC vs. ROAS quadrant ↓ + table ↓
ChannelSpendImpressionsClicks/CallsLeadsCPLBookedCACRevenueROASStatus
Google Ads$22,400412K3,4201,040$21.50388$182$107K4.8xScale
LSAs (Google Local)$11,80098K1,420512$23.04216$163$64K5.4xScale
Meta Ads$8,200628K1,180388$21.13128$224$32K3.9xTest
SEO / Organic$3,40088K1,310468$7.26168$78$38K11.2xScale
Yelp / Angi$5,80042K390142$40.8540$362$14K2.4xFix
Direct / Referral$1,200412198$6.0687$54$18K14.8xHold
Email / SMS$2,1002,84052$40.3827$98$18K8.4xTest
Microsoft / Bing$3,10068K34078$39.7424$291$9K3.0xFix
Direct Mail / Mailers
QR · vanity URL · tracked phone
$14,20018K homes286132$107.5854$263$39K2.7xTest
Billboards / OOH
vanity URL · location lift window
$9,600410K est.11864$150.0021$457$18K1.9xFix
Radio
unique number · daypart · offer code
$12,800232128$100.0049$261$42K3.3xTest
TV / CTV
linear + CTV · geo/time lift model
$18,400260K est.17488$209.0931$594$29K1.6xTest

Campaign Performance — Online + Offline / Beehive

Campaign-level spend · leads · CAC · ROAS · test status · digital, mailer, billboard, radio, and TV performance
FRIDAY GROWTH REVIEW
showing 16 active campaigns
Active campaigns
16
12 digital · 4 offline
Offline campaigns
4
mailer · OOH · radio · TV
Top campaign · ROAS
Drain Cleaning · SLC
7.2x · $148 CAC
Biggest offline question
TV attribution
modeled lift until validated

All campaigns · sortable

Sorted by ROAS · top to bottom
CampaignSpendImpr.ClicksCTRLeadsCPLBookedCACROASTestStatus
Drain Cleaning · SLC Metro
Search · Exact + Phrase
$3,42068K8721.28%214$15.9898$1487.2xWin +18%Scale
Water Heater · Repair
Search · Exact
$2,84042K6241.49%168$16.9068$1656.4xScale
Sewer Backup · Emergency
Search · Exact
$2,12028K4121.47%98$21.6342$1675.8xWin +12%Scale
Plumber Near Me · Brand
Search · Brand
$1,94022K4682.13%142$13.6662$985.6xHold
Garbage Disposal · SLC
Search · Exact + DSA
$1,68038K4121.08%88$19.0936$1845.1xRunningScale
Pipe Repair · West Jordan
Search · Exact
$1,42031K2980.96%68$20.8826$2094.7xHold
Toilet Repair / Install
Search · Phrase
$1,82042K2980.71%52$35.0019$2913.6xRunningTest
Plumbing Inspection
Search · Broad+
$1,26052K1960.38%38$33.1612$3103.2xRunningTest
Performance Max · Plumbing
PMax
$2,440128K4120.32%82$29.7629$2823.4xRunningTest
Tankless · Broad
Search · Broad
$1,58038K2180.57%28$56.439$4182.1xLose −9%Pause
Hydro Jetting · DSA
DSA
$1,14031K1820.59%42$27.1414$2264.0xWin +6%Hold
Drain Snake / Augur
Search · Exact
$74012K2181.82%52$14.2323$1615.9xWin +14%Scale
Spring Water Heater Mailer
Direct Mail · QR + tracked number
$7,2009.5K homes74$97.3031$2323.4xOffer A/BTest
I-15 Southbound Billboard
OOH · vanity URL + lift window
$5,100230K est.34$150.0012$4251.8xGeo liftFix
Morning Drive Radio
Radio · daypart + unique number
$6,80013876$89.4730$2273.6xDaypartTest
Evening News TV
TV · linear + geo/time lift model
$11,000160K est.10454$203.7018$6111.5xLift modelTest

Campaign-level recommendations

From Friday Growth Review
Scale Drain Cleaning + Drain Snake+$2.4K
Both winning tests with strong CTR. Increase budget 30%; review week of May 12.
Pause Tankless · Broad−$1.6K
Lost test. CAC 2.5x portfolio. Reallocate to Drain campaigns.
Continue testing PMax + ToiletHold
Both still in stat-sig collection window. Decision next Friday.
Instrument offline campaignsValidate
Assign unique numbers, vanity URLs, QR codes, promo codes, and flight windows before comparing offline CAC to digital.

Campaign performance distribution

CAC vs ROAS scatter

Leakage Diagnostic — Beehive Plumbing

Where qualified demand exits the funnel · the four-condition agreement in action
PHASE 3 OUTPUT
30-day window
Total leakage cost
$34K /mo
▼ $11K vs baseline
Lead → booking rate
33%
▼ 5pp vs target
Worst stage
Lead → Booking
CSR speed-to-answer
Recoverable revenue
$148K /yr
if all flagged items fix

Stage-by-stage diagnosis

Severity · description · monthly impact
1 · Impressions → Click
awareness · CTR vs benchmark
Healthy. CTR 0.7% vs portfolio benchmark 0.6%. Display + Search creative refresh in last 30 days lifted CTR 12%.
+$2.1K
2 · Click → Lead
landing page conv · forms
Solid. 33.5% click-to-lead. Form fill + phone-tap split: 62%/38%. Mobile lead form A/B test running — early winner +8% lift.
−$1.8K
3 · Lead → Booking
CSR intake · qualification
Primary leak. 33% rate vs 38% target. CSR speed-to-answer averaging 14s (target 8s). 22% of inbound calls roll to voicemail. After-hours leads (28% of total) lack warm transfer. Yelp inbound 15% out-of-area disqualified.
−$18.4K
4 · Booking → Completion
dispatch · technician · job
Some friction. 93% completion vs 96% target. 6.7% no-show / cancellation rate. Same-day rescheduling needed for 4% of jobs.
−$8.2K
5 · Completion → Repeat (90d)
membership · win-back
Below target. 16.4% repeat rate vs 22% target. Membership pitch attached to 41% of jobs (target 65%). Email follow-up sequence dormant on 38% of customers.
−$11.6K

Leakage trend · 90-day

Improving since closed-loop went live

Lane assignment

What I own vs. observe-only
MARKETING
Stage 1–2 (Impressions → Click → Lead): I own. UTM, GTM, landing pages, ad creative, channel mix.
CS / OPS
Stage 3 (Lead → Booking): Call Center owns. I report the metric, flag the issue, hand to CSR lead with scope-accountability framing.
FIELD OPS
Stage 4 (Booking → Completion): Dispatch + Field. Observed only.
SHARED
Stage 5 (Completion → Repeat): Marketing + Membership / CX. I own email/SMS lifecycle; CX owns NPS & on-job pitch.

Test Framework — Beehive Plumbing

Active tests · win/loss readouts · scale/fix/test queue · cumulative learning rate
SCALE / FIX / TEST
weekly cadence
Active tests
8
3 in stat-sig window
Wins shipped (90d)
5
▲ 2 vs prior 90d
Avg lift on winners
+13%
conv-rate average
Time-to-readout
12 days
▼ from 28 days

Active tests

Click for full readout
Mobile lead form: 3-field vs 6-fieldWIN +18%
Hypothesis: Reducing form fields from 6 to 3 improves mobile conversion without hurting lead quality.
ChannelGoogle AdsDays14 / 14Sig99%
Drain Cleaning · CTA wording testWIN +12%
Hypothesis: "Same-Day Service" CTA outperforms "Get a Free Quote" for emergency drain queries.
ChannelGoogle AdsDays10 / 10Sig96%
PMax · creative refreshRUNNING
Hypothesis: New thumbnail set with technician faces drives stronger CTR than current product-only creative.
ChannelGoogle PMaxDays8 / 14Sig62%
Toilet Repair · landing page heroRUNNING
Hypothesis: Showing pricing transparency above the fold improves form-fill rate vs hidden pricing.
ChannelGoogle AdsDays6 / 14Sig48%
Email · membership win-back subject lineRUNNING
Hypothesis: First-name personalization in subject line beats generic "Time for a Check-up" for lapsed customers.
ChannelEmail/SMSDays11 / 14Sig88%
Tankless · Broad-match keyword expansionLOSE −9%
Hypothesis: Broad-match expansion would unlock high-intent volume above current Exact-match baseline.
ChannelGoogle AdsDays14 / 14Sig94%

Cumulative learning · last 90 days

Compounding lift from shipped winners

Budget Move Board — Beehive Plumbing

Reversible · measured · named · every move has an expected outcome and review date
DAY 120 OUTPUT
signed off CMO + GM
Total monthly spend
$58K
unchanged total
Net reallocation
$8.2K
14% of total
Expected ROAS lift
+0.6x
to 5.2x blended
Review window
4 weeks
decision May 25

Proposed budget moves · this 30-day cycle

Each move is reversible · stop/continue criteria attached
Move
Amount
Source → To
Evidence
Expected
Review
Scale Drain Cleaning campaigns
SLC Metro + Drain Snake — both shipped winners
+$2,400
Tankless Broad → Drain campaigns
SLC Metro: 7.2x ROAS, +18% test win. Drain Snake: 5.9x ROAS, +14%.
+$11K rev
−$32 CAC
May 25
Pause Tankless Broad campaign
Failed test, 2.5x portfolio CAC
−$1,580
Pause · reallocate above
Lost test 9% under control. CAC $418 vs portfolio $192.
−$3K loss
avoided
June 22
Increase LSAs spend
Best CAC channel · headroom on call volume
+$3,200
Yelp/Angi → LSAs
LSAs: $163 CAC, 5.4x ROAS. Yelp: $362 CAC, 2.4x ROAS.
+$15K rev
−$8 blended CAC
May 25
Trim Yelp/Angi spend
15% of leads are out-of-area · CAC 88% over portfolio
−$3,200
Reallocate to LSAs
Out-of-area lead pattern from Yelp not improving with negative-keyword work; rolling back.
−$3K spend
+$0.8x ROAS
May 25
Test Email/SMS lifecycle expansion
8.4x ROAS · room to scale to dormant 38%
+$1,200
From: Microsoft/Bing (underperforming)
Email/SMS at 8.4x ROAS. Win-back sequence currently dormant on 38% of past customers.
+$8K rev
+1.4pp repeat
June 8
Trim Microsoft / Bing
$291 CAC, 3.0x ROAS, low coverage
−$1,200
Reallocate to Email/SMS
Underperforming all other paid channels. Pixels last validated 2 months ago.
−$1K spend
opportunity cost
June 8

30-day reallocation summary

Net moves by channel

Forecasting Model - Marketing Goal Tiers

Conservative, moderate, and aggressive goals with MoM, YoY, seasonality, funnel impact, leakage, and marketing ROI
DAY 120 OUTPUT
example model - To Validate
Model Confidence
78%
MoM +6pp / YoY new model
Needs 90 days accepted data
Moderate Revenue Goal
$1.28M
MoM +8.5% / YoY +14.0%
Finance input, marketing target
Booked Jobs Needed
1,420
MoM +16.4% / YoY +12.7%
Capacity check
Marketing ROI Goal
4.7x
MoM +0.5x / YoY +0.8x
Completed revenue basis

Goal tiers - choose the operating target

Conservative · moderate · aggressive
Conservativeprotect plan
$1.20M
Use when seasonality, call capacity, or attribution confidence is still uneven.
Bookings
1,330 / mo
Qualified demand
4,030
Marketing ROI
4.3x
Leakage change
-8%
Moderaterecommended
$1.28M
Primary scorecard target after data flow, definitions, and source confidence are accepted.
Bookings
1,420 / mo
Qualified demand
4,300
Marketing ROI
4.7x
Leakage change
-18%
Aggressivecapacity gated
$1.40M
Use only when demand quality, call handling, dispatch, and technician capacity can support the lift.
Bookings
1,555 / mo
Qualified demand
4,710
Marketing ROI
5.1x
Leakage change
-28%
Marketing metricCurrentMoMYoYConservativeModerateAggressiveOwner / action
Qualified demand
High-intent calls, forms, chats after source rules
3,720+6.2%+10.8%4,0304,3004,710Marketing Ops + Call Center: validate disposition rules.
Lead to booking rate
Funnel conversion most tied to call handling and fit
33.0%-1.2pp+0.4pp33.0%35.0%37.0%Call Center: speed-to-answer and after-hours handling.
Booked jobs
Primary operational target created by marketing demand
1,220+5.9%+9.4%1,3301,4201,555Brand GM + Call Center: confirm capacity before scaling.
Booking to completion rate
Operational leakage after the marketing handoff
93.4%+0.6pp+1.1pp93.5%94.0%95.0%Ops: use as constraint, not a marketing-only KPI.
Leakage cost
Modeled recoverable value from funnel gaps
$34K-$11K-$19K$31K$28K$24KMarketing Ops: assign source, call, booking, and completion owners.
Cost per booking
Marketing spend divided by booked jobs
$211-4.6%-7.8%$204$192$181Performance Marketing: budget shift and campaign quality.
Marketing ROI
Completed revenue attributed to marketing / spend
4.18x+0.22x+0.54x4.3x4.7x5.1xCMO + Marketing Ops: compare against channel mix and confidence.
Attribution coverage
Share of completed jobs tied to a usable source
73%+11pp+24pp85%90%95%IT/Data + Marketing Ops: close source capture gaps.

Required volume by funnel stage

Current vs goal tier requirements

Scorecard goal rules

How goals get set

Rule 1 Use CFO-approved revenue and AOV inputs, but keep the dashboard focused on marketing demand, conversion, leakage, and ROI.

Rule 2 Every metric shows actual, target, MoM movement, YoY movement, owner, and next action.

Rule 3 Forecasts use conservative/moderate/aggressive ranges until 90 days of accepted data are stable.

Rule 4 Home services seasonality and capacity constraints can override a pure spend-based target.

Goal-setting outputs

End-of-120-day deliverable
Executive scorecard: selected goal tier, marketing ROI, forecast variance, confidence, and decision queue.
Director scorecard: funnel targets, channel mix, leakage trend, test plan, and budget movement rules.
Manager scorecard: source quality, conversion rate, call outcomes, booking gaps, completion gaps, and owner actions.

Scenario forecast - marketing ROI

Conservative, moderate, and aggressive planning ranges

Seasonality index - home services demand

Same month prior year normalized to 100

Year-over-year marketing KPI trend

Month-by-month comparison for scorecards

Cross-functional validation load

Marketing-focused, with Finance inputs
Finance / CFO
Provide approved revenue, AOV, margin, refund, and seasonality inputs. Marketing Ops should not invent financial truth.
1-2 hr / wk
Marketing
Own demand targets, channel mix, campaign ROI, source quality, and spend-to-booking assumptions.
2-3 hr / wk
Call Center
Validate lead disposition, answer rates, booking rate, missed-call leakage, and after-hours handling.
2-3 hr / wk
IT / Data
Keep ServiceTitan, call tracking, ad platforms, and warehouse refreshes stable enough for MoM and YoY comparison.
2 hr / wk
Brand / GM
Validate seasonality, service mix, crew capacity, market constraints, and whether aggressive targets are operationally realistic.
1 hr / wk
Marketing Ops
Own model refresh, variance readout, confidence notes, and Friday Growth Review decisions.
4-6 hr / wk

Forecast formula notes

Bottom-line logic for how goals are calculated

1. Seasonally adjusted baseline

Baseline demand = prior-year same-month demand * seasonality index * source-confidence factor

Home services demand moves by weather, emergency patterns, local seasonality, and service mix. The forecast should compare April to last April, not only March to April.

2. Reverse-funnel volume

Completed jobs required = revenue goal / AOV
Booked jobs required = completed jobs / completion rate
Qualified demand required = booked jobs / lead-to-booking rate

This keeps goals connected to the stages marketing can influence and the stages operations must be able to support.

3. Marketing ROI and spend

Marketing ROI = attributed completed revenue / marketing spend
Spend target = booked jobs required * cost per booking range

The CFO supplies approved financial inputs. Marketing uses those inputs to manage source quality, conversion, leakage, budget movement, and ROI.

4. Leakage opportunity

Leakage value = (target conversion - actual conversion) * stage volume * AOV * recoverability factor

This prevents the dashboard from treating every lost lead as recoverable. Only gaps with an owner and plausible fix path should enter the scorecard.

5. Scenario tiers

Conservative = baseline + protected lift
Moderate = baseline + expected lift
Aggressive = baseline + expected lift + capacity-approved stretch

The selected tier should change only when source confidence, capacity, and conversion trends support it.

6. Scorecard comparison

MoM = (current month - prior month) / prior month
YoY = (current month - same month prior year) / same month prior year

Each KPI should show current, goal tier, MoM, YoY, confidence, owner, and next action so the forecast becomes an operating rhythm.