Skip to content

ArtSN7/BankOfferSystem

Repository files navigation

expohack_kaktusi_18

Repo for hackathonsrus

2024-08-03 12 03 29

CactuBase

Краткое описание идеи

Наша система внедряется в воронку продаж менеджера (CRM система) и автоматически собирает и отправляет на сервер данные клиента, которые проходят через обученную ML модель, где по результатам создаются новые лиды, которые автоматически распределяются и отправляются в компании-партнеры.

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

Полное описание процессов работы системы

Стадия 1

Команда разработчиков обучает ML модель на данных клиентов, собранных за последние годы работы компании. Далее происходит настройка и внедрение системы в воронку продаж CRM (например в виде триггера на последних стадиях работы с клиентом: в момент перехода клиента к стадии успешной сделки или отказа).

Обучение модели происходит по принципу, указанному в матрице по портретам клиентов. Предполагается, что в базе данных будут только 0 и 1, где 1 - услуга по которой пришел клиент. Далее на основе этой базы данных, модель предлагает рекомендации по каждому из клиентов, основываясь на гибридной модели рекомендаций, которая использует сразу два метода рекомендаций User-based и Item-based.

Совпадение кросс-услуг между компаниями происходит на основе данных матрицы кросс-услуг, составленной первоначально вручную.
Матрица кросс-услуг

С этого момента система работает автоматически.

Стадия 2

В момент, когда лид попадает на последнюю стадию, активируется триггер и происходит передача карточки клиента на сервис. Карточка клиента проходит процесс валидации (конвертация данных в удобный для модели формат, проверка полноты информации для корректной работы ML модели и пр).
В случае, если валидация прошла успешно, данные по клиенту записываются в БД Pending, где они ожидают дальнейшей обработки.

Раз в N-минут происходит процесс изъятия данных из БД Pending и отправка их в ML модель.
Схема работы ML модели

Модель возвращает список из рекомендаций для клиента а также выдает вероятности, с которой эта услуга подойдет клиенту. В результате работы ML модели мы получаем обновленную БД Processed, в которой хранятся все вероятности сделки того или иного лида, по тому или иному продукту.

Раз в N-минут, данные из БД Processed проходят этап отбора наиболее релевантного продукта для клиента. Здесь же происходит разрешение конфликтов между схожими продуктами компаний-партнеров с применением показателей:

  • конверсия релевантных лидов в оплату;
  • ARPPU (этот показатель эксперты обозначили как важный с точки зрения целевого роста).

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

Раз в N-минут, данные из БД Waiting собираются в формат, приемлемый для той или иной компании, и отправляются компаниям, где уже на стороне интеграции происходит распределение между менеджерами.

Стадия 3

Раз в N-дней будет происходить дообучение ML-модели на основе обратной связи. То есть в ML-модель будут загружаться два типа новых поступающих данных:

  1. Новый лид
  2. Новые сделки

На основе данных происходит дообучение:

  1. Когда в базе данных добавляется новый клиент, модель рассчитывает рекомендации уже на основе своего существующего алгоритма.
  2. Новые сделки значат, что менеджер предложил клиенту какую-то услугу, и тогда он либо воспользовался ей (в таблицу ставится 1), либо нет (в таблицу ставится -1). В случае, если менеджеру вновь понадобится узнать рекомендации для этого клиента, то модель заново рассчитает для него рекомендации.

При этом предполагается реализовать следующие фичи, увеличивающие ценность продукта:

  • тонкая настройка потребностей (обновление портрета клиента, уточнение Job Story, JTBD, CJM). За счет этого модель будет дообучаться по параметрам потребностей, и на основе логики создавать новые связки услуг в рамках матрицы кросс-услуг в процессе дообучения;
  • анализ истории поиска клиента с помощью браузеров (использование cookies, не противоречит закону о защите прав потребителя) и, на основе этого анализа, выдача рекомендации;
  • настройка объема выдачи релевантных предложений путем изменения вручную минимального значения вероятности - рейтинга, к примеру, если были выбраны все релевантные лиды с рейтингом более 80 баллов, то возможно понизить порог до 78, но при этом нужно быть более внимательными в продажах и к обратной связи службы поддержки (не допустить спам).

Детали работы системы

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

Преимущества этого подхода:

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

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

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

Технические аспекты реализации

Система будет безопасна как для компаний, так и для клиентов, так как мы не планируем хранить конфиденциальную информацию, а будем сохранять в базах данных нашей системы только обезличенные данные, которые нужны для работы ML модели (возраст клиента, общий доход в месяц и пр.) и будет связывать клиента по связке ID и названию компании. Например: во время начальной валидации мы отбрасываем все конфиденциальные данные (или изначально их не выгружаем) и делаем связку client_id - parent_company. В самом конце, во время отправки нового лида, в случае, если был рекомендован продукт компании, отправившей лид, мы просто отдаем связку id - related_product и создаем в CRM новый лид с ссылкой на клиента. Если же рекомендован продукт компании-партнера, мы запрашиваем уже все нужные дополнительные данные у компании, отправившей лид, надежно упаковываем все данные и отправляем в компанию-партнер.
В этом случае всем компаниям, внедрившим нашу систему, нужны API для безопасной передачи конфиденциальных данных, так как средства коммуникации вроде email ненадежны.

Служба системы общения с клиентом

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

Информацию чат-бот передает обезличено и рассказывает о релевантном продукте и/или реферальной системе без конфиденциальной и финансовой информации о клиенте. То есть мы не отправляем общие рассылки в чат-бот, а отправляем релевантные предложения для клиента, при их наличии (история сообщений у каждого пользователя будет своя).

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

  • кэшбэк на карты, выпущенные Экспобанком, при покупке услуг у компаний партнеров;
  • накопление баллов "экспобалл" (аналог "Сберспасибо") и оплата ими части услуг компаний партнеров,*
  • оценка качества обслуживания и обратная связь (оставить отзыв); **
  • опросы и анкетирование пользователей для подразделений маркетинга и продакт-менеджмента;
  • скидки по конкретной услуге компании-партнера;
  • скидки по бандлам (bundle) — продажи одним комплектом, когда несколько взаимодополняющих услуг продаются вместе, предложения формируются на стадии первичного касания пользователем - например, «Вместе дешевле» и показать размер экономии.
    • необходимо создание базы данных по подсчету бонусов "экспобалл" при успешной конверсии в оплату, при этом настройки реферальной системы будет продиктована регулированием затрат на лидогенерацию: сколько компании готовы начислить бонусов за их услугу исходя их логики экономии на стоимости привлечения лида со стороны и увеличения retention клиента. ** - возможность голосового ввода, распознавания и всегда эмоционально корректного общения с конечным пользователем.

Схема работы прототипа проекта (MVP)

Архитектура прототипа проекта (MVP)

  • Происходит проверка прав менеджера;
  • На вход системе поступают данные о клиенте (в формате Excel таблицы);
  • Происходит валидация данных: проверка наличия важных полей для работы ML модели, проверка наличия пользователя в базе данных для исключения лишней нагрузки на сервис (если такой пользователь уже был обработан, возвращается сохраненные данные обработки, при отсутствии дообучения модели с момента последней проверки);
  • Данные пользователя сохраняются в системе;
  • Происходит обработка данных клиента ML моделью;
  • Обработанные данные сохраняются в базе данных;
  • После получения результата работы ML модели, данные обрабатываются и упаковываются для дальнейшей отправки менеджеру;
  • Происходит проверка наличия возможности отправки релевантного предложения через Telegram бота;
  • Происходит отправка данных менеджерам данной/других компаний (через интеграцию или на фронтенд) сообщение (пуш, смс или emai) с предложением релевантной услуги.

Схема работы проекта (готовый продукт)

Архитектура готового сервиса

  • В CRM срабатывает триггер, которой запускает процесс отправки данных клиента на сторону нашего сервиса;
  • Данные приходят и отправляются на валидацию;
  • Если данные валидны, они записываются в DB Pending и ожидают, когда их заберет ML модель для анализа и подбора релевантных услуг;
  • ML модель забирает данные, анализирует их и отправляет результат в DB Processed;
  • Бэкенд забирает данные из DB Processed, обрабатывает их на конкурентность (Conflict Resolving Center), где выбирает наиболее подходящий продукт, и записывает данные в DB Waiting;
  • Готовые данные забираются из DB Waiting через Leads Sending Center, упаковываются и отправляются в компанию в качестве нового лида (если компания-получатель та же, откуда пришел лид, то отправляем данные, что у нас есть, если это другая компания, то запрашиваем конфиденциальные данные по клиенту у компании-отправителя и отправляем все вместе в компанию-получатель);

Запуск MVP модели

Чтобы запустить итоговый сервис, нужно открыть консоль, скачать этот репозиторий:

git clone https://github.com/hackathonsrus/expohack_kaktusi_18.git

Зайти в папку репозитория:

cd expohack_kaktusi_18

Установить зависимости для корректной работы программы (нужен установленный язык Python и менеджер пакетов pip):

pip install -r requirements.txt

Ввести команду запуска программы:

make dev

Запустится сайт по адресу: http://127.0.0.1:5000/ Здесь вы можете ввести тестовые логин (iv@gmail.com) и пароль (IV1) и протестировать систему, передав ей наш тестовый файл

Ссылки и материалы

Все полезные материалы можно найти в materials,
Весь код лежит в папке app,
Визуальная (фронтенд) часть MVP здесь.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published