Skip to main content
Version: 1.2.0

Матчинг

Матчинг - это процесс выполняемый автоматически в случаях:

note

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

Расширенные согласия

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

Далее на схеме описывается как именно происходит матчинг данных.

Матчинг при выключенных расширенных согласиях

Untitled

Матчинг при включенных расширенных согласиях

Untitled

Алгоритм матчинга

  1. В каждой паре датасетов (Базовый + Небазовый):
    1. базовый датасет матчится с таблицей расширенных согласий реквестора по тем атрибутам матчинга, которые были заданы для матчинга в этой паре;
    2. небазовый датасет матчится с таблицей расширенных согласий партнера, то есть владельца этого датасета, по тем атрибутам матчинга, которые были заданы для матчинга в этой паре;
    3. новые базовый и небазовый датасеты матчатся по заданным правилам в паре.
  2. Каждая пара датасетов последовательно матчится со следующей по заданным правилам объединения результата, то есть:
    1. пара 1 матчится с парой 2 (далее - пара 1_2):
      1. для каждой пары определяется, из какого датасета пары будет взят атрибут для матчинга:
        1. Inner Join / Left Join / Left Anti Join - датасет слева, то есть базовый датасет;
        2. Right Join / Righ Anti Join - датасет справа, то есть небазовый датасет;
        3. Full Outer Join / Full without Inner Join - оба датасета;
      2. формируются возможные варианты пересечений;
      3. осуществляется матчинг по правилу И/ИЛИ по возможным пересечениям атрибутов;
      4. данные из базового датасета сохраняются только из левой пары, то есть пары 1.
    2. пара 1_2 матчится с парой 3 (далее - пара 1_2_3):
      1. для каждой пары определяется, из какого датасета пары будет взят атрибут для матчинга:
        1. в левой паре (пара 1_2) в качестве основной пары берется последняя пара, то есть выбор датасета будет зависеть от типа объединения в паре 2;
      2. формируются возможные варианты пересечений;
      3. осуществляется матчинг по правилу И/ИЛИ по возможным пересечениям атрибутов;
      4. данные из базового датасета сохраняются только из левой пары, то есть из пары 1_2.
    3. пара 1_2_3 матчится с парой 4:
      1. определяется, из какого датасета в каждой паре будет взят атрибут для матчинга:
        1. в левой паре (пара 1_2_3) в качестве основной пары берется последняя пара, то есть выбор датасета будет зависеть от типа объединения в паре 3;
      2. формируются возможные варианты пересечений;
      3. осуществляется матчинг по правилу И/ИЛИ по возможным пересечениям атрибутов;
      4. данные из базового датасета сохраняются только из левой пары, то есть из пары 1_2_3.
    4. и т.д.
note

Так как при матчинге пар данные из базового датасета сохраняются только из левой пары, рекомендуется именно в самой первой паре (Базовый + Небазовый) задавать тип объединения Left Join / Full Outer Join, чтобы в результат максимально попали данные из базового датасета.

Минимальные правила матчинга

Минимальные правила матчинга указываются в настройках организации

Смысл указываемых полей:

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

Указанные правила проверяются при настройке группы матчинга в конструкторе. Порядок подсчета правил указан на схеме ниже:

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

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

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

    Например, у локального провайдера выбраны минимальные правила матчинга с провайдером 2: Номер телефона и Паспорт.

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

> Например указан вес для обязательных атрибутов:
- Номер телефона = 0,5
- Паспорт = 0,4
вес для дополнительных атрибутов:
- Дата рождения = 0,1
- Пол = 0,2
Сумма дополнительных весов = 0,3
Минимальный вес обязательного атрибута = 0,4 → Выбранный датасет допускается к матчингу по указанным весам.
>
  1. Далее проверяется сумма весов минимальных атрибутов матчинга и сравнивается с указанным пороговым значением в группе. Если пороговое значение больше или равно сумме весов минимальных атрибутов, то параметры принимаются, переходим к следующему шагу.

    Если указано пороговое значение 1. А сумма весов минимальных атрибутов матчинга 0,9, то значения допускаются.

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

note

Ознакомиться со списком доступных атрибутов матчинга возможно в разделе Создание и публикация бизнес терминов

Стратегии объединения результирующей витрины

Для витрин выделяется стратегия объединения результата и стратегия попарного матчинга.

Общий процесс формирования витрины отражен на рисунках ниже.

Этап 1 блок 2 отражает стратегию попарного матчинга.

Этап 1 блок 3 отражает стратегию объединения результата.

Untitled

Стратегии попарного матчинга

note

Стратегии попарного матчинга применяются только при условии, что тип объединения выбран как "Общие клиенты / Inner Join", "Все свои клиенты / Left Join", "Неклиенты с общими / Right Join" или "Все клиенты / Full Outer Join"

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

  1. Формируется список пересекающихся строк по атрибутам матчинга;
  2. У пересечений по каждому атрибуту матчинга задается технический идентификатор;
  3. Выполняется отбор строк исходя из стратегии:
    1. Один-к-одному
      1. применяется уникальность строк слева;
      2. применяется уникальность строк справа; Untitled
    2. Один-ко-многим
      1. применяется только уникальность строк слева; Untitled
    3. Многие-ко-многим
      1. не применяется уникальность строк ни слева, ни справа; Untitled
  4. В исходных датасетах:
    1. у строк, которые были получены в результате применения стратегий, проставляется соответствующий технический идентификатор;
    2. у оставшихся строк проставляется такой рандомный идентификатор, что этот идентификатор уникален относительно обоих датасетов; Untitled
  5. Выполняется соединение датасетов по выбранному типу объединения по техническому идентификатору.

Примеры при Inner Join / Общие клиенты

Один-к-одному

Untitled

Один-ко-многим

Untitled

Многие-ко-многим

MatchRate может быть больше 100% Ниже приведен пример промежуточного результата:

Untitled

Примеры при Left Join / Свои клиенты

Один-к-одному

Untitled

Один-ко-многим

Untitled

Многие-ко-многим

Untitled

Объединение результата

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

note

В случае, если витрина состоит из 2х датасетов, базового и любого второго, то правила объединения результата не используются.

На схеме ниже отражен процесс сборки итоговой витрины:

Untitled

Правило объединения результата И/ИЛИ

Первой при объединении результирующих файлов применяется правило И/ИЛИ для объединения результата.

Объединение результата И

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

Пример ниже:

Untitled

Объединение результата ИЛИ

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

Пример ниже:

Untitled