The Call Center Doctors Logo Get Started

First-party data · 2026-06-01 to 2026-08-09

One booked appointment cost 5,889 outbound dials

Across 7,155,062 outbound dial attempts placed by 14 campaigns over 10 complete weeks, 304,020 reached a person and 1,215 ended in a booked appointment. That is 1.698 bookings per 10,000 dials, or one booking per 5,889.

The more useful finding is what happens as you keep dialling the same lead. Booking yield roughly halves by the tenth attempt -- and almost none of that is the prospect getting worse. It is you reaching fewer of them.

Why this figure can be quoted as a level, and where that stops

Both sides of it are hard counts. A booking here is "appointment booked" -- a disposition a human agent selected on the call. A dial is a row in the dialler's call log. No automated verdict stands between the two, so 5,889 dials per booked appointment is a measurement rather than an interpretation. Our dial cadence benchmark deliberately refuses to publish its level for the opposite reason: its numerator depends on an automated call-progress classifier that was independently audited on this same estate and found wrong on 28 of 92 bridged calls.

That protection does not extend to everything on this page. Any figure with CONVERSATIONS in the denominator -- the contact rate, and bookings per conversation -- inherits exactly that classifier bias. Those are used here only as comparisons BETWEEN attempt buckets, never as absolute conversion rates, because a roughly constant misclassification divides out of a ratio and does not divide out of a level.

The other way to escape that bias is to change the denominator, and that study is published separately. The roofing appointment benchmark drops the dial denominator entirely and reports everything per ENGAGED CONVERSATION -- a live person on the line, with the immediate hangups and wrong numbers removed -- which is what makes its talk-time finding comparable to a transcript corpus rather than to a dialler log.

It is a rate for this list, not for the industry. There is no second dialling operation in this dataset, so nothing here establishes what is normal or good for anybody else. Only 8 of the 14 campaigns booked at all, and the spread between them is wide. A list's age, source, offer and vertical move this number far more than calling technique does.

And a booked appointment is not a sale. This study stops at the booking. Whether it was kept, quoted or closed is a CRM outcome that is not in this corpus, so no close rate, contract value or return figure may be taken from this page.

Where 7,155,062 dials went

7,155,062

dial attempts

304,020

reached a person (4.249%)

1,215

booked an appointment

786 rows (0.011%) carried a call outcome that matches nothing in either the campaign's own outcome definitions or the system-wide ones. They are counted as not-answered and reported here rather than folded silently into a class, because an outcome nothing describes must stay visible.

89,281 further dials were excluded before any of the above: a call-progress test campaign, three inbound queues that record 100% human-answered because they are a different call direction, and rows carrying no campaign id at all. Each is listed with its volume in the published dataset -- a silent exclusion is indistinguishable from a measurement.

Booking yield by dial attempt

Bookings per 10,000 dials, attempts 1 to 10. The shaded band is the Wilson 95% interval, which is the correct interval at these counts -- the deepest bucket rests on 18 bookings and a normal approximation would put its lower bound below zero.

0.0 0.5 1.0 1.5 2.0 2.5 1 2 3 4 5 6 7 8 9 10 Dial attempt number
Attempt Dials Reached Booked Per 10k dials Dials per booking
1 1,838,012 4.882% 402 2.187 4,572
2 1,193,579 5.358% 247 2.069 4,832
3 899,316 4.847% 154 1.712 5,840
4 571,621 4.49% 93 1.627 6,146
5 433,016 3.953% 57 1.316 7,597
6 336,735 3.735% 43 1.277 7,831
7 269,487 3.385% 33 1.225 8,166
8 226,073 3.199% 26 1.15 8,695
9 198,403 2.988% 21 1.058 9,448
10 175,152 2.656% 18 1.028 9,731

The deep dial is a rarer conversation, not a worse one

A falling yield curve has two possible explanations that imply opposite advice. Either the people you reach late are worse prospects -- in which case stop calling -- or you simply reach fewer of them, in which case the lever is contact rate and stopping is the wrong move. Booking yield is the product of those two terms, so it can be split:

2.127x

fall in bookings per dial

1.838x

of it is lost REACH

1.158x

of it is lost QUALITY

Between attempt 1 and attempt 10 the contact rate falls from 4.882% to 2.656%, while the share of conversations that end in a booking barely moves. Nearly all of the halving is the phone not being answered.

The obvious objection runs the wrong way. A lead booked on attempt 1 leaves the pool, so the deeper buckets are a surviving population, enriched in people who did not book earlier. That selection should push the deep buckets DOWN. It therefore cannot be what produces a flat quality term -- it works against the finding rather than manufacturing it.

Re-run inside each campaign, because a pooled trend can be pure mix

If the deep buckets simply contain proportionally more of the campaigns that book poorly, the pooled rate falls while no campaign changed. The mix here demonstrably does shift with depth -- the largest contributor falls from 73.05% of attempt 1 to 49.92% of attempt 10. So the quality question is asked again INSIDE every campaign with at least 500 conversations in each of four attempt bands. 4 campaigns qualify; it is flat in 3 of them.

Campaign Share of corpus Attempt 1Attempt 2-3Attempt 4-6Attempt 7-10 p Verdict
campaign-A 56.97% 0.3314%0.3544%0.3546%0.3517% 0.897398 flat
campaign-B 28.78% 1.0441%0.5369%0.453%0.4622% 0 declines
campaign-C 5.51% 0.2182%0.1988%0.0932%0.246% 0.426483 flat
campaign-D 5.03% 0.2819%0.2981%0.2108%0.1658% 0.616064 flat

Bookings per 100 conversations, by attempt band. Campaign labels are anonymised: every dial was placed for a client, so a campaign name is a client name.

One campaign genuinely disagrees, and it is the reason the pooled test is significant. In the second-largest campaign the first attempt books at roughly twice the later rate, and pooled across everything the four bands differ at p = 0.009568. Reporting only the flat campaigns would be selecting the evidence. The defensible claim is the campaign-dependent one: in most of this corpus a late conversation is worth as much as an early one, and in at least one operation the first conversation really is worth about double.

What is missing from the curve, and why

The published span covers 6,141,394 dials, 85.83% of the corpus, and 1,094 of the 1,215 bookings. 13 further buckets holding 1,013,613 dials were computed and withheld. They are listed rather than deleted, with the clause each failed. A further 55 dials sit deeper than attempt 22 and are not bucketed individually; their total is stated here so that the three parts add back to 7,155,062 exactly. A coverage figure that does not reconcile is its own kind of false statement.

Attempt Dials Rule failed
0 155 RULE A: one campaign is 85.2% of the bucket (max 75.0%); RULE B: only 0 campaigns contribute >= 1000 dials (min 5); RULE C: 155 dials is below the 100000 reporting floor
11 83,074 RULE A: one campaign is 88.7% of the bucket (max 75.0%); RULE B: only 4 campaigns contribute >= 1000 dials (min 5); RULE C: 83074 dials is below the 100000 reporting floor
12 78,762 RULE A: one campaign is 90.2% of the bucket (max 75.0%); RULE B: only 3 campaigns contribute >= 1000 dials (min 5); RULE C: 78762 dials is below the 100000 reporting floor
13 90,384 RULE A: one campaign is 88.8% of the bucket (max 75.0%); RULE B: only 4 campaigns contribute >= 1000 dials (min 5); RULE C: 90384 dials is below the 100000 reporting floor
14 93,419 RULE A: one campaign is 89.7% of the bucket (max 75.0%); RULE B: only 4 campaigns contribute >= 1000 dials (min 5); RULE C: 93419 dials is below the 100000 reporting floor
15 87,176 RULE A: one campaign is 93.1% of the bucket (max 75.0%); RULE B: only 3 campaigns contribute >= 1000 dials (min 5); RULE C: 87176 dials is below the 100000 reporting floor
16 84,305 RULE A: one campaign is 93.9% of the bucket (max 75.0%); RULE B: only 3 campaigns contribute >= 1000 dials (min 5); RULE C: 84305 dials is below the 100000 reporting floor
17 92,384 RULE A: one campaign is 96.4% of the bucket (max 75.0%); RULE B: only 3 campaigns contribute >= 1000 dials (min 5); RULE C: 92384 dials is below the 100000 reporting floor
18 92,660 RULE A: one campaign is 99.2% of the bucket (max 75.0%); RULE B: only 1 campaigns contribute >= 1000 dials (min 5); RULE C: 92660 dials is below the 100000 reporting floor
19 88,249 RULE A: one campaign is 99.8% of the bucket (max 75.0%); RULE B: only 1 campaigns contribute >= 1000 dials (min 5); RULE C: 88249 dials is below the 100000 reporting floor
20 85,237 RULE A: one campaign is 99.9% of the bucket (max 75.0%); RULE B: only 1 campaigns contribute >= 1000 dials (min 5); RULE C: 85237 dials is below the 100000 reporting floor
21 72,292 RULE A: one campaign is 99.9% of the bucket (max 75.0%); RULE B: only 1 campaigns contribute >= 1000 dials (min 5); RULE C: 72292 dials is below the 100000 reporting floor
22 65,516 RULE A: one campaign is 99.9% of the bucket (max 75.0%); RULE B: only 1 campaigns contribute >= 1000 dials (min 5); RULE C: 65516 dials is below the 100000 reporting floor

