Автоматизация рутины и достижение новых результатов
Ускорение в 8х при работе с данными
день 08
Узнаем, как автоматизировать сотню табличек и сделать пользователей дашборда счастливыми людьми — вместе с Альфа-Лизинг и параметрами FineBI.
Посмотрите запись эфира восьмого дня
Мы встретились онлайн c Ильей Лавриковым из Альфа-Лизинг и обсудили их опыт проектирования дашбордов и работы с параметрами. А еще провели квиз!
Ускорение вместе с Polars
Анастасия Короткова
Эксперт FineBI, GlowByte
Все развивается и FineBI не стоит на месте. В последней версии FineBI 6.1 нас ждут большие изменения по части обработки данных. Благодаря смене движка и изменениям в архитектуре, скорость обработки запросов увеличится в разы, при том, что со стороны разработчика никаких дополнительных усилий прикладывать будет не нужно: мы получим те же самые отчеты, что и на FineBI 6.0, но с гораздо лучшей производительностью.

Обновленная архитектура, которая получила название Polars, позволит дополнительно распределять нагрузку на портал и сделает его работу более стабильной и отказоустойчивой.
И это радует: теперь FineBI будет еще лучше и удобнее как в эксплуатации, так и в поддержке, а это значит, и возможностей для анализа данных станет больше.
По сравнению с FineBI 6.0, где BI и движок данных объединены, в Polars FineBI 6.1 самые ресурсоёмкие вычисления движка находятся отдельно — в структуре Master-Worker.

Master сохраняет ключевые метаданные, в то время как Worker остается stateless и не сохраняет свое состояние. Таким образом, движок и BI не будут мешать друг другу, что снижает вероятность простоя и задержек.
Идеальный контроль памяти, независимый от движка процесс, возможность автоматической идентификации и перезапуска и создания дампа — преимущества нового движка работы с данными Polars.
Восточная мудрость: не терять время зря
Андрей Демидов
Основатель сообщества по визуализации данных DataYoga
Восточная мудрость глубоко осознает ценность времени и значимость использования предоставленных судьбой возможностей. Путь к самосовершенствованию, обретению мудрости, благородства и процветания требует длительных усилий. Если растрачивать время впустую, можно просто не успеть достигнуть своей цели. Но и достигнув её — легко скатиться вниз и потерять обретенное.

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

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

Пусть данные обрабатываются так быстро, что у вас будет время для жизни.
Один день заменяет три тому, кто умеет всё сделать вовремя.
Кейс Альфа-Лизинг:
Оптимизация работы с данными
ИСТОРИЯ УСПЕХА
Группа компаний Альфа-Лизинг — частная лизинговая компания. Более 26 лет мы помогаем предпринимателям развивать и расширять свой бизнес с помощью лизинга техники и оборудования. На текущий момент с помощью управленческой отчетности в BI руководители отслеживают выполнение различных KPI, результаты по продуктам лизинга, эффективность проектов, привлечение партнеров, маркетинг, HR и многое другое. В августе 2023 мы завершили миграцию отчетов в Fine BI и с тех пор успешно развиваем аналитику в этом приложении.
Илья Лавриков
Руководитель направления BI аналитики, Альфа-Лизинг
Наши коллеги, занимающиеся развитием бизнеса, работают с ключевыми партнерами и поставщиками, налаживают с ними отношения и стремятся отслеживать ситуацию на рынке. Перед ними стоит цель выяснить кто и какую технику импортирует, в каком объеме, по какой цене? Как выявлять новых потенциальных партнеров и как держать руку на пульсе рынка?

Ответы на эти и другие вопросы мы можем получать из информации от внешнего поставщика данных, которая собирается от таможенных органов. Однако данные поступают в виде отдельных выгрузок Excel по каждому виду техники, которые необходимо предварительно обработать и объединить для возможности анализа.
Коллеги из управления развития бизнеса не могут позволить себе тратить десятки часов рабочего времени на ручную обработку выгрузок. Каждый месяц им нужно было бы обрабатывать около 30−40 файлов.
По всем файлам нужно было бы проводить очистку, стандартизировать, консолидировать данные в сводные таблицы и при этом проводить минимально возможную аналитику. Важно отметить, что коллеги являются профессионалами своего дела: грамотно работают с представительствами и развивают отношения с партнерами. И нашей задачей стало предоставление инструмента, который будет являться отправной точкой, одним из кирпичей в их успешной деятельности.

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

Основной проблемой в начале обработки поступающей информации был объем выгрузок и разнородность исходных данных — на старте проекта у нас было порядка 700 выгрузок Excel. Автоматизированный сбор и консолидацию мы решили делать с помощью Python. После обработки данные планировали загружать в корпоративное хранилище данных, откуда, в свою очередь — в FineBI для визуализации.
Как мы технически провели автоматизацию выгрузок?
Нажмите, чтобы узнать подробнее
На старте проекта у нас было порядка 700 выгрузок Excel, разнородная структура данных, тысячи наименований марок, моделей и импортеров, один амбициозный аналитик, целое море вариантов что с этим сделать, а также немного кодинга, ящик фишек и цель все сделать круто. Не то, чтобы все это было категорически необходимо в разработке, но если уж начал делать инструмент для бизнеса, то к делу надо подходить серьезно.

