The 5‑Number Weekly Score — One‑Page Sheet + Tool Steps (ServiceTitan, Jobber, HCP)
A one‑page weekly score sheet plus exact pull paths for ServiceTitan, Jobber, and Housecall Pro. Built for owner‑operators to run a 10‑minute Tuesday huddle and assign one fix per red metric before Friday.
Use this template to run a 10‑minute Tuesday huddle. Fill the five rows, mark any red metric, and assign one corrective action with an owner and a due date before Friday. Keep your definitions stable week to week so the math doesn’t drift.
One‑Page Score Sheet [DUPLICATE WEEKLY]
Fill the header, then complete each row. Keep it to one page. Print for the wall or duplicate in your team doc each week.
Header
- Shop: [SHOP NAME]
- Week of: [YYYY‑MM‑DD]
- Prepared by: [OWNER/MANAGER]
- Business hours for SLA math: [START–END LOCAL TZ]
- Tracking “cash” as: [MEDIAN DAYS TO CASH | % COLLECTED ≤7 DAYS]
Status legend
- Green: [DEFINITION]
- Yellow: [DEFINITION]
- Red: [DEFINITION]
Rows (complete each):
- Missed‑call rate — calls not answered live ÷ total inbound (open hours)
- Target: [TARGET %]
- Last week: [LW %]
- This week: [TW %]
- Status: [GREEN|YELLOW|RED]
- Owner: [NAME]
- Next action (due Fri): [ONE ACTION]
- % first response <15m — inbound web/quote requests with first outbound (call/SMS) in ≤15 minutes (open hours or next open)
- Target: [TARGET %]
- Last week: [LW %]
- This week: [TW %]
- Status: [GREEN|YELLOW|RED]
- Owner: [NAME]
- Next action (due Fri): [ONE ACTION]
- Estimate close rate — approved ÷ decided (won+lost) [COUNT|VALUE]; window: [THIS WEEK | TRAILING 4 WEEKS]
- Target: [TARGET %]
- Last week: [LW %]
- This week: [TW %]
- Status: [GREEN|YELLOW|RED]
- Owner: [NAME]
- Next action (due Fri): [ONE ACTION]
- Schedule utilization — booked crew hours ÷ capacity hours (crew×shift minus PTO/holdback)
- Target: [TARGET %]
- Last week: [LW %]
- This week: [TW %]
- Status: [GREEN|YELLOW|RED]
- Owner: [NAME]
- Next action (due Fri): [ONE ACTION]
- Cash speed — choose one A) Days‑to‑cash (median days from job complete → payment received), or B) % collected ≤7 days
- Target: [TARGET DAYS | TARGET %]
- Last week: [LW]
- This week: [TW]
- Status: [GREEN|YELLOW|RED]
- Owner: [NAME]
- Next action (due Fri): [ONE ACTION]
Definitions, Targets, and Triggers (Summer Starting Points)
Use these as starting points for summer busy season. Adjust to your trade, ticket size, and crew count.
- Missed‑call rate
- Definition: Missed/abandoned/voicemail during open hours ÷ total inbound during open hours (exclude after‑hours if you don’t staff it).
- Green: ≤12% | Yellow: 13–18% | Red: >18%
- Edge cases: Count calls >[MIN SECONDS] seconds to avoid 1‑ring hangups; document what counts as “open hours.”
- Trigger → Action (pick one): If Red, route all VM/abandoned to one “Recovery” queue and run a 15‑minute call‑back block at [TIME] daily. Owner: [NAME]. Due: [FRIDAY DATE].
- % first response <15m
- Definition: Lead Created At → first outbound SMS/call attempt time. For leads after hours, SLA starts at next open.
- Green: ≥70% | Yellow: 50–69% | Red: <50%
- Edge cases: Webform auto‑emails don’t count; SMS/call by a human or auto‑text does.
- Trigger → Action: If Yellow/Red, assign a “text‑first” canned reply in the inbox and one dispatcher to own SLA every hour. Turn on missed‑forms SMS alert to [ROLE].
- Estimate close rate
- Definition: Approved ÷ (Won+Lost). Choose [COUNT] for speed or [VALUE] for revenue‑weighted. Pick one and stick to it.
- Green: 40–55% | Yellow: 30–39% | Red: <30% (by count; adjust by trade)
- Window: Prefer “decided this week” or use trailing 4 weeks for stability.
- Edge cases: Multi‑option proposals — consider “approved any option” as Won; exclude still‑Open.
- Trigger → Action: If Yellow/Red, run a 3‑touch follow‑up on every Open >24h: Day 1 SMS, Day 2 call+VM, Day 4 email with 2 clear options and the acceptance link.
- Schedule utilization
- Definition: Booked hours on the board ÷ capacity hours (crews×shift − PTO/meetings − holdback buffer).
- Green: 80–90% | Yellow: 70–79% or 91–95% | Red: <70% or >95%
- Edge cases: Multi‑day jobs — count each day’s booked block; emergency holdback counts in capacity, not in booked.
- Trigger → Action: If low, call unscheduled estimates and club members; drop same‑day online capacity to [X SLOTS] to force live booking. If high, add a [HOURS] daily holdback and move non‑urgent work.
- Cash speed (pick one)
- A) Days‑to‑cash (median): Green ≤3 days | Yellow 4–7 | Red >7
- B) % collected ≤7 days: Green ≥75% | Yellow 55–74% | Red <55%
- Edge cases: Deposits — still measure to final dollar; financed jobs — exclude lender funding lag; change orders — use final completion date.
- Trigger → Action: If Yellow/Red, enforce same‑day invoicing at job complete and schedule Day‑3 and Day‑7 nudges (see scripts below).
Pull Paths — ServiceTitan (ST)
Time window for all reports: [LAST MON–SUN] unless noted. Save filters as “Weekly 5‑Number.”
Missed‑call rate
- Phones Pro Analytics: Navigation: Phones > Analytics. Filter: Dates [RANGE], Business hours [YES], Queues/Users [ALL or CSR team]. Pull totals: Answered, Missed/Abandoned, Voicemail. Calc: (Missed+Voicemail during open) ÷ Total inbound.
% first response <15m
- Leads: Follow Up > Leads (or Marketing > Scheduling Pro > Sessions Report). Pull fields: Lead Created At, First Outbound (call/SMS) timestamp if available; otherwise match to Activity/Call Log per lead. Calc: % with (First Outbound − Created) ≤15 minutes.
Estimate close rate
- Reports > Estimates (Estimates report template). Filters: Date field = “Decision Date” [RANGE], Status in [Won, Lost]. If using value‑based, include “Sub‑Total/Estimate Amount.” Calc: Won ÷ (Won+Lost) by [COUNT|VALUE].
Schedule utilization
- Capacity: Settings/Dispatch > Adjustable Capacity Planning (ACP). Export or note total capacity hours by crew/day [RANGE].
- Booked: Dispatch Board or Jobs report with Scheduled Duration [RANGE]. Sum booked hours. Calc: Booked ÷ Capacity.
Cash speed
- Accounting > Reports > AR Transactions (or Invoices). Export with fields: Job Completed Date, Invoice Date, Payment Date(s), Amount. Calc A: Days‑to‑cash = Payment Date − Completed Date (median). Calc B: %≤7d = % of invoices paid in ≤7 days.
Pull Paths — Jobber
Time window: [LAST MON–SUN]. Save filters as “Weekly 5‑Number.”
Missed‑call rate
- Use phone system analytics (e.g., RingCentral/CallRail) if you don’t have Jobber‑native call logs. Filter to open hours. Pull Answered/Missed/Voicemail totals. Calc: Missed ÷ Total inbound (open hours).
% first response <15m
- Requests/Bookings: Sales > Requests (or Work > Requests). Export with Created At timestamps.
- Communications: Reports > [Client Communications] or export Messages/Texts (or pull from your SMS/VOIP tool). Join on Client/Request ID. Calc: % where first SMS/call timestamp − Created At ≤15 minutes (or next open).
Estimate close rate
- Insights > Reports > Quotes Report. Filters: Date = “Decision Date” [RANGE]; Status in [Won, Lost]. Calc: Won ÷ (Won+Lost) by [COUNT|VALUE].
Schedule utilization
- Capacity: Settings > Schedule > Working hours/teams. Capacity hours = active crew count × shift hours − PTO/meetings/holdback.
- Booked: Schedule > Calendar (List/Export) or Timesheets report for Scheduled vs. Worked hours [RANGE]. Sum booked hours. Calc: Booked ÷ Capacity.
Cash speed
- Reports > Invoices and Payments (Aged Receivables). Export invoices completed [RANGE] with Payment Date(s)/Amount. Calc A: median days from Completed to Payment. Calc B: % paid ≤7 days.
Pull Paths — Housecall Pro (HCP)
Time window: [LAST MON–SUN]. Save filters as “Weekly 5‑Number.”
Missed‑call rate
- Voice/Phone: If using HCP Voice, open Voice > Calls to pull Answered/Missed/Voicemail; otherwise use your phone system analytics. Filter to open hours. Calc: Missed ÷ Total inbound (open hours).
% first response <15m
- Inbox: Inbox > Messages. Filter to New Leads or use Tags. Export/scan Created At and first outbound timestamp per thread. Calc: % with first outbound in ≤15 minutes (or next open).
Estimate close rate
- Reports > Estimates > Conversion Rate. Filters: Decision Date [RANGE]; Include statuses Won/Lost; exclude Open. Calc: Won ÷ (Won+Lost) by [COUNT|VALUE].
Schedule utilization
- Time/Teams: Time Tracking dashboard for capacity cross‑check; Schedule view for booked blocks. Capacity = crews×shift − PTO/meetings/holdback. Booked = sum scheduled durations [RANGE]. Calc: Booked ÷ Capacity.
Cash speed
- Reports > Invoices (Aging/Payments). Export with Job Completed Date, Invoice Date, Payment Date(s), Amount. Calc A: median days to cash. Calc B: % paid ≤7 days. Exclude financing payout lag if applicable.
10‑Minute Tuesday Huddle Script
Run this exactly. Stop at 10 minutes.
- Numbers up (2 minutes)
- Reader: “[WEEK OF]. Targets vs. This Week.”
- Call out any Red.
- Root cause quick hits (4 minutes)
- For each Red metric, answer: What broke? [INTAKE | FOLLOW‑UP | SCHEDULING | BILLING]. One sentence each.
- One fix per Red (3 minutes)
- Assign Owner: [NAME]. Action: [ONE ACTION]. Due: [FRIDAY DATE].
- Example actions:
- Missed‑call rate Red → Turn on lunch coverage and create VM recovery queue.
- First response Red → Add “text‑first” canned reply + dispatcher hourly check.
- Close rate Red → Start 3‑touch sequence on all Open >24h.
- Utilization Red → Call back unscheduled estimates; add [HOURS] holdback.
- Cash Red → Same‑day invoicing + Day‑3/Day‑7 nudges live.
- Close (1 minute)
- “Which number is your job this week?” Confirm owners and due dates.
QA Checklist — Keep the Math Stable
Verify these every time you copy the sheet:
- Business hours set to: [HOURS]; after‑hours excluded or consistently handled.
- Missed‑call definition includes [MIN SECONDS] threshold for “real” calls.
- First response uses first SMS/call attempt, not auto‑email.
- Close rate uses [COUNT|VALUE] and window [THIS WEEK|TRAILING 4 WEEKS]; Open estimates excluded.
- Capacity math = crews×shift − PTO/meetings − holdback [HOURS]. Document crew count: [COUNT].
- Cash measure is [MEDIAN DAYS] or [%≤7D], not both.
- Financing payouts excluded from timing; deposits treated as partial until paid in full.
- Same filters across tools: date range [RANGE], teams [TEAMS], job types [IN/OUT].
Talk Tracks — Intake, Follow‑Up, and Collections
Copy/paste and fill the [BRACKETS]. Keep tone calm and direct.
CSR pre‑qual + expectation (use on live call) “Hey [FIRST NAME], we can get you on the schedule [EARLIEST WINDOW]. It helps if I grab a few quick details. For [JOB TYPE], we usually need [DURATION]. I’ll text you a confirmation and prep steps. Sound good?”
Speed‑to‑lead auto‑text (fires on web request) “Hey [FIRST NAME], it’s [SHOP NAME]. Got your [JOB TYPE] request — we can help. What’s the best time today to call you? Reply 1 for ‘now’, 2 for ‘this afternoon’, 3 for ‘tomorrow AM’.”
Estimator 3‑touch follow‑up
- Day 1 SMS: “Hi [FIRST NAME], it’s [ESTIMATOR] with [SHOP]. Any questions on the estimate? You can approve here: [QUOTE LINK].”
- Day 2 Call + VM: “Checking in on the [JOB TYPE] proposal. Two options in your email. Call/text me at [NUMBER].”
- Day 4 Email: Subject: “[JOB TYPE] — two clear options.” Body: “Option A [SUMMARY], Option B [SUMMARY]. Most choose A for [REASON]. Approve here: [QUOTE LINK].”
Collections nudges
- Day 0 (auto with invoice): “Invoice [#] for [AMOUNT] — pay online here: [PAYMENT LINK]. Thank you.”
- Day 3 SMS: “Friendly nudge on invoice [#] for [AMOUNT]. Here’s the link: [PAYMENT LINK]. Need anything?”
- Day 7 Call + Email: “Following up on invoice [#]. Can we take care of it today by card or ACH? Link: [PAYMENT LINK]. If something’s off, reply and we’ll fix it.”
Seasonality and Crew Notes
- If demand dips or crews grow, lower utilization targets so quality doesn’t suffer.
- Big‑ticket trades (roofing, remodel) may prefer value‑based close rate and a trailing 4‑week window.
- If you add weekend hours, update business hours and retrain the SLA owner.
- When a Red traces to a deeper problem (parts, first‑time fix), log a project — but don’t change the weekly five until the number turns.