The Five‑Number Weekly Scorecard (ServiceTitan • Jobber • Housecall Pro)
A one‑page, fill‑in scorecard for home service owner‑operators. Includes plain formulas, exact report paths in ServiceTitan/Jobber/Housecall Pro, trade‑flavored starting targets, pitfalls to check, and a ‘pick one lever’ box to ship a 7‑day test each week.
Use this one‑pager for a 10‑minute Tuesday review. Fill it from last week’s data, pick one lever to ship in the next 7 days, and assign an owner. Keep it to the five numbers that catch the biggest leaks from call → cash.
Header — Set your week and thresholds
- Shop: [SHOP NAME]
- Trade: [HVAC | PLUMBING | ELECTRICAL]
- Platform: [SERVICETITAN | JOBBER | HOUSECALL PRO]
- Week of (Mon–Sun): [YYYY‑MM‑DD]
- Business hours used for phone metrics: [HH:MM–HH:MM]
- Review crew: [DISPATCHER NAME], [LEAD TECH NAME], [OWNER/GM]
- Red/Yellow/Green thresholds (set once, adjust quarterly):
- Missed‑Call Rate: [GREEN ≤% | YELLOW –% | RED ≥%]
- % First Response ≤15 min: [GREEN ≥% | YELLOW –% | RED ≤%]
- Estimate Close Rate: [GREEN ≥% | YELLOW –% | RED ≤%]
- Schedule Utilization: [GREEN –% | YELLOW –% | RED ≤/≥%]
- Days‑to‑Cash OR % ≤7 Days: [GREEN ≤__ days | ≥__%]
- Notes carried over from last Tuesday: [NOTES]
KPI 1 — Missed‑Call Rate
- Definition: Percent of inbound calls during business hours that were not answered by a human/queue (missed or abandoned).
- Formula:
Missed calls ÷ Total inbound calls(business hours only).
Where to pull it
- ServiceTitan: Phones/Contact Center > Calls > Abandoned (and Answered). Filter: [Last Week], [Business Unit], [Business Hours]. Export if needed.
- Housecall Pro: Reporting > Voice > Call Log. Tabs: Inbound + Missed. Filter: [Date Range: Last Week]. Export CSV.
- Jobber: Via phone integration (e.g., CallRail). CallRail > Reports > Call Log (Missed vs Answered). Filter to tracking numbers and business hours. If no integration, use phone provider logs.
Starting targets (tune by season, not absolutes)
- HVAC: ≤8–12% in peak; ≤5–8% shoulder.
- Plumbing/Electrical: ≤5–10% most weeks.
Common pitfalls to check
- After‑hours mixed into numerator; duplicate tracking numbers; voicemail counted as answered.
Pick one lever (choose one and assign)
- Route all missed calls to one queue with owner: [NAME].
- Two callbacks + 1 SMS within 15 minutes playbook live? [YES/NO].
- Turn on voicemail transcription + Slack/Teams alert to missed‑call channel. [ON/OFF].
- Overflow to answering service after [X] rings during peak. [ON/OFF].
This week’s number: [%] Target: [%] Owner: [NAME] Status: [GREEN | YELLOW | RED]
KPI 2 — % First Response ≤15 Minutes
- Definition: Percent of new leads (calls, web forms, texts) that received the first human reply within 15 minutes during business hours.
- Formula:
Leads first‑touched ≤15:00 ÷ Total new leads(exclude truly after‑hours unless you staff it).
Where to pull it (expect a simple spreadsheet join)
- ServiceTitan: Phones/Contact Center > Call Log (inbound/missed timestamps). Pair with Marketing Pro > Forms > Submissions (created time). Compute first outbound touch time (callback/SMS/email) from call log or CRM activity.
- Housecall Pro: Reporting > Voice > Call Log (inbound/missed). Pair with Inbox/Messages or Estimates created; calculate first outbound touch time. Export and compute
first_touch - created. - Jobber: Insights > Requests (Created) + Activity Feed events (first text/email/call) and/or CallRail first‑return timestamp. Export and compute in sheet.
Starting targets (business hours focus)
- Aim for ≥60–80% within 15 minutes in‑hours; use auto‑acknowledge for off‑hours.
Common pitfalls to check
- Auto‑replies counted as “first touch” (decide your rule); web leads missing phone numbers; no single owner on the timer.
Pick one lever (choose one and assign)
- Turn on auto‑acknowledge SMS/email: “Got it — we’ll call within 15 minutes during [HOURS].” [ON DATE].
- Assign SLA owner (name on the timer) per day: [NAME].
- Create a single “New Lead” queue board/column visible to dispatcher. [DONE/NOT YET].
- Add a big on‑screen 15:00 timer macro for new leads. [INSTALLED/NOT YET].
This week’s number: [%] Target: [%] Owner: [NAME] Status: [GREEN | YELLOW | RED]
KPI 3 — Estimate Close Rate
- Definition: Percent of estimates sent/presented in the period that converted to approved/sold jobs.
- Formula (weekly, keep window consistent):
Approved (Sold) estimates ÷ Sent estimates.
Where to pull it
- Jobber: Insights > Reports > Quotes Report (Conversion Rate). Filter by [Sent Date: Last Week]. Note: Jobber conversion can exceed 100% if quotes convert without being marked “sent.”
- Housecall Pro: Reporting > Estimates > Conversion Rate. Filter [Last Week] and by business unit/tech as needed.
- ServiceTitan: Reports > Estimates (e.g., Estimate Performance / Sold by Technician). Filter [Date Sent: Last Week]. If needed, compute: count Sold ÷ count Sent.
Starting targets (use as a baseline)
- HVAC: 50–65% (varies with season and ticket size).
- Plumbing: 60–75%.
- Electrical: 55–70%.
Common pitfalls to check
- Techs not marking quotes “sent” or “sold”; duplicate versions; expired quotes dragging rate.
Pick one lever (choose one and assign)
- Ship 3‑option template (Good/Better/Best) in your quoting tool. Owner: [NAME]. Due: [DATE].
- Set 7‑day expiration with auto‑reminders (Day 2/4/6). [ON/OFF].
- Add online approval + deposit link to every quote. Deposit: [__%].
- Require on‑site present + same‑day SMS follow‑up with link. [RULE PUBLISHED DATE].
This week’s number: [%] Target: [%] Owner: [NAME] Status: [GREEN | YELLOW | RED]
KPI 4 — Schedule Utilization
- Definition: How full the schedule is relative to crew capacity.
- Formula:
Booked crew hours ÷ Available crew hoursfor the week.- Booked hours = sum of scheduled job durations (crew‑adjusted).
- Available hours = total workable crew hours minus PTO/meetings minus reserved rescue capacity.
Where to pull it
- ServiceTitan: Operations > Dispatch Board > Adaptive Capacity (Provided vs Consumed). Or Reports > Scheduling Utilization. Filter [Last Week].
- Housecall Pro: Reporting > Create a Report > Travel & Job Duration Time. Sum durations for [Last Week].
- Jobber: Jobs/Visits (scheduled durations) + Insights > Timesheets (total hours worked). Compute ratio.
Starting targets (protect a rescue slot)
- Most weeks: 85–95% utilization with 10–15% same‑day/rescue capacity.
Common pitfalls to check
- Travel time not included; multi‑tech jobs double‑counted; PTO not subtracted from available.
Pick one lever (choose one and assign)
- Switch to AM/PM (or 3‑window) arrival buckets. Go‑live: [DATE].
- Hold a daily [1–2 hr] rescue block; release at [TIME] if unused. Owner: [NAME].
- Next‑day confirmation text at [HH:MM] with reschedule link. [ON/OFF].
- Map zip‑clusters to reduce windshield time on peak days. [DONE/NOT YET].
This week’s number: [%] Target: [%] Owner: [NAME] Status: [GREEN | YELLOW | RED]
KPI 5 — Days‑to‑Cash or % Collected ≤7 Days
Pick one version and stick with it each quarter.
Option A — Days‑to‑Cash (average)
- Definition: Average days from job completion to full payment.
- Formula:
Avg( Payment Date − Job Completed Date )for jobs completed last week.
Option B — % Collected ≤7 Days
- Definition: Share of jobs paid in full within 7 days of completion.
- Formula:
# Jobs paid ≤7 days ÷ # Jobs completedlast week.
Where to pull it
- ServiceTitan: Reports > AR Transactions; Dashboards > Customer Aging. Filter by [Completed Date: Last Week]. Export for exact day counts if needed.
- Housecall Pro: Reporting > Invoices > Aging (Past Due) + Payments export. Filter [Completed Last Week].
- Jobber: Insights > Reports > Payments (date received) + Aged Receivables. Filter [Last Week Completed].
Starting targets (based on common platform patterns)
- Average days‑to‑cash ≤7 days; or ≥80% collected within 7 days.
Common pitfalls to check
- Invoices created late; jobs left “open”; check payments not deposited promptly; deposits not tied to jobs.
Pick one lever (choose one and assign)
- Same‑day invoicing rule at job completion. Owner: [NAME]. Go‑live: [DATE].
- Require stored card/ACH on file for service agreements. [ON/OFF].
- Add deposit policy for jobs > [$ AMOUNT] at [__%]. Effective: [DATE].
- Turn on text‑to‑pay links on completion. [ON/OFF].
This week’s number: [__ | %] Target: [ | __%] Owner: [NAME] Status: [GREEN | YELLOW | RED]
One‑Page Summary + Weekly Lever
List the five numbers at a glance and pick one lever to ship this week.
- Missed‑Call Rate: [__%] Status: [G/Y/R]
- % First Response ≤15 min: [__%] Status: [G/Y/R]
- Estimate Close Rate: [__%] Status: [G/Y/R]
- Schedule Utilization: [__%] Status: [G/Y/R]
- Days‑to‑Cash OR % ≤7 Days: [__ | __%] Status: [G/Y/R]
This week’s single lever
- KPI chosen: [NAME]
- Lever description: [WHAT WE’RE CHANGING]
- 7‑day test scope: [TEAM/ZIP/CALL TYPE]
- Owner: [NAME]
- Start: [DATE] End: [DATE]
- Expected lift by next Tuesday: [NUMBER/OUTCOME]
- Blockers: [LIST]
Next Tuesday checklist
- Did we ship it? [YES/NO]
- Result vs expectation: [NOTES]
- Keep, kill, or iterate? [KEEP/KILL/ITERATE]
Coaching Notes (from last week’s calls/estimates/AR)
Space for coaching notes from call reviews, estimate ride‑alongs, or AR follow‑ups.
- Call‑handling notes (from 3 call listens):
- [CALL 1 NOTE]
- [CALL 2 NOTE]
- [CALL 3 NOTE]
- Estimate follow‑up notes (from 3 quotes):
- [QUOTE 1 NOTE]
- [QUOTE 2 NOTE]
- [QUOTE 3 NOTE]
- Collections notes (from 3 overdue invoices):
- [INV 1 NOTE]
- [INV 2 NOTE]
- [INV 3 NOTE]
Parking lot for fixes we’re not doing this week: [LIST]