Заправляем сценарий клиентской матрицей. Подготовка данных

Реализация сложных сценариев с помощью производных компонентов

Конечно, ABC-анализ — довольно простая задача и легко решается созданием одного-единственного блока. Но что делать с более сложными сценариями?

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

Важно! Если вы не ознакомлены с темой предыдущего дня «Шинкуем эталонный data-салат. Рецепт сборки собственных компонентов», то для большего понимания советуем предварительно прочитать этот материал.

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

Конечно же, нет. Хотя технически мы никак не ограничены по количеству входов и выходов в узлах (кроме разумных пределов), не стоит многоступенчатый процесс упаковывать в один единственный модуль.

На то есть несколько причин:

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

Давайте посмотрим, как это можно организовать на примере коммерческой библиотеки сегментации клиентов в B2B-продажах.

Бизнес-сценарий для сегментации клиентов

Скачайте в удобное место на жестком диске и распакуйте архив с библиотекой компонентов «Клиентская матрица».

Скачать материал для практики

У вас получится такой набор файлов:

Вы не сможете открыть пакет Клиентская матрица.lgp, т.к. он является зашифрованным. Однако при указании ссылки на этот пакет его производные компоненты становятся доступными для использования в ваших сценариях.

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

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

Создайте новый пакет «KM_demo». Можно прямо в папке с клиентской матрицей. Добавьте в нем ссылку на пакет «Клиентская матрица». Убедитесь, что в разделе «Производные компоненты» появился список модулей решения.

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

Зеленой рамкой обведены компоненты «Клиентской матрицы». Мы будем работать с двумя таблицами исходных данных: транзакций и дебиторской задолженности клиентов на конец месяца. А дальше идет их последовательная обработка.

Узел 1.1 трансформирует данные в формат, удобный для дальнейшей обработки. Узлы 2.1, 2.2, 2.3 рассчитывают аналитические признаки по 3-м наборам критериев. Узел 3.1 консолидирует ранее обогащенные данные и присваивает клиенту один из 17 рабочих сценариев — рекомендацию, что именно с ним делать дальше.

В целом для сложных бизнес-сценариев обычно можно выделить 3 вида узлов:

  1. Узел очистки и подготовки данных (с номером 1). В нем данные проверяются и трансформируются в формат, который будет использоваться последующими узлами. Очень удобно, когда за это отвечает начальный узел, чтобы потом не ставить в случайных местах калькуляторы для очистки. И не запутывать схему, когда эти очищенные в рандомном месте данные потребуются в другом узле.
  2. Узлы обогащения данных (с номером 2). Тут происходит основной расчет бизнес-логики. Если сценарий подразумевает, что бизнес-логику можно разбить на подсценарии, так и нужно делать. Поэтому в нашем случае используется 3 узла для расчета разных наборов признаков клиентов.
  3. Узлы интерпретации (с номеров 3). После расчета бизнес-логики неплохо бы сподвигнуть пользователя к определенным действиям. Выдать рекомендации, что делать дальше. Наличие таких блоков отличает бизнес-продукт от простых технических инструментов.

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

Трансформация данных в формат Клиентской матрицы

Основная идея «Клиентской матрицы» — выстроить на каждый месяц состояние клиентской базы с глубиной на 12 месяцев назад. Сравнивая динамику состояния клиентов, а также оценивая их значимость с точки зрения финансов, объемов, регулярности отгрузок и срока жизни, каждому клиенту определяется один из 17 рабочих сценариев.

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

А мы сделаем первый шаг — подадим данные на трансформацию. Напомним, мы используем стандартную транзакционную таблицу продаж, а также таблицу дебиторской задолженности в разрезе клиентов. Демонстрационные данные содержатся в excel-таблицах в папке библиотеки компонентов.

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

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

Получить доступ к эфиру

У узла «1.1 КМ — агрегация» есть одна особенность — он работает в демо-режиме. Если подать на первый вход данные из демо-файла, то они отрабатываются в полном объеме. Если вы подадите туда ваши данные — то сегментация подготовится по 10% клиентов, но не более чем по 100 уникальным клиентам. Как это сделано — тоже разбираем на эфире.

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

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

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

  • Выручка;
  • Валовая прибыль;
  • Объем отгрузки;
  • Количество продаж;
  • Дата последней покупки;
  • Сумма дебиторской задолженности;
  • Дата первой покупки (самая первая покупка);
  • Рабочих месяцев (месяцы, в которых была покупка);
  • Первая покупка в периоде (первая покупка в диапазоне 12 месяцев).

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

Домашнее задание

Попробуйте изменить набор данных по продажам. Например, поставив фильтр перед вводом в первый порт. Если компонент «не узнает» входную таблицу, то он переключится в режим «считать 10% клиентов, но не более чем по 100 уникальным клиентам». В выходной переменной можете понять, что переключение произошло.

Комментарий эксперта

Что делать, если руководитель компании (ваш руководитель) саботирует внедрение аналитических инструментов? Директор говорит: «я управляю, глядя на три цифры, у меня такая чуйка, что никакая аналитика не нужна». Ну и прочий скепсис по поводу использования инструментов аналитики.

По опыту Юлии хорошо работают следующие аргументы:

Принимать решения, опираясь на три показателя — хорошо. Но для правильных решений нужна возможность разложить 3 показателя на 15-20-25 в зависимости от нюансов принимаемых решений. Иначе можно упустить суть вопроса и принять неверное решение. Вы можете упустить возможности роста бизнеса, оперируя только общими цифрами.

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

Чуйка — это очень хорошо, но она есть не у всех и нарабатывается годами ведения бизнеса. Нельзя масштабировать чуйку на большой коллектив. Большому коллективу нужна система и понятные правила управления. Это может дать только глубокая система аналитики. Пока все находятся в одном помещении, руководитель «на чуйке» может справляться с управлением.

Когда речь идет о структуре с десятками и сотнями сотрудников, распределенных по филиалам — только выстроенная система анализа с прописанными сценариями «случилось X — делаем Y» может устойчиво работать и развиваться. Нужно строить конвейер управления, на который легко запускать новых людей и легко их заменять при необходимости.

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

Если подытожить, то аналитика — это инструмент поддержки роста бизнеса за счет 4-х факторов:

  • Увеличение масштаба текущей организации: новые филиалы или отделения;
  • За счет улучшения качества сервиса: более эффективное взаимодействие с клиентами, контроль оттока, индивидуальные условия и т.д.;
  • За счет открытия новых сегментов: поиск в структуре доходов категорий клиентов/товаров/каналов, к которым можно применить новые подходы и получить дополнительную прибыль;
  • Оптимизация трудозатрат на обработку данных, сложных расчетов. Например, менеджер вынужден строить сложные модели под каждого клиента, и автоматизация этой работы повысит пропускную способность менеджера в разы.

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

Подписывайтесь на телеграмм-канал Loginom
Новости, материалы по аналитике, кейсы применения, активное сообщество
Подписаться