faq · accuracy

Accuracy and evidence, answered in full.

Written for the person who has to defend a company master to people who did not build it. Quote any of it.

Every rate here arrives with its denominator, its interval and the fixture it was measured on, because the alternative is the bare percentage this product's own accuracy document exists to forbid. The weakest tier is answered as fully as the strongest.
questions on this subject, each answered in full
12
pages these answers are worked out on, all linked below
2
questions across the whole FAQ
74
Self-serviceCreate your workspace online and verify your email to start matching company records. Free starts with 300 credits and no card. Paid monthly plans are available in workspace Billing; VAT is added where applicable. Usage is tracked without automatic overage charges. Trust and security
Elsewhere in the FAQ
12 questions

Everything we are asked about accuracy, calibration and the evidence behind the numbers

Open the ones you need. Each answer is written to be read on its own, so a figure arrives with the population behind it — the fixture it was measured on and the rows it covers — and still holds when you paste it into an email.

How accurate is it? Is it 99%?

On the continuous-integration gold set, 357/357 automated merges were clean, with 63.10% of pairs decided automatically; the rest abstain. We quote the cautious end of that result, the 95% Wilson lower bound: 98.94%, which sits below 99% and is 24 clean labelled merges short of proving a 0.99 bound. The point estimate of precision is 1.0000. End-to-end resolution on that fixture is 70.78% (499/705). A "99% entity resolution" figure quoted without the evidence shortfall, the automation rate and the resolution-level number beside it overstates this system, whoever is quoting it.

So what is the number you would put in front of a sceptic?

Two, side by side. On six input shapes measured over 317 live GB companies, resolution ran from 100% on an identifier down to 58.10% on a name whose ending had been cut off by a field-length limit, blending to 95.75%. Accuracy on decided outcomes was 1.0000 on every one of those tiers, with 0 false binds. The blend is the fragile figure: its value is set by the mix of shapes in your file rather than by the engine, so a file of truncated names lands nearer 58.10% than 95.75%. Read the tier that matches your columns, not the average.

What is the confidence floor, and is it an accuracy promise?

The floor is 0.90, and it is not an accuracy promise. It is an acceptance contract, not calibration evidence: it says what we refuse to return, not how often an accepted match is right. Read it with the coverage it costs. A match below 0.90 confidence is unrepresentable. The record comes back as an abstention with a ranked shortlist instead. The rule sits on the resolution outcome itself, so an accepted match below the floor cannot be constructed anywhere in the system — a domain invariant — and a separate predicate re-checks it on the online, batch and replay paths. Even a cached replay whose inherited confidence has since fallen below the floor is withheld rather than re-served. On the representative fixture 1,666 / 1,666 accepted matches cleared it.

Can the API return 0.99 confidence?

Yes. Some supported evidence populations return values above 0.99, and the recorded v8 uncorroborated population carries 0.9968. The nominal 95% Wilson lower bound of 1,190 historical prompt-v8 uncorroborated MATCH verdicts with zero recorded errors. The 2026-08-29 population pools six input shapes with repeated company families and calibration/evaluation overlap. Its independence and transfer to new customer inputs are unproven. Legacy replay cannot certify current calibration. Confidence bounds depend on the recorded evidence population; there is no universal score for every match. Read match_confidence_basis and the evidence. A 0.99 filter can return some v8 adjudicated matches while excluding valid identifier matches, so validate its coverage cost on your own inputs. Read `decision` alongside `match_confidence_basis`: the confidence only means something once you know which outcome it belongs to.

What happens to a file that is just company names?

It comes back as shortlists rather than matches. A record carrying only a name, or a name plus prose, abstains at the probabilistic stage and returns the top five candidates plus the column that would decide between them — so the tier that cannot be answered stops being the tier that costs the most. Measured on the gated acquisition fixture, the true company ranked first for 151/205 (74%) and appeared in the top three for 205/205 (100%). The stub-adjudicated run behind the pairwise gate, not the 317-company live recording behind the tier table. Recall is a property of the list rather than of the winner, and 74% sits far below the 0.90 acceptance floor, so no row of that shortlist may be offered to you as a match, and none of it is folded into an accepted-match count. Send a domain, a postcode, a registration number or an LEI and the same rows resolve.

What if the context in our records is wrong?

It degrades to an abstention rather than to a wrong answer. In the historical 50-record wrong-town fixture, 72% resolved and zero wrong bindings were observed. This is a measured adversarial sample, not a guarantee for every misleading description. That result is the one worth testing us on, because false context is the normal condition of real CRM data: a trading address typed years ago, an office the company has since left, a note copied from a different account. A resolver that treats context as corroboration will confidently bind the wrong company on exactly those rows. The same property shows up in retrieval — a deliberately wrong town still returns the true company inside the top ten, and produces no false binds.

Has any of this been validated externally?

No. Every fixture is internal and repository-authored. The per-tier table rests on 317 live GB companies sampled from the 2026-08-01 Companies House snapshot, with same-name siblings included. Identifier-rich arrivals seed the catalogue before the weaker input shapes are evaluated. The continuous-integration gate rests on 1,176 labelled company pairs — 216 handwritten adversarial, 960 generated from a fixed seed — plus a 705-record fixture over 250 UK-registered companies. There is no customer holdout, no time or jurisdiction split, no blinded head-to-head against a named competitor, no independent laboratory validation and no third-party penetration test. The internal readiness rubric scores external validation 3 out of 15 and the product 74 out of 100 overall, which is why the site says early-stage rather than proven. What is available in its place is the method, the fixtures and the failure cases in full, and an evaluation that begins by running your file rather than by reading ours.

