БлогУслугиПроекты
Обсудить проект
БлогУслугиПроектыОбсудить проект
Разработка сайтов

Переезд клиентской базы: как проверить 5 видов дублей

Дубли клиентской базы мешают переезду сайта. Разберите пять типов совпадений, подготовьте таблицу решений и проверьте сохранность заказов после объединения.

Редакция Feature IT
Редакция Feature IT·
16 окт
·
8 мин
·
Две одинаковые папки клиентов над картотекой и лупа для поиска совпадений

В старой базе один клиент записан трижды: с рабочей почтой, с личной почтой и под названием компании. При переносе разработчик объединяет похожие записи, после чего часть заказов оказывается в чужом кабинете. Ошибка возникла ещё до импорта, когда по сходству полей решили, что записи принадлежат одному человеку.

Дубли клиентской базы нужно разбирать по правилам, согласованным с сотрудниками. Автоматическая проверка может собрать кандидатов на объединение. Решение зависит от того, что именно означает запись: человека, организацию, контактное лицо или отдельный договор.

В статье использован учебный пример поставщика расходных материалов. У него есть сайт, система учёта клиентов и старые таблицы менеджеров. Все названия и ситуации вымышлены. Пять типов совпадений помогут составить план очистки и сохранить связи с заказами.

Сначала определите, какие записи переносите

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

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

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

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

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

Тип 1. Точная копия с разными номерами

Две записи совпадают по всем содержательным полям, но имеют разные внутренние номера. Одна могла появиться после повторного импорта. Это сильный кандидат на объединение, однако сначала проверьте связанные объекты.

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

Точная копия также может скрывать разный статус. Одна запись активна, другая архивная. Узнайте, почему её закрыли. Возможно, компания перестала работать с этим контрагентом, и автоматическое объединение снова откроет доступ к заказам.

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

Если источников несколько, запишите приоритет полей. Например, актуальный телефон подтверждает менеджер, адрес доставки берётся из последнего согласованного заказа. Приоритет выбирает бизнес. Дата последнего изменения строки не всегда означает свежесть всех её данных.

Тип 2. Один контакт записан в разном формате

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

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

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

Почтовый адрес проверяйте осторожно. Общий адрес отдела закупок принадлежит нескольким сотрудникам. У одного человека рабочая почта могла измениться после переименования компании. Совпадение или различие строки даёт основание для проверки, но не завершает её.

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

Тип 3. Одна организация представлена несколькими подразделениями

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

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

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

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

Подготовим решение для вашего бизнеса

Расскажите, что происходит на сайте и какой результат нужен команде.

Обсудить задачу

Для личного кабинета правила доступа нужно учитывать ещё при заказной разработке сайта. Если очистка базы меняет круг видимых заказов, включите эту ситуацию в приёмку. Красивый список клиентов не доказывает корректность перенесённых прав.

В Feature IT можно заказать перенос и доработку сайта с разбором модели клиентов. На первую встречу полезно принести несколько обезличенных строк и объяснить, кто должен видеть связанные с ними документы.

Тип 4. У одного человека несколько учётных записей

Покупатель зарегистрировался с личной почтой, затем создал рабочую запись. Обе принадлежат ему, но автоматическое объединение требует подтверждённого правила. Совпадения имени и фамилии недостаточно: полных тёзок бывает несколько.

Определите, какой доступ человек получает после объединения. Если новая запись открывает старые заказы или документы организации, нужна проверка полномочий. Нельзя превращать предположение о личности в право просматривать чужую историю.

В некоторых проектах безопаснее сохранить две записи и дать сотруднику поддержки процедуру их связывания после проверки. Сотрудник сначала подтверждает владельца обеих записей и только после этого открывает объединённую историю. Показатель «дублей стало меньше» сам по себе не отражает качество миграции.

Отдельно рассмотрите общий семейный или корпоративный аккаунт. История заказов могла принадлежать нескольким людям, хотя вход был один. Новая система с персональными учётными записями потребует решения о распределении истории. Перенос технически не может восстановить сведения, которых не было в источнике.

Для спорных случаев заведите очередь ручного разбора. В ней указывают исходные номера, найденное совпадение и недостающий факт. Сотрудник принимает решение, оставляет комментарий и имя проверяющего. После этого импорт использует готовый результат, не повторяя догадку алгоритма.

Тип 5. Карточка клиента похожа на служебную запись

В старых системах встречаются «Розничный покупатель», «Тест» и «Заказ по телефону». Такие записи могут объединять разные обращения. Переносить их как обычных пользователей кабинета опасно: один вход откроет историю нескольких людей.

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

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

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

Проблемы обязательных полей похожи на ошибки при настройке API сайта. API означает способ обмена данными между программами. Если новый приёмник требует поле, которого нет в источнике, нужно согласовать правило обработки отсутствующего значения. Случайная подстановка переносит проблему в будущие процессы.

Таблица решений, которую можно проверить

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

Полезно хранить решение на уровне группы дублей. Три похожие записи могут требовать двух разных итоговых клиентов. Простое правило «всё с одинаковым телефоном объединить» не описывает такой случай. Таблица должна позволять явно указать состав каждой итоговой группы.

Не объединяйте согласия, подписки и настройки рассылок по удобству. Их смысл и допустимый перенос согласуют с ответственными сотрудниками компании. Отсутствующее подтверждение нельзя заменить предположением, что оно было у другого похожего контакта.

После заполнения таблицы выполните пробный перенос в отдельной тестовой среде. Сохраните отчёт об исходных и итоговых количествах, список отклонённых строк и причины. Каждый пропуск должен иметь объяснение, чтобы команда могла отличить согласованное исключение от ошибки импорта.

Обсудим ваш проект?

Оставьте контакты — перезвоним и обсудим задачу

Приёмка после объединения

Проверяйте группы с разной сложностью: точную копию, общий телефон, организацию с филиалами и спорную учётную запись. Для каждой группы сравните карточки, историю заказов и права входа. Сотрудник должен найти нужную информацию привычным способом.

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

Для повторного импорта нужен отдельный тест. Запустите перенос той же подготовленной выгрузки ещё раз в тестовой среде по согласованной процедуре. Система не должна создавать новые копии уже перенесённых клиентов. Результат зависит от механизма импорта, поэтому это требование включают в задание заранее.

После переноса сохраните таблицу соответствий исходных и итоговых номеров. Она пригодится при обращении по старому счёту, поиске заказа из письма и последующем обмене с другой системой. Доступ к таблице ограничьте сотрудниками, которым она нужна для работы.

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

Обсудите миграцию клиентской базы с Feature IT, если перенос затрагивает заказы и личные кабинеты. Начните с небольшой обезличенной выборки: по ней можно согласовать правила объединения, права доступа и доказательства корректного переноса.

Читайте также

  • Почему ломается обмен с 1С.
  • Как выбрать студию разработки сайта.

Обсудим ваш проект?

Оставьте контакты — перезвоним и обсудим задачу

Содержание
  • Сначала определите, какие записи переносите
  • Тип 1. Точная копия с разными номерами
  • Тип 2. Один контакт записан в разном формате
  • Тип 3. Одна организация представлена несколькими подразделениями
  • Тип 4. У одного человека несколько учётных записей
  • Тип 5. Карточка клиента похожа на служебную запись
  • Таблица решений, которую можно проверить
  • Приёмка после объединения
  • Читайте также
Поделиться:

Похожие статьи

Рекламу включат утром: что проверить на сайте сегодня
Разработка сайтов

Рекламу включат утром: что проверить на сайте сегодня

9 мин
Кабинет клиента пока пуст: как написать первый экран
Разработка сайтов

Кабинет клиента пока пуст: как написать первый экран

10 мин
Форма без мыши: 6 проверок доступности перед запуском
Разработка сайтов

Форма без мыши: 6 проверок доступности перед запуском

10 мин
Feature IT

Feature IT — платформа по обучению программированию и разработке цифровых продуктов. Мы создаём современные веб-решения для бизнеса и обучаем этому других!

Политика конфиденциальностиПользовательское соглашение

О компании

  • Проекты
  • Блог
  • Карьера

Услуги разработки

  • Разработка сайтов под ключ
  • Веб-приложения на React/Next.js
  • Telegram-боты для бизнеса
  • Mini Apps (Telegram, VK)
  • SEO-оптимизированные сайты
  • Автоматизация бизнес-процессов
  • Поддержка и развитие IT-продуктов

Обучение

  • Курс Python с нуля
  • Алгоритмы и структуры данных
  • Паттерны проектирования
  • Подготовка к собеседованиям в IT
  • Практика на реальных проектах

Инструменты

  • Генератор UTM-меток
  • Счётчик символов