ListMatchGenie

Confidence scores

Every match candidate gets a 0–100 score. Understanding what the score represents — and what it doesn't — is how you decide where to draw the line between match, review, and no-match.

A confidence score is a number between 0 and 100 that the match engine assigns to every candidate pair. It answers one question: how sure are we that these two records represent the same real-world entity?

Higher is better. A score of 100 means the engine is as certain as it can be; a score of 0 means the records have nothing in common. Everything else is degrees of uncertainty — and the threshold you pick decides which scores become matches and which go to review.

How scores are computed

Every match profile defines a set of comparable fields and a weight per field. When the engine compares two candidate records, it produces a per-field score (0–100) for each comparable field, then combines them into a single composite score using the weights.

For a person profile, the weighting emphasizes the most identifying signals — last name and first name carry the most weight, followed by location fields, with state and address as supporting signals. Each field is compared with a method suited to its type: names use fuzzy similarity with phonetic and nickname boosts; addresses use token-based comparison with abbreviation normalization; ZIP uses exact or distance-based comparison when radius is enabled; state is binary.

When a field is missing from one or both records, its weight is redistributed proportionally to the remaining fields — so records with less data don't get artificially low scores.

What the score does not represent

The score is a calibrated estimate, not a probability. A score of 85 does not mean "85% chance of being the same person". Two pitfalls to avoid:

  • Score ≠ truth. Two legitimately different people can share a name and ZIP and score 90+. Your review threshold is where you decide how much risk of false-positive to accept.
  • Score bands are not linear. The difference between 80 and 85 is much more consequential than the difference between 30 and 35. Below the threshold, scores are mostly noise; above it, every point matters.

Classification

After scoring, every source row is classified based on its best-scoring candidate vs your threshold:

matchclassification

The best candidate scored at or above your primary threshold (default 70). These are confident matches; they don't go to the review queue.

reviewclassification

The best candidate scored below the match threshold but above the review threshold (default 55). The engine thinks there's a plausible match but isn't confident enough to auto-accept. You review these individually.

unmatchedclassification

No candidate scored above the review threshold, or no candidates were found at all. The source row has no corresponding master record.

The two thresholds

ListMatchGenie uses two thresholds, not one: the match threshold (above = auto-accept) and the review threshold (between = manual review). The review threshold is always lower than the match threshold.

This two-band approach exists because binary accept/reject forces you to choose between two bad options:

  • Single-threshold high (e.g. 90) — you accept only obvious matches and miss lots of legitimate ones.
  • Single-threshold low (e.g. 65) — you catch more matches but accept false positives without realizing it.

With two thresholds you get: confident matches auto-accepted, borderline cases surfaced for review, and everything else left unmatched. Best of both worlds.

Picking a threshold

Defaults are 70 / 55. Rule of thumb:

  • Lower (60 / 45) — loose, surfacing more candidates. Use when you need recall more than precision (discovering overlap, research, finding "any possible match").
  • Default (70 / 55) — balanced. Good starting point for almost every use case.
  • Higher (85 / 70) — strict, only confident matches. Use for production writes (e.g. merging customer records), regulated workflows, or when false positives are expensive.

Iterate, don't overthink

Run your first match at the default. Look at the review queue — if it has too many obvious-yes cases, lower the match threshold by 5. If it has too many obvious-no cases, raise it by 5. Two or three iterations beat any amount of advance threshold-planning. See Setting the confidence threshold.

Where you see scores in the app

  • Review queue — every pending case shows its score in a colored badge (green ≥80, amber 60–79, red <60).
  • Exported files_lmg_match_score column on every row.
  • Score distribution chart — histogram on the job detail page and in reports, showing the shape of your match quality at a glance.
  • Side-by-side review — per-field scores appear next to each field when you click into a review candidate, so you can see exactly which fields drove the overall score up or down.