How to Monitor Entity Resolution Accuracy After Deployment: 7 Metrics for 2026
TL;DR: Entity resolution accuracy is not a one-time test at go-live. It degrades quietly as upstream data shifts: a new source format, a changed encoding, a new field. Seven metrics, tracked on a standing basis rather than checked once, catch that drift while it is still cheap to fix in 2026: match rate against a rolling baseline, sampled precision and recall, confidence-score distribution, cluster size, review-queue volume, time-to-match, and source-level drift.
Catch drift before duplicate records accumulate. Review your monitoring plan with our team, or watch these metrics move against your own data. Book a Demo or Try Tilores Studio (Free).
On this page
- Why does entity resolution accuracy degrade after go-live?
- Metric 1: Match rate against a rolling baseline, not a fixed number
- Metric 2: Sampled precision and recall against a labelled holdout
- Metric 3: Confidence score distribution near the threshold
- Metric 4: Cluster size distribution over time
- Metric 5: Manual review queue volume and reason codes
- Metric 6: Time-to-match for new records
- Metric 7: Source-level drift, not just aggregate drift
- What to do when an alert fires
Why does entity resolution accuracy degrade after go-live?
IBM’s description of the underlying phenomenon applies directly to matching systems, even though it is written about machine learning models generally: model drift is “the degradation of machine learning model performance due to changes in data or in the relationships between input and output variables,” and models “built with historical data can quickly become stagnant” once new variations, patterns, and trends stop matching what the system was originally tuned on.
An entity resolution system is not exempt from this just because some of its logic is rule-based rather than purely statistical. A new upstream system starts sending a name field in a different format. A data provider changes an encoding. A new country’s address format enters the pipeline for the first time. None of that shows up as an error message. It shows up, gradually, as a falling match rate or a growing count of near-duplicate clusters that used to resolve cleanly. Evidently AI frames the general version of this precisely: “data drift is a change in the statistical properties and characteristics of the input data,” and that shift “can lead to a decline in the model’s performance” if nothing is watching for it.
A one-time accuracy test at launch answers whether the system worked on day one. It says nothing about day two hundred. Seven metrics, tracked continuously rather than checked once, close that gap.
Metric 1: Match rate against a rolling baseline, not a fixed number
Match rate, the share of incoming records that resolve into an existing or new entity cleanly, is the single most visible signal, but only when it is compared against its own recent history rather than a number chosen once at launch. A seasonal business, a new customer segment, or a new source feed can shift the “normal” match rate for legitimate reasons that have nothing to do with a quality problem. Evidently AI’s guidance on statistical monitoring points at the right shape of check: comparing “if the current mean value of a numerical variable is within two standard deviations from the reference value,” which is a moving comparison, not a static pass or fail line.

