Entity resolution inside your data platform, for data teams, vs. Splink's record linkage library.
Powering the world’s best companies.
Fortnum & MasonRedica SystemsOrthodox UnionDMG EventsCanadian Football League1.2k+ GitHub starsFellegi-Sunter adds up per-field weights as if fields were independent, but postcode, street and city move together. Zingg trains a classifier on pairs you label, so it learns how fields interact and which combinations really mean a match.
Instead of writing blocking rules and retuning them as data grows, Zingg learns which records are worth comparing from your labelled pairs, so it scales to millions of records.
Zingg Enterprise comes with commercial support for production deployments and a product roadmap shaped by enterprise customers, alongside the open source community.
Read: The Fellegi-Sunter model at 55: five structural limits
Read: Entity resolution at scale: blocking
An entity keeps its ZINGG_ID through new data, reruns and retraining, so links, history and downstream joins hold (Enterprise).
Deterministic rules for the identifiers you trust run in the same pass as the learned model, not as a separate mode (Enterprise).
Zingg Enterprise runs inside Snowflake itself, as well as on Spark in Databricks, Fabric, Google Cloud and AWS.
Zingg picks the pairs for you to label: clear matches, clear non-matches and the edge cases in between, so 40–50 labels teach it what a match means for your data.
| Feature | Zingg | Splink |
|---|---|---|
| Where it runs | Inside your Databricks, Snowflake, Microsoft Fabric, Google Cloud or AWS account, on your compute | Wherever you run Python: DuckDB, Spark or PostgreSQL |
| Cost of moving data | None. No pipelines out, no second copy | None. It runs on your data where it is |
| Your data | Stays in your tables. Zingg reads them in place and writes resolved IDs back | Stays in your environment |
| How it matches | Learns what a match means from 40–50 pairs you label; Enterprise adds deterministic rules in the same run | Fellegi-Sunter, with parameters estimated without labels; you define the comparisons |
| Blocking and scale | Learns which records are worth comparing, so it scales to millions of records with no blocking rules to design or retune | You design the blocking rules and tune them to keep comparisons manageable as data grows |
| Persistent IDs | The ZINGG_ID stays stable across runs, new data and retraining (Enterprise) | Each cluster ID is the lowest record ID in the cluster, so it can change when new data merges or splits clusters |
| Deterministic rules | Rules and the learned model in the same run (Enterprise) | A separate rules-only linking mode |
| Field comparisons | A match type per field, such as fuzzy, exact, email, postcode or numbers with units; the model learns how they combine | Comparison templates, such as name, date of birth, email and postcode, with levels and thresholds you configure |
| Snowflake | Runs natively inside Snowflake (Enterprise), and on Spark everywhere else | Runs on its SQL backends, such as DuckDB, Spark and PostgreSQL |
| Open source | Open source core plus Zingg Enterprise | Yes, MIT licence |
| Support | Commercial support with Zingg Enterprise, plus the open source community | Community, through GitHub |
| Who runs it | Data teams, with their own notebooks, Git, orchestration and monitoring | Data scientists and analysts, in Python |
| Best for | Teams who want learned blocking and matching, persistent IDs and a supported path to production | Analysts who want a statistical model they can inspect and blocking rules they design |
Yes, both have open source cores. Zingg Enterprise adds persistent IDs, incremental runs and support.
It depends on your team. Splink asks you to define comparisons and blocking rules; Zingg asks you to label 40–50 suggested pairs and learns both.
Based on Splink's public information, checked October 2026:github.com/moj-analytical-services · github.com/moj-analytical-services · moj-analytical-services.github.io/splink · moj-analytical-services.github.io/splink · gov.uk/government
Other comparisonsBuild your ownSenzingTamrInformaticaReltioCluedInQuantexaTiloresNeo4jAmperityAll comparisons
Resolve every customer, supplier and product inside your data platform, on the tables you already have.