Skip to main content
← All product updates

October 6, 2026

Improving company deduplication at scale

Pablo Durán
Pablo Durán

Software Engineer at TheirStack

We have rebuilt how we find duplicate companies. The new system has merged more than a million duplicate company records into the profile of the company they belong to, so jobs and technologies that used to be spread across several profiles of the same employer now sit together.

Duplicates come from the way we collect data. We gather jobs from more than 362,000 websites: applicant tracking systems like Workday, Greenhouse and Ashby, job boards like LinkedIn, Indeed and JOIN, and thousands of company careers pages. A company that hires on several of them shows up once per source, and each source describes it in its own way. One spells the name differently, another adds the legal entity, a third lists no website at all. Left as separate records, they split the company's jobs across several profiles and make it appear more than once in a company search.

We already merged the obvious duplicates as jobs came in. The ones left were records that don't look alike at first sight, and the new system is built for those. The difficulty runs both ways: merge too little and duplicates stay, merge too much and two different companies end up mixed in one profile.

Before: separate company records scattered. After: the same records linked into groups, each group shown as one company profile.

A schematic view: each colored dot represents a company record. We link the records that belong to the same employer and show each group as one profile.

Signals, and how much each one counts

Every record carries signals about the company behind it, and not all of them count the same. Some are strong enough on their own to tell us two records are the same company. Others are weak and only count when several point the same way. Records linked this way form a group, and each group becomes one company profile, with its jobs and technologies together.

Signals can also contradict each other: two records may share one while everything else says they are different employers. In that case we keep them apart, because two profiles for one company is a smaller problem than one profile mixing the jobs of two.

Strong signals link records on their own, weak signals add up, and conflicts keep records apart.

An example: QuidelOrtho

QuidelOrtho, the diagnostics company, appears in our data as six records from LinkedIn, Indeed, Workday and JOIN. Five of them are some spelling of "QuidelOrtho", a few with a legal suffix like "Corporation" or "Sales Company, LLC".

Six records connected into one QuidelOrtho profile, including Ortho-Clinical Diagnostics, Inc. A seventh record, Ortho-Clinical Diagnostics K.K., is kept apart.

The sixth, "Ortho-Clinical Diagnostics, Inc.", has a different name, but enough signals agree to link it to the QuidelOrtho group.

"Ortho-Clinical Diagnostics K.K." looks almost the same as that record, yet it stays a separate profile. It shares a single signal with the group, and nothing else confirms it is the same employer.

More than a million duplicate records merged

The count is of records merged, not companies: a company that had five duplicate records accounts for five of them. For companies whose records were merged, a search now brings together jobs previously split across those profiles, with fewer duplicate entries in company searches. You can look any company up in the app to see its jobs and technologies together.

We will keep improving how we deduplicate companies, so that fewer duplicates reach your searches and each company's jobs and data stay together in one profile.