
В ERP контрагент має код 1042, у CRM — C-719. Якщо інтеграція сприйме ці коди як ідентифікатори двох різних компаній, повторний обмін може створити дубль. Перед запуском потрібно визначити, як зв’язувати записи, яка система відповідає за кожне поле і хто вирішує спірні випадки.
Профілювання даних
Профілювання даних – це початковий та фундаментальний етап, який передбачає детальний аналіз існуючих даних в обох системах (ERP та CRM). Метою профілювання є виявлення проблем якості даних, таких як пропуски, невідповідності форматів, відхилення від очікуваних значень, дублікати та аномалії. Цей процес дає повну картину стану даних та допомагає визначити обсяг робіт з очищення та нормалізації.
Під час профілювання аналізуються такі аспекти:
- Повнота: Відсоток заповнених полів. Виявлення обов'язкових полів, які часто залишаються порожніми.
- Унікальність: Наявність дублікатів у ключових полях (наприклад, назва компанії, ІПН, номер телефону).
- Відповідність формату: Чи відповідають дані очікуваним форматам (наприклад, номер телефону має бути у стандартному форматі, поштовий індекс – у правильному форматі).
- Узгодженість: Чи узгоджуються дані між собою (наприклад, чи збігається місто із поштовим індексом).
- Розподіл значень: Аналіз діапазонів значень для числових полів або частоти входження для категоріальних.
Умовний приклад. Компанія "Альфа" планує інтегрувати ERP та CRM. Під час профілювання даних у CRM було виявлено, що поле "Назва контрагента" містить записи "ТОВ Прогрес", "Прогрес ТОВ", "ТОВ 'Прогресс'" та "ООО Прогрес". У полі "Телефон" багато записів мають різні формати: "+380671234567", "067-123-45-67", "1234567 (моб.)".
Нормалізація даних
Після профілювання, нормалізація даних стає наступним логічним кроком. Цей процес спрямований на приведення даних до єдиного, узгодженого формату, що є критично важливим для успішного зіставлення та інтеграції. Нормалізація усуває варіації у написанні, форматуванні та представленні даних.
Типові завдання нормалізації:
- Стандартизація написання: Перетворення "ТОВ", "Т-В", "Общ. с огр. отв." до єдиного "ТОВ".
- Форматування адрес: Приведення вулиць, номерів будинків, поштових індексів до єдиного стандарту.
- Стандартизація телефонних номерів: Перетворення всіх форматів до міжнародного вигляду (+380XXYYYYYYY).
- Усунення зайвих символів: Видалення пробілів на початку/в кінці, спеціальних символів, що не несуть змістовного навантаження.
- Перетворення регістру: Приведення текстових полів до єдиного регістру (наприклад, назви компаній – до верхнього, або до регістру першої літери слова).
Умовний приклад. Для компанії "Альфа" після нормалізації записи "ТОВ Прогрес", "Прогрес ТОВ", "ТОВ 'Прогресс'", "ООО Прогрес" будуть приведені до єдиного вигляду "ТОВ 'Прогрес'". Телефонні номери, такі як "+380671234567", "067-123-45-67", "1234567 (моб.)", стануть "+380671234567".
Визначення джерел істини за полями
У контексті інтеграції систем, таких як ERP та CRM, часто виникає питання, яка з систем є "головною" для того чи іншого атрибута даних. Визначення джерела істини (Master Data Management, MDM) є ключовим для уникнення конфліктів та забезпечення єдиної, достовірної версії даних. Цей етап передбачає створення мапи, яка визначає, яка система відповідає за створення, оновлення та зберігання конкретних полів.
Принципи визначення джерел істини:
- Визначення MDM-системи для кожного типу об'єкта: Наприклад, ERP може бути джерелом істини для фінансових даних контрагента, а CRM – для контактної інформації та історії взаємодії.
- Полеве визначення: Навіть у рамках одного об'єкта, різні поля можуть мати різні джерела істини. Наприклад, "Юридична назва" – ERP, "Контактний телефон" – CRM.
- Пріоритезація: У випадку конфлікту, яка система має перевагу?
Нижче наведено приклад таблиці для визначення джерел істини:
| Поле даних | Джерело істини (система) | Правило оновлення |
|---|---|---|
| Ідентифікатор контрагента (УНЗР) | Система MDM/ERP (після зіставлення) | Генерується після зіставлення; основний ключ для інтеграції. |
| Назва контрагента (юридична) | ERP | ERP є пріоритетом. Оновлення в CRM можливе лише через синхронізацію з ERP. |
| Контактний телефон | CRM | CRM є пріоритетом. ERP отримує дані з CRM, якщо вони відсутні або застарілі. |
| Юридична адреса | ERP | ERP є пріоритетом. Оновлення в CRM тільки після синхронізації. |
| Дата останнього контакту | CRM | CRM є єдиним джерелом. |
Детерміноване зіставлення
Детерміноване зіставлення (Deterministic Matching) – це метод ідентифікації відповідних записів на основі точного збігу одного або кількох атрибутів. Цей метод є високоточним і дає майже 100% впевненості у тому, що знайдені записи належать одному і тому ж об'єкту.
Типові правила детермінованого зіставлення:
- Точний збіг унікального ідентифікатора: Наприклад, ІПН, ЄДРПОУ, або інший унікальний податковий номер.
- Комбінований точний збіг: Збіг за кількома полями одночасно, наприклад, "Назва контрагента" + "Телефон" + "Юридична адреса".
Умовний приклад. Для компанії "Альфа" після нормалізації, система може знайти записи з ERP та CRM, які мають точно однаковий ІПН (наприклад, 1234567890). Це є сильним індикатором того, що це один і той самий контрагент, і їхні записи можна об'єднати.
Нечітке зіставлення
Нечітке зіставлення (Fuzzy Matching) використовується, коли точного збігу немає, але є висока ймовірність того, що записи стосуються одного і того ж об'єкта. Це особливо актуально, коли дані містять помилки, одруківки, скорочення або різні варіанти написання.
Методи нечіткого зіставлення:
- Алгоритми відстані: Вимірюють схожість рядків (наприклад, відстань Левенштейна, Джаро-Вінклера). Чим менша відстань, тим вища схожість.
- Фонетичні алгоритми: Зіставляють слова за їхнім звучанням (наприклад, Soundex, Metaphone). Корисно для імен та назв, які можуть бути записані по-різному, але звучать однаково.
- Семантичне зіставлення: Використання словників синонімів або онтологій для визначення схожості.
Результати нечіткого зіставлення зазвичай включають показник схожості (наприклад, від 0 до 1). Записи, що перевищують певний поріг (наприклад, 0.8), позначаються як потенційні збіги, але вимагають перевірки людиною.
Умовний приклад. Якщо в CRM є "ТОВ 'Прогрес'", а в ERP – "ТОВ 'Прогресс'", детерміноване зіставлення їх не знайде. Нечітке зіставлення за назвою контрагента, використовуючи, наприклад, відстань Левенштейна, покаже високий показник схожості (близько 0.95), що дозволить системі запропонувати ці записи для ручного зіставлення.
Черга винятків
Незважаючи на всі зусилля з профілювання, нормалізації та зіставлення, завжди залишатимуться записи, які система не може однозначно зіставити або обробити. Для таких випадків створюється черга винятків (Exception Queue) – спеціалізований механізм для ручного розгляду та вирішення проблемних записів.
Принципи роботи з чергою винятків:
- Автоматичне направлення: Всі записи, які не пройшли детерміноване зіставлення, або ті, що мають низький, але прийнятний показник нечіткого зіставлення, автоматично потрапляють у чергу.
- Інтерфейс для розгляду: Спеціальний інтерфейс дозволяє операторам переглядати проблемні записи, бачити потенційні збіги, вносити корективи та приймати рішення (об'єднати, створити новий запис, позначити як унікальний).
- Протоколювання рішень: Кожне рішення, прийняте оператором, має бути задокументовано для подальшого аналізу та вдосконалення правил зіставлення.
- Навчання системи: Рішення, прийняті людиною, можуть бути використані для навчання алгоритмів нечіткого зіставлення, покращуючи їхню точність у майбутньому.
Умовний приклад. Назви «ТОВ Прогрес» і «Прогрес-Україна» схожі, тому пара потрапляє до черги винятків. Оператор перевіряє реєстраційні коди. Якщо вони різні, записи залишаються окремими, навіть коли компанії пов’язані. Підтверджений корпоративний зв’язок зберігають окремо.
Тестування повторної доставки
Тестування повторної доставки (Redelivery Testing) є критично важливим для забезпечення ідемпотентності інтеграції, тобто здатності системи обробляти один і той самий запис кілька разів без створення дублікатів або помилкових змін. Цей тест перевіряє, як система реагує, коли дані, які вже були успішно передані та оброблені, надходять знову.
Ключові аспекти тестування:
- Ідемпотентність: Перевірка, чи не створюються дублікати, якщо один і той самий запис надходить двічі. Зберігайте ідентифікатор події разом із результатом обробки. Повтор уже застосованої події повертає попередній результат. Нове оновлення перевіряйте за версією запису.
- Оновлення даних: Якщо дані надходять повторно з оновленими полями, система має правильно оновити існуючий запис, а не створити новий.
- Обробка помилок: Як система реагує на повторну доставку записів, які раніше викликали помилки? Чи коректно вона їх обробляє після виправлення?
Умовний приклад. Компанія "Альфа" тестує інтеграцію. Запис про "ТОВ 'Прогрес'" був успішно переданий з ERP до CRM. Через деякий час, в ERP змінюється юридична адреса "ТОВ 'Прогрес'", і оновлений запис повторно відправляється до CRM. Тестування повторної доставки має підтвердити, що CRM оновлює існуючий запис, а не створює новий з оновленою адресою.
Пробна звірка
Пробна звірка (Trial Reconciliation) – це етап, на якому моделюється реальний процес інтеграції з використанням значного обсягу даних, але без фактичного запису змін у цільових системах. Метою пробної звірки є верифікація всіх налаштувань, правил зіставлення, трансформацій та обробки винятків у наближених до бойових умовах.
Процес пробної звірки включає:
- Запуск інтеграції в тестовому середовищі: Використання реальних або максимально наближених до реальних даних.
- Аналіз результатів: Порівняння вихідних даних з даними, які були б сформовані в цільовій системі. Виявлення розбіжностей, незіставлених записів, потенційних дублікатів.
- Виявлення прихованих проблем: Пробна звірка допомагає знайти сценарії, які не були враховані на попередніх етапах.
- Оцінка продуктивності: Перевірка швидкості обробки даних та навантаження на системи.
Умовний приклад. Компанія "Альфа" виконує пробну звірку з використанням 100 000 записів контрагентів. Системі надається знімок даних з ERP та CRM. Після обробки, звірка показує, що 95% записів успішно зіставлено, 3% – у черзі винятків, а 2% – не зіставлено взагалі, що потребує додаткового аналізу правил. Це дозволяє доопрацювати правила та покращити відсоток автоматичного зіставлення до прийнятного рівня.
Критерії приймання
Погодьте пороги на контрольній вибірці до запуску. Окремо вимірюйте частку правильних автоматичних збігів, пропущені збіги та обсяг ручної перевірки. Висока частка автоматичного зіставлення може приховувати помилкові об’єднання.
- Записи з підтвердженими різними реєстраційними кодами залишаються окремими.
- Спірні збіги потрапляють до черги винятків і мають відповідального.
- Повторна доставка тієї самої події не створює нового запису й не повторює операцію.
- Запізніле повідомлення не перезаписує новішого значення.
- За пробним прогоном можна пояснити кожну різницю між кількістю вхідних, прийнятих і відхилених записів.
Зафіксуйте результати звірки, відкриті винятки та рішення про запуск. Послуги Data Management IG з управління даними.