Splink
github.com
What it is
Splink is a free Python package for probabilistic record linkage: it deduplicates and connects records without unique identifiers. Its core algorithm is based on the Fellegi–Sunter model, and it can train models without training data using an unsupervised approach. Matching supports term-frequency adjustments and user-defined fuzzy logic. Interactive outputs help users inspect models and diagnose linkage problems. Splink documents DuckDB, Spark, PostgreSQL, and SQLite backends; DuckDB is installed by default, while Spark and PostgreSQL have optional installs. The project says it can run with big-data backends such as Spark on datasets of 100 million or more records, and can link a million records on a laptop in around a minute. It works best with standardised data containing multiple columns that are not highly correlated. Installation is through pip or conda and requires Python 3.10 or later. The project lists Linux and self-hosted use and an MIT license.
Spec sheet
- What it does
- Splink is a Python package for probabilistic record linkage that deduplicates and links records without unique identifiers.Read 7 Oct 2026 · github.com
- Purpose
- Splink is a Python package for probabilistic record linkage that deduplicates and links records without unique identifiers.Read 4 Oct 2026 · github.com
- Audience
- The project lists government, academia, and private-sector use, with examples across public services, health, research, and business data.Read 7 Oct 2026 · github.com
- Support
- The documentation directs users with questions to the project’s GitHub discussion forum.Read 7 Oct 2026 · moj-analytical-services.github.io
- License
- The GitHub repository identifies Splink as MIT licensed.Read 7 Oct 2026 · github.com
- Algorithm
- Splink’s core linkage algorithm is based on the Fellegi-Sunter model of record linkage.Read 7 Oct 2026 · moj-analytical-services.github.io
- Backends
- The documentation describes DuckDB, Spark, PostgreSQL, and SQLite backends; DuckDB is installed by default, while Spark and PostgreSQL have optional installs.Read 4 Oct 2026 · moj-analytical-services.github.io
- Data requirements
- Splink works best with standardised data containing multiple columns that are not highly correlated.Read 7 Oct 2026 · moj-analytical-services.github.io
- Data suitability
- Splink works best with standardised data containing multiple columns that are not highly correlated, and is not designed for a single bag-of-words column.Read 4 Oct 2026 · moj-analytical-services.github.io
- Install
- The project documents installation with pip or conda and optional Spark and PostgreSQL backend extras.Read 7 Oct 2026 · github.com
- Installation
- Splink can be installed with pip or conda and supports Python 3.10 or later.Read 4 Oct 2026 · moj-analytical-services.github.io
- Interactive outputs
- Splink provides interactive outputs to help users understand models and diagnose linkage problems.Read 4 Oct 2026 · moj-analytical-services.github.io
- Limitation
- Splink is not designed to link a single column containing a bag of words, such as company names without other details.Read 7 Oct 2026 · moj-analytical-services.github.io
- Matching
- It supports term frequency adjustments and user-defined fuzzy matching logic.Read 7 Oct 2026 · github.com
- Matching features
- It supports term-frequency adjustments and user-defined fuzzy-matching logic.Read 4 Oct 2026 · moj-analytical-services.github.io
- Matching model
- Its core linkage algorithm is based on the Fellegi–Sunter model.Read 4 Oct 2026 · moj-analytical-services.github.io
- Outputs
- Interactive visualisations help users understand models and diagnose linkage problems.Read 7 Oct 2026 · moj-analytical-services.github.io
- Scale
- Linkage jobs can run with DuckDB or big-data backends such as Spark for 100+ million records.Read 7 Oct 2026 · github.com
- Speed
- The project says Splink can link a million records on a laptop in around a minute.Read 7 Oct 2026 · github.com
- Training
- Models can be trained using an unsupervised approach without training data.Read 7 Oct 2026 · moj-analytical-services.github.io
- Unsupervised training
- Splink can train models using an unsupervised approach without training data.Read 4 Oct 2026 · moj-analytical-services.github.io
- Who uses it
- The project lists users and use cases across public-sector organisations, academia, and other sectors.Read 4 Oct 2026 · moj-analytical-services.github.io
Plans and prices
Strong points and limits
Strong points
- Models can be trained without training data.
- Supports DuckDB, Spark, PostgreSQL, and SQLite.
- Includes interactive outputs for examining linkage models.
- Available under the MIT license.
Limits
- Requires Python 3.10 or later.
- Not designed for a single bag-of-words column.
- Spark and PostgreSQL require optional installs.
Who it suits
Splink suits developers and data teams linking or deduplicating structured records across government, academia, and private-sector work. It is best suited to standardised data with multiple, not highly correlated columns.
Verdict
Splink offers configurable record linkage across several database backends, with unsupervised training and model diagnostics. Its data-shape guidance matters: it is not intended for linkage based on a lone bag-of-words column.
Where Specifiction places it
- Data Deduplication Software#20 of 277.8