Мы занимаемся склейкой данных, чтобы объединить информацию из Senler, Getcourse и различных анкет в один полноценный профиль пользователя
Архитектура данных: как мы объединяем разрозненные системы в единый профиль пользователя
В школах данные редко живут в одном месте (в частности в Getcourse). Клиент взаимодействует с проектом через разные точки касания: оставляет заявку в Getcourse, проходит опрос, потом попадает в Senler или заполняет анкету в стороннем сервисе. Для онлайн-школы это создает проблему «раздробленности»: без правильной склейки данных мы видим не живого человека, а набор случайных, не связанных между собой фрагментов.
Наша задача в Monitor Analytics — превратить этот хаос в единую, понятную картину, создав сквозной профиль пользователя.
Проблема склейки: как собрать пазл из разных систем
Суть задачи: создание сквозной аналитики Основная цель — связать данные пользователя из разных источников (например, никнейм в Senler, контактные данные из Getcourse и ответы из анкет) в единый профиль. Это необходимо для корректного мониторинга жизненного цикла клиента (LTV) и понимания того, какой канал привел к реальной продаже, а не просто к клику.
Методология идентификации Чтобы «склеить» два разных события в одно, мы используем уникальные идентификаторы. Основными маркерами выступают:
- ID в Senler: позволяет привязать действия внутри мессенджера к конкретному аккаунту.
- Номер телефона: самый надежный способ связки в офлайн и онлайн каналах.
- Email: стандартный идентификатор для веб-форм и рассылок.
Технические риски и «ошибочная склейка» Процесс объединения сопряжен с высокой технической сложностью. Основная угроза — ложноположительная склейка. Например, если разные пользователи вписывают один и тот же email, алгоритм может объединить двух разных людей в один профиль. Это создает «фантомных» пользователей, которые ломают всю логику отчетов.
Защита данных: почему «блэклист» — это фундамент чистой аналитики
Чтобы минимизировать риск искажения данных, мы внедрили систему превентивной фильтрации.
Борьба с «мусорными» данными При сборе информации неизбежно возникает «шум»: пользователи могут вводить тестовые номера (типа «999...»), использовать временные email-адреса или просто ошибаться при заполнении. Если такие данные попадут в процесс склейки, они станут «магнитами», которые притянут к себе данные реальных клиентов, создавая хаос в базе.
Механика работы системы исключений Мы разработали специальную таблицу исключений — блэклист. Работает это следующим образом: 1. Валидация: перед тем как запустить скрипт склейки, система проверяет полученные идентификаторы на соответствие паттернам. 2. Фильтрация: если номер телефона или email распознается как невалидный (например, содержит запрещенные последовательности цифр или не соответствует формату), он автоматически попадает в блэклист. 3. Игнорирование: алгоритм склейки просто «пропускает» такие записи, не пытаясь связать их с существующими профилями.
Результат: прозрачность и точность Благодаря такому подходу, связывание происходит исключительно на основе верифицированных и уникальных идентификаторов. Это гарантирует, что отчеты по конверсиям, воронкам продаж и удержанию базируются на реальных людях, а не на технических ошибках.
авторизуйтесь