Качество и интеграция клиентских данных
154,80
рейтинг
16 декабря 2015 в 12:51

Разработка → DaData.ru находит и уничтожает одинаковых людей



DaData.ru — сервис автоматической проверки, исправления и дедупликации контактных данных (ФИО, адресов, телефонов, email, паспортов).

У меня в телефоне 453 контакта. Среди них встречаются дубли: один и тот же человек записан то как «Леха», то как «Алексей Мегафон», а то и как «Зиновьев, Алексей Иванович». У Лехи указан скайп и день рождения, у «Алексея Николаевича» — емейл и основной мобильный номер, а у «Мегафона» — запасной номер от понятнокакого оператора.

В телефонных контактах дубли неприятны, но не особо напрягают. Хуже, когда такая чехарда начинается с клиентской базой компании.

Проблема


Когда контактные данные клиентов «размазаны» по нескольким Excel-файлам или базам данных, они усложняют жизнь:

  • Непонятно, во сколько обходится клиент. В 2003 году Виктор Петрович обратился в «МойТвойСтрах» и застраховал жизнь, в 2007 году — автомобиль, а в 2012 — дом. В результате его три раза завели в учетные системы. Автоматически посчитать прибыли и убытки по Виктору Петровичу невозможно, сколько для него должна стоить страховка — непонятно.

  • Рассылка превращается в кошмар. Маркетолог Вика вручную копирует и объединяет телефоны и емейлы из десятка эксель-файлов. Торопится, ругается, ошибается. Впопыхах теряет две тысячи контактов. Когда это выясняется, директор очень недоволен Викой.

  • Взбешенные клиенты. У провайдера «Связьинтерком» клиенты дублируются в трех разных базах (компания работает 20 лет, накопила знатный ИТ-зоопарк). В результате клиент Федор раз за разом получает повторные рекламные письма, звонки и смс. Когда терпение Федора заканчивается, он уходит в «Гуттелеком».

Решение


Найти и уничтожить объединить одинаковых клиентов. Именно это и делает DaData.ru: находит дубли среди клиентов, адресов и телефонов. Объединяет их и строит «эталонную» клиентскую базу для маркетинга, CRM и аналитики.



Кому пригодится:

  • Маркетологу. Построить единый список клиентов из десятка excel-файлов — для рассылки или загрузки в CRM.

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

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

  • И, в конечном счете, — разработчику. Решить задачи бизнеса, не заработав седых волос и не убив на это лучшие годы жизни.

Проще, чем писать свой велосипед


Пффф, найти дубли, подумаешь. Вот, не благодарите:

address1 == address2

Ах да, могут же еще быть опечатки. Тогда так:

similarity (address1, address2) > 0.95

Ну-ка:

> similarity (
      "мск сухонска 11/-89",
      "сухонская, москва, 11 дом, кв89") > 0.95
False

Получается, данные сначала нужно нормализовать, привести к «каноническому» виду («мск сухонска 11/-89» → «127642, г Москва, ул Сухонская, д 11, кв 89»). И сравнивать с осторожностью, а то получится так:

> similarity (
      "Москва, Тверская-Ямская 1-я, д 20",
      "Москва, Тверская-Ямская 3-я, д 20") > 0.95
True  # упс

А еще не забыть при поиске дублей:

  • проверять по нескольким сценариям: ФИО + дата рождения + телефон, ФИО + адрес, адрес + телефон + email — чтобы не пропустить дубли, у которых часть полей не заполнена;
  • придумать эффективный алгоритм, иначе сложность O(n2) на 100 тыс. клиентов даст ~½1010 сравнений клиентов между собой;
  • различать «гарантированные» (можно автоматически объединять) и не гарантированные (сначала проверить вручную) дубликаты — иначе наобъединяете лишнего.

Не самое простое дело. А в Дадате все уже готово.

Точнее, чем проверять вручную


Люди часто ошибаются в адресах и телефонах, или пишут одно и то же по-разному:
г. Новосибирск, ул. Жемчужная, д. 2
жмчужная нск 2, подъезд 4
Советский район, Новосибирская область,
улица Жемчужная, дом 2, квартира 98

Поэтому вручную сравнивать клиентов тяжело: человек не воспринимает эти данные как одинаковые. Конечно, можно нанять 200 операторов, чтобы они прошерстили всю базу. Работать будут долго, обойдется дорого, а в результате все равно много дублей пропустят.