Во время написания скрипта был проведен глубокий анализ данных по каждому требуемому полю каждого вида выгрузок. На помощь пришли такие модули, как Pandas, Numpy, Os, Glob, lxml.etree, Requests.

Из разнородной структуры информация приведена к единому формату и дополнительно проведено обогащение:
  • Разделение всех выгрузок на 4 вида: грузовой автотранспорт (ГА), дорожно-строительная техника (ДСТ), сельскохозяйственная техника (СХ) и склад. В каждом виде своя структура и своя особенность наполнения данных;
  • Загрузка и первичная обработка файлов через цикл;
  • Приведение к единой структуре: наименования, расположение полей (при необходимости объединение нескольких);
  • Регистр символов;
  • Преобразования значений к единому виду (тип техники, марки и модели и др.);
  • Наименования стран из справочника с кодами ISO 3166-1;
  • Максимально возможная унификация наименований импортеров, поставщиков;
  • Получение региона из адреса поставки (зачастую адрес в разных форматах, с разными наименованиями одного и того же населенного пункта);
  • Парсинг курса валют с сайта ЦБ РФ.
После нескольких итераций и доработок скрипта мы получили максимально чистые данные (по нашим оценкам ~ 95% чистоты) и они уже готовы для анализа и визуализации в FineBI. К сожалению, иногда попадаются записи, которые мы никак не можем идентифицировать — их мы маркируем как «N/A».
Мы автоматизировали обработку старых и новых поступающих выгрузок. Объединение всех данных в разрезе одного года составляет не более одной минуты. Результат скрипта загружается в наше хранилище, где информация за все года объединяется и направляется в FineBI.
Данные на дашбордах мы решили отображать в двух разрезах: в разрезе импортеров/поставщиков и по брендам техники.

Оба дашборда схожи в том, что в левой части борда представлены визуализации по тематике отчета, а в правой находится Tab-component — это инструмент из коробки, благодаря которому можно сделать несколько вкладок с разным наполнением. Дополнительно с помощью фильтров можно сфокусироваться на конкретных вопросах, например, задать границы по стоимости техники.
Рейтинг поставщиков и импортеров по количеству или стоимости ввозимой техники и подробную информацию по этой самой технике. Все визуализации поддерживают кросс-фильтрацию, поэтому при выборе конкретного поставщика мы сможем увидеть какие импортеры занимаются ввозом брендов по видам техники. В данном примере выбран конкретный вид техники – сельскохозяйственная.
А здесь — от каких поставщиков ввозит технику импортер в динамике с возможностью декомпозиции и изменения периода. В данном примере выбран конкретный поставщик и по нему отфильтрованы остальные компоненты.
На втором дашборде коллеги отслеживают данные по конкретным брендам, смотрят общую динамику и могут декомпозировать ее на виды техники.
Можем отследить динамику в сравнении с прошлым годом. Выбран конкретный бренд и вид техники.
Т.к. данные в BI загружаются в готовом виде, то и никаким дополнительным преобразованиям они не подвергаются. Наш дашборд является примером того, что построить минимальную аналитику по готовым данным в FineBI не составляет труда. Но если проявить аналитическую смекалку и знания инструмента, то и результат будет лучше. Под капотом кроется большой труд по анализу данных, их преобразованию и конструированию макета отчета.

Благодаря проведенной работе у коллег из бизнеса теперь есть наглядный инструмент для принятия решений и коммуникации с поставщиками. Вот некоторые ключевые возможности, которые получает бизнес:
1
Возможность прогнозирования объема рынка;
2
Проверка информации по потенциальному партнеру: действительно ли он завозит ту или иную технику;
3
Выход на новых партнеров, учитывая ввозимую ими технику;
4
Благодаря данным отчета у наших коллег есть дополнительная возможность эффективнее обсуждать с импортерами взаимовыгодные условия сотрудничества;
5
Возможность видеть информацию о завозе санкционной техники через другие страны;
6
Гибкость анализа и возможность сравнения к аналогичному периоду прошлого года;
Пример из опыта: на переговорах с партнером идет обсуждение специальной программы для Альфа-Лизинг с целью улучшения продаж, но партнер отказывается, ссылаясь на упавшую маржу. В таком случае наши коллеги могут сравнить текущий год с данными прошлых лет. Объем ввозимой техники действительно мог упасть, что сильно влияет на маржу партнера. В то же время можно отследить, что в сравнении с предыдущими годами сильно увеличился ввоз определенного бренда и стоит обратить на это внимание.
7
Использование готовых визуализаций в презентациях. У коллег в одной командировке может проходить более 5 встреч и готовить каждую презентацию с нуля занимало бы уйму времени.
Фишки FineBI, которые помогают в работе
Илья Лавриков
Руководитель направления BI аналитики, Альфа-Лизинг
Расскажу об интересных возможностях FineBI, которые мы использовали в этих отчетах.

Одной из фишек, которую мы применяем практически во всех своих отчетах, является параметризация визуализаций. На примере ниже видно, что при следующих выбранных параметрах «Декомпозиция» и «Период» визуализация построена в виде Column Chart (столбиковую диаграмму) по месяцам. При переключении этих же параметров визуализация перестраивается в Line Chart (линейный график) по кварталам.
Параметризация графиков в зависимости от выбранного периода данных.
Как это выглядит в конструкторе? На полку горизонтальной оси кладем измерения «Год» и «Период». Это вычисляемые столбцы, которые собираются на основании параметров, выбранных пользователем. Последний отображает значения по месяцам, кварталам или годам. Причем, если нужно увидеть динамику по годам, то измерение «Год» превратится в null (пусто), чтобы не дублировать на оси подпись.
Формула параметра.
Далее на полку вертикальной оси кладем вычисления, которые тоже зависят от выбранного параметра:
  1. Если параметр равен «Общая динамика», то работает первая мера, иначе null
  2. Аналогично для второй – если параметр равен «Вид техники»
Далее для каждой меры с помощью Custom Chart настраивается визуализация: Column Chart и Line Chart. Когда мера выдает null, то и визуализировать нечего. Остается подобрать цвета, шрифты, подсказки и готово.
Вид Custom Chart.
Теперь о сравнительной динамике Год к Году. В расчете стоимости техники в предыдущих годах нам помогает функция DEF(). Год в конструкторе кладем в Fine-grained, чтобы меры «разбивались» в каждом месяце на соответствующие года. В агрегирующей мере прописываем условие суммирования: если год, который используется в компоненте, меньше максимального года во всем массиве, который отфильтрован по выбранному пользователем параметру, то суммируются значения calculatedpriceinrub, а иначе null.
Вычисление с функцией DEF.
Кстати, в FineBI нет возможности из коробки делать легенду графика на уровне подписи (непосредственно рядом с графиком в начале или в конце, как на изображении ниже). По крайней мере на момент проведения марафона. В нашем случае это год и можно сделать меру. Важно, чтобы результатом было число. Если будет измерение, то FineBI воспримет это как новую гранулярность и разобьет график на части.
Вычисление для легенды на уровне подписи.
Присоединяйтесь к чату FineBI в Telegram
Здесь можно задавать вопросы по марафону, делиться открытиями и получать поддержку от участников сообщества и экспертов GlowByte.
Практика с FineBI
Александр Ларин
Руководитель центра поддержки и обучения FineBI, GlowByte
Сегодня мы погрузимся в мир табличных вычислений! FineBI предоставляет возможность проводить расчёты прямо на текущей визуализации без необходимости прописывать сложные формулы вручную. Табличные вычисления выполняются «на лету», что позволяет быстро анализировать данные, например, для расчета нарастающего итога продаж за период или для вычисления доли каждого продукта в общем объёме продаж.

Вам предстоит применить эти функции в ваших визуализациях, чтобы сделать анализ данных более гибким и информативным.
Табличные вычисления
ПРАКТИКА БЕЛЫХ ДРАКОНОВ
Примените табличные вычисления в разработанных визуализациях.

Попробуйте следующие примеры:
  • Рассчитайте нарастающий итог по вашему показателю (например, продажи за период).
  • Вычислите долю каждого элемента (например, долю продукта в общем объеме продаж за квартал).
  • Попробуйте другие виды табличных вычислений, доступные в FineBI.
После выполнения задания отправьте скриншоты визуализаций с применёнными табличными вычислениями и опишите, какие расчёты были использованы и как они помогли глубже понять данные.

Этот шаг поможет вам освоить дополнительные возможности для анализа данных в FineBI!
Барчарт на 360
ПРАКТИКА ЧЕРНЫХ ДРАКОНОВ
А что если сделать самый обычный столбиковый график, но вместо оси X сделать круг? Наверное, такую визуализацию будет полезно использовать при отображении данных в разрезе 24 часов дня… Или нет. Но вы все равно попробуйте ее сделать в FineBI.
На основе источника данных, который вы можете скачать по ссылке,
сделайте визуализацию столбиковой диаграммы, столбцы которой расположены по окружности.
Решение для этой практики вы найдете в материалах следующего дня.

А здесь — решение задачки седьмого дня и визуализацию вафельной диаграммы.

Запись эфира восьмого дня

Обсудили c Ильей Лавриковым опыт Альфа-Лизинг по проектированию дашбордов и работы с параметрами.

Полезные ссылки
Статья из блога GlowByte в дополнение к сегодняшнему кейсу Альфа-Лизинг
Быстрая очистка и простая сортировка данных, способы объединения таблиц, изменение структуры данных и добавление новых расчетов.
Спасибо и до встречи на следующей
дата-практике!
Назад
День 7. Шаолинь-дашборд
"Красиво в FineBI", экстремальное прототипирование и красота данных
Дальше
День 9. Аналитическая культура
Кейс ОККАМ и адаптация дашбордов под запросы пользователей