Match rate

Updated October 21, 2026

Match rate is the share of submitted records for which a data provider returns the value you asked for, such as a work email or a company record. It measures coverage on your own list, not accuracy. Because it depends on input quality and on how each vendor counts a miss, one provider can post very different match rates on two lists.

In short: Match rate is the percentage of submitted records a data provider returns a requested value for, measured on your own list, and it sets your real cost per usable record more than the list price does.

How match rate works

Match rate is a ratio. The numerator is the records that came back with the value you asked for, and the denominator is the records you sent. Send 1,000 contacts to an email finder, get 600 addresses back, and the match rate on that run is 60% 1. That is the default hit rate the RichAPI waterfall cost calculator assumes, and the calculator tells you to replace it with your own number 1.

Three things move the rate. The first is input quality: a record with a full name and a company domain gives a provider more to match on than a name alone. Google gives the same advice for its own matching and tells advertisers to add as many match keys as they can, such as email and phone number 3. The second is coverage. A provider can only return what it holds, so a list from a market it covers poorly matches less. The third is the confidence threshold. A provider that returns guessed values raises its match rate and lowers its accuracy at the same time.

In waterfall enrichment, each provider's match rate decides what the next one receives. Records the first provider misses go to the second, so the combined rate can only match or beat the best single provider on that list. Measure each step on its own, field by field, next to fill rate and data accuracy. Match rate is one of the first numbers to check in any data enrichment run.

Match rate formula

The basic formula fits on one line.

text
match rate = records returned with the value / records submitted

The hard part is the denominator. Records submitted, records attempted and records billed can be three different counts. A vendor that drops rows it considers unresolvable before it starts, then reports matches over the rows it attempted, posts a higher rate than the same run measured over your file. Ask which count sits under any published figure, and compute your own over the rows you sent. When you report a rate inside your own team, write the denominator next to it, so a later run on a new list can be compared on the same basis. A rate without its denominator cannot be checked or repeated.

Match rate also turns a list price into a real cost. On a per-lookup endpoint you pay for every record, so the cost per usable record is the price per call divided by the match rate. On a waterfall endpoint that bills only on a hit, the RichAPI calculator puts the bill at volume times hit rate times credits per hit 1. The two models cost the same when the per-lookup price equals the hit rate times the per-hit price 1. Below that point the per-lookup vendor is cheaper, and above it the waterfall is 1.

Example of match rate

The RichAPI waterfall cost calculator shows the arithmetic with its default inputs 1. It assumes a 60% hit rate and a flat 5 credits per hit, and it shows about 600 expected hits and 3000 credits 1. That default works out to 1,000 records 1.

Read the same run at two other match rates. At a 40% match rate, the run returns 400 addresses and bills 2,000 credits 1. At 80%, it returns 800 addresses and bills 4,000 credits 1. The bill moves with the match rate because a miss on the email finder bills zero 2. A per-lookup vendor bills all 1,000 calls whatever comes back, so its cost stays flat while the yield moves 1.

The same idea appears in advertising, with a different numerator. In Google Ads, a Customer Match list's match rate is the share of uploaded rows Google can connect to its users 3. Google says the rate shows whether you uploaded the right data in the right format, and it shows the rate only once at least 100 rows match unique users 3. Google also says it is common for some customer information to stay unmatched 3.

In both cases the rate describes your list against one provider's coverage at one moment. It is not a fixed property of the provider, so measure it on a sample of your own records before you budget a full run.

Match rate vs fill rate

Both are coverage measures, at different grain. Match rate counts records. A record counts as matched when the provider returns the value you asked for, or anything at all, depending on who reports it. Fill rate counts fields. It asks how many of the matched records have a value in each field you care about, such as email, phone or job title. A provider can match most of your list and still leave the phone field empty on half of it. Report both, field by field, before you rank providers.

Match rateFill rate
What it answersDid the provider find this record?Is this field populated on the records it found?
InputThe records sent for enrichmentThe enriched records that came back
OutputOne percentage per runOne percentage per field
Cost driverOn hit-billed endpoints, the bill tracks matchesNo direct cost, it shows what each match delivered
Main riskCounting a guessed value as a matchAveraging key fields with fields nobody uses
Use it whenComparing providers or budgeting a runChoosing which provider fills which field
Read the reference →

Frequently asked questions

What is a good match rate for data enrichment?

There is no universal benchmark, because match rate depends on your list, the field you request and the provider's coverage. Measure it on a sample of a few hundred of your own records, compare providers on that same sample, and judge the rate next to accuracy, since a guessed value also counts as a match.

How do you calculate match rate?

Divide the records that came back with the value you asked for by the records you submitted, and express the result as a percentage. Use your submitted count as the denominator, not the vendor's attempted count, and calculate it separately for each field you route or score on.

Is match rate the same as accuracy?

No. Match rate measures coverage, meaning how often a value came back. Accuracy measures whether the returned value is correct. A provider that returns pattern-guessed emails can post a high match rate and poor accuracy, so verify a sample before you trust any headline figure.

Do you pay for records that do not match?

It depends on the billing model of the endpoint. At RichAPI, Email finder, Email verifier and Phone finder bill zero credits when no provider returns data 1. Every other endpoint bills on any 2xx response, including an empty one, so a low match rate there still costs the full rate 1.

The bottom line

Match rate is the share of your records a provider returns the value for, measured on your list at one moment. It measures coverage, not accuracy, and it decides what a provider really costs per usable record. Compute it over the rows you submitted, field by field, check accuracy on a sample, and price a run with your own rate instead of a vendor's headline figure.

Sources

  1. Waterfall enrichment cost calculator, RichAPI
  2. RichAPI llms-full.txt (catalog and billing rules), RichAPI
  3. Create a Customer Match list by uploading a data file (Understanding match rates), Google Ads Help

More terms