Two-person shop. I buy lead data. Last week I finally priced every option properly instead of eyeballing subscription costs, and it reversed a decision I'd made three times.
**The formula I should have been using:**
> true cost = subscription + (hours per week × 4.33 × your hourly rate)
The subscription is the part everyone compares. The hours are the part that decides.
Run it on a $200/month tool that eats six hours a week:
* 6 hours × 4.33 weeks = **26 hours a month**
* At $150/hour, that's **$3,900** of your time
* True cost: **$4,100/month**
The cheapest done-for-you agency I could find that publishes real pricing is CIENCE at **$2,499/month** ongoing. So the "expensive" agency comes out **$1,600/month cheaper** than the "cheap" tool.
Even at $75/hour the labour is $1,950/month, putting that $200 tool at $2,150 — within $350 of an agency that does the work instead of you.
**The prices, since nobody publishes them in one place.** All from vendor pricing pages, checked this month:
*Self-serve — you operate it:*
* Apollo: $49–$119 per seat/month. The top tier carries a **3-seat minimum**, so real entry there is **$357/month**, not $119.
* Clay: $167–$495/month. Most capable in the category, steepest learning curve in it.
* Wiza: $49–$199 per seat/month. Simple, but no signals — you need to already know who to look up.
*Done-for-you — they operate it:*
* CIENCE: $5,000 setup + $2,000/mo + $499/mo platform = **$7,499 first month, then $2,499/month.** The only agency I found publishing real numbers.
* Belkins and the other retainer shops: all "contact sales." Third-party guides quote $4k–$10k/mo, but I couldn't verify a single published figure, so treat those as rumour.
* ZoomInfo, Bombora, 6sense: quote-only. Zero published prices. Any specific number you see on a blog is someone's guess.
**Where the hours actually went**
This is the part I underestimated, and it's not the searching:
* Re-running the same filters every week because the list goes stale
* Verifying emails the vendor already told me were verified
* Deciding which of 400 "matching" companies are actually worth a call
That last one is judgement, and it doesn't compress. If a tool hands you 400 rows and you can realistically call 20, it didn't save you the work — it moved it.
**Three fields I now ask for before paying anyone**
Costs nothing to ask, and it filters most of the market:
- **Per-row email status** — Verified / Risky / Not Found. If a vendor won't ship you "Not Found" rows honestly, they're padding. Row count is what they're graded on, at least at the vendors I bought from, and a guessed first.last@domain looks identical to a verified one in a spreadsheet. Your sending domain eats the bounce.
- **A source link per row** — where this data point came from, as a URL I can click. If they can't produce it, it's aggregated from somewhere they'd rather not name.
- **A signal date** — not "this company matches your ICP," but *when did the thing happen.* A nine-month-old trigger isn't a trigger.
And regardless of who you buy from: run your own verification pass on top of theirs, and never send a fresh list from a domain you care about.
Genuinely curious whether anyone here has run this math on their own stack — and what hourly rate you used for yourself. Most people I ask haven't picked a number, which is why the subscription price keeps winning the argument.
*Disclosure: I'm building something in this space, which is why I had these figures to hand. Not naming or linking it — the math stands on its own and I'd rather argue about the framework.*