В начале июня мы представили «Антидубликаты» — свежий подход к сокращению «серой зоны». «Единый клиент» по-новому проверяет лежащие в «серой зоне» карточки, которые формально могут описывать одного человека. Теперь система по неким признакам понимает, когда речь идет все же о разных клиентах. Такие записи система выводит из «серой зоны», сокращая ее без участия дата-стюардов.

В этом посте я расскажу, что такое антидубликаты с точки зрения алгоритмов «Единого клиента» и как именно работает поиск.

При поиске антидублей важны паспорта, телефоны и адреса

90+% «серой зоны» — это люди, у которых совпадают только ФИО и день рождения. Именно в этой массе мы ищем антидубли. Задача: найти среди пар похожих клиентов тех, кто гарантированно не является одним человеком. Посмотрев на статистику, мы собрали три правила поиска таких антидубликатов.

Конфликтуют паспорта РФ, а также регионы в адресах. Система считает карточки антидублями, если соблюдены пять условий.

  1. ФИО и дата рождения совпадают.
  2. Первые две цифры в сериях паспортов не совпадают. Это ОКАТО-код региона, в котором напечатали бланк паспорта.
  3. Номера паспортов не равны (страховка от опечатки в серии).
  4. (Если в обеих карточках есть хотя бы один адрес). Регионы во всех адресах первой карточки не совпадают ни с одним из регионов в адресах второй карточки.
  5. В карточках нет других документов, полностью совпадающих по серии и номеру.

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

Конфликтуют регионы в адресах и телефонах.

  1. ФИО и дата рождения совпадают.
  2. Хотя бы в одной карточке нет паспорта.
  3. Регионы во всех адресах первой карточки не совпадают ни с одним из регионов в адресах второй карточки.
  4. Регионы всех телефонов первой карточки не совпадают ни с одним из регионов в телефонах второй карточки.
  5. В карточках нет других документов, полностью совпадающих по серии и номеру.

Это антидубль. «Красноярский край» ≠ «Москва» для адресов и «Краснодарский край» ≠ «Санкт-Петербург и Ленинградская область» для телефонов

Конфликтуют регионы в адресах.

  1. ФИО и дата рождения совпадают.
  2. Хотя бы в одной карточке нет паспорта.
  3. Хотя бы в одной карточке нет телефона.
  4. Регионы во всех адресах первой карточки не совпадают ни с одним из регионов в адресах второй карточки.
  5. В карточках нет других документов, полностью совпадающих по серии и номеру.

Все, что есть на обеих карточках одновременно — ФИО, день рождения и адреса Снова антидубликат. Паспортов и телефонов нет, а регионы в адресах противоречат

При поиске мы не смотрим на массовые атрибуты — те, которые встречаются более чем у 500 записей.

Алексей — страховой агент в крупной компании. Он продает полисы членам семьи, друзьям и всем, до кого дотянется. За каждого клиента Алексей получает деньги от компании.

Алексей уже столкнулся с типичной проблемой страховых агентов. Когда срок полисов подходит к концу, его клиентам названивают конкуренты и пытаются переманить. Неясно, где конкуренты находят номера телефонов, но звонят они всегда.

Поэтому Алексей, оформляя полис, вместо номера телефона клиента указывает собственный. И это помогает: действительно, конкуренты остаются у разбитого корыта.

Для компании коммуницировать с клиентом по такому номеру, а уж тем более использовать его при поиске дублей или антидублей, — дело сомнительное.

Дополнительный критерий: места рождения

Придумав критерии, мы нашли антидубли в базе заказчика и отдали их дата-стюардам. Ребята посмотрели и говорят: «В целом хорошо. Но мы опасаемся ставить „Антидубликат“ парам, у которых кроме ФИО и даты рождения совпадает место рождения. Слишком велик риск, что речь идет об одном человеке».

Место рождения стало важным фактором при поиске антидублей Казалось бы, люди живут и получили паспорта совершенно в разных регионах. Но родились все-таки в одном селе. А вдруг дубль?

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

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

Человек родился в славном городе Горький в 1990 году. В 2004-м получил первый паспорт с местом рождения «г. Горький». А в 2010-м, сменив документ в 20 лет, обнаружил новое место рождения — «г. Нижний Новгород». Классика.

И вот перед машиной две карточки: в одной «Горький», в другой «Нижний Новгород». Чтобы правильно их сравнить, «Единый клиент» должен привести города к одному виду.

Не буду рассказывать о сложностях, с которыми мы столкнулись на пути стандартизации. Было тяжело, но справились. «Единый клиент» научился очищать и хранить места рождения в стандартизированном формате.

Теперь, чтобы «Единый клиент» посчитал места рождения разными, должен сработать любой из критериев:

  • не совпали страны в карточках клиентов;
  • не совпали регионы при одинаковой стране;
  • не совпали группы «район + город + населенный пункт» при одинаковых стране и регионе.

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

Исключения и тонкости

Изучив кейсы с антидублями, мы нашли исключения из правил.

Сравнивая паспорта, мы сравниваем ОКАТО-коды регионов. При этом за прошедшие годы часть кодов мигрировала между субъектами, некоторые коды упразднили. А еще есть два резервных кода, паспорта с ними выдают в разных регионах. При сравнении паспортов мы считаем все эти коды неконфликтными.

ОКАТО 1 ОКАТО 2 Описание
76 43 Забайкальский край и бывший Агинский Бурятский автономный округ
57 48 Пермский край и бывший Коми-Пермяцкий автономный округ
30 51 Камчатский край и Корякский автономный округ
04 59 Красноярский край и бывший Таймырский автономный округ
25 62 Иркутская область и бывший Усть-Ордынский Бурятский автономный округ
04 72 Красноярский край и бывший Эвенкийский автономный округ
35 67 Севастополь и Крым
40 41 Санкт-Петербург и Ленинградская область
45 46 Москва и Московская область
Любой 39 Резервная серия, выдавали во множестве регионов
Любой 09 Резервная серия, выдавали во множестве регионов

Сравнивая адреса и телефоны, мы также считаем неконфликтными часть регионов. Обычно это субъекты федерации, которые территориально находятся внутри других субъектов:

  • Севастополь и Крым;
  • Санкт-Петербург и Ленинградская область;
  • Москва и Московская область;
  • Архангельская область и Ненецкий автономный округ;
  • Адыгея и Краснодарский край;
  • Тюменская область и Ханты-Мансийский автономный округ Югра, и Ямало-Ненецкий автономный округ;
  • Красноярский край и Таймырский (Долгано-Ненецкий) автономный округ, и Эвенкийский автономный округ;
  • Иркутская область и Усть-Ордынский Бурятский автономный округ;
  • Пермский край и Коми-Пермяцкий автономный округ.

Ханты-Мансийский АО находится внутри Тюменской области, хотя это разные регионы. Из-за такого расположения что жители, что телефонные операторы по-разному определяют свою прописку

Подключаем антидубли как доработку

«Единый клиент», вооруженный новым набором правил, сузит «серую зону» компании. При этом совсем не нагружая дата-стюардов.

Мы уже внедрили новую технологию в крупном банке. Подключаем как доработку: предварительно анализируем данные заказчика и полируем алгоритмы поиска. Если интересно, обращайтесь, все расскажем.

Узнать больше об антидублях