Compare waterfall enrichment tools on coverage and cost

Enter the steps of the waterfall enrichment tools you compare, each with a hit rate and a price, and see coverage and cost per record found.

Found68.5%
Per found record$0.505
Per row sent$0.346
1,000 rows$346

685 of 1,000 rows found. Every lookup is charged, found or not.

This is the cheapest orderSame coverage in any order; this one costs least.
Charged
Try:
  1. Adds 40.0% · $0.250 a find
  2. Adds 18.0% · $0.667 a find
  3. Adds 10.5% · $1.20 a findDearest find
3 of 10
The math
  • The independence assumption

    The math assumes one source missing a row says nothing about whether the next will find it. If your sources tend to miss the same rows, a real waterfall covers less than this; if they tend to cover different rows, it covers more. A hit rate measured on all rows is not the hit rate on the rows the earlier steps missed, so measure each step on your own rows, in your order.

  • Share of rows that reach a stepreach_1 = 1; reach_i = (1 - p_1) × (1 - p_2) × ... × (1 - p_(i-1))

    A row only goes to the next source when every source before it missed. If each source misses independently of the others, the chance that all earlier ones missed is the product of their miss rates.

  • Combined coveragecoverage = 1 - (1 - p_1) × (1 - p_2) × ... × (1 - p_n)

    The share of rows that end with an answer is one minus the share that every source missed. Under independence the order of the sources does not change it.

  • What each step addsadded_i = reach_i × p_i

    A step only finds rows that reach it, so its added coverage is its hit rate times the share of rows still missing. The same source adds less the later it runs.

  • Expected cost per input row, charged per lookupcost = price_1 × reach_1 + price_2 × reach_2 + ... + price_n × reach_n

    When every lookup is charged, hit or miss, each source costs its price on every row that reaches it. The expected cost is the sum of those, by the linearity of expected value.

  • Expected cost per input row, charged only when foundcost = price_1 × added_1 + price_2 × added_2 + ... + price_n × added_n

    When a source charges only for an answer, it costs its price only on the rows it finds.

  • Cost per found recordcost per found record = expected cost per input row / coverage

    What you pay, on average, for each row that ends with an answer. The rows nobody found are paid for too, inside this number.

  • The cheapest order

    Charged per lookup, run the steps by price divided by hit rate, lowest first. Charged only when found, run the cheapest first. Swapping two neighbouring steps in the cost formulas above shows it, under the same assumption.

p is a step's hit rate as a share of the rows it sees, from 0 to 1.

Photo of Utku Zihnioglu

By

· CEO & co-founder

Updated Nov 11, 2026

Shorter page: the tool first, the answer in a few lines.

Waterfall enrichment tools look a record up in several data sources, one after another, and keep the first answer. Before you compare waterfall enrichment tools on coverage, do the arithmetic: each step only sees the records the steps above it missed, so every step you add finds less than the one before. Enter a hit rate and a price for each step in the simulator above, and it works out combined coverage and what each record found costs you.

How to read the result

A hit rate is the share a step finds of the records that reach it, not of your whole list. The cost of each record found is the figure to compare across tools, because the lookups you paid for that found nothing sit inside it.

Reorder the steps and coverage stays the same, as long as the sources miss independently. The cost moves. Billed per lookup, the top step is paid on every record you send in, so a high-priced step belongs near the bottom. Billed only when found, order matters less: a record two steps could both find is charged by whichever asks first.

Judge the bottom step on what it charges for each record it finds. If that is more than a found record is worth to you, cut it.

The independence assumption

The math assumes one source missing a record says nothing about whether the next will find it. The formulas under the simulator rest on independence and expected value, each with its source. Real sources often miss the same records, and then a real waterfall covers less than the simulator shows.

So measure each step on a sample of your own, in your order: count what it finds among the records that reached it, and enter that. Reorder the steps and measure again.

What to do next

Read each tool's pricing page for whether it bills per lookup or only when found. The two sound alike and can send very different bills.

If you would rather not keep this math current, Oneprofile does it for you: each enrichment checks its data sources in an order we set, stops at the first answer, and charges nothing for a lookup that finds nothing. To follow one contact through the sources, read how waterfall enrichment works. For what a found contact costs in credits, see what data enrichment costs.

Waterfall enrichment tools: common questions

Is the lowest price per lookup always the cheapest waterfall?

No. A low price per lookup with a low hit rate can cost more for each record it finds than a dearer step that answers more often. Compare the cost of each record found, which counts the misses you paid for.

Should a waterfall charge for a lookup that finds nothing?

Ideally not. Billed per lookup, every step a record reaches is charged, found or not. Billed only when found, a step costs nothing on the records it misses. In Oneprofile, an enrichment lookup that comes back empty costs nothing.

Do I choose the data sources and their order in Oneprofile?

No. Each enrichment checks its data sources in an order we set and stops at the first answer. A record is charged only for the answer it gets.

About this article

Photo of Utku Zihnioglu

Utku Zihnioglu

CEO & co-founder

Serial entrepreneur who built infrastructure companies handling billions of requests. Now leads engineering at Oneprofile, which finds the people worth talking to, researches each one, and follows up until they reply.

Drafted with AI from our product docs and code. Utku Zihnioglu answers for what it says.

The waterfall that runs itself

We order the data sources and stop at the first answer, so a lookup that finds nothing costs nothing.

Free plan: 200 credits a month, 3 integrations, no card

The waterfall that runs itself

We order the data sources and stop at the first answer, so a lookup that finds nothing costs nothing.

Free plan: 200 credits a month, 3 integrations, no card