Pull to refresh
19
0
Send message

Apache Superset. Первый взгляд на BI инструмент. Часть 2

Reading time7 min
Views12K

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

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments5

Apache Superset. Первый взгляд на BI инструмент

Level of difficultyEasy
Reading time7 min
Views74K

В последнее время изучая вакансии на сайтах по поиску работы, все чаще стал отмечать, что помимо платных инструментов BI от кандидатов требуется знание еще бесплатных платформ. Мой предыдущий опыт работы по построению графической отчетности был связан исключительно с коммерческими продуктами, поэтому я решил выделить время на ознакомление с альтернативными решениями. Выбор Superset был случайным, так как я обратил внимание на него лишь потому, что он входит в экосистему Apache. Сразу хочу оговориться, что в данной заметке не будет сравнения Superset с платными инструментами. Такое сопоставление функционала просто некорректно из-за разных “весовых категорий”. Также я не буду выделять плюсы и минусы решения по сравнению с бесплатными аналогами, так как это очень дискуссионный вопрос. Неизбежно найдутся адепты того или иного продукта, которые будут доказывать ошибочность моих суждений. Поэтому я построил публикацию в форме простого описания “нюансов”, которые я выделил для себя, начав знакомство с Superset. Читатели же сами смогут сделать свои выводы.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments4

Подсчет количества пар товаров в продуктовых чеках с помощью трех инструментов: Python, Spark, SQL

Reading time6 min
Views6.2K

Добрый день, уважаемые читатели! Не открою для большинства секрета, если скажу, что большая часть задач в материалах к учебным курсам сформулирована шаблонно. Какие-то вопросы в принципе могут представлять интерес, но очень оторваны от реальных потребностей бизнеса. Какие-то моменты выдернуты из книг, поэтому лучше знакомиться с ними, читая первоисточник. Но есть кейсы, которые на первый взгляд хоть и кажутся простыми и стереотипными, но, если присмотреться к ним более пристально, могут дать пищу для размышления. Вот на одной из таких полезных задач мне хотелось бы заострить внимание в данной заметке. Формулируется вопрос следующим образом: «Необходимо определить количество пар товаров в продуктовых чеках. Вывести 10 самых частых сочетаний». Пример, чек 1 содержит товар 1, товар 2, товар 3, а чек 2 -  товар 1, товар 2, товар 5. Следовательно, комбинация «товар 1, товар 2» встречается 2 раза, «товар 1 , товар 3» один раз и т.д.

В исходнике решать данный кейс предлагалось силами Python. Но реальная жизнь может потребовать от аналитика данных умения выполнять данное упражнение как с помощью SQL, так и Spark. Следовательно, рассмотрим три подхода, оставив за скобками разговора четвертый вариант – расчеты на платформах BI.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments4

Прогнозирование объема продаж продукции при динамическом ценообразовании

Reading time5 min
Views2.5K

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

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments1

Обзор Databrick. Что облачный продукт может дать начинающим специалистам

Reading time5 min
Views17K

Добрый день, уважаемые читатели! Данная публикация посвящена Databricks и она получилась не совсем обычный по двум причинам.

Во-первых, в ней не будут обсуждаться типичные вопросы: целесообразность перевода всех сервисов и служб компаний в облако, возможные ошибки при такой миграции, стоимость использования сервиса, правовые аспекты хранения данных не на территории РФ. Это темы сложные, дискуссионные и без указания конкретных цифр и бизнес-факторов их сложно полноценно раскрыть в статье. Поэтому я решил посмотреть на Databricks под другим углом и заострить внимание читателей на таком аспекте: что может дать изучение инструмента аналитику данных.

Во-вторых, чтобы обзор продукта был максимально комплексным и технически взвешенным я с самого начала планировал написать материал в соавторстве с инженером данных и специалистом в сфере data science. В таком случае была бы возможность донести до читателей концепцию Delta Lake и рассказать о нюансах машинного обучения. Но предложение не нашло отклика в сердцах коллег по цеху, поэтому итоговый результат получился в стиле: “Я художник - я так вижу!”) Это была преамбула, а теперь настало время познакомиться поближе с Databricks.

Читать далее
Rating0
Comments0

Чтобы первый блин не вышел комом. Советы начинающему разработчику сервиса

Reading time5 min
Views5.1K

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

 Специально для статьи я подготовил два идентичных примера на Flask и Dash и выложил их на GitHub. В них иллюстрируется расчет и вывод показателей юнит-экономики абстрактного IT-маркета, который называется Хабр (а почему бы и нет, ведь сейчас все компании начали заниматься электронной коммерцией:).

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments0

Первые шаги в BI-аналитике. Роль Data Engineering

Reading time8 min
Views11K

Добрый день, уважаемые читатели! Материал носит теоретический характер и адресован исключительно начинающим аналитикам, которые впервые столкнулись с BI-аналитикой.

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

Это требует слаженной работы сразу нескольких специалистов. Дата-инженер отвечает за хранилища и ETL/ELT-процессы, аналитик данных помогает в заполнении базы данных, аналитик BI разрабатывает управленческие панели, бизнес-аналитик упрощает коммуникации с заказчиками отчетов. Но такой вариант возможен, только если фирма готова оплачивать работу команды. В большинстве случаев небольшие компании для минимизации затрат делают ставку на одного человека, который зачастую вообще не обладает широким кругозором в области BI, а имеет лишь шапочное знакомство с платформой для отчетов.

В таком случае происходит следующее: сбор, обработка и анализ данных происходит силами единственного инструмента – самой BI-платформой. При этом данные предварительно никак не очищаются, не проходят компоновки.  Забор информации идет из первичных источников без участия промежуточного хранилища. Результаты такого подхода можно легко лицезреть на тематических форумах. Если постараться обобщить все вопросы касательно BI-инструментов, то в топ-3 попадут, наверное, следующие: как загрузить в систему плохо структурированные данные, как по ним рассчитать требуемые метрики, что делать, если отчет работает очень медленно. Что удивительно, на этих форумах вы практически не найдете обсуждений ETL-инструментов, описания опыта применения хранилищ данных, лучших практик программирования и запросов SQL. Более того, я неоднократно сталкивался с тем, что опытные BI-аналитики не очень лестно отзывались о применении R/Python/Scala, мотивируя это тем, что все проблемы можно решить только силами BI-платформы. Вместе с тем всем понятно, что грамотный дата инжиниринг позволяет закрывать массу проблем при построении BI-отчетности.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments1

PySpark. Решаем задачу на поиск сессий

Reading time6 min
Views8.2K

Добрый день уважаемые читатели! Несколько дней назад перечитывая книгу Энтони Молинаро “SQL. Сборник рецептов”, в одной из глав я наткнулся на тему, которая была посвящена определению начала и конца диапазона последовательных значений. Бегло ознакомившись с материалом, я сразу вспомнил, что уже сталкивался с данным вопросом в качестве одного из тестовых заданий, но тогда тема была заявлена как “Задача на поиск сессий”. Фишкой технического собеседования был не разбор выполненной работы, а один из вопросов интервьюера о том, как получить аналогичные значения с помощью Spark. Готовясь к собеседованию, я не знал, что в компании применяется (а может и не применяется…) Apache Spark, и поэтому не собрал информацию по новому на тот момент для меня инструменту. Оставалось лишь выдвинуть гипотезу, что искомое решение может быть подобно скрипту, который можно написать c помощью библиотеки Pandas. Хотя очень отдалено я все-таки попал в цель, однако поработать в данной организации не получилось.

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

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments1

Поговорим о RFM-анализе

Reading time8 min
Views4.2K

Добрый день уважаемые читатели! О данном методе сегментации клиентов по давности покупок, частоте и сумме сделок написано довольно много материалов. На просторах Интернета вы без труда найдете публикации с описанием теории и практики rfm-анализа. Он может выполняться как на платформе табличного редактора (при небольшом количестве данных), так и с помощью sql-запросов или силами тематических библиотек Python/R. Методология всех примеров одна и та же, расхождение будет только в деталях. Например, порядок присвоения номеров сегментам или принцип деления на группы. Ввиду всего вышеизложенного мне будет трудно привнести новизну в эту тему. В статье я лишь постараюсь заострить ваше внимание на некоторых моментах, которые могут помочь начинающим аналитикам данных.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments3

Повторяем когортный анализ. Комплексный подход — Python, SQL, Power BI

Reading time7 min
Views6.2K

Добрый день уважаемые читатели! Данная статья является продолжением публикации "Повторяем когортный анализ, выполненный в Power BI, силами Python" (ссылка). Настоятельно рекомендую познакомиться с ней хотя бы бегло, иначе последующее повествование будет вам малопонятным. С момента ее выхода на Хабр прошло достаточно времени. Я основательно пересмотрел методологию решения подобных задач. Первым желанием было просто переписать старый материал, но после недолгих размышлений я пришел к выводу, что более разумным шагом будет оформить наработки в новую рукопись.

Какова основная причина моего "недовольства" Python и Power BI? Язык Python/R c тематическими библиотеками и Power BI (Tableau, Qlik) могут на 70-80% закрыть потребности бизнеса в расчете сложных метрик и построении визуализаций. Но только если речь идет об обработке относительно небольших датасетов с уже агрегированными данными. Если мы говорим о предварительном манипулировании данными в промышленном масштабе, то здесь игра переходит на сторону сервера с БД и используется SQL. Данный момент я не осветил в предыдущей публикации, поэтому решил ликвидировать это упущение здесь.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0

Повторяем когортный анализ, выполненный в Power BI, силами Python

Reading time7 min
Views11K
Добрый день уважаемые читатели! Поводом для написания данной публикации послужил вебинар, который я посмотрел на Youtube. Он был посвящен когортному анализу продаж. Автор использовал для работы с данными платформу Power BI Desktop. Ссылку на указанное видео приводить не буду, чтобы эта статья не была расценена как реклама, но по ходу повествования постараюсь делать спойлеры к первоисточнику, чтобы лучше объяснять логику собственного решения. Данный вебинар натолкнул меня на идею, что интересно было бы повторить возможности формул DAХ функциями библиотеки Pandas.

Два момента, на которых хочу заострить внимание. Во-первых, данный материал рассчитан на начинающих аналитиков, которые только делают свои первые шаги в применении языка программирования Python. Идеальный вариант, если читатели обзорно знакомы с платформой для BI-аналитики Power BI. Во-вторых, так как источником вдохновения послужили расчеты DAX, я буду по мере возможности «копировать» алгоритмы автора, при этом неизбежно произойдет отход от основных парадигм программирования.

Со вступительным словом все. В путь!

Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments0

Information

Rating
Does not participate
Registered
Activity