What this dataset cannot see

  • The clock is the dialler's own, America/New_York. It is NOT the recipient's local time, and no claim about the called party's local hour may be made from this dataset.
  • A booked appointment is not a sale, a kept appointment, or a signed contract. This study stops at the booking and says nothing about what happened afterwards -- the CRM outcome is not in this corpus.
  • Attempt number is the count on the dial row, so a lead booked and removed on attempt 1 never appears at attempt 2. The deeper buckets are therefore a SURVIVING population, enriched in people who did not book earlier. That selection pushes the deep buckets DOWN, which means it runs against the finding that quality is flat rather than producing it.
  • The window is 10 complete weeks of one summer. Roofing and solar demand is seasonal and this dataset cannot see a storm season it did not span.
  • Campaigns are anonymised and their mix is not constant across attempt buckets, which is exactly why the quality question is re-run inside each campaign rather than trusted pooled.

Method

Source
the dialler's own call log, one row per outbound dial attempt.
Booking definition
"appointment booked" -- a disposition a human agent selected on the call, never an automated verdict.
Conversation definition
a dial the dialler recorded as answered by a person, with each campaign's own outcome definitions consulted before the system-wide ones.
Window
2026-06-01 to 2026-08-09 inclusive, 10 complete weeks. Monday to Sunday, whole weeks only, so no weekday is over-represented. Times are America/New_York, the dialler's own clock, which is NOT the called party's local hour.
Read path
a read-only reporting copy of the call log, queried in aggregate only. Reads are paginated: the path truncates every result at 1,000 rows and reports no error when it does, and an unpaginated collection of this same window under-counted the corpus by 475,931 dials with every query returning success.
Disclosure gate
Every dial was placed for a client. A bucket one campaign dominates is that client's operating number wearing a pooled costume. Thresholds match scripts/dial-cadence/ exactly: two studies over the same corpus withholding on different thresholds would let a reader recover a withheld bucket by differencing them.
Reproducing it
The dataset is generated by one fixed script. Run over the same window it emits byte-identical results; pointed at a fresh window the numbers move, as a new dataset with a new window rather than a silent update to this one. The machine-readable dataset is at /outbound-booking-yield-benchmark.json.

Every figure on this page, with its source

The outbound dial corpus behind the booking-yield study

7,155,062 outbound dial attempts across 14 campaigns over 10 complete weeks, 2026-06-01 to 2026-08-09 inclusive, producing 304,020 human-answered conversations (4.249%) and 1,215 booked appointments

CCDocs call records, June-August 2026 · 2026-06-01/2026-08-09

How many outbound dials one booked appointment actually costs

5,889 dials per booked appointment, pooled across the corpus -- 1.698 bookings per 10,000 dials, against a 4.249% human-answered contact rate over the same dials.

CCDocs call records, June-August 2026 · 2026-06-01/2026-08-09

How the booking yield of a dial changes with the attempt number

It roughly halves across the first ten dials. Bookings per 10,000 dials run 2.187, 2.069, 1.712, 1.627, 1.316, 1.277, 1.225, 1.15, 1.058 and 1.028 for attempts 1 to 10 -- a factor of 2.127 from first to tenth, on bucket sizes from 1,838,012 dials down to 175,152.

CCDocs call records, June-August 2026 · 2026-06-01/2026-08-09

Whether a deep-dialled prospect is a worse prospect, or simply a rarer one

Rarer, not worse. Over attempts 1 to 10 the 2.127x fall in bookings per dial decomposes into 1.838x of lost reach and only 1.158x of lost conversation quality. Re-run inside each campaign large enough to test, bookings per conversation is statistically flat across the attempt bands in 3 of the 4 testable campaigns -- including the largest, which is 56.97% of the corpus and returns p = 0.897.

CCDocs call records, June-August 2026 · 2026-06-01/2026-08-09

Why the published booking curve stops at the tenth dial

A client-disclosure gate, not the end of the data. 10 attempt buckets covering 6,141,394 dials are published and 13 were computed and withheld, because one campaign supplies more than 75% of the dials in each -- up to 99.9% at the deepest, where a single campaign is the only one above 1,000 dials.

CCDocs call records, June-August 2026 · 2026-06-01/2026-08-09

Questions this data answers

How many calls does it take to book one appointment?

On this corpus, 5,889. That is 1,215 booked appointments from 7,155,062 outbound dial attempts across 14 campaigns over 10 complete weeks. Unlike most published dialling statistics that figure carries no automated call-progress verdict in it: a booking is a disposition an agent selected and a dial is a row, so both sides of the ratio are hard counts. It is a rate for THIS dial list, these campaigns and this window, and it is not an industry cost-per-appointment -- 8 campaigns booked at all and the spread between them is wide. It also counts dials, not agent hours or telecom spend, so no price can be derived from it.

Is the sixth dial worth making, or should you stop earlier?

The person you reach on the sixth dial is worth about as much as the person you reach on the first -- there are simply fewer of them. Booking yield falls 2.127x from attempt 1 to attempt 10, but that fall is 1.838x lost REACH against only 1.158x lost conversation QUALITY. Re-run inside each campaign large enough to test it, bookings per conversation is statistically flat across the attempt bands in 3 of the 4 testable campaigns, including the largest at p = 0.897398. So the honest operational reading is that deep dialling is a CONTACT-RATE problem, not a lead-quality problem, and "stop calling after N attempts" does not follow from this data.

Does a lead go cold after the first few attempts?

Not in the sense usually meant. "Going cold" implies the prospect becomes less willing, which is a statement about the QUALITY term, and in 3 of the 4 campaigns testable here that term does not move: in the largest, bookings per conversation runs flat across attempts 1 through 10 at chi-square 0.596 on 3 degrees of freedom, p = 0.897398. What does fall, steeply, is the chance of reaching anybody at all: the contact rate drops from 4.882% on the first dial to 2.656% on the tenth. There is one genuine counter-example in this corpus and it is published on this page rather than dropped.

Is 5,889 dials per appointment good or bad?

This dataset cannot tell you, and a page that ranked it would be overreaching. There is no second dialling operation in this corpus, so nothing here establishes what is normal, average or good for anybody else. The figure is also a property of the LIST as much as of the calling: a dial list's age, source, offer and vertical move it far more than technique does, and this corpus mixes 14 campaigns with different lists. What the number is good for is a denominator -- if you are buying appointments, this is the order of dialling effort one of them consumed here, and it is measured rather than asserted.

Why does the published curve stop at the tenth dial?

A client-disclosure gate, not the end of the data. Every dial in this corpus was placed on behalf of a client, so a bucket one campaign dominates is that client's operating number wearing a pooled costume. A bucket is published only if no single campaign supplies more than 75% of its dials, at least 5 campaigns contribute 1,000 dials each, and the bucket holds at least 100,000 dials. Past the tenth attempt a single campaign runs up to 99.9% of the bucket. Those 13 buckets are LISTED on this page with the rule each failed, because a truncated curve presented as a whole curve is its own kind of false statement. The thresholds match the sibling cadence benchmark exactly, deliberately: two studies over one corpus withholding on different thresholds would let a reader recover a withheld bucket by differencing them.

Does a booked appointment mean a sale?

No, and nothing on this page should be read as a revenue claim. The study stops at the booking. Whether the appointment was kept, quoted or closed is a CRM outcome that is not in this corpus, so no close rate, contract value or return figure can be sourced from here. That boundary is the reason the endpoint is stated as "booked appointment" everywhere on this page rather than as a conversion or a sale.

Can I cite or reuse this data?

Yes. It is published under CC BY 4.0 with a link back to this page, and the machine-readable version of every series on it is at /outbound-booking-yield-benchmark.json. The window, the source table, the label dictionaries, the exclusions with their volumes, the bucket counts and every withheld bucket are all on this page, so the figures can be checked rather than taken on trust. If you quote a rate, quote its window and its denominator with it -- and if you quote anything with conversations in the denominator, quote it as a comparison between buckets rather than as an absolute conversion rate.

We publish the dial data because we own it

CCDocs runs outbound appointment setting for roofing and solar contractors. The numbers on this page are our own operation's, withheld buckets and counter-examples included. If you want to talk about what your list would do, that is the conversation to have. And if the reason you are reading is a quote on your desk, the companion read is what appointment-setting engagements actually cost -- the pricing units, and the arithmetic that carries a rate through to a booked appointment.

Book a Call
Call Now Book a Call