За 10 лет клиентские базы наших заказчиков выросли в 100 раз — с десятков до сотен миллионов записей. А у некоторых из них базы насчитывают уже миллиард клиентских записей. Бизнесу понадобился поиск дубликатов, который справляется с такими объемами «на лету».

Команда HFLabs полностью переписала алгоритм поиска дублей.

Алгоритм поиска дублей — это основная технология, с помощью которой «Фактор» ищет дублирующиеся записи. Но сравнивать каждую запись с каждой во всей базе слишком долго. Чтобы ускорить поиск, «Фактор» сначала готовит данные — собирает их в группы по любому признаку:

  • название компании,
  • фамилия,
  • ИНН,
  • адрес,
  • телефон.

Получается пачка записей-кандидатов в дубликаты. Внутри нее «Фактор» сравнивает каждую запись с каждой и находит дублирующиеся записи.

Раньше «Фактор» ограничивал размер группы потенциальных дубликатов, чтобы искать быстрее

Со старым алгоритмом дедупликации поиск дублей в группе более 3 тыс. записей занимал слишком много времени. Данные в таких больших группах — чаще всего мусорные, показывал опыт дедупликации прежних небольших клиентских баз.

IT-отделы порой создают технические дубли, чтобы отладить внутренние процессы. База из 10 млн клиентов может хранить несколько тысяч карточек условного «Теста Тестовича Тестова». Это бесполезные данные.

Поэтому «Фактор» отбрасывал группы более 3 тыс. записей кандидатов в дубликаты.

«Хорошие» дубликаты, которые могли остаться в отброшенных многотысячных пачках, «Фактор» находил позже. Тут помогали другие признаки: ФИО, адрес, паспортные данные.

«Фактор» отбросил собранную по номеру «+7 926 118 12 12» группу из 3 тыс. клиентских записей. Но нашел дубликаты из отброшенной пачки по другим признакам: по ФИО клиента, адресу или паспортным данным. Такую информацию страховщик вводит без ошибок, чтобы человек получил выплату по страховке.

Потеряться «хорошие» дубликаты могли, если попадали только в одну многотысячную группу, собранную по единственному признаку. В современной базе крупной B2B-компании «Фактор» легко наберет тысячи отделений «Сбера», «Ростелекома» или РЖД по одинаковому названию или ИНН.

Теперь «Фактор» работает с группами потенциальных дубликатов любого размера, не теряя скорости

Новый алгоритм поиска дублей работает на новой архитектуре, совсем по-другому хранит и обрабатывает данные. Поэтому количество записей в группе данных на дедупликацию больше не влияет на скорость дедапа.

Теперь «Фактор» работает без ограничения на количество записей-кандидатов в дубли в одной группе. Но если заказчики сохранят ограничение, то «Фактор» будет искать дубликаты быстрее на 9-20%.

А еще с обновленным «Фактором» заказчики могут докручивать скорость и точность дедупликации под свои задачи. Можно запустить «Фактор» с ограничением, скажем, на 500 записей в группе и на 2 тысячи. Потом проанализировать, потерялись ли дубли с полезными данными, с какой скоростью прошел дедап и решить, какая точность и скорость лучше всего подойдут для бизнес-процессов.

Как получить обновление

Заказчики получают новый алгоритм поиска автоматически при обновлении «Фактора».

Хотите тестировать алгоритмы для повышения качества данных? Приходите к нам https://hh.ru/vacancy/73589540