// MRA - Match Rating Approach para comparação inteligente de nomes
Calcula a similaridade numérica entre nomes.
Códigos otimizados usando os 3 primeiros e os 3 últimos caracteres.
Ajusta o limiar com base no comprimento do nome.
Match Rating Approach (MRA) é um algoritmo fonético desenvolvido pela Western Airlines em 1977. Ele codifica nomes removendo vogais (exceto a primeira letra), eliminando consoantes duplicadas e reduzindo o resultado para 6 caracteres (3 primeiros + 3 últimos se o nome for maior). Na fase de comparação, calcula a similaridade comparando caracteres a partir do início e do fim, com um limiar ajustado de acordo com o comprimento combinado dos códigos.
Etapas de codificação:
1. Remover vogais (exceto a primeira)
2. Remover consoantes duplicadas
3. Manter os 3 primeiros + 3 últimos se o comprimento > 6
Exemplos:
CATHERINE → CTHRN
C[a]TH[e]R[i]N[e] → CTHRN
KATHERINE → KTHRN
K[a]TH[e]R[i]N[e] → KTHRN
SMITH → SMTH
SM[i]TH → SMTH
Limiar de correspondência:
Soma ≤ 4: são necessárias 5 correspondências
Soma 5–7: são necessárias 4 correspondências
Soma 8–11: são necessárias 3 correspondências
Soma ≥ 12: são necessárias 2 correspondências
CTHRN vs KTHRN:
Soma = 10, necessárias 3 correspondências
Resultado: 4 correspondências → MATCH!
Match Rating Approach (MRA) é um algoritmo fonético desenvolvido pela Western Airlines em 1977 para correspondência de nomes de passageiros. Ele combina as fases de codificação e comparação, fornecendo tanto um código fonético quanto uma pontuação de similaridade entre nomes.
Ao contrário de Soundex ou Metaphone, que fornecem apenas códigos, o MRA inclui um algoritmo sofisticado de comparação que calcula pontuações de similaridade. Ele ajusta o limiar de correspondência com base no comprimento do nome, tornando‑o mais flexível e preciso para diferentes tipos de nomes.
A pontuação de similaridade conta o número de caracteres coincidentes ao comparar dois códigos MRA a partir do início e do fim. A pontuação mínima necessária varia de acordo com o comprimento combinado dos códigos — nomes mais curtos exigem maior similaridade para serem considerados um match.
O MRA é ideal para aplicações que exigem correspondência detalhada de nomes: bases de dados de clientes, pesquisa genealógica, detecção de fraude e ligação de registros. É especialmente eficaz para encontrar possíveis duplicados com diferentes grafias.