We called 10 Philadelphia plumbers. Four named a price, and three of the four reached $350.
Ten plumbing listings in ZIP 19115 were dialled at 8:32 AM Eastern on a Thursday. Seven reached a person, all seven said they could come, and four named a figure: an $85 service fee and three that reached $350.
The job was filed at 8:31 on a Thursday morning, and the calls went out a minute later. Boocki found twenty plumbing listings in ZIP 19115, in the northeast of Philadelphia, dialled ten of them inside two seconds, and asked each the same two things about a clogged toilet that was needed as soon as possible: could they help, and how soon. Seven of the ten calls reached a person. Every one of those seven said yes.
- 10
- called8:32 AM ET, one burst
- 7
- reached a personof the ten dialled
- 7
- said they could comeevery call that answered
- 4
- named a figurethree of them reached $350
How to read this
Four phrases carry the piece, and the first two are the easiest to confuse.
- Reached a person: a human spoke. Not a voicemail greeting, not a recorded menu, not a carrier announcement.
- Said they could come: the product’s own availability field was set to true because the provider said so on the call. It is not a booked appointment, and it is not a time.
- Named a figure: a number a provider said out loud on the phone. Not an invoice, not a range, not an average.
- A same-day time: an explicit hour today, not “as soon as possible.”
The method is one job, one ZIP code and one frozen search phrase. The ZIP is 19115 (Philadelphia) and the phrase is emergency plumber toilet clog repair, filed on the “as soon as possible” setting. The job was created at 8:31 AM ET and ten calls started within two seconds of each other at 8:32 AM ET on Thursday 1 October 2026, so no provider was reached in a different hour or a different mood.
The claim being tested
The search phrase carried the word “emergency,” and the request was filed as urgent, but 8:32 on a weekday morning is not an emergency hour. Offices have just opened and the whole working day is still ahead, which makes this a floor on what the market can do rather than a ceiling.
There is a second fact in the listing table worth naming. It held twenty plumbing rows, and eleven of them carried no street address at all: the mobile side of the trade, which Google never locates. A homeowner searching for a nearby shop by address alone would never have seen more than half of this market. The calls reached whichever lines the scrape returned, addressed or not.
The ten calls, one by one
Everything below reconciles to this table. No provider is named: the recordings contain the homeowner’s street address, a callback number and the first names of the people who answered, so the call numbers are the identifiers here. The “Confirmed” column is the product’s own availability field, not our reading of the transcript: Yes is a provider who said they could come, and None is a call that never reached a person.
| # | What happened | Length | Confirmed | Price |
|---|---|---|---|---|
| 1 | A person answered, offered a next-day window and a two-part price | 0:53 | Yes | $210, +$140 if pulled |
| 2 | A person answered, quoted one flat figure and a near-immediate arrival | 0:52 | Yes | $350 |
| 3 | A person answered, named a same-day window and said the technician would price on site | 1:20 | Yes | None |
| 4 | A person answered, asked for the property address twice, then gave a next-day window and a rough figure | 2:05 | Yes | About $350 |
| 5 | A person answered, confirmed they could come, and asked to speak with the homeowner directly | 1:03 | Yes | None |
| 6 | A voicemail greeting took the call | 0:05 | None | None |
| 7 | A person answered and said yes; the call ended before a price or a window | 0:36 | Yes | None |
| 8 | A voicemail greeting took the call | 0:02 | None | None |
| 9 | A person answered, named a service fee and a same-day window | 1:09 | Yes | $85 service fee |
| 10 | The line never connected; nothing was captured | 0:00 | None | None |
Three rows need a note before the summary. Calls 6 and 8 were voicemail greetings: the line was live and nobody was there to pick it up, which is a different failure from call 10, where the carrier never connected the call at all and the row carries no recording and no transcript. The listing-hours column a reader may expect here is deliberately absent: its weekday label is stored off by one, so a number that looks precise would be wrong.
The funnel
The same ten calls, narrowed six times. Every row is the sum of rows in the table above, and the “Calls” column says which, so nothing here is an orphan number.
| Step | Calls | Count | Share |
|---|---|---|---|
| Plumbing listings found | n/a | 20 | n/a |
| Called | 1 to 10 | 10 | 100% |
| Connected by the carrier | all but 10 | 9 | 90% |
| Reached a human voice | 1, 2, 3, 4, 5, 7, 9 | 7 | 70% |
| Said they could come | 1, 2, 3, 4, 5, 7, 9 | 7 | 70% |
| Gave an arrival window | 1, 2, 3, 4, 9 | 5 | 50% |
| Named a same-day time | 2, 3, 9 | 3 | 30% |
| Named a price | 1, 2, 4, 9 | 4 | 40% |
The 90% is the number an ordinary call log would print as “answered,” and it is the least useful row here: it counts a two-second voicemail greeting (call 8) the same as a two-minute conversation. The 70% is the tier that matters, because it is the only one a person can act on. Note that the price row is not the next rung down from the same-day row: it is a side-split of the seven calls that reached a person, so it can sit above the same-day count without the funnel contradicting itself.
The three that never reached a person
Three of the ten calls produced no conversation. None of them was a refusal. Two hit a voicemail greeting and one never rang at the far end at all, which are different failures with the same outcome.
| # | Failure | Length | What the recording shows |
|---|---|---|---|
| 6 | Voicemail | 0:05 | A recorded greeting took the call, then the line ended. |
| 8 | Voicemail | 0:02 | A recorded greeting took the call, then the line ended. |
| 10 | Never connected | 0:00 | The carrier never connected the call. There is no recording and no transcript. |
A voicemail greeting is not a person declining the job. It is a line a person did not pick up, and it is worth keeping out of the “answered” column for exactly that reason.
The seven yeses, and what each was worth
Every call that reached a person set the availability field to true. That is a stronger outcome than the Chicago job, where only two of seven conversations produced a yes, and it is worth reading what the seven actually offered before the price table, because a yes is not a time and a price is not always a price for the job.
| # | What they said | Price | Arrival |
|---|---|---|---|
| 1 | Offered a next-day window and a two-part price | $210, +$140 if pulled | Tomorrow, 10 to 2 or 12 to 4 |
| 2 | Quoted a flat figure and a near-immediate window | $350 | In 30 to 40 minutes |
| 3 | Named a same-day window and said the technician would price on site | None | Today, 10 to 2 |
| 4 | Asked for the address twice, then gave a next-day window and a rough figure | About $350 | Tomorrow, 8 to 10 |
| 5 | Confirmed they could come, and asked to speak with the homeowner | None | As soon as possible |
| 7 | Said yes, then the call ended before a price or a window | None | None |
| 9 | Named a service fee and a same-day window | $85 service fee | Today, 10 to 12 |
Two of the seven gave a real clock time for a visit the same day (calls 3 and 9), one named a near-immediate arrival (call 2), and one said “as soon as possible” without a time (call 5). The other three slipped into tomorrow or gave nothing to act on. A yes, in other words, is a willingness to be called again, not a slot on a schedule.
The four figures, and why they are not a range
Four of the seven conversations produced a number. It is tempting to read them as a spread for one clogged toilet, and the caption on a cheaper page would say “$85 to $350.” They are not the same kind of number, and the table says why.
| # | What was said | What the figure was for | Where it lands |
|---|---|---|---|
| 1 | $210, plus $140 if the toilet had to be pulled | A whole-job price, conditional on the pull | $350 if pulled |
| 2 | $350 | A whole-job price | $350 |
| 4 | About $350 | A whole-job price, softened with “about” | $350 |
| 9 | $85 | A service fee paid before a plumber comes out | A fee, not a job price |
Three of the four figures reach $350, and two of those were stated as a flat $350 for the whole job. The odd one out is call 9, where $85 was a service fee required before anyone would be dispatched: it is not a cheap job, it is a different line item. Averaging the four, or reading them as a low-to-high range, would turn two unlike things into one number.
“So it’d be two ten. And then if the toilet has to be pulled, additional one forty.”
That is call 1, and it is the most useful pricing line in the job: a provider who named a base price and the condition that would raise it, out loud, in one sentence. It is still not an invoice. It is what one person said on one call, and the condition was never tried.
The arithmetic
The job settled on a single ledger row, and every number below is read from it and from the call rows above.
| Metric | Value |
|---|---|
| Calls dialled | 10 |
| Calls that reached a person | 7 |
| Total line time across all ten | 8:05 |
| Billed talk time, the seven answered | 7:58 |
| Charge to the homeowner | $2.39 |
| Cost per answered line | $0.34 |
| Cost per provider who named a figure | $0.60 |
The sum is shown rather than asserted. The seven completed calls together ran 7:58 (53 + 52 + 80 + 125 + 63 + 36 + 69 seconds), which the ledger rounds to the 8.0 minutes it bills at $0.30 a minute, and that is the only charge row the job has: $2.39. The three calls that reached no one add five seconds, two seconds and none, and are not billed. $2.39 across seven answered lines is 34 cents each; across the four providers who named a figure it is 60 cents each.
What we would change next time
- Make “as soon as possible” a time. Call 5 set the availability field but never named an hour, and one more question would have turned a warm yes into something a homeowner could put on a calendar.
- Record a fee as a different kind of figure from a job price. The $85 on call 9 is the reason the four numbers cannot be averaged, and the field does not yet say so.
- Count the calls that reused a detail. Call 4 asked for the property address twice even though the request carried it, and it was the longest call in the job at 2:05. That is worth a flag, not a footnote.
Why publish the whole funnel
A summary that said “seven of ten Philadelphia plumbers answered and offered to come” would be true and useless. The useful shape is the step the summary hides: seven conversations, five arrival windows, three same-day times, and four numbers that look like a range but are really three of a kind and one of something else. The value of calling ten plumbers in one burst is not the single appointment at the end of it. It is knowing how many lines were actually open, how many of the people on them would commit to a time, and how carefully a spoken price has to be read before you treat it as the price.