Дадата обработает 100 тысяч записей за полчаса и разобьет данные на три группы:

  • уникальные: клиенты, которые есть только в одном экземпляре;
  • похожие: люди со сходством по атрибутике, не недостаточно сильным, чтобы автоматически объединить;
  • одинаковые: точно одни и те же люди.



Одинаковых Дадата объединит сама. А похожих лучше посмотреть вручную:
«Овчинников Федор, 12.10.1990, Самара Кирова 12» и «Fedor ovchinnikov, Samara, fedor@thefedor.ru» — один и тот же человек? Можно поднять историю его заказов и разобраться, Дадата здесь не поможет.

Как работает и сколько стоит


Дадата использует готовые алгоритмы сравнения ФИО, адресов и телефонов с учетом ошибок и опечаток. За восемь лет мы отладили их на проектах с крупными корпоративными заказчиками и теперь даем доступ всем.

Когда Дадата объединяет похожих клиентов, от каждого берет лучшее: ФИО, адрес, телефон. Если адресов или телефонов несколько, берет все. Одинаковые — объединяет в один.

Если клиенты недостаточно похожи, чтобы объединить, сообщает об этом:
Таких клиентов объединим
Елена Баева, родилась 10.11.1990
г Москва, ул Норильская, д 17, кв 25

Елена Баева
Нарильская мск, дом 17 кв25, этаж 4
А этих — нет (отец и сын)
Алексей Ефремов, 18.06.1951
г Новошахтинск, ул Красных Зорь, д 7

Алексей Ефремов, 12.03.1976
г Новошахтинск, ул Красных Зорь, д 7

Работает с файлами, API пока нет. Напишите в комментариях, если нужно (и как стали бы использовать).

Стоит 25 копеек за запись в файле (10 000 записей = 2 500 рублей). Статистика по файлу и просмотр 100 записей — бесплатно. Попробуйте сами.
Автор: @algenon
HumanFactorLabs
рейтинг 154,80
Качество и интеграция клиентских данных

Комментарии (40)

  • +17
    Где гарантии, что эти данные вы не продадите кому?
    • +3
      Вспоминая, например, утечку смс из Мегафона: «Где гарантии, что эти данные не утекут после взлома?».
    • +2
      Зарабатывать деньги на том, что приносишь клиентам пользу — намного круче, чем быть мерзкими упырями и обманывать людей (к тому же это противозаконно). На сайте реквизиты компании и оферта с условиями использования, там прописано, как мы обращаемся с данными.
      • +6
        Если представить себя на месте таких ребят, то логика следующая «Мои клиенты чаще всего нарушают закон, отдавая нам на обработку персональные данные физ. лиц, т.к. почти всегда их согласие не спрашивается, ведь необходимо обработать форму ещё до того, как клиент сделал заказ. Плюс в оферте у меня написано:

        4.1 Исполнитель не передает третьим лицам, и не использует иным способом, не
        предусмотренным условиями договора, обрабатываемую информацию
        Пользователя.

        где „по условиям договора“ я могу делать всё, что хочу:

        3.2 «Стандартизация»: сервис нормализации контактных данных —
        автоматизированная обработка данных из файлов или посредством API без
        участия Оператора.

        Термин „обработка“ максимально широк, хоть саму передачу третьим лицам обещают не делать
        • 0
          Тот случай когда тебе предлагают отличный сервис, а он оказывается запрещен странным законом.
          • 0
            Каким законом он запрещен?
            • –3
              Закон «О персональных данных», очевидно.
  • +22
    Продайте свои услуги спамерам, пожалуйста, а то ведь бывает по 4-5 одинаковых спам-писем за день, даже читать неинтересно.
  • 0
    А как Вы собираетесь получать согласие человека на обработку его персональных данных (согласно федерального закона «О персональных данных»)? Ведь если Ваш клиент и получил от своего абонента согласие на обработку его данных, но этот клиент никак не мог получить согласие на делегирование процесса обработки третьими лицами?
    • 0
      Часто такое разрешение даётся. Во многих бланках согласия на обработку есть стандартная формулировка, касающаяся передачи ПДн третьим лицам.
      • 0
        Везде сталкивался с тем, что берут согласие на передачу третьим лицам персональных данных. Там есть строчка, что третьим лицам разрешается еще и их обработка?
        • 0
          Должно быть указано с какими целями будет осуществляться передача.
  • +3
    Если два брата-близнеца, Иванов Алексей Иванович и Иванов Александр Иванович проживают по одному адресу и имеют один домашний телефон, их система посчитает одинаковыми и сольет в один контакт?
    • –1
      Сразу песенка Слепакова приходит на ум, Два Кирила, Два Кирила…
    • +4
      Нет. Имя ведь отличается.
      • 0
        у моего сына имя и фамилия такая же :)
        • 0
          Даты рождения у вас разные — есть такое в статье.
          • 0
            А такие случаи обрабатываете?
            Научной базы маловато под статьёй. Крупнейшие компании есть в проектах, а всё исповедуется подход «Третий сорт не брак».
            На выборках в 1000 записей сработает ключ уникальности «ФИО+Дата Рождения», а на стране — даже «ФИО+Дата рождения + Место рождения» не срабатывает иногда.
          • 0
            и да FAR / FRR какие при разборе? Прямая и обратная ошибка при дедубликации.
  • +2
    Было бы неплохо увидеть реализацию в виде приложения для андроид для дедупликации адресной киниги.
  • +1
    Ну да, классическая задача MDM =)
    Свое решение под капотом используется, или от известного вендора, типа Quality Stage или MDM Server?
    Если свое, то на основе какого подхода ищете дублоны? частотный анализ? нейросети?
    Что с локализацией? есть ли правила для нормализации иностранных адресов?
    • 0
      Свое (HFLabs), специализируемся на российских данных. Разбиваем все множество записей на сегменты, дальше внутри сегмента сравниваем кандидатов по куче сценариев. С учетом нюансов вроде разночтений в ФИО и частичной похожести адресов на уровне дроби-корпуса-строения-квартиры.
  • 0
    Оплата за строку как-то дорого выходит. Была бы подписка месячная, можно было бы подумать.
    • 0
      А какая у вас задача? Какие есть более подходящие варианты решения?
  • +8
    Лично мне сервис не очень нужен, но маркетинг шикарен, статья убеждает, респект. Мне бы в юридическую фирму такой маркетинг.
    • 0
      Спасибо! Для юристов может быть полезен другой сервис — подсказки: быстро получить всю информацию по адресу или организации.
  • +2
    А по КЛАДРу (или что там сейчас вместо него) адреса проверяет?
    • +1
      Обязательно. Адреса приводит к ФИАС (это наследник КЛАДР) и восстанавливает доп. информацию (координаты, часовой пояс). Приводит к единому виду ФИО и телефоны, исправляет опечатки.
  • +15
    Мне ваш сервис по профессии не нужен, но статья — идеальный образец того, как надо представлять свои продукты публике. Описание проблемной области, критика наивных решений, предложение собственного решения, цены/условия.

    Супер.
    • +1
      Спасибо за такую высокую оценку :–)
  • 0
    Вот что будет в false-positive?
    Клиент просто удалится из базы?..
    • +1
      Сервис ничего из данных не удаляет. Возвращает два состояния входного набора данных: «до слияния» и «поcле слияния». В первом похожие и одинаковые записи сгруппированы, но не объединены. Во втором — одинаковые объединены.

      До слияния:


      После слияния:
  • 0
    Знакомая проблема… Работаете по российским установочным данным? На Украину не смотрели?
    • 0
      По российским.
  • 0
    A вы пoддepживaeтe мexaнизмы oбфуcкaции, или нaпpимep вклинивaниe пoльзoвaтeлями вcякиx “нeвидимыx” юникoдныx cимвoлoв пpямo в дaнныe? Haпpимep, вoт этoт мoй комментарий не совсем обычный, xoтя c виду мoжeт и нe paзoбpaть.
  • +1
    Классный сервис! Не предусматриваете ли продажу или предоставление по подписке оффлайн-решения?
    • +1
      Спасибо! Да, есть оффлайн-версия (Фактор). Стоит сильно дороже, чем облачный вариант. Если интересно, пишите в личку, обсудим.
      • 0
        Ух ты! А на какой порядок цен ориентироваться, хоть примерно? Просто бывают бешеные заказчики, что живут в закрытых сетях, где интернетов отродясь не было. И вдруг им потребуется мало того, что распарсить адреса, что были напечатаны лапой макаки в безумстве, а ещё и загеокодировать… Блин, уже страшно :-) Коли такой случай возникнет, будем вас рассматривать.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка