💻 Tilores Studio is now available. Run entity resolution locally on your machine.Download free

← Back to Blog
Entity Resolution June 30, 2026 · 6 min read

What We Love About Splink (and When We Recommend It Over Tilores)

Hendrik Nehnes
Hendrik Nehnes
CPO, Tilores
What We Love About Splink (and When We Recommend It Over Tilores)

TL;DR: We build Tilores, a commercial real-time entity resolution API. Splink is the leading open-source record-linkage library, and it is excellent: free, statistically principled, explainable, and backed by a huge community. If your work is batch-only, research-driven, or open-source-mandated, Splink is often the right call, and we’ll say so. Tilores fits differently. It makes resolution queryable in real time, after ingestion, for production workloads Splink was never built for.

See it on your data: Book a Demo to walk through real-time entity resolution on your own records, or Get the Evaluation Build to try it locally.

Why would a vendor praise its open-source competitor?

We build Tilores, a commercial entity resolution platform. Splink is the open-source library most teams compare us to. This post is about why we admire it, and why we sometimes tell teams to use it instead of us.

That might sound like bad business. It isn’t. The people evaluating entity resolution tools are technical and sceptical, and they work out the trade-offs themselves. We would rather be the ones framing those trade-offs honestly than pretend they don’t exist.

We did. On 1,000,000 synthetic FEBRL records with 100,000 known duplicate pairs, Tilores reached F1 0.9949 to Splink’s 0.8867, a +10.8pp gap driven almost entirely by recall (+19.4pp). The full code, config, and results are public: github.com/tilotech/tilores-splink-benchmark, and we wrote it up in the benchmark post.

We’re proud of that result. We’re also clear about what it doesn’t tell you: an F1 score on a synthetic dataset doesn’t decide which tool you should use. The right choice depends on your architecture, your team, your budget, and what “done” looks like. So here is what Splink gets right.

It’s free, and that’s not a trivial feature

Splink is open-source. pip install splink, no contract, no procurement cycle, no per-record fee. A single motivated person can ship a working deduplication pipeline in an afternoon without anyone’s approval.

For data scientists in government, research, and lean teams, “free” is a capability, not a budget shortcut. It removes the friction that kills projects before they start. Tilores is a commercial product. We think it earns its cost for the right workloads, but we won’t pretend the comparison doesn’t exist.

The statistics are principled

Splink implements the Fellegi-Sunter probabilistic record-linkage model, a peer-reviewed framework taught for decades. It learns matching parameters from your unlabelled data with an Expectation-Maximisation algorithm, no ground truth required, and expresses each comparison as a match weight rather than an opaque yes/no.

That matters in regulated settings. “These parameters were learned from your data using a published statistical model” is an answer auditors and regulators understand. Tilores uses a rule-based engine that is fully configurable, in code or through a graphical interface, and in our benchmark it produced higher recall. But it doesn’t hand you a peer-reviewed statistical framework out of the box. That’s a real difference, and for some teams it’s decisive.

Its explainability sets a high bar

Every Splink prediction comes with a waterfall chart: a visual breakdown of which fields pushed the match score up or down. It answers the question every data-quality team asks, why did these two records match?, with no statistical background required.

It’s a pattern every entity resolution tool should aspire to. Tilores gives you rule-level provenance (which rule linked a pair), which is useful, but Splink’s per-field weight breakdown is a standard worth respecting.

It runs where your data already lives

Splink generates SQL and runs it on DuckDB, Spark, Athena, PostgreSQL, or SQLite. Your data stays in your existing stack; you adopt a library, not a new system. DuckDB handles a million records on a laptop in seconds; Spark scales the same code far higher. For teams with strong existing infrastructure, that’s a major advantage.

Tilores makes the opposite trade. It’s a managed API: there’s no cluster to provision, patch, or babysit, it scales automatically, and it runs behind high-availability SLAs. That’s a lower-maintenance way to operate entity resolution in production. You adopt a service rather than run a library, but what you give up is the operational burden, not control.

Built and maintained by the UK Ministry of Justice, Splink has more than 19 million PyPI downloads (close to a million a month), an active GitHub with thousands of issues and discussions, and documented public-sector use: the UK Office for National Statistics published a case study on using Splink to link 2021 Census data, and the project won a Civil Service Award in 2025.

When you can find an issue describing exactly your problem and named institutions running the tool at your scale, that’s a form of trust a younger commercial product can’t buy overnight. We’re working to earn more of it in the open, and this benchmark is part of that, but Splink’s head start is real.

We mean this. Stay with Splink if:

  • Your use case is batch-only and will stay that way, like monthly deduplication into a database. Splink is excellent and free, so there’s no reason to pay for Tilores.
  • You’re publishing research and need a peer-reviewed algorithm. Fellegi-Sunter is the standard your reviewers will recognise.
  • Your procurement requires open-source. That decision may be out of your hands, and Splink fits it.
  • You want your whole matching pipeline expressed in code and SQL, version-controlled in your own repository, and you have the Python/Spark expertise to run it. Splink rewards that hands-on control.

Where Tilores fits differently

We don’t win by being better at what Splink does. We win by doing something Splink doesn’t. Splink produces a result set. Tilores makes that result queryable in real time.

Tilores resolves and links records at ingestion and returns the resolved entity context at query time. Search latency in our benchmark was 8.6ms p95 on a 1M-record index. When you need to resolve a new customer against your existing entities at account creation, at point of care, or at fraud screening, and not in the next batch run, a batch library’s architecture doesn’t fit. And Tilores sits next to your warehouse, MDM, CDP, or KYC stack rather than replacing it.

The pattern we see most often: a team proves entity resolution works with Splink (which is great for that proof-of-concept phase), then needs to operationalise it into a production API without standing up and babysitting a cluster. That’s when we talk. Entity resolution is hard, the Ministry of Justice team built a good tool, and the field is better for both approaches existing.

FAQ

Yes. Splink is an open-source record-linkage library you install with pip install splink — no license fee and no per-record cost. Your only costs are the compute it runs on and the engineering time to configure and operate it.

Use Splink when your workload is batch-only and stays that way, when you need a peer-reviewed algorithm for research, when procurement mandates open-source, or when you want maximum custom matching control and have the team to run it. Use Tilores when you need real-time resolution at query time, incremental ingestion, and a persistent searchable entity index for production.

Splink is a probabilistic batch library that produces a one-off list of matched pairs. Tilores is a real-time entity resolution API that builds a persistent entity index you can query within milliseconds after ingestion. Different jobs: Splink for R&D and batch, Tilores for production and real-time.

On F1 and recall, yes (F1 0.9949 vs 0.8867; recall +19.4pp on 1M FEBRL records). Splink wins decisively on raw batch throughput and stays free. We published the full code and config so anyone can reproduce or challenge the result.

See what resolved entity data does for your business — and your AI.