/data-matching-software

A list of free data matching and record linkage software.

Data Matching software

This is a list of (Fuzzy) Data Matching software. The software in this list is open source and/or freely available.

The term data matching is used to indicate the procedure of bringing together information from two or more records that are believed to belong to the same entity. Data matching has two applications: (1) to match data across multiple datasets (linkage) and (2) to match data within a dataset (deduplication). See the Wikipedia page about data matching for more information.

Similar terms: record linkage, data matching, deduplication, fuzzy matching, entity resolution

Overview

The table below gives a dense overview of data matching software properties. The properties evaluated are Application Programming Interface (API), Graphical User Interface (GUI), Linking, Deduplication, Supervised Learning, Unsupervised Learning and Active Learning.

Software API GUI Link Dedup Supervised
Learning
Unsupervised
Learning
Active
Learning
AtyImo PySpark
Dedupe Python
fastLink R
FEBRL Python
FRIL Java
FuzzyMatcher Python
JedAI Java
PRIL SQL
Python Record Linkage Toolkit Python
RecordLinkage (R) R
Reclin2 R
RELAIS
ReMaDDer
RLTK Python
Splink PySpark

✅ Yes/Implemented ❌ No/Not implemented ❔ Unknown

Software

This section describes data matching software. The software is alphabetically ordered.

AtyImo implements a mixture of deterministic and probabilistic routines for data linkage. Initially developed in 2013 to serve as a linkage tool supporting a joint Brazil–U.K. project aiming at building a large population-based cohort with data from more than 100 million participants and producing disease-specific data to facilitate diverse epidemiological research studies.

License GitHub
Language Python Spark
Latest release NA
Downloads per month
GitHub stars GitHub stars

Dedupe is a python library for fuzzy matching, deduplication and entity resolution on structured data. The library makes use of active learning to match record pairs. Active learning is useful in cases without training data. Dedupe has a side-product for deduplicating CSV files, csvdedupe, through the command line. Dedupeio also offers commercial products for data matching.

License PyPI - License
Language PyPI - Python Version
Latest release PyPI
Downloads per month PyPI - Downloads
GitHub stars GitHub stars

Implements a Fellegi-Sunter probabilistic record linkage model that allows for missing data and the inclusion of auxiliary information. This includes functionalities to conduct a merge of two datasets under the Fellegi-Sunter model using the Expectation-Maximization algorithm. fastLink is a programming API written in R. (Enamorado, Fifield & Imai, 2017) [source code]

License CRAN/METACRAN
Language R
Latest release CRAN
Downloads per month metacran downloads
GitHub stars GitHub stars

Febrl (Freely Extensible Biomedical Record Linkage) is a training tool suitable for users to learn and experiment with record linkage techniques, as well as for practitioners to conduct linkages with data sets containing up to several hundred thousand records. Febrl is a data matching tool with a large number of algorithms implemented and offers a Python programming interface as well as simple GUI. Febrl doesn't offer unsupervised and active learning algorithms. The software is no longer actively maintained. (Christen, 2008) [source code]

License Custom
Language Python
Latest release
Downloads per month
GitHub stars

FRIL (Fine-grained Records Integration and Linkage tool) is free tool that enables record linkage through a GUI. The tool implements automatic weights estimation through the EM-algorithm and offers serveral techniques to make record pairs. FRIL was developed by the Emory University and is not longer maintained. [source code]

License Custom
Language Java
Latest release
Downloads per month
GitHub stars

A Python package that allows the user to fuzzy match two pandas dataframes based on one or more fields in common. The functionality is limited at the moment. [source code]

License PyPI - License
Language PyPI - Python Version
Latest release PyPI
Downloads per month PyPI - Downloads
GitHub stars GitHub stars

Java gEneric DAta Integration (JedAI) Toolkit is a Entity Resolution Tool developed by a group of univeristies. JedAI offers a Graphical User Interface. [source code]

License GitHub
Language Java
Latest release
Downloads per month
GitHub stars GitHub stars

PRIL (Point-of-contact Interactive Record Linkage) is a record linkage program with a GUI. PRIL can be used to link datasets about individuals. (Rentsch CT, Kabudula CW, Catlett J et al., 2017) [source code]

License GitHub
Language SQLPL
Latest release
Downloads per month
GitHub stars GitHub stars

The Python Record Linkage Toolkit is a library to link records in or between data sources. The toolkit provides most of the tools needed for record linkage and deduplication. The package is developed for research and the linking of small or medium sized files.

License PyPI - License
Language PyPI - Python Version
Latest release PyPI
Downloads per month PyPI - Downloads
GitHub stars GitHub stars

Package written in R that provides functions for linking and de-duplicating data sets. Both supervised and unsupervised classification algorithms are available. Record pairs can be compared with a limited set of algorithms. The package is published on CRAN.

License CRAN/METACRAN
Language R
Latest release CRAN
Downloads per month metacran downloads
GitHub stars

Package written in R that provides functions for linking data sets. The framework offers the option to compute the weigths of the Fellegi-Sunter model. It doesn't implement an undersupervised algorithms to predict the cutoff. The package is published on CRAN. Formerly https://github.com/djvanderlaan/reclin.

License CRAN/METACRAN
Language R
Latest release CRAN
Downloads per month metacran downloads
GitHub stars GitHub stars

RELAIS (REcord Linkage At IStat) is a toolkit providing a set of techniques for dealing with record linkage projects. IStat is the main producer of official statistics in Italy.

License EUPL-1.1
Language R/Java
Latest release
Downloads per month
GitHub stars

ReMaDDer is unsupervised free fuzzy data matching software with a GUI. ReMaDDer is capable to perform fully automatic fuzzy record matching without human expert intervention, while attaining accuracy of human clerical review. NOTE: The software is free, but not open source and requires an internet connection to work.

License
Language
Latest release
Downloads per month
GitHub stars

The Record Linkage ToolKit (RLTK) is a general-purpose open-source record linkage package. The toolkit provides a full pipeline needed for record linkage and deduplication.

License PyPI - License
Language Python
Latest release PyPI
Downloads per month PyPI - Downloads
GitHub stars GitHub stars

Splink is a Python/PySpark package that implements Fellegi-Sunter's canonical model of record linkage in Apache Spark. It uses the Expectation Maximisation algorithm to estimate parameters of the model. It is able to perform linking and deduplication of very large datasets of tens of millions of records with runtimes of less than an hour. [source code]

License PyPI - License
Language PyPI - Python Version Spark
Latest release PyPI
Downloads per month PyPI - Downloads
GitHub stars GitHub stars

Outdated/ no longer available

BigMatch (by USA census)

A record linkage tool for use in matching a very large file against a moderate size file developed by the USA Census Bureau. There are several papers available about this program (BigMatch, 2007)

The Link King’s graphical user interface (GUI) makes record linkage and unduplication easy for beginning and advanced users. The software requires a SAS license. SAS

Contributing

Do you know an open source and/or free data matching tool? Please open an issue or do a Pull Request. The same holds for missing or incomplete information.

This project is initiated by the author of the Python Record Linkage Toolkit @J535D165. The aim is to get a list and comparison of data matching software.

This list is licensed under CC-BY-SA 3.0.