What happens if the model changes?

Adjudicated confidence is keyed by model id and prompt version, and both are written onto every verdict inside the decision receipt. Change either and the system fails closed: adjudicated bindings stop being publishable at the old bound until labelled calibration exists for the new pair, so a prompt tweak degrades the product to abstention rather than quietly recalibrating it upward. The alternative arrangement — a model swap nobody outside notices, while the accuracy page keeps its old number — is the one this design exists to rule out. It also means a receipt written last quarter tells you exactly which model saw what under which prompt, which is the question an auditor asks about an automated decision.

How is the confidence number actually produced?

It is not the model's self-report. Each stage publishes the cautious end of its own measured accuracy over recorded trials — the 95% Wilson lower bound — so a stage claims at or below what it has been shown to deliver, and an audit of every stage confirms that none overstates. The pooled headline is 0.9968: The nominal 95% Wilson lower bound of 1,190 historical prompt-v8 uncorroborated MATCH verdicts with zero recorded errors. The 2026-08-29 population pools six input shapes with repeated company families and calibration/evaluation overlap. Its independence and transfer to new customer inputs are unproven. Legacy replay cannot certify current calibration. The adjudicating model's own confidence is carried separately and is uncalibrated — a self-report with a large calibration error against outcomes, never thresholdable, and never comparable with the calibrated field. Where the model was never asked about a candidate, that field is null, and null means "not asked" rather than "asked and unconvinced".

Is the non-match side as reliable as the match side?

No. The historical prompt-v8 rejection population has 54 verdicts and four errors. Its bound authorises no accepted match; other non-match populations carry their own values. The bound is 0.8245, it is reported but not gated, and a wrong non-match costs you a duplicate entity rather than a wrong merge — the cheaper failure, but still a failure. There is a second asymmetry worth reading in full, because it is the one that catches people: a new entity minted because nothing matched is not a match and is not subject to the floor. Its reject-side confidence can fall as low as 0.6752, on 27 observations. That row rests on 27 observations and is attached to the riskiest branch of the API, so never read "everything this endpoint returns is above the floor" into the floor.

Do you publish cluster metrics as well as pairwise ones?

Yes, and never one without the other. Pairwise numbers describe individual comparisons and can look excellent while the clusters they build are wrong, so the house rule is that a pairwise figure is never published without the cluster figure beside it. On the representative fixture, how well the groups the system built match the true groups, member by member — B-cubed cluster precision — measured 1.0000. Cluster F1 0.9646 on the same 317-company representative recording of 2026-08-29. Pairwise numbers are never published without these. The same rule runs across the board: precision never appears without the automation rate, because 100% precision at 0% automation is trivial, and no rate appears without its interval and sample size. A figure on this site without its denominator is a bug in the page.

Does the answer depend on how we chunk the file?

Within one batch, no: resolution is order-independent by construction. Every record is proposed against the store as it stood when the batch began, the links made inside the batch are then folded so that everything transitively connected lands in one group, and the same sixty records in four different orders produce an identical partition — against an earlier implementation that produced four. Across batches, yes. The same twenty-four rows produced fifteen entities and seven review items as one batch, and eight entities as twenty-four batches of one. Smaller batches collapse more duplicates; one large batch buys order-independence within it. Both directions are real, so chunking is a decision to take deliberately rather than a detail to leave to a loader.

When the answer depends on what your own rows look like, it has to be measured on your file.

Start free
where the answers come from

The pages behind these answers

Each answer above is the short version. These pages carry the working: the tables, the payloads, the coverage rows and the caveats an answer can only point at.

evidence basis

Internal fixtures only. The historical 2026-08-29 per-tier recording covers 317 GB companies with identifier-rich arrivals seeding the catalogue first; the context tier includes country and registered-town prose. Its legacy replay has no full-prompt-verified calls and cannot certify current calibration. The September 5 CI reports cover 1,176 labelled pairs and 705 records over 250 companies using offline stubs. These are not independent customer holdouts or live production validation; the 99% minimum-input product target remains unmet. Scope is company and organisation identity only — not people, vessels, bank-account ownership, sanctions or emissions. Results may not be used for eligibility decisions about individuals, including employment, credit and tenancy.

Every figure, its population and what it does not show →

who this is for

Built for one job. Wrong for several others.

built for

Teams with a company master they have to defend — an MDM or stewardship queue, a CRM after a migration or a merger, a supplier file before a payment run, or counterparty onboarding that has to survive an audit.

wrong for

Buying breadth as the product: we hold a fraction of an incumbent’s records and are not building a global company graph. Entity Bind resolves companies and organisations only. It does not resolve people, vessels, bank-account ownership, sanctions exposure, emissions or geolocation, and its results may not be used for eligibility decisions about individuals, including employment, credit and tenancy.

the rest of the faq

74 questions, in 8 groups

Every question this site answers sits in one of these groups. If you are not sure which one covers yours, the index carries all 74 in a single page you can search in the browser.

All 74 questions in one page →

If none of these groups covers your question, send the file it is about — or write to hello@entitybind.com and we will answer it here.

Talk to us
the ask

Start with your own company records.

Every answer above is the general case. Create your Free workspace and inspect your own company CSV to see which rows match and which need review. Contact us for an assisted audit of existing matches. We write nothing to your systems.

300 credits. No card.

For a guided review of your file, explore the Merge Safety Sprint →