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 stored | Name received | Matching score based on Levenshtein | Matching score based on Jaro-Winkler |
---|---|---|---|
François Dupont | John Doe | 26 | 58 |
François Dupont | France Dupont | 80 | 91 |
François Dupont | François Dupond | 93 | 97 |
François Dupont | François Dupont | 100 | 100 |
Updated 13 days ago