Matching algorithm

Learn more about Numeral's VOP matching algorithm

Overview

Accurate account holder name matching is crucial for a robust VOP implementation. An overly strict matching algorithm can lead to legitimate payments being rejected, while a too-lenient approach increases the risk of exposing sensitive data or incurring refund liabilities due to incorrect matches.

Numeral empowers you to tailor this critical algorithm to your specific needs by allowing you to define the ideal distance measure and thresholds. This ensures optimal balance between payment success rates and robust data security.

Distance measures

To compare two account names, Numeral calculates a distance between them. Distance is the similarity between two names, measured as the number of transformations needed to go from one name to the other.

Numeral currently supports two distance measures:

  • Levenshtein distance measures similarity by identifying the minimum number of single-character edits (insertions, deletions, or substitutions) required to transform one string into another. It is a straightforward measure of overall difference
  • Jaro-Winkler distance assesses similarity by considering shared characters and transpositions. It applies a higher weighting to characters that match at the beginning of the strings, making it particularly effective for common name variations and misspellings where prefixes are often consistent

You can choose the distance measure to use when processing incoming VOP requests. The distance calculated is then normalized and converted into a matching score ranging from 0 to 100, where a higher score indicates greater similarity.

Thresholds

Once a matching score is computed using your chosen distance metric, Numeral translates it into one of three distinct outcomes: match, close match, or no match. To achieve this, you will configure two key thresholds:

  • Upper threshold: any score at or above this value will result in a match
  • Lower threshold: any score below this value will result in a no match
  • Between upper threshold and lower threshold: result will be a close match

These customizable thresholds provide granular control, allowing you to fine-tune the matching sensitivity to perfectly align with your operational requirements and risk appetite.

Examples

Name storedName receivedMatching score based on LevenshteinMatching score based on Jaro-Winkler
François DupontJohn Doe2658
François DupontFrance Dupont8091
François DupontFrançois Dupond9397
François DupontFrançois Dupont100100