Drift starts in a source feed, produces several different matching symptoms, and becomes actionable when the source-specific cause is isolated.
Metric 2: Sampled precision and recall against a labelled holdout
Match rate alone cannot distinguish a healthy system from one that is quietly over-merging or under-merging. Precision and recall, measured on a small labelled holdout sample refreshed periodically, catch what an aggregate rate hides: precision falls when the system links records that are not actually the same entity, and recall falls when it fails to link records that are. William Winkler’s foundational US Census Bureau research on record linkage grounds this in decades of practice, showing that computerised procedures with well-tuned matching reduced a Census duplicate-resolution effort that would otherwise have needed thousands of clerks down to a fraction of that, precisely because the underlying match logic was measured and tuned against known outcomes rather than assumed to be correct indefinitely.
A holdout does not need to be large to be useful. It needs to be refreshed often enough that it reflects the data the system is actually seeing now, not the data it saw when the holdout was built.
Metric 3: Confidence score distribution near the threshold
Every match decision from the Tilores API carries an entity score and a hit score, both floats between zero and one, reflecting match quality and how closely a result aligns with the search parameters that produced it. Tracking the aggregate distribution of those scores over time surfaces a specific failure mode: a growing share of matches clustering just above or just below the confidence threshold, rather than clearly on one side of it. That shift usually means the underlying data has moved, even before match rate itself visibly falls, and it is the earliest warning available because it shows up inside individual decisions rather than only in an aggregate outcome.
Metric 4: Cluster size distribution over time
A healthy identity graph has a stable, explainable distribution of cluster sizes for a given entity type: most customers resolve to one record, a smaller number resolve to two or three across systems, and very large clusters are rare and usually explainable. A shift in that distribution, clusters growing unusually large, or a spike in singleton clusters that used to merge, is a structural signal that something changed in how records are arriving or being compared, worth investigating on its own even when match rate has not moved yet.
Metric 5: Manual review queue volume and reason codes
Any system that routes uncertain matches to a human reviewer generates a queue, and that queue is a direct measurement instrument if the reason each item landed there is captured alongside it. A growing queue with no change in reason codes usually means genuine ambiguity increased upstream. A growing queue concentrated in one reason code, such as a specific field failing to normalise, points at a fixable, localised cause rather than a general accuracy problem, and is worth triaging before it grows large enough to overwhelm a review team.
Metric 6: Time-to-match for new records
Latency is an accuracy signal, not just a performance one. Tilores resolves new records against existing clusters in under 150 milliseconds on the managed AWS path, and around 1 millisecond self-hosted next to the workload. A sustained increase in that number, even without any change to match logic, usually means the incoming data itself changed shape, larger records, more source fields, or an unusually large batch, in a way that is worth understanding before it also affects match quality.
Metric 7: Source-level drift, not just aggregate drift
An aggregate metric can stay flat while one specific source degrades badly, if that source is a small share of total volume. IBM’s breakdown of drift types is useful here: concept drift, where “there is a divergence between the input variables and the target variable,” can be seasonal, sudden, or gradual, and a per-source view is often the only way to catch a gradual shift in one feed before it becomes large enough to move the aggregate number. Breaking every one of the six metrics above down by source system, not just by total volume, is what turns a company-wide investigation into a fifteen-minute one.
| Metric | What it catches | Typical check frequency |
|---|---|---|
| 1. Match rate vs rolling baseline | A general shift in how well incoming records resolve | Continuous or daily |
| 2. Sampled precision and recall | Silent over-merging or under-merging that match rate alone hides | Weekly to monthly |
| 3. Confidence score distribution | Data drift, often before match rate itself moves | Continuous or daily |
| 4. Cluster size distribution | Structural changes in how records are arriving or comparing | Daily to weekly |
| 5. Review queue volume and reason codes | Localised, fixable causes versus genuine ambiguity | Continuous |
| 6. Time-to-match | Changes in incoming data shape or volume | Continuous |
| 7. Source-level drift | A single degrading source hidden inside a flat aggregate number | Daily to weekly, per source |
What to do when an alert fires
An alert on any of the seven metrics above is a starting point for investigation, not a verdict. The first step is always the same: check whether the shift is source-specific or system-wide, using Metric 7’s breakdown. A source-specific shift usually traces to a schema or format change at that source, fixable at the normalisation layer without touching matching logic at all. A system-wide shift is rarer and worth escalating faster, since it can mean the underlying data distribution has genuinely moved for every source at once, which is the harder problem to diagnose and the one most worth catching early.
None of these seven metrics require rebuilding a monitoring system from scratch. An identity graph designed with edge-level confidence scores and source provenance already carries most of the data this monitoring needs, in the same way explainable, audit-ready matching depends on those same fields being present from the start. The remaining work is deciding the thresholds and reviewing the alerts, not instrumenting the system after the fact.
FAQ
How often should entity resolution accuracy be monitored after deployment?
Match rate, confidence-score distribution, and review-queue volume are cheap enough to check continuously or daily. Sampled precision and recall against a labelled holdout can run weekly or monthly, refreshed often enough that the holdout still reflects current data.
What is the difference between model drift and data drift?
Data drift is a shift in the statistical properties of the input data itself. Model drift, including concept drift, is a divergence between input variables and the target outcome, meaning the same inputs now correspond to a different correct answer than they used to.
What does it mean when matches cluster near the confidence threshold?
It usually means the underlying data has shifted even before match rate itself visibly falls, since a growing share of decisions is becoming genuinely harder to call rather than clearly right or wrong. It is typically the earliest available warning of drift.
Should every uncertain match go to manual review?
Routing uncertain matches to review is standard practice, but the review queue is only a useful monitoring signal if the reason each item landed there is captured. Without reason codes, a growing queue only tells you something changed, not what.
Can a single degrading data source hide inside a healthy aggregate match rate?
Yes, if that source is a small share of total volume. Breaking match rate, precision, recall, and confidence-score distribution down by source, rather than only tracking a company-wide average, is what catches a gradual single-source shift before it grows large enough to move the aggregate number.
Sources
- What Is Model Drift?, IBM, checked 2026-08-26.
- Data Drift in Machine Learning, Evidently AI, checked 2026-08-26.
- Overview of Record Linkage and Current Research Directions, William E. Winkler, US Census Bureau, checked 2026-08-26.
- API Reference, Tilores Documentation, checked 2026-08-26.
- How to Design an Identity Graph That Stays Accurate: 6 Architecture Decisions for 2026, Tilores, checked 2026-08-26.
- Explainable Entity Resolution: Confidence Thresholds and Audit, Tilores, checked 2026-08-26.
- Deployment Options: Run Tilores Where Your Data Is, Tilores, checked 2026-08-26.
- Contact, Tilores, checked 2026-08-26.
See what resolved entity data does for your business — and your AI.