Почему одинаковый номер клиента в двух системах ничего не доказывает

Номер записи имеет смысл внутри своего источника. Разбираем, как сопоставлять клиентов из разных систем и сохранять основание принятого решения.

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

Два одинаковых номера могут вести к разным людям

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

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

Источник входит в описание записи

В руководстве Oracle по индексу персон исходная запись описана парой: система и локальный идентификатор. Несколько исходных записей могут относиться к одному общему профилю. Это пример устройства конкретного продукта, который помогает увидеть общий принцип: местный номер не становится общим только потому, что его скопировали.

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

Соответствие нужно подтвердить

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

В документации Microsoft Dataverse при интеграции отдельно рассматриваются внешние идентификаторы и альтернативные ключи. Последние позволяют находить запись по согласованному уникальному признаку или их сочетанию. Назначение механизма связано с обменом между системами; наличие одинаковых чисел само по себе таким согласованием не является.

Сомнительная связь должна оставаться сомнительной

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

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

Правильная связь проверяется на последствиях

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

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

Data Engineer для начинающих
Курс
Доступ сразу
Data Engineer для начинающих

Освойте Data Engineering с нуля: научитесь собирать, хранить и обрабатывать данные. Практика на каждом этапе — опыт не нужен.

С нуля до junior
Теория и практика
Диплом по окончании
12 990
₽/мес
УЗНАТЬ ПОДРОБНЕЕ

Источники

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

Обучить команду или нанять специалиста по данным: как выбрать
61

Обучить команду или нанять специалиста по данным: как выбрать

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

Вертикальное и горизонтальное масштабирование данных: в чём разница

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

Журнал изменений данных: как выяснить, кто и когда изменил набор

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

Занятия проходят
в Нова Дата СДО

Вебинары, практика и общение с преподавателем — в одном окне браузера.

Посмотреть интерфейс платформы
Календарь обучения в Нова Дата СДО
Курсы студента в Нова Дата СДО
Редактор кода для практики в Нова Дата СДО
Вебинары и расписание Ваши курсы Код в браузере
Нова Дата СДО — в реестре российского ПОРеестровая запись № 34931
Заявка отправлена
Отправим вам подборку курсов в течение 5 минут. С вами также свяжется наш специалист и даст карьерную консультацию.
Персональный промокод
На курс «Инженер по парсингу данных»
Введите код при оплате, чтобы применить скидку к программе.