Геоаналитика в рознице, часть1: автоматизируем процесс выбора места для бизнеса. 2ГИС + MS Azue + ML

от автора

Всем привет!
Меня зовут Сергей Коньков — я архитектор данных в компании Business reports & Data.
Данная статья рассказывает о возможностях использования гео-аналитики и машинного обучения в розничной компании и основана на реальном проекте нашего клиента — большой сети салонов красоты. Здесь не будет много кода и технических деталей, внимание будет уделено обзору технологий, их применению и интеграции.

Задача

Есть активно развивающаяся компания в сфере услуг. Компания открывает ежемесячно несколько салонов красоты преимущественно в торговых центрах (ТЦ).
Стоит задача — выбор лучших мест для открытий, сокращение времени и затрат на принятие решения.

Примерный план реализации

  1. Получим данные о торговых центрах, которые могут нам помочь в оценке привлекательности мест;
  2. Попробуем найти связь между полученными данными и результатами работы салонов в тех ТЦ, где компания уже работает;
  3. Создадим методику оценки нового ТЦ на привлекательность;
  4. Создадим модель машинного обучения для вычисления этой оценки по тем торговым центрам, где еще нет нашей компании;
  5. Создадим инструменты автоматизации работы специалистов по подбору мест для открытий розничных точек;

Собираем гео данные

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

  • Например в каком районе и городе он находится — Москва или Самара, Барвиха или Выхино;
  • Размер ТЦ — сколько там магазинов, ресторанов, салонов всего?
  • А какие это магазины — строительных материалов или модные бутики?
  • А есть ли там конкуренты? А сколько их там? А какие именно из них?
  • Может быть есть сведения о количестве посетителей в ТЦ?
  • А рядом есть другие ТЦ? В радиусе 5 км ни одного или два лучше этого через дорогу;
  • А что вообще еще есть рядом? Может большой бизнес центр с множеством офисных сотрудников или спальный район?

Так примерно думает «опытный» человек, которому нужно определится с местом для бизнеса. Продвинутый человек имеет в своем распоряжении еще и аналитика, который в Excel или SQL сможет сделать грамотное обоснование на основе всех этих факторов.
На сбор и обработку этих данных нужно время. Попробуем оптимизировать это.

Где взять данные? Посмотрим на гео сервисы, которые есть на рынке. Основные это: Яндекс Карты, 2ГИС, Google Maps. После сравнения возможностей мы остановились на 2ГИС.
Основные преимущества сервиса по нашему мнению: точность, актуальность и полнота данных, удобный API. Но можно использовать и решения других производителей.
Доступ к API 2ГИС можно получить через форму на сайте сервиса. Доступ платный и зависит от количества запросов, отдельно необходимо будет оговорить в договоре с 2ГИС способы использования данных, то есть для чего мы их запрашиваем, что будем с ними делать и так далее.

Расскажу немного как работать с API 2ГИС.
Сервис позволяет выбрать места размещения организаций на определенной территории (город, район, улица и так далее). В качестве фильтра можно указать Рубрику организации (вид деятельности). Сделаем запрос на поиск всех организаций с рубрикой Торговые центры. В результате получим список ТЦ на территории. В ответе для каждого ТЦ так же придут так называемые идентификаторы домов — building_id. Сделаем запрос всех организаций находящихся в здании с одним из полученных building_id. Получим список всех организаций в данном ТЦ включая их названия и рубрики.

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

Инфраструктура проекта

Для реализации мы выбрали облако MS Azure. Там есть все что нам понадобится, а именно:

Все данные, полученные из 2ГИС мы будем загружать в таблицы базы данных SQL Azure.
Все скрипты для загрузки мы поместить в пакеты Фабрики данных Azure. Это позволит нам загружать данные массово (например по всем торговым центрам конкретного города) по расписанию для поддержания актуальности данных, а так же по запросу для конкретного необходимого ТЦ.
Пример заданий интеграции:

Работаем с данными

Можем приступить к поиску зависимости между данными из 2ГИС и реальными результатами работы салонов. Для этого загрузим в хранилище данные о торговых центрах, где компания уже присутствует. Туда же загрузим данные о работе салонов из ERP — выручка, количество чеков, маржу, количество посетителей.
На этом этапе подключаем к проекту Data Science специалистов. Для них мы разворачиваем OLAP куб на основании собранных данных и среду Azure Machine Learning.

Проведенные датасайнтистами исследования показали что на результаты работы салонов (выручку и маржинальность) наиболее сильно влияют следующие факторы:

  • Город где находится торговый центр;
  • Количество магазинов в ТЦ;
  • Число конкурентов в ТЦ;
  • Наличие определенных брендов;
  • Количество других ТЦ в радиусе 2 км;

Для оценки привлекательности ТЦ введем шкалу от 1 до 10. Для прозрачности оценки привлекательности нам необходимо показать пользователю какие именно факторы и как повлияли на итоговую оценку. Вот пример оценки одного из торговых центров:

Подключаем машинное обучение

Рассчитаем данную оценку для всех торговых центров где уже работает компания. Полученный набор данных (факторы + оценка) будем использовать для создания модели машинного обучения. В конечном итоге модель должна определять оценку привлекательности торгового центра для открытия нового салона.

Пример создания эксперимента в Azure ML Studio:

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

Итак у нас есть данные, у нас есть понимание как с ними работать и у нас есть способ ранжирования торговых центров. Теперь передадим это все пользователям в эксплуатацию.

Автоматизируем работу сотрудников отдела подбора помещений

Для начала создадим аналитические отчеты.
Например нам необходимо оценить возможность открытия нескольких розничных точек в городе N. Нас интересует следующие данные:

  • Все торговые центры в городе (количество магазинов в каждом, количество конкурентов, наши салоны);
  • Все торговые центры в городе где есть конкуренты, но нет нас;
  • Все конкуренты в городе (в каких торговых центрах представлены, сколько всего розничных точек);

Вот пример одного из отчетов сделанных в MS Power BI. Источниками данных выступает наше хранилище данных на MS Azure.

Далее сделаем инструмент для вывода собранных данных о торговых центрах на карту. В этом нам поможет уже нам знакомый API 2ГИС. В веб приложении создаем виджет карт и нанесем на него маркеры с оценками торговых центров. Пример (реальные данные изменены):

Подведем итоги

Итак, мы сделали следующее:

  • Построили процесс получения данных о торговых центрах из сервиса 2ГИС.
  • Нашли связь между полученными данными и результатами работы салонов в тех ТЦ, где компания уже работает.
  • Создали методику оценки торговых центров на привлекательность.
  • Разработали отчетность и инструменты для автоматизации работы специалистов по подбору мест для открытий розничных точек.

Посмотрим на архитектуру решения которая у нас получилась.

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

Спасибо за внимание!
Если кого-то заинтересуют технические детали реализации отдельных компонентов решения, то я с радостью отвечу на вопросы в комментариях или в личном сообщении.

ссылка на оригинал статьи https://habr.com/ru/post/483722/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *