Данные — основной источник обеспечения функционирования современных организационных систем. Хорошо, если данные — качественные, еще лучше, если они очищены, прекрасно, если данные собраны на витрине, и идеально, если отлажены все процессы управления данными, причем не только на уровне бизнес-процессов организации, но и автоматизированы, начиная от уровня инфраструктуры и заканчивая конечными пользователями [1]. Почти утопично, если организация имеет собственный центр компетенций по работе с данными, основными задачами которого являются не операционная работа по созданию информационных панелей, а непосредственная работа с данными — ретроспективный анализ и прогнозы в зависимости от различных ситуационных значений. Исходя из российских бизнес-реалий можно сделать вывод, что идеальной картины с точки зрения работы с данными почти нет.
Как бы то ни было, но сегодня многие предприятия цифровой экономики осознали, что управлять бюджетом, не опираясь на ретроспективные данные и прогнозные показатели, — неэффективно [2]; управлять проектами без моделирования рисков на базе данных аналогичных кейсов — практически невозможно; строить дата-центричные процессы в управлении организацией без инструментов бизнес-аналитики — нельзя. Потоки разнообразных данных сегодня весьма сложно охватить силами даже самых квалифицированных команд аналитиков, поэтому на первое место в качестве инструмента выходят системы бизнес-аналитики. Однако традиционные системы бизнес-анализа требуют больших временных затрат для реализации всех поставленных задач, но системы, построенные в соответствии с парадигмой self-service, способны приносить больше пользы в единицу времени без увеличения штата аналитиков, существенно сокращая как затраты на подготовку данных, так и минимизируя необходимость привлечения ИТ-специалистов в помощь «гражданским» бизнес-аналитикам (Citizen Data Science).
Парадигма самообслуживания предполагает предоставление бизнес-пользователям инструментов, автоматизирующих максимум функций для работы с данными при минимальных трудозатратах и при минимальных требованиях к квалификации, необходимой для работы с подобными инструментами.
Заваривание быстрорастворимого кофе — тривиальный пример парадигмы self-service. Сам процесс представляет собой набор простых действий, однако при работе с данными быстрорастворимая опция не всегда может привести к желаемому результату. Действительно, любитель кофе может получить чашку напитка, только пропуская отфильтрованные, правильно подготовленные и качественные зерна («данные») через специализированный инструмент, а управленец достоверный отчет об оперативном или стратегическом статусе по конкретному направлению деятельности. Если на старте зерна («данные») высокого качества и подготовлены в растворимый субстрат точно в соответствии с требованиями конкретного пользователя, то подход с растворимым кофе вполне приемлем. Однако по мере увеличения объемов и разнообразия исходного материала потребуется более совершенная система самообслуживания.
Парадигма self-service лучше всего раскрывается на примере различных типов кофемашин: капсульная использует готовую капсулу и предусматривает лишь одну кнопку для приготовления; рожковая уже предусматривает возможность управления процессом отбора зерен соответствующего сорта и манипулирования такими параметрами, как объем сырья, давление и время на процесс приготовления. Работа с данными происходит аналогично: выбор, проверка качества, фильтрация, подача, обработка, получение результата, но в такой «кофеварке» еще много рутинных операций, которые вполне можно автоматизировать. При этом необходимо, чтобы не терялась гибкость в работе с данными — решение о способе анализа и финишной подачи данных в виде информационной панели должно оставаться за аналитиком. Вместе с тем в ряде случаев «зашитые» в систему в виде шаблонов лучшие отраслевые практики (готовые программы в примере с кофемашиной) вполне могут принести бизнес-пользу.
Вместе с тем парадигма self-service не лишена и недостатков. Во-первых, сложно выделить четкие критерии принадлежности системы к классу self-service — любая автоматизация диктуется конкретными бизнес-потребностями и уровнем зрелости компании при работе с данными. Тем не менее некоторые критерии выделить можно: наличие встроенного ETL-движка (самостоятельная разработка, встраиваемый внешний сервис), интеграция с внешними библиотеками для расширения возможности визуализации данных (например, библиотека Apache ECharts, насчитывающая более 400 готовых форм), наличие возможности самостоятельной компоновки дата-сетов, встраивание или наличие собственного фреймворка для работы с алгоритмами машинного обучения. Во-вторых, ключевое ограничение парадигмы — язык запросов к источникам данных, который должен быть встроен в платформу аналитики. В конце крайне важно учесть возможность и удобство сопоставления данных на уровне логических и концептуальных моделей.
Итак, квинтэссенция парадигмы self-service — получение результатов работы с данными в формате оперирования несколькими кнопками. Прекрасная иллюстрация — кофемашина с несколькими программами и встроенным капучинатором, позволяющая вручную или автоматически настраивать процесс в зависимости от предпочтений пользователя, доступного сырья и условий эксплуатации. Наличие функций по предустановленной работе с данными или полная автоматизация ручных процессов, выполняемых аналитиками, — это и есть система самообслуживания бизнес-аналитики.
Первая ступень self-service
Первый шаг к реализации системы бизнес-аналитики, отвечающей парадигме self-service, — автоматизация ETL-процесса переноса данных из нескольких информационных систем в одно хранилище. Процессы извлечения, обработки и передачи данных для визуализации имеются в любой системе бизнес-аналитики, однако именно автоматизация этого процесса — первое, необходимое условие self-service. Большинство моделей управления в организационных системах подразумевают наличие разрозненных источников данных — от электронных таблиц до баз данных. Обработка потоков данных из различных источников занимает основное время при подготовке управленческой отчетности. Этим процессом можно управлять вручную, в частности, на базе прикладного программно-аппаратного комплекса Apache NiFi. Такой подход получил широкое распространение, однако исключает полную автоматизацию и не обеспечивает отказоустойчивость. Другим примером может служить построение ETL-процессов на базе SQL-движка на основе программно-аппаратного комплекса Spark. Этот способ избыточен и трудоемок, что не способствует повышению скорости принятия решений и задерживает старт процесса анализа данных.
Рис. 1. Пример автоматизации ETL-процессов |
На рис. 1 приведен пример автоматизации ETL-процессов в системе Analytic Workspace.
Запуск обработки данных начинается любым удобным для аналитика способом — от ручного до автоматического по расписанию или заданному событию, например, по факту обновления одного из источников данных. Далее в обработку запускаются потоки информации, отвечающие бизнес-целям аналитика. В качестве примера можно привести параллельное получение данных из таблицы на сетевом диске, базы данных корпоративной системы управления предприятием и веб-сервиса, собирающего метрики по заявкам с сайта компании. Процесс ETL может быть реализован как на уровне кода в ручном режиме, так и автоматизирован. В примере (рис. 1) предлагается автоматизация этого процесса для вывода витрин данных. После подготовки данных можно приступать к их бизнес-интерпретации.
Еще раз надо подчеркнуть, что автоматизация ETL-процессов — ключевой фактор достижения парадигмы self-service. Один из способов автоматизации ETL состоит в создании особых программных «блоков-декораторов» (ETL-блоков), представляющих собой управляющие скрипты, каждый из которых производит определенную операцию с данными таблицы или любого другого источника, например, из СУБД. Блоки собираются в библиотеку, при работе с которой пользователь может самостоятельно и без программирования привести свои данные к необходимому виду.
Автоматизация работы с ETL-блоками в парадигме self-service происходит за счет встраивания типовых алгоритмов обработки данных, получаемых из конкретного доступного источника, и позволяет упразднить рутинные операции аналитика, сократив время получения конечного результата. Под конечным результатом в данном случае понимается скорость подготовки информационной панели от подключения источников данных до их извлечения, обработки и визуализации.
В идеальной системе могут быть автоматизированы следующие ETL-блоки:
- «Вычисляемые поля» — добавление вычисляемых полей к любой части модели; вычисляемое поле задается названием и выражением для вычисления значения поля. При указании выражений вычисляемых полей используется Spark SQL;
- «Декоратор» — произвольное преобразование схемы и процедуры получения данных любой части модели;
- «Функция» — реализация произвольного поведения при обработке данных модели, например, классическая функция асинхронной обработки данных;
- «SQL-блок» — выполнение произвольных SQL-выражений над любой частью модели;
- «Временная серия» — генерация столбцов с некоторыми периодическими временными значениями;
- «Разворот иерархии Parent-Child» — преобразование таблицы с иерархией «родитель-потомок», где уровни иерархии вынесены (развернуты) в отдельные столбцы;
- «Прогнозирование временного ряда» — прогнозирование временного ряда на основе автоматически обучаемой статистической модели;
- «Классификация/регрессия с ML-моделью» — выполнение предсказания (классификация, регрессия) для таблицы на основе ML-модели из внутреннего реестра моделей;
- «ML-модель в ручном режиме» — блок предназначен для специалистов по ML-моделям и расширяет функциональность блоков «Прогнозирование временного ряда» и «Классификация/регрессия с ML-моделью»;
- «JSON-блок» — преобразование значения из поля JSON в новые строки или столбцы.
Из простых ETL-блоков можно конструировать большие логические модели с неограниченным количеством уровней вложенности для решения разнообразных аналитических задач, например, при обработке большого потока данных в конкретный момент, что характерно, в частности, для больших розничных сетей (например, подготовка информационной панели по оборачиваемости склада и товарообороту торговых помещений). Автоматизация работы с ETL-блоками для таких задач существенно сокращает трудозатраты аналитиков на предварительную подготовку.
Таким образом за счет автоматизации ETL-процессов достигается первая ступень построения системы самообслуживания и ускоряются процесс подготовки аналитических данных для бизнес-пользователей.
Вторая ступень self-service
Второй элемент в построении системы, отвечающей парадигме self-service, — блок автоматизации прогнозных значений на основе алгоритмов машинного обучения и комплексных математических моделей. Бизнес-анализ призван ответить на два ключевых вопроса, обычно волнующих руководителей: что происходит в настоящий момент и какие сценарии будущего возможны, исходя из ретроспективных и оперативных данных. Самообслуживание здесь достигается за счет предоставления готовых паттернов обнаружения (например, методами машинного обучения) скрытых связей в данных, которые могут быть недоступны для человеческого восприятия. Ключевая бизнес-ценность заключается здесь в создании возможности заблаговременного предотвращения проблем и исключения рисков благодаря обнаружению аномалий и предупреждению о возможных сбоях. Очевидно, что такое прогнозирование подразумевает большие объемы ручного труда и тут требуется автоматизация рутинных операций.
Имеется ряд исследований в области применения временных рядов для прогнозирования на основании имеющихся данных, например, проведенных в Национальном центре когнитивных разработок ИТМО. Несмотря на то, что задача прогнозирования востребована в науке и бизнесе, в большинстве открытых библиотек машинного обучения нет средств построения конвейеров для решения задачи прогнозирования временных рядов. Причин тому может быть несколько, одна из которых — сложность в адаптации текущей функциональности библиотеки для прогнозирования рядов без переработки инструментария для других задач (классификации и регрессии). Отдельно следует упомянуть прикладные исследования по управлению данными на основе линейной регрессии. В задачах, связанных с регрессией, предсказывается реальное число на основании входящих данных. По сути речь идет о построении многомерного пространства вдоль тренировочных данных, позволяющего сделать прогноз для входных данных, отсутствующих в обучающей выборке. Такой подход реализован, например, в утилитах для записи, передачи и запуска кода Jupyter NBViewer или Binder. Дополнительным удобством представляется возможность работы не в режиме блокнота, а в режиме браузера. Таким образом любой пользователь может работать и с данными, и с кодом, в том числе изменять параметры обучения модели и сразу же увидеть результат обучения. Конечно, все это требует ручных операций и интеллектуальной работы, однако возможность встраивания такого функционала в информационные системы для работы с данными напрямую влияет на успешную реализацию парадигмы self-service в организационных системах любого типа. Задачи прогнозирования тесно связаны с прикладными задачами бизнеса в части реализации стратегий развития компаний.
Рис. 2. Архитектура информационной системы Analytic Workspace |
На рис. 2 представлен пример архитектуры, предусматривающей встраивание прогнозной аналитики в реализацию системы самообслуживания как второй ступени парадигмы self-service.
Микросервисная архитектура (рис. 1) поддерживает построение системы бизнес-аналитики из блоков, реализующих ее основные функции: подключение различных источников данных, построение хранилища, автоматизация ETL-процессов, поддержка сервисных функций от логгирования до работы с кэшем. Отдельно имеется возможность прямого подключения Jupyter-подобных систем и сервисов для непосредственной работы с любым хранилищем данных, что сокращает сроки поставки данных для анализа. Блок по автоматизации работы с ETL-блоками отвечает за подготовку дата-сетов для построения прогнозных моделей. Можно также выводить сторонние сервисы за рамки информационной системы для управления данными, однако это создает дополнительные транзакционные издержки как в работе самой системы, так и в работе аналитиков, работающих с прогнозными значениями.
***
Бизнес уже не сомневается в важности инструментов обеспечения качественными данными систем бизнес-аналитики, причем доступных в режиме самообслуживания. Сегодня проводится множество исследований и накоплен богатый опыт автоматизации процессов, необходимых для создания таких систем, например ETL, однако многие из них по-прежнему выполняются в ручном режиме. Для анализа процессов в организационных системах успешно применяются концептуальные ML-модели на базе Jupiter-сервисов. Однако отсутствие возможности автоматизированного встраивания таких сервисов повышает трудозатраты при работе с моделями и замедляет доставку конечных результатов бизнес-пользователям.
Построение информационных систем в соответствии с парадигмой self-service позволит автоматизировать большинство процессов работы с данными, что, в случае систем бизнес-аналитики, означает сокращение времени не только на принятие управленческих решений, но и на построение прогнозов устойчивости организационных систем в различном бизнес-окружении.
Парадигма self-service подразумевает возможность самостоятельной работы бизнес-пользователей без привлечения ИТ-подразделений за счет встроенных и автоматизированных сервисов для работы с данными. Однако это не исключает необходимость в начальной подготовке «гражданских» бизнес-аналитиков в сфере ИТ и понимания ими основных подходов к работе с данными.
Литература
1. А. И. Репичев. Управление данными в современных компаниях // Деловой вестник предпринимателя. — 2022. — № 10 (4). — С. 100–101.
2. Р. Ахатов, А. Анналыев, М. Атагаррыева. Стратегии управления данными в телекоммуникационных сетях // Международный научный журнал «Вестник Науки». — 2024. — № 9 (78), том 3. — С. 331.
Яков Кротов (yakov.krotoff@gmail.com) — аспирант, НИУ ИТМО (Санкт-Петербург).
DOI: 10.51793/OS.2024.45.43.005