Каждой компании – немного BI

Управление - Управление проектом

45
В статье Алексей Лустин делится своим опытом и объясняет простым языком, как запустить BI в компании. Он рассматривает вопрос стоимости владения проектами BI, приводит примеры показателей, которые можно применять для оптимизации бизнеса, дает подробный обзор инструмента Collaborative Data Science, поэтапно рассматривает типовой план проекта по запуску BI, а также приводит примеры ошибок и проблем, с которыми могут столкнуться компании при запуске.

Интересно, есть ли у кого-нибудь из присутствующих BI? Вы, наверное, думаете, что BI нужен тем, у кого есть BigData? А как вы считаете, BigData – это сколько? Петабайт – это BigData?

  • BigData – просто ваше отношение к данным, это может быть даже один килобайт.
  • Если у вас есть отношение к данным, как к большим, то BI – это то, как вы их анализируете.
  • У вас может быть микрокоманда из одного человека, но при этом вы будете использовать BI – это нормально.

Поговорим о том, как все это работает.

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

Моя сегодняшняя задача – за 30 минут показать вам, как можно запустить BI у себя в компании, чтобы это ни значило.

Маленькая ремарка: все это будет базироваться на отторжении компетенций от математиков.

Я вам не продаю BI, не надо ко мне обращаться. Если хотите получить консультацию, можете написать мне на i.need.lustin@silverbulleters.org. Я могу ответить, но вряд ли сделаю что-то платное, либо сделаю, но это будет что-то сложное.

Я работаю в команде «Серебряная пуля». Если кто не знает, наша команда специализируется на 1С плюс «что-то». Если у вас есть 1С и вы хотите к нему «прикрутить» что-то – это наша зона ответственности. AMQP, EDA, ESB, MQTT, IoT, Blockchain – это все к нам.

У каждого из нашей команды есть персональный «фетиш» – то, чем человек любит заниматься бесконечно. У меня «фетиш» – это:

  • Big Data и BI для бизнеса. Это «дашборды реального времени» – с их помощью, например, бизнесмен может видеть изменения среднего чека по России в реальном времени.
  • И второй мой фетиш, любимый – это способ получения данных бизнеса для BI. Если мы попробуем взглянуть на бизнес, как на источник данных для BI (Business Intelligence – бизнес-расследование), то увидим, что здесь нам понадобится событийная интеграция. Когда произошло бизнес-событие, нам нужно срочно в реальном времени отдать его научным способом бизнес-аналитикам (аналитикам данных, «бизнес-инвестигейторам», «дата-сайентистам» – вот такие интересные «жаргонизмы»). Я могу заниматься этим и говорить об этом бесконечно. Иногда даже что-то прототипировать и запускать. 

То, что показано на слайде, называется Big Data Landscape 2017. Я специально скопировал это неделей раньше. Здесь представлено множество продуктов и концепций для работы с Big Data и BI. Здесь есть:

  • Hadoop;
  • Tableau;
  • QlikView. (хотя это не совсем Big Data);
  • Microsoft Power BI;
  • Из программно-аппаратных комплексов – здесь есть, например, Teradata.

Но я не буду вам рассказывать про это. Я за 30 минут должен рассказать, как запустить BI лично у вас, даже в микрокомпании. Например, для данных склада.

 

Что такое Big Data и BI?

Итак, мы определились с тем, что BigData – это большие данные, а BI – это исследование больших данных научным способом. Но в чем это проявляется?

Привожу пример бизнес-показателя. Например, мы в моем любимом Анадыре продали обычную тарелку для еды. Следовательно, в Москве у нас должен измениться платежный календарь.

Можно ли это алгоритмизировать?

  • Если мы продали тарелку, то мы инкассируем это.
  • Если мы инкассируем, значит, деньги доедут до «Колыма-банка» и где-то через трое суток упадут к нам на счет, например, «Сбербанка».
  • Соответственно, я могу спланировать платежный календарь. Конечно, есть вероятность, что инкассаторы могут «накосячить» или их могут, условно, ограбить. Но гипотетически я могу примерно спланировать, когда у меня появятся свободные средства.

Как на этом можно заработать? Можно ли заработать на точном платежном календаре? Да. Можно положить деньги на депозит в «Альфа-банк» или «Сбербанк» и два дня их «погонять». Но это нужно сделать событийно, т.е. в Анадыре продали тарелку – у нас поменялся платежный календарь. Это не BI, это событийная интеграция.

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

 

BI – это просто

Как вообще работает BI? Очень просто.

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

  • Допустим, у вас есть некие большие данные – они обычно не структурированы. Это могут быть какие-то данные 1С, данные с логов Apache и т.д.
  • После того, как вы взяли большие данные, вам всегда нужно навести в них «качество». Этот процесс называется Data Quality, «наведение качества». На русский язык, как правило, не переводится. Data Quality звучит красивее.
  • Вы наводите в этих данных «качество» и переносите их в хранилище данных, где у вас уже будут лежать «качественные» данные,
  • И потом применяете к этим данным некий научный метод анализа – научный инструмент Business Intelligence.

Что получится в итоге? Неизвестно. Всегда может быть 3 варианта.

  • Может что-то получиться.
  • Может ничего не получиться, и придется возвращаться, опять добавлять большие данные внутрь и снова идти по схеме.
  • Или у вас может возникнуть вопрос: «Что вообще происходит?».

Это и есть BI на пальцах, «из топора».

Всех интересует, какой математический аппарат приземлять для BI. Я не буду говорить, как применить к этому генетический алгоритм или что-то еще. Все математики всегда идут по одному пути. Бизнесмены идут по своему пути, а математики по-своему.

  • Математики всегда начинают со статистических функций, с какой-нибудь экономической точки заказа (второй курс экономической теории).
  • После этого они добавляют оптимизационных функций. Это – некий алгоритм, который в результате своей работы рождает другой алгоритм, так называемую целевую функцию, которая решает исходную задачу. Ты ей ставишь вопрос, строишь алгоритм, который анализирует вопросы. И что она выдает на выходе? 42, точно. Это и есть оптимизационные функции.
  • После этого вступают в работу нейронные сети, которые анализируют данные.

Теперь понятно, почему это стоит дорого?

Помните мой доклад на первой конференции Инфостарта, где я говорил про уровни абстракции? Вы живете на уровне 1С-автоматизации бизнеса, а математика – это еще ниже ассемблера. И чтобы поднять математику до эффективности бизнеса, вам нужно уметь рассчитывать такие показатели, как:

  • Затраты;
  • И возврат инвестиций.

Дело в том, что «дата-сайентист», математик, который умеет работать с данными и обладает для этого бизнес-компетенциями, по состоянию на неделю назад, в год получал 90 тысяч долларов. Это общемировые расценки. В России плюс-минус то же самое. Это очень дорого. Ребята из Швеции говорят, что системы типа BI, которые анализируют данные, стоят 500-600 тыс. шведских крон (с инфраструктурой и всей этой «обвязкой», включая математиков, которые стоят 90 тыс.). Я специально говорю, что ребята из Швеции считают, что это очень дорого. Они продают OpenSource-продукт Pentaho BI и поэтому анализируют, сколько это будет стоить. Они говорят, что OpenSource – это здорово, это вам ничего не будет стоить – так они продают. Но совокупная стоимость владения Pentaho BI составит около 400 тыс. шведских крон – это достаточно большие деньги.

А я вам напоминаю, что вам нужно запустить BI за 30 минут сразу по возвращению с конференции Инфостарта. И чтобы вернуть эти затраты (а вы их понесете в любом случае), вам нужно знать, что вложиться придется, причем скорее всего придется вложиться большим количеством собственного времени. И первое, о чем нужно задуматься – это о том, как окупить эти затраты. Желательно за 2 недели.

Отсюда мы переходим к деньгам.

 

BI – это деньги

Что такое инновация?

Инновация – это технология, которая доказала свою экономическую эффективность, в том числе за счет маркетинговый привлекательности. Если вы изобрели какой-нибудь BI-инструмент, опубликовали статью на Инфостарте о том, как вы отлично что-нибудь проанализировали – вы получаете за это «плюсики» и стартмани. Это инновация.

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

  • Я люблю такой показатель, как экономическая точка заказа. Это когда вы должны математическим способом правильно рассчитать размер товарно-складского запаса, необходимый вам для обеспечения заказов покупателей, если вы в ритейле.
  • Или, например, вероятность просрочки платежа конкретным клиентом.
  • Или расчет правильной математической себестоимости сотрудника склада. На этом можно заработать, сменив схему мотивации: кого-то мотивировать, кого-то демотивировать, построить систему штрафов и т.д.
  • Про стоимость привлечения клиента с «воронки», наверное, знают все, кто занимается маркетингом и CRM.
  • Также интересен оптимальный объем сырья. На нем я остановлюсь отдельно. В Магнитогорске есть ребята, которые сделали интересную вещь. У них были «большие данные» состояния датчиков работы домны. И они с помощью машинного обучения и нейронных сетей рассчитали оптимальный объем вольфрама, или молибдена, или чего-то редкоземельного (каких-то редких материалов, которые добавляются в сталь), и на этом сэкономили очень много долларов. Потому что это была какая-то сложная сталь для ВПК (не та, которую мы используем в быту) и стоила она очень дорого, и эти редкоземельные материалы тоже стоили дорого. Эти ребята математически рассчитали оптимальный объем дополнительного сырья, которое было экономически эффективно, и на этом заработали очень много денег. Математики, которые это делали, тоже заработали денег, т.е. все в выигрыше.

Это и есть инновационные BI-инструменты. А если вы начинаете: «Давайте сделаем хранилище данных, внедрим себе QlikView…». Зачем? Кто на этом заработает?

И последнее, что я хочу рассказать про деньги. Когда вы запускаете BI у себя, начинайте с того человека, который будет принимать решения. BI – это система поддержки принятия решений для конечного бизнес-пользователя. Если нет человека, который будет принимать управленческие решения, BI у вас никогда не «взлетит». Это будет только инструмент математика для анализа чего-нибудь в вакууме.

Можно ли математически ответить, требует ли дополнительной автоматизации какой-нибудь абстрактный отдел аренды или ИТ-отдел?

Как вы будете это эмпирически исследовать? Придете в отдел аренды, посмотрите, сколько у них Excel. Если у них 90% Excel, то, скорее всего, дополнительная автоматизация им не требуется. Это эмпирически, т.е. ты пришел и посмотрел.

Но если математически, то нужно:

  • Посмотреть их кейсы, их систему управления требованиями, забрать оттуда данные.
  • Если у них есть какая-нибудь микросистема в ERP или в «1С:Документообороте», где они что-то согласуют, то к исходным данным можно добавить данные ошибок из журналов регистрации с «продуктива».

На основе этих данных можно математически выстроить модель потерь эффективности у отдела аренды, рассчитать эти показатели и примерно прикинуть, стоит ли этот отдел автоматизировать.

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

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

Но если по-правильному, то:

  • Берем данные об остатках у поставщиков;
  • Берем данные по своим остаткам;
  • Берем покупательскую воронку;
  • И находим, где нам нужно расширить номенклатуру (в чем мы не удовлетворяем нашего клиента).

В результате мы должны получить некий Goods Collection, т.е. комплект товаров. Система BI должна математически найти нам тот товар, который надо бы закупить. На этом можно заработать. Закупщики будут счастливы.

Так ли нам важны персональные данные клиентов? Все очень любят это запускать с точки зрения BI. «Давайте посмотрим персональные данные наших клиентов, их профили в социальных сетях и т.д.». Но при этом обрабатываются так называемые «некачественные данные»: профили в Facebook, в ВК, в Google. Там, в основном, зона BI работает на том, чтобы навести порядок, чтобы карточка клиента была качественная – для этого используется некая математическая функция, например, расстояние Левенштейна при объединении контактов.

 

BI – это коллектив

Итак, первый раздел был про то, что BI – это просто.

  • Берем большие данные;
  • Наводим в них порядок;
  • Сохраняем их в хранилище;
  • Привлекаем математиков и просим их эти данные проанализировать;
  • И начинаем зарабатывать на «показателе» деньги. Изобретите совместно с бизнесменом какой-нибудь показатель, на котором вы готовы попробовать зарабатывать.

И после этого у вас встанет вопрос выбора инструмента для BI. Это сложный вопрос, потому что еще год назад я бы посоветовал вам взять:

  • Tableau;
  • Pentaho BI;
  • QlikView я бы вам не посоветовал;
  • Возможно я бы сказал Prognoz, но нынче с Prognoz беда.

А сейчас я расскажу про то, что произошло в этом году.

Когда я в 2012 году думал, какие доклады предложить на конференцию INFOSTART, я выбирал из семи тем – была тема про метаданные, про Jenkins. Больше всего я тогда хотел рассказать про BI, но оказалось, что на тот момент это никому не было интересно. И вот сейчас, наконец, я опять вернулся к этой теме. Следующие доклады уже будут про какие-то другие инновации, с которыми никто из нас на тот момент еще не экспериментировал.

Итак, в 2012 году мое видение было спозиционировано на Pentaho Weka. Это был инструмент, который позволял мне, как математику, анализировать какие-то данные. Но оказалось, что мой подход был неверным, потому что тогда я анализировал фактически сам себя, т.е. что-то для себя анализировал и бизнесу ничего не продавал. Это было моей ошибкой, и хорошо, что этот доклад идет сейчас.

Сейчас я предлагаю вам посмотреть на Dataiku Community Edition. Это:

  • Collaborative – совместная;
  • Continuous – непрерывная;
  • Data – работа с данными;
  • Science – научным методом;
  • Platform – при помощи ИТ-платформы.

Специально переводил, чтобы вы поняли:

  • Совместная – потому что один математик в поле не воин, и один бизнесмен – тоже. Их надо подружить. Хуже того, микрокомпании не могут позволить себе затраты. Поэтому BI должен быть collaborative между компаниями.
  • Непрерывная, потому что вы, допустим, изобрели инструмент, который может выдать какой-то результат. Например, проанализировали данные, и выяснили, что у вас 15 текущих клиентов. Это вам ни о чем не говорит. Поэтому вы возвращаетесь на этап назад и делаете следующий цикл. Это непрерывное развитие, continuous – то, что я больше всего люблю. Именно поэтому я не люблю ITILv2, а люблю ITILv3 – потому что все должно быть continuous, все должно развиваться бесконечно.

Поэтому Dataiku.

Как это работает? Есть такая вещь, как расстояние Левенштейна – это некая математическая функция для объединения двух множеств. Она что-то считает и выдает какой-то результат. Например:

  • У меня есть контакты, которым я верю – это мой список клиентов,
  • И есть другой список контактов, которым я не верю, которые я загрузил откуда-то из Excel, или из Facebook, или эти данные заполнил не я.

С помощью расстояния Левенштейна я могу найти процент похожести для этих двух множеств и получить:

  • Те контакты, в которых есть несоответствия, и их нужно актуализировать вручную.
  • И остальные контакты, где несоответствий нет – их можно актуализировать автоматически.

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

Так вот Dataiku, как платформа, базируется на двух вещах.

  • У вас есть dataset’ы, т.е. наборы данных. Это могут быть данные из Excel, CSV, OData, Elasticsearch, Postgres, MS SQL, Hadoop, Facebook, Power BI и т.д. Любой набор, откуда вы берете данные.
  • После этого вы применяете к ним рецепт для наведения порядка. Одним из таких рецептов является расстояние Левенштейна. Допустим, ваш математик применил такой рецепт и получил на выходе другой набор данных, более интересный.

Если рассмотреть эту историю в режиме collaborative, получится несколько по-другому.

  • Есть dataset и человек, знающий математически заточенный язык R. Он разработал рецепт и выгрузил вам из данных контактов вашей CRM (например, это может быть amoCRM) более удобные контакты.
  • И рядом есть другой человек, который умеет писать на Python. Он может загрузить эти данные через протокол OData в «1С-Рарус:CRM».
  • Между этими людьми – хранилище Git. Свои алгоритмы они публикуют там, оставляя проанализированные данные у себя.
  • Формально, если это микрокомпания слева и микрокомпания справа, они могут поделиться этими рецептами-алгоритмами либо во внутреннем Git в рамках большого энтерпрайза, либо выкатить это все на какой-то закрыто-открытый GitHub.

Причем, на GitHub вы можете найти множество уже готовых инструментов для загрузки данных в Dataiku. Если у вас есть Tableau Server, Pentaho Server, PostgreSQL, то адаптеров для того, чтобы получить из них данные – много, они уже есть готовые. Есть даже адаптер для загрузки данных из e-mail. На слайде можно увидеть список этих адаптеров – это скриншот из GitHub репозитория https://github.com/dataiku/dataiku-contrib.

  • Если вы математик, вы можете все эти рецепты использовать в своей математике.
  • А если вы бизнесмен, вы можете на этом «спаразитировать»;
  • А если вы разработчик 1С, то вам достаточно изучить соседний язык, например, Python, или Java, или Scala, или R, или Spark (очень своеобразный язык, на любителя) – любой язык, кроме 1С (хотя, наверное, можно попробовать написать адаптер на OneScript), достаточно просто соблюсти процесс получения данных для BI.

Всю эту инфраструктуру можно поднять через docker одной командой docker up – разворачиваете виртуальную машину и поднимаете.

После применения рецептов анализа данных вы можете опубликовать результаты в любом удобном для вас виде. Первичные результаты выдаются в виде HTML-отчета, а дальше решайте сами. Хотите, публикуйте это обратно в 1С через OData, и там стройте СКД и диаграммы.

Получается здорово, а самое главное, быстро, за две недели. Других инструментов с такой низкой совокупной стоимостью владения я не нашел, можете поверить мне на слово. Если не согласны, буду рад «похоливарить», пишите i.need.lustin@silverbulleters.org.

 

BI «за неделю»

BI за неделю.

Типовой план:

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

Это длительная игра, но она экономически эффективна – люди говорят, что на этом можно заработать деньги.

Типовые ошибки.

  • Начинать с генетических алгоритмов – это ошибка. Зачем вам генетические алгоритмы?
  • Позволить математику что-нибудь «ВПР-ить» в Excel или в любом другом инструменте, как вакууме – это тоже ошибка.
  • Попытка выгрузить чистые данные из 1С, например, через ETL – это тоже ошибка. Придется долго наводить в них порядок.
  • Написание своего хранилища данных – это тоже ошибка.
  • И разработка цифр без бизнес-пользователей – тем более, ошибка. Если вы будете разрабатывать BI, и у вас не будет бизнес-пользователя, который будет знать, как на этом заработать деньги – BI у вас не «поедет». Даже если вы будете получать какой-то простой показатель типа «экономической точки заказа».

Проблемы.

  • Английский для математиков. К сожалению, все материалы для математиков по BI – на английском языке. Поэтому если будете их искать или сами развиваться как математик, а не как программист, то вам нужен английский язык.
  • Энтропия данных 1С. Вы должны понимать, что если вы написали адаптер для выгрузки из 1С, то через неделю метаданные могут измениться. Особенно, если вы c ERP 2.2 мигрируете на ERP 2.4 – 30% метаданных будет изменено. Это надо учитывать.
  • Профильное образование. Все-таки детский психолог – очень плохой математик. Или плохой психолог. Я имею в виду одного своего знакомого, который очень классный внедренец 1С, но математик из него так себе.
  • Голосование бюджетом – это то, что касается бизнеса. Бизнесмен обязательно должен учитывать, что результат внедрения BI предсказать невозможно. Поэтому нужно будет прикинуть предельную сумму расходов, с которой можно поэкспериментировать – например, 150 тысяч. Получится что-нибудь – хорошо, не получится – значит, откладываем на год. Это и называется «голосование бюджетом».

Если вы не знаете, какой показатель даст BI для бизнеса, но вам очень хочется попробовать – зайдите на datalogia.ru. Там можно посмотреть бизнес-показатели, на которых зарабатывают реальные бизнесмены. Это они «подсадили» меня на BI, заставили думать над тем, как накрыть вероятности BDD-тестами. Это было феерично. Отдаю им должное.

Если у вас есть «1С:Управление торговлей» или «1С:ERP», значит, вы можете начать с расчета экономической точки заказа, Economic Order Quantity – это модель, базирующаяся на дисперсии и математическом ожидании, 2-й курс экономической теории, из модели управления запасами.

Если вы сейчас не управляете запасами от слова «совсем» (закупаете только то, что продали или используете для управления алгоритм «пол-палец-потолок»), то, может быть, начнете хотя бы с экономической точки заказа? Для этого есть готовый скрипт на Python, который можно скачать с GitHub: https://github.com/ActiveState/code/blob/master/recipes/Python/576651_EOQ/recipe-576651.py

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

****************

Данная статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART EVENT 2017 COMMUNITY.

Приглашаем вас на новую конференцию INFOSTART EVENT 2018 Education.

45

См. также

Комментарии
Сортировка: Древо
1. Kamikadze 44 13.09.18 20:05 Сейчас в теме
2. WarAn 13.09.18 22:58 Сейчас в теме
Мне одному кажется, что в самом-пресамом начале статьи надо было хотя бы написать: "BI - это...", чтобы устранить неоднозначность типа этой: https://en.wikipedia.org/wiki/BI ?
mindcannon; Dimasik2007; zqzq; +3 Ответить
Оставьте свое сообщение