Article

How to test the accuracy of a technographic data provider

Three figures decide whether a technographic data provider fits your accounts: match rate, precision and recall. How to measure each on a sample, with the arithmetic worked and the public evidence on accuracy set out.

11 min read

You can test the accuracy of a technographic data provider before you buy, on a sample. The test has three parts: the match rate on your own account list, then the precision and the recall of the provider's detections against websites checked by hand. This post sets out each step, works the arithmetic on an illustrative sample, and says what public evidence on accuracy we found and where we found none.

What an accuracy test of a technographic data provider measures

An accuracy test of a technographic data provider measures three figures on a sample of your own accounts. The match rate is the share of your accounts the provider returns. Precision is the share of its detections that a hand check confirms. Recall is the share of the technologies truly in place that it detected.

Report the three separately: a provider can score well on one and poorly on another.

MeasureThe question it answersArithmetic
Match rateHow many of my accounts does the provider hold?Accounts returned ÷ accounts sent
PrecisionWhen the data says a technology is there, is it?Confirmed detections ÷ detections checked
RecallOf the technologies that are there, how many did the data find?Confirmed detections ÷ technologies found by hand

A statistics office reports the same measures when it checks automated matching by hand. For Census 2021 the UK Office for National Statistics published its match rates, then its precision and recall against stated targets. It describes precision as a measure of how accurate the matches made are and recall as the proportion of all possible matches that were made, and it estimated both by clerical review of samples. Its working paper on linkage defines the errors behind them: a false positive is a record wrongly identified as a match, and a false negative is a true match that was not identified.

Put detection in the place of match and the definitions carry over. Every checked pair of an account and a technology is a true positive (detected and present), a false positive (detected and absent), a false negative (present and not detected) or a true negative. Precision is the true positives over everything detected, and recall is the true positives over everything present. Most companies do not run most technologies, so true negatives dominate any single accuracy percentage.

How to evaluate a provider's coverage: the match rate on your account list

To evaluate coverage, send the provider your account list as website domains, ask for every row it holds on them, and divide the accounts returned by the accounts sent. That is the match rate. Then compute, among the matched accounts, the share with a detection in the categories you buy for, and split both figures by segment.

Coverage comes first because precision and recall are defined only on matched accounts. Data coverage is measured against a list, and the list must be yours: a sample chosen by the provider shows the accounts it holds.

  1. Reduce each account to its registrable domain, in lower case and without a leading www, and remove duplicates, as the entry on domain matching describes.
  2. Label each account with the segments you sell by: size band, country and industry.
  3. Ask for all rows on those domains as of one date, with the date each website was last observed.
  4. Sort the accounts into three groups: returned with at least one detection, observed with nothing detected, and not held at all.
  5. Compute the match rate overall and in each segment, and read the lowest segment first.

Keep the second group apart from the third: an account observed with nothing detected is a statement you can test, and an account not held is a gap in coverage to which no detection figure applies.

How to compare coverage between two technographic data providers

To compare coverage between two providers, give both the same account list on the same day, normalised the same way, and count four groups: accounts matched by both, by the first only, by the second only and by neither. Compare the match rates segment by segment, and leave each provider's total record count out of the comparison.

The same four groups work one level down, on detections. Among the accounts both providers match, each pair of account and technology that only one provider asserts is an error by one side: a false positive for the provider that asserts it or a miss for the other. Check those pairs by hand, with a small random draw of the agreements. The detections you confirm from either provider form a verified union, and each provider's share of it is its relative recall, read as an upper bound because what neither found is missing from the union.

The precision and recall test: a methodology for technology detection on a sample

Draw a random sample of matched accounts, fix a short list of technologies, and have a reviewer record by hand which of them each website runs, without sight of the provider's rows. Precision is the confirmed detections divided by all detections checked. Recall is the confirmed detections divided by every technology the reviewer found in place.

  1. Fix the technologies. Choose five to ten that drive your decision and that leave evidence on a public website or in DNS records.
  2. Draw the sample at random from the matched accounts. A sample drawn from the provider's detections measures precision and nothing else, because it holds no account on which the provider was silent.
  3. Check by hand, blind. The reviewer reads the page source, the requests the page makes in the browser's developer tools and the domain's MX and TXT records, and records each technology as present, absent or unsure, with the date.
  4. Grade each website before and after consent. Record what loads before the cookie banner is answered and what loads once it is accepted.
  5. Freeze the provider's rows as of the day of the check and join them to the hand check on domain and technology.
  6. Compute precision and recall, each with its interval, overall and by segment.
  7. Read every error. Sort false positives into stale detections, wrong websites and signatures that matched something else, and misses into tags held back until consent, pages the provider did not observe and technologies outside its catalogue.

Step 4 matters wherever consent rules apply. The UK Information Commissioner's Office states that an organisation must obtain consent for its use of storage and access technologies, apart from those covered by an exception, and expects the opt-in to come before they are set. A tag held back until consent can be absent from the page as an automated reader first receives it, so grading both states shows how much of a recall gap is consent and how much is the catalogue.

The hand check is the yardstick, so have a second reviewer grade one account in ten, and leave pairs graded unsure out of both ratios. For software that leaves no evidence on a website, such as a finance system, use a truth you already hold: your own customer list, with the date each customer went live.

With every graded pair in one table and the provider's rows in another, one row for each domain and technology, a single query returns the three counts.

select
  sum(case when h.verdict = 'present' and p.domain is not null then 1 else 0 end) as confirmed,
  sum(case when h.verdict = 'absent'  and p.domain is not null then 1 else 0 end) as false_positives,
  sum(case when h.verdict = 'present' and p.domain is null     then 1 else 0 end) as missed
from hand_check h
left join provider_rows p
  on  p.domain     = h.domain
  and p.technology = h.technology
where h.verdict in ('present', 'absent');

Precision is the first count over the sum of the first two, and recall is the first over the sum of the first and third.

How many pairs to check follows from the interval you can accept. The NIST/SEMATECH e-Handbook of Statistical Methods gives the Wilson method for the confidence interval of a proportion, and the table applies it to a result of nine confirmed in ten.

Detections checked95 percent interval at an observed 90 percent
10082.6 to 94.5 percent
20085.1 to 93.4 percent
40086.7 to 92.6 percent

The count that sets the interval is the denominator of each ratio, and a rare technology yields few detections. The method treats every pair as independent while errors cluster by website, so read the interval as the least uncertainty the sample leaves.

A worked example: Acme Robotics tests a sample of 200 accounts

Acme Robotics is an illustrative company, and every figure in this example is invented. Its revenue operations team is weighing a provider for 2,000 target accounts and five technologies.

Assumptions:

  • The list holds 2,000 accounts with one website domain each: 500 enterprise, 800 mid-market and 700 small.
  • The provider returns rows for 1,640: 460 enterprise, 720 mid-market and 460 small.
  • A reviewer checks 200 matched accounts, drawn at random, for five technologies each: 1,000 pairs, every one graded present or absent on one day.
  • The reviewer finds 180 of the 1,000 pairs present.
  • The provider's rows as of that day assert 170 of the pairs, and the hand check confirms 153 of them.
  • Of the 170, 150 carry a last-seen date within the 30 days before the check, and 144 of those are confirmed.
  • Intervals are 95 percent Wilson intervals.

Step 1: the match rate. 1,640 ÷ 2,000 = 82.0 percent. By segment it is 460 ÷ 500 = 92.0 percent for enterprise, 720 ÷ 800 = 90.0 percent for mid-market and 460 ÷ 700 = 65.7 percent for small accounts. One small account in three is outside the data.

Step 2: the four cells. The 1,000 pairs sort as follows.

PairsReviewer: presentReviewer: absentTotal
Provider: detected15317170
Provider: not detected27803830
Total1808201,000

Step 3: precision and recall. Precision is 153 ÷ 170 = 90.0 percent, with an interval of 84.6 to 93.7 percent. Recall is 153 ÷ 180 = 85.0 percent, with an interval of 79.1 to 89.5 percent.

Step 4: the figure to set aside. Counting every cell as right or wrong gives (153 + 803) ÷ 1,000 = 95.6 percent. A provider that detected nothing at all would score 820 ÷ 1,000 = 82.0 percent on the same measure.

Step 5: the dates. Keeping only the 150 detections last seen in the 30 days before the check gives a precision of 144 ÷ 150 = 96.0 percent and a recall of 144 ÷ 180 = 80.0 percent. The 20 older detections were confirmed 9 times, or 45.0 percent. The filter buys six points of precision for five of recall.

Step 6: coverage and recall together. 82.0 percent × 85.0 percent = 69.7 percent. About seven in ten installations across the whole list appear in the data, if unmatched accounts run the five technologies as often as matched ones.

What dated first-seen and last-seen observations add to the test

First-seen and last-seen dates turn one accuracy figure into three tests: whether a detection is current, whether an adoption is dated correctly and whether a removal is caught. Without dates a stale detection and a wrong one look the same. Ask any provider what sets each date: its own observation, a date the company published or an estimate.

  • Currency. Split precision by the age of the last-seen date, as in step 5 of the example. The split shows what an old last-seen date is worth today.
  • Adoption timing. Where you know a go-live date, as you do for your own customers, compare it with the first-seen date and report the median lag and the slowest tenth. Use only adoptions that began while the provider was already observing the website: a tool in place at the first observation takes the date of that observation.
  • Removals. For customers who left on a known date, check that the technology stops being reported, and how soon. A removal never recorded is a false positive that ages in the data, and it distorts any measure of technology churn.

Running the test on Fokals data

Sample data for the companies you name is sent on request with the data dictionary and the methodology, so each step runs on your own list. The marketing stack dataset delivers Technology Stack, Technology Changes and Website Profile, refreshed daily to weekly.

Step of the testWhat the data carries
Match rateThe website domain and one stable company ID on every row; in Website Profile, the time each website was last observed
Precision and recallTechnology Stack: one row for each company website and technology, across 6,298 recognised technologies in 69 categories
Reading the errorsThe kinds of evidence that showed each technology: page content, scripts, network requests, response headers or DNS records
CurrencyThe first-seen and last-seen dates on every row, and a marker on any technology whose removal is awaiting confirmation
TimingTechnology Changes: a dated event for every adoption, removal and platform migration, with the time it was observed

A first observation of a website sets its baseline and is never counted as a change, so every adoption event is a change that was observed to happen, and a removal is confirmed before it is written. Every event carries its observation time, which keeps the record point-in-time. The note on what a Fokals technology row tells you shows how to read a row.

A detection shows presence on the website. For the systems behind it, the hiring dataset adds the tools each company names in its job postings, on the same company ID. The methodology describes each dataset, and the data dictionary defines each field.

Accuracy percentages for technographic data: what a search for a study found

We found no study of technographic data accuracy published by a standards body, a regulator or a statistics office, and no shared benchmark on which providers report a common percentage. What the three providers whose sites we read publish is a confidence rating or a confidence filter, each in its own terms.

The table sets out what three providers publish on their own sites, as read on 7 October 2026.

ProviderWhat its own site publishes
BuiltWithA Confidence Score from 0 to 1 on every technology it detects, with a Low, Medium or High rating, as its measure of how confident it is that a detection is accurate and current. A technology detected only once can score lower.
WappalyzerA lookup API that excludes low-confidence results by default. Its documentation says that switching the exclusion off yields more results and is more likely to include false positives.
TheirStackA confidence level of High, Medium or Low for each technology, based on how often it appears relative to other technologies in the same category, with the number of job postings that mention it.

A confidence rating is the provider's own estimate for one detection, and you can test it: split your precision by rating and see whether detections rated High are confirmed more often than those rated Low.

Before you set a published percentage beside your own result, establish four things.

  • The unit: an account, or a pair of account and technology.
  • The measure: precision, recall, or all four cells counted together.
  • The sample: who drew it, how, and how many were checked.
  • The date, and the technologies that were tested.

Frequently asked questions

How accurate is technographic data?

No single figure answers that. We found no accuracy study from a standards body, a regulator or a statistics office. The three providers whose sites we read publish a confidence rating or a confidence filter, each in its own terms. A result depends on the technologies tested, the evidence behind each detection and its date, so measure precision and recall on a sample of your own accounts.

What is the difference between precision and recall in technology detection?

Precision is the share of the detections a provider delivers that are true: 153 confirmed out of 170 checked is 90 percent. Recall is the share of the technologies truly in place that the provider detected: 153 out of 180 found by hand is 85 percent. Low precision wastes outreach on accounts that lack the technology, and low recall hides accounts that have it.

How many accounts should I check by hand to test technographic data?

Count detections, not accounts. At an observed 90 percent, the 95 percent Wilson interval runs from 82.6 to 94.5 percent on 100 checked detections, from 85.1 to 93.4 percent on 200 and from 86.7 to 92.6 percent on 400. Check enough accounts to reach the count you need for each technology, since a rare one yields few detections per hundred accounts.

Why is a single accuracy percentage misleading for technographic data?

Most companies do not run most technologies, so a count of every right answer is dominated by the pairs on which the provider correctly reported nothing. In the illustrative example a provider that detected nothing at all would score 82 percent. Precision and recall leave those true negatives out and measure the detections you would act on and the ones you would miss.

Can website detection show the software a company uses internally?

A website detection shows presence on the website: tags, platforms and the services a domain declares in its DNS records. Systems such as finance software or a data warehouse seldom leave evidence there. Test those against a truth you hold, such as your own customer list, and read job postings as a second view. Fokals Job Postings carries the tools each role names, on the same company ID as Technology Stack.

What do first-seen and last-seen dates add to a technographic data test?

They separate a stale detection from a wrong one. Split precision by the age of the last-seen date to see how much of the error is old data, compare first-seen dates with go-live dates you know to measure the lag, and check that removals are recorded. In Fokals data every row of Technology Stack carries both dates, and Technology Changes dates every adoption and removal.

The queries and code on this page are examples to adapt. Test them in your own environment before you rely on them.

What this page says about the products it names was checked against their public documentation on 7 October 2026. Product and company names are trademarks of their owners. Fokals is not affiliated with them or endorsed by them.