Speed to lead is several clocks, not one. Measure the time from inquiry to CRM delivery, to the first human attempt, to the candidate’s first response and to the first real conversation. Set targets in staffed hours your team can meet, escalate when a record is missed, and keep every never-contacted inquiry in the report as open. An open record still inside its target is reported as open, on time. Once its target passes, it counts as a miss, never as zero.
Below is a complete fictional policy for “Northfield Inspections”, a US home inspection franchisor, followed by one week of seven inquiries with every timestamp and every delay worked out.
The response policy
All clocks run in US Central time (America/Chicago). The targets are Northfield’s choices for its own staffing. They aren’t industry benchmarks.
Staffed hours: Monday to Friday 08:00 to 18:00, Saturday 09:00 to 13:00. Closed Sundays and US federal holidays. Two reps: Sam (weekdays) and Priya (weekdays and Saturday cover). Development Director: Morgan.
First human attempt targets, counted in staffed minutes from CRM acceptance:
| Grade at intake | Target | What the attempt is for |
|---|---|---|
| Qualified (green) | 30 staffed minutes | Call plus email to book the development call |
| Not yet graded | 120 staffed minutes | Clarify the missing or unclear answers |
| Nurture (amber) | 600 staffed minutes (one weekday) | Confirm the dependency and agree the next date |
| Disqualified (red) | 600 staffed minutes | A personal courtesy email with the reason category. No call unless they ask |
The intake grade comes from the form answers under the shared rules. The rep can correct it on the first conversation and record why.
Acknowledgment. An automated receipt goes out within seconds of acceptance. Its wording is generated from the record’s actual target deadline, not from the time of day. If the deadline falls before the current shift closes, it says a named rep will be in touch today. If the deadline falls in a later shift (a late-shift arrival, or a target longer than the time left), or the inquiry arrives outside staffed hours, it states the next staffed opening in the candidate’s own time zone: “Our team is back at 8:00 a.m. Central (6:00 a.m. Pacific) on Wednesday.” It never promises a callback window nobody is on shift to meet. The receipt is not a human attempt and never stops the clock.
Overflow and escalation (rules 1 to 3 and 5 were in force during the example week; rule 4 was adopted after it):
- Unassigned after 15 staffed minutes: goes to the backup rep on shift.
- No attempt when the target is reached: alert to the Development Director and the backup rep.
- No attempt at twice the target: the Director reassigns the record and writes down why.
- (Adopted Monday 26 October 2026, after the example week.) Accepted in the last 30 staffed minutes of a shift: flagged to the closing rep. If nobody attempts before close, the alert fires at the next opening.
- Any failed form-to-CRM delivery: alert to marketing ops at once, with both the submission and the eventual acceptance time kept.
Four clocks, defined once
| Clock | From → to | Counted in |
|---|---|---|
| Delivery | Inquiry submitted → accepted by the CRM | Elapsed minutes |
| Attempt | Accepted → first human call or personal email | Staffed and elapsed minutes |
| Response | Accepted → first reply or answered call | Elapsed minutes |
| Conversation | Accepted → first two-way conversation about the opportunity, logged by the rep | Elapsed minutes |
A booked meeting isn’t a conversation. An answered call counts as attempt, response and conversation at the same moment.
Store every event as ISO 8601 with its UTC offset, for example 2026-10-20T10:12:05-05:00. Keep the candidate’s own time zone in a separate field. Two reasons. A candidate in California who submits at 17:40 local has actually arrived at 19:40 Central, after close. And on Sunday 1 November 2026 Central time moves from UTC-5 to UTC-6, so any delay crossing that weekend is wrong if you subtract local clock times without the offset.
One week of inquiries (fictional)
Seven inquiries, 19 to 24 October 2026. Report cutoff: Monday 26 October, 12:00 Central.
| Record | Grade at intake | Submitted (Central) | What happened |
|---|---|---|---|
| L1 | Qualified | Tue 20 Oct 10:12:05 | Accepted 10:12:40. Sam called at 10:31 (voicemail) and emailed. She replied at 11:05. Call held at 14:00 |
| L2 | Not yet graded | Tue 20 Oct 19:40:00 (17:40 Pacific) | Accepted 19:40:30, after close. Queued, assigned Wed 08:00. Sam called at 09:05, answered, clarified both open answers |
| L3 | Qualified | Sat 24 Oct 12:50:00 | Accepted 12:50:20, nine minutes before Saturday close. Assigned to Priya, no attempt before 13:00. Alert fired Mon 08:20:20. Priya called at 08:40, answered |
| L4 | Nurture | Wed 21 Oct 09:30:00 | Accepted 09:30:15. Sam called Thu 09:00 (no answer) and emailed. No reply by cutoff |
| L5 | Qualified | Thu 22 Oct 15:00:00 | The form webhook failed. The retry landed the record at 16:45:00. Sam called at 16:55 (no answer). Candidate called back Fri 09:15 |
| L6 | Not yet graded | Fri 23 Oct 16:20:00 | Accepted 16:20:30, assigned to Sam, who left at 18:00. Alert fired Sat 09:20:30 and nobody acted. Never attempted at cutoff |
| L7 | Disqualified | Mon 19 Oct 11:00:00 | Accepted 11:00:25. Sam sent the courtesy email at 15:10. No call, by policy |
The calculated delays
Staffed minutes only count time inside staffed hours. All figures are rounded to two decimals.
| Record | Delivery (min) | Attempt, staffed (min) | Attempt, elapsed (min) | Target | Result | Conversation, elapsed (min) |
|---|---|---|---|---|---|---|
| L1 | 0.58 | 18.33 | 18.33 | 30 | Met | 227.33 |
| L2 | 0.50 | 65.00 | 804.50 | 120 | Met | 804.50 |
| L3 | 0.33 | 49.67 | 2,629.67 | 30 | Missed by 19.67 | 2,629.67 |
| L4 | 0.25 | 569.75 | 1,409.75 | 600 | Met | Not held |
| L5 | 105.00 | 10.00 | 10.00 | 30 | Met | 990.00 |
| L6 | 0.50 | Open: 579.50 at cutoff | Open: 4,059.50 at cutoff | 120 | Missed, open | Not held |
| L7 | 0.42 | 249.58 | 249.58 | 600 | Met | No call by policy |
Two of the working lines:
- L3, staffed attempt. Saturday 12:50:20 to 13:00:00 is 9 min 40 s (9.67). Monday 08:00 to 08:40 is 40. Total 49.67, against a target of 30. The 30th staffed minute fell at Monday 08:20:20, which is when the alert fired.
- L6, open age. Friday 16:20:30 to 18:00 is 99.50. Saturday 09:00 to 13:00 is 240. Monday 08:00 to 12:00 is 240. Total 579.50 staffed minutes, 459.50 past the 120 target. The target fell at Saturday 09:20:30 (99.50 + 20.50).
How never-contacted records change the report
| Measure | Correct | If L6 is dropped | If L6 is counted as zero |
|---|---|---|---|
| Target met | 5 of 7 accepted | 5 of 6 | 6 of 7 |
| Median staffed minutes to attempt | 57.34 across the 6 attempted, plus 1 open at 579.50 shown beside it | 57.34, with no sign of L6 | 49.67 |
Both shortcuts flatter the week. Dropping L6 removes the worst record from the denominator. Counting it as zero makes the slowest inquiry look like the fastest. Report the open count and the oldest open age every time, splitting open records into on time (still inside target) and missed (past target): here, 0 open on time and 1 open missed, at 579.50 staffed minutes.
Conversations held: 4 of the 6 records that warrant a call (L7 is excluded by policy). L4 was attempted with no reply. L6 was never attempted.
What the week tells Northfield to fix
Each miss traces to a different stage, and each needs a different fix.
- L5 was a delivery problem. The acceptance clock says 10 minutes. The candidate waited 115 minutes from submission to the first call (105 + 10). If you only time from CRM acceptance, a broken webhook can look like your best response of the week. Fix the integration and keep the delivery clock in the report.
- L3 was a shift-edge problem. A Qualified inquiry nine minutes before Saturday close can still meet a 30-staffed-minute target: the remaining 20.33 staffed minutes ran from Monday 08:00, so a call by 08:20:20 would have met it. Nobody owned the record at the opening, and the call came at 08:40. Northfield’s options were to keep Priya on until 13:30 on Saturdays, or to flag late arrivals to the closing rep and the next opener. It adopted the second as rule 4 after this week.
- L6 was an escalation problem. The alert fired on schedule. The Director it went to wasn’t working on Saturday. An alert with nobody available to act on it is just a log entry. Route weekend alerts to whoever is on shift.
- L2 is not a failure. 804.50 elapsed minutes looks bad. In staffed time it was 65 against a 120 target, and the out-of-hours receipt told the candidate exactly when to expect contact. Report both numbers so nobody “fixes” a record that met the policy.
Faster contact may well improve outcomes for your team. That’s something to measure in your own records over time. Don’t borrow a multiplier from a study of other industries.
Start here
Pull last week’s inquiries and write down four timestamps for each, with the UTC offset: submitted, accepted, first human attempt, first conversation. Mark every record with no attempt as open, with its age. If that list has even one open record older than your target, fix the escalation route before you change the target.
Download: O11-response-policy.csv (hours, clocks, targets, escalation and reporting rules), O11-event-timeline.csv (every event for L1 to L7, local and UTC) and O11-delay-report.csv (the calculated delays above).
Related: How to qualify franchise leads · Ad leads versus CRM records · Nurturing candidates who aren’t ready
Put it to work on your recruitment system
Bring your recruitment page and anonymized stage counts to a diagnostic. We’ll identify what to test and how to measure it.
Discuss your franchisor recruitment system