Splink
moj-analytical-services.github.io
What it is
Splink is a free Python package for probabilistic record linkage, used to deduplicate records and connect them when unique identifiers are absent. Its linkage method follows the Fellegi-Sunter model and can be trained without labeled examples. Matching can include term-frequency adjustments and user-defined fuzzy logic. Splink creates SQL for a selected backend, with documented support for DuckDB, Spark, SQLite, and PostgreSQL. DuckDB is recommended for most users; Spark is recommended for very large linkages or when a Spark cluster is more accessible. The maker says it can run on DuckDB or big-data backends such as Spark for linkages of 100+ million records. It works best with standardized data across several columns that are not highly correlated, rather than a single bag-of-words column. Interactive visualizations help examine and diagnose models, predictions, and clusters. Install with pip or conda, with optional backend-specific installation for Spark and PostgreSQL. It runs on Linux, macOS, and Windows, as well as self-hosted environments.
Spec sheet
- What it does
- Splink is a Python package for probabilistic record linkage and entity resolution that deduplicates or links records without unique identifiers.Read 15 Oct 2026 · moj-analytical-services.github.io
- Purpose
- Splink is a Python package for probabilistic record linkage that deduplicates and links records without unique identifiers.Read 29 Sep 2026 · moj-analytical-services.github.io
- Support
- Users are directed to a public GitHub discussion forum for questions after consulting the documentation.Read 15 Oct 2026 · moj-analytical-services.github.io
- Accuracy features
- It supports term-frequency adjustments and user-defined fuzzy matching logic.Read 15 Oct 2026 · github.com
- Backend guidance
- DuckDB is recommended for most users except the largest linkages, while Spark is recommended for very large linkages or where a Spark cluster is easier to access.Read 29 Sep 2026 · moj-analytical-services.github.io
- Backend limitation
- Spark requires more configuration and is often slower than DuckDB; the team says it may struggle with Databricks-specific issues because it lacks a Databricks environment.Read 15 Oct 2026 · moj-analytical-services.github.io
- Backends
- The documented SQL backends include DuckDB, Spark, SQLite, and PostgreSQL; the library generates SQL for a user-chosen backend.Read 29 Sep 2026 · moj-analytical-services.github.io
- Custom comparisons
- Users can define custom comparison functions and choose built-in comparison and comparison-level libraries.Read 15 Oct 2026 · gov.uk
- Data requirements
- Splink works best with standardized data containing multiple columns that are not highly correlated, and is not designed for a single bag-of-words column.Read 29 Sep 2026 · moj-analytical-services.github.io
- Databricks support
- The development team says it lacks access to a Databricks environment and may struggle to help with Databricks-specific issues.Read 29 Sep 2026 · moj-analytical-services.github.io
- Diagnostics
- Interactive visualisations help users understand and diagnose linkage models, including dashboards for examining predictions and clusters.Read 29 Sep 2026 · moj-analytical-services.github.io
- Documentation depth
- Official documentation includes tutorials, example notebooks with Google Colab links, topic guides, API references, settings references and datasets.Read 15 Oct 2026 · moj-analytical-services.github.io
- Funding origin
- The Ministry of Justice says ADR UK funded the Data First programme that created the team and work behind Splink.Read 15 Oct 2026 · gov.uk
- Government scale result
- A UK Ministry of Justice publication reports Splink processing about 15 million records in under an hour and improving the ROC curve over the department's prior rules-based approach.Read 15 Oct 2026 · gov.uk
- Independent study limitation
- A Florida Cancer Registry study found Splink required extra code for deduplication and said large-scale clerical review was uncertain; its waterfall chart was useful for spot checks but not many-record review.Read 15 Oct 2026 · fcds.med.miami.edu
- Independent study result
- In a simulated Florida Cancer Registry comparison using SSN, Splink produced 627,315 true-positive links and 4 false positives in the reported confusion table.Read 15 Oct 2026 · fcds.med.miami.edu
- Input-data limitation
- The project says performance is best with several standardised, not-highly-correlated columns and that a single bag-of-words column is outside its design.Read 15 Oct 2026 · moj-analytical-services.github.io
- Install
- Splink can be installed using pip or conda, with optional backend-specific installs documented for Spark and PostgreSQL.Read 29 Sep 2026 · moj-analytical-services.github.io
- Installation
- The getting-started guide supports installation with pip or conda and requires Python 3.10 or newer.Read 15 Oct 2026 · moj-analytical-services.github.io
- Interactive diagnostics
- Interactive visualisations help users inspect models, predictions and linkage problems.Read 15 Oct 2026 · github.com
- Large-scale processing
- Linkage can run with DuckDB in Python or with distributed Spark backends for datasets exceeding 100 million records.Read 15 Oct 2026 · github.com
- Licence
- The PyPI package is marked as MIT licensed and publishes a platform-independent Python wheel.Read 15 Oct 2026 · pypi.org
- Licence complaint
- A GitHub issue opened in August 2026 argues that an unconditional GPL-licensed igraph dependency may create redistribution obligations for commercial products despite Splink's MIT licence.Read 15 Oct 2026 · github.com
- Linkage modes
- It supports deduplication within one dataset, linking across datasets, and combined linking plus deduplication.Read 15 Oct 2026 · moj-analytical-services.github.io
- Maker founded
- LinkedIn lists the UK Ministry of Justice as founded in 2007.Read 15 Oct 2026 · linkedin.com
- Maker headquarters and size
- LinkedIn lists the maker context as the UK Ministry of Justice, headquartered in London, with 10,001-plus employees.Read 15 Oct 2026 · linkedin.com
- Matching
- It supports term frequency adjustments and user-defined fuzzy matching logic.Read 29 Sep 2026 · moj-analytical-services.github.io
- Method
- Its core linkage algorithm is based on the Fellegi-Sunter model and can be trained without labeled data using an unsupervised approach.Read 29 Sep 2026 · moj-analytical-services.github.io
- Model reuse
- Estimated models can be saved, quality-assured and reused as new data arrives.Read 15 Oct 2026 · gov.uk
- Production maintenance
- The Ministry of Justice says its linkage models are used for internal analysis and are actively maintained and developed by its Internal Data Linking team.Read 15 Oct 2026 · gov.uk
- Public API
- Reference documentation covers Linker training, inference, clustering, evaluation, visualisations, comparisons, blocking and table management APIs.Read 15 Oct 2026 · moj-analytical-services.github.io
- Rating on Capterra
- 0.0 out of 5 from 0 reviews; the listing is categorised as payment-processing software.Read 15 Oct 2026 · capterra.com
- Rating on G2
- 5.0 out of 5 from 2 reviews; the listing is categorised as payment-processing software rather than the open-source data-linkage package.Read 15 Oct 2026 · g2.com
- Rating on Software Advice
- No reviews yet; the page presents custom-quote pricing and payment-processing categories rather than data-linkage functionality.Read 15 Oct 2026 · softwareadvice.com
- Recent development
- A 2026 peer-reviewed article describes ongoing work on incremental and near-real-time linkage while retaining DuckDB and Spark execution choices.Read 15 Oct 2026 · pmc.ncbi.nlm.nih.gov
- Runtime drivers
- Runtime depends mainly on the number of candidate pairs created by blocking and on comparison-function complexity.Read 15 Oct 2026 · moj-analytical-services.github.io
- Scale
- The maker says Splink can run on DuckDB or big-data backends such as Spark for linkages of 100+ million records.Read 29 Sep 2026 · moj-analytical-services.github.io
- Security and governance
- The UK Data First record says linked datasets are anonymised, reviewed before release, and covered by a completed Data Protection Impact Assessment.Read 15 Oct 2026 · gov.uk
- Speed
- The project says it can link about one million records on a laptop in roughly one minute.Read 15 Oct 2026 · github.com
- SQL backends
- Documented backends include DuckDB, Apache Spark, SQLite and PostgreSQL, with backend-specific installation options.Read 15 Oct 2026 · moj-analytical-services.github.io
- SQLite and PostgreSQL limits
- SQLite lacks complete comparison-function coverage and receives minimal support, while PostgreSQL is relatively new, incompletely tested and also minimally supported.Read 15 Oct 2026 · moj-analytical-services.github.io
- Statistical model
- The core algorithm is based on the Fellegi-Sunter record-linkage model with customisations for Splink.Read 15 Oct 2026 · moj-analytical-services.github.io
- Unsupervised training
- Models can be trained without labelled training data.Read 15 Oct 2026 · github.com
- Use cases
- The maker lists users across government, academia, and other sectors, including the Office for National Statistics, NHS England, and the Australian Bureau of Statistics.Read 29 Sep 2026 · moj-analytical-services.github.io
Plans and prices
Strong points and limits
Strong points
- Free plan; install via pip or conda.
- Unsupervised training does not require labeled data.
- Supports DuckDB, Spark, SQLite, and PostgreSQL.
- Interactive dashboards examine predictions and clusters.
Limits
- Not designed for a single bag-of-words column.
- Databricks-specific issues may be difficult to support.
- No free trial is listed.
Who it suits
Splink suits teams linking or deduplicating standardized records without unique identifiers, especially when their data has multiple useful columns. Backend choice includes DuckDB for most users and Spark for very large linkages.
Verdict
Splink specifies its matching approach, backend options, data expectations, and installation routes. Its suitability depends on having standardized, multi-column data and choosing a backend that fits the linkage scale.
Where Specifiction places it
- Identity Resolution Software#2 of 258.4