В этой статье расскажем, откуда берутся дубли, чем они мешают бизнесу и как Loginom помогает избавиться от дубликатов, консолидировать клиентскую базу и держать ее под постоянным контролем.
Все сталкивались с тем, что один и тот же клиент заведен в базах данных компании несколько раз. Причин этому множество, в том числе любимый «человеческий фактор». Например, клиент авторизовался на сайте интернет-магазина, а потом позвонил в call-центр или обратился лично, и менеджер повторно внес его данные.
Путаница в клиентской базе может обернуться большой проблемой для компании, и вот почему:
Перечисленные последствия — малая часть проблем. Cо временем они усугубляются и разрастаются, как болезнь, становятся причиной все бОльших и бОльших убытков.
В общем случае под дублями понимаются несколько записей в учетных системах, относящихся к одному клиенту. Типичный пример таких данных:
Карточки 1 и 4 являются полностью идентичными и относятся к одному клиенту, при этом карточка 3, вероятно, также относится к этому же клиенту, а различие обусловлено опечатками и пропусками при заполнении. А вот карточка 2 относится совершенно к другому клиенту и не является дублирующей. Таким образом, можно выделить полные и потенциальные дубли.
Основной задачей дедупликации является настройка таких алгоритмов поиска, которые, с одной стороны, позволяют выявить максимум записей, относящихся к одному клиенту, а с другой — минимизировать ложные срабатывания, т.е. попадания в группу дублей записей о другом клиенте.
Большинство негативных последствий можно избежать, если «причесать» информацию, настроить и внедрить систему дедупликации данных.
Наиболее эффективный подход, используемый в решении Loginom Data Quality для устранения проблемы дублей, состоит из следующих шагов:
Loginom Data Quality — это решение с инструментами для самостоятельной настройки параметров анализа, смены правил и модификации. Воплотить необходимые технологические бизнес-процессы оказалось просто, последующее использование системы показало существенный прирост производительности и эффективности в обработке данных.
Ведущий аналитик-программист департамента техподдержки «Инвитро»
Расскажем подробнее о каждом шаге поиска дублированных записей.
До начала дедупликации нужно оценить степень загрязненности карточек клиентов. Как правило, ситуация с качеством данных в CRM-системах сложная. Операторы вводят данные о контрагентах «как придется».
Одна из проблем — разные форматы записи атрибутов клиентов: ФИО, телефонов, e-mail, документов, адресов. Распространена ситуация, когда ФИО записано в CRM-системах в разных последовательностях, например, Александров Иван Сергеевич и Иван Сергеевич Александров. Еще чаще не структурированы адресные данные, номера телефонов и документов.
Такие записи при автоматической проверке на полное совпадение будут определены как разные. В этих случаях для повышения эффективности поиска дублей все атрибуты приводятся к унифицированному стандарту, а адреса к формату ФИАС.
Другая проблема — опечатки:
Все эти типы ошибок учитываются в решении Loginom Data Quality для формирования «чистых» клиентских атрибутов, которые позже направляются на дедупликацию.
В общем случае можно выделить два подхода для сравнения записей и поиска дублей — полное совпадение и нечеткое сравнение. Каждый из подходов имеет свои плюсы и минусы.
Проверка на полное совпадение является простой и быстрой, что особенно важно, когда клиентская база — десятки миллионов записей. Однако для корректного решения задачи дедупликации недостаточно только точного совпадения клиентских атрибутов. После очистки все еще остается множество клиентских записей, содержащих неисправленные опечатки и пропуски, поэтому точное сравнение не позволит найти все дубли. В итоге потеряется большой массив потенциальных дублей.
Для улучшения качества дедупликации целесообразно применение нечеткого сравнения — сопоставления значений на основе метрик схожести, таких как расстояния Хемминга, Левенштейна, Дамерау-Левенштейна.
Такие методы позволяют найти кандидаты в дубли, которые невозможно обнаружить при помощи сравнения на полное совпадение. Но расчет нечетких метрик схожести является ресурсоемким. Это приводит к снижению производительности на больших объемах данных, а также необходимости оптимизировать процедуру сравнения, что является нетривиальной задачей.
В решении Loginom Data Quality для поиска дублей используется комбинированный подход, с использованием точного и нечеткого сравнения. Он выражается в применении стратегий поиска — наборов условий сравнения различных клиентских атрибутов, при выполнении которых записи будут считаться дублями.
Рассмотрим примеры стратегий поиска дублей для сравнения следующих записей:
N | Фамилия | Имя | Отчество | Дата рождения |
---|---|---|---|---|
1 | Трунов | Илья | Анатольевич | 01.01.1950 |
2 | Трнов | Илья | Анатольевич | 01.01.1950 |
3 | Иванова | Катерина | Сергеевна | 15.05.1990 |
4 | Иванова | Екатерина | Сергеевна | 15.05.1990 |
5 | Власова | Алла | Алексеевна | 18.06.1995 |
6 | Власова | Элла | Алексеевна | 10.03.1985 |
Видно, что в в фамилии Трунов и Трнов значения расходятся в один символ, поэтому использовать точное сравнение по данным атрибутам нельзя. В качестве метрики выберем расстояние редактирования. Если мы зададим его равным 1, то, казалось бы, найдем нужные дубли, но при этом записи 5 и 6 имеют разное имя и явно относятся к разным клиентам. Для этого нужно при сравнении записей учитывать длину строк.
Таким образом получаем один из критериев сравнения — расстояние редактирования не более 1, но не более 25% от длины сравниваемых строк. Однако и в этом случае могут возникнуть ошибки.
Так, в записи 2 может оказаться значение Трынов, а не Трунов, и строки 1 и 2 уже будут относятся к разными клиентам. Да и в целом, даже полное совпадение ФИО не дает основания считать записи дублями. Нужно вводить еще один критерий — на точное совпадение, например, по дате рождения.
Атрибут | Расстояние Дамерау-Левенштейна, % | Логическая операция |
---|---|---|
Фамилия | 1/25 | И |
Имя | 1/25 | И |
Отчество | 1/25 | И |
Дата рождения | Точное совпадение (0) |
Также нужно определиться, как поступать в ситуациях, когда в сравниваемых записях встречаются пустые значения (или null).
Фамилия | Имя | Отчество | Дата рождения |
---|---|---|---|
Иванова | Ольга | null | 01.01.1950 |
Иванова | Ольга | Сергеевна | 01.01.1950 |
Здесь есть два варианта:
Стоит обратить внимание и на то, что некоторые дубли не всегда можно выявить автоматически. В этом случае используются более «мягкие» стратегии — наборы условий с менее жестким порогом совпадения. Результаты работы таких стратегий передаются на ручную обработку.
Описанный подход полностью реализован в профильном решении Loginom Data Quality и успешно работает на практике.
См. также: