30 заметок с тегом

табло

Интерфейсы в BI системах

Антон Жиянов написал замечательный набор статей про проектирование интерфейса. Я попробовал применить описанные им принципы к BI системам.

Основная идея заключается в том, что взаимодействие с продуктом можно разбить на компоненты:
— Ментальная модель — как пользователь представляет себе взаимодействие с продуктом или хотел бы, чтобы работал идеальный продукт.
— Ожидания от продукта — как пользователь представляет работу продукта. Ожидания формируются предыдущим опытом, контекстом взаимодействия, платформой и собственно целями. Цели пользователя — это набор проблем, которые он хочет решить.
— Задачи пользователя в интерфейсе — конкретные шаги и действия, с помощью которых пользователь будет добиваться целей в интерфейсе.

Дальше опишу каждый из этих компонентов для BI системы. Буду делать это на примере Tableau, когда речь пойдёт на счет конкретных элементов интерфейса и т. п.

Ментальная модель

Я думаю, что в голове пользователь видит примерно так идеальное взаимодействие с BI системой:

Мне на работе надо принять решение. Чтобы сделать это решение обоснованным, я хочу увидеть данные или конкретные рекомендации, проанализировать их и принять решение.

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

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

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

 

Но обычно это выглядит примерно так:

Мне на работе надо принять решение. Чтобы сделать это решение обоснованным, я хочу увидеть данные или конкретные рекомендации, проанализировать их и принять решение.

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

Внутри системы на меня выпадет большой список с папками, в которых лежат разные отчеты. Некоторые папки будут называться по отделам моей компании, другие по названиям проектов, третьи по имени владельца папки. В папке отдела продаж я найду несколько отчетов без описаний: «Продажи всего», «Продажи по РФ NEW», «По городам 2.0», «Продажи 22.02_Final», «Продажи Бубликов»… Открою первый попавшийся отчет и попробую в нём разобраться. Вроде то, что нужно, но не хватает разбивки до магазина. Зайду в другой отчет, там есть нужная разбивка, но почему-то тотал продаж не сходится с предыдущим отчетом. Спрошу у коллеги, почему так и узнаю, что во втором отчете не учтены продажи из категории «Бакалея», так как они попадают в данные не через API, а менеджер грузит их раз в месяц через Excel файл.

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

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

 

Составление такой идеальной и не идеальной ментальной модели круто помогает понять узкие места системы и подумать как можно улучшить обстановку. Это можно сделать, например, двумя способами:

  1. Спрятать всю сложность от пользователя и, зная его роль в компании и его задачи, выводить самый релевантный контент. То есть в идеале, BI система — это строка поиска, которая классно даёт ответы. Такой Яндекс + Вольфрам Альфа, но только заточенный под конкретную компанию.
  2. Разбить слона по кусочкам — построить систему шагов и вопросов, которые смогут провести пользователя «за ручку», чтобы решить его кейс, но при этом не переусложнить всё огромным и непонятным интерфейсом. Примеры из обычных продуктов есть в статье Антона.

Ожидания от продукта

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

Навыки

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

Мой любимый пример из Табло про мультивыбор. Мало кто из пользователей знает, что и внутри фильтров, и при клике на визуализацию можно выбрать сразу несколько значений если зажать shift. Это очень ползено, но это неочевидное и незнакомое большинству пользователей поведение. Использовать его как основной сценарий — опасно.

В целом я бы проектировал BI системы не прям для массового пользователя, но и не для профессионального аналитика. Для меня это больше похоже на фразы «Продвинутый пользователь ПК» или «Умеет работать с Excel» из резюме. То есть пользователь действительно обладает базовыми навыками работы с профессиональным ПО, но не готов погружаться в тонкости (читать документацию и инструкции) перед тем, как пользоваться BI системой и воспринимает её как просто сложный сайт.

Контекст использования

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

Платформа

Все отчеты в современных BI живут в виде веб-приложений. Поэтому платформа для BI системы — это сайт. К нему должны применяться все те же принципы. Об этом часто забывают при проектировании отчета, что он живет не сам по себе. То есть пользователь видит не только интерфейс отчета, а ещё и браузер → портал BI системы → сам отчет. Из-за этого часто происходят ошибки и путаница.

Вот мой любимый пример с Табло сервера: на бедного пользователя обрушивается куча навигации и одинаковых интерфейсных элементов. Посмотрите сколько похожих по визуальному представлению и смыслу элементов управления, просто боинг какой-то. Больше всего нравится 4 стрелки назад и два рефреша, которые ещё и работают все по разному. И это мы ещё не дошли до самого дашборда, на котором тоже могут быть свои элементы навигации.

Поэтому при проектировании отчетов и BI системы в целом не забывайте, что она живет внутри браузера и пользователь ожидает от дашборда поведение обычного сайта. Поэтому переиспользуйте паттерны поведения веба: подчеркнутые ссылки, использование навигации через браузер (если позволяет BI система) и т. п. Почитать про паттерны, можно в этой статье.

 
В распространение мобильных дашбордов я пока верю не очень. Кажется, что мобильные дашборды в бизнесе решают очень узкий круг задач: это или полевые работники, либо реальный топ-менеджмент, который хочет что-то иметь под рукой, чтобы держать руку на пульсе. Всё-таки большинство рабочих задач до сих пор решаются на компьютере. Поэтому мобильные приложения и верстка дашбордов под мобильный, на мой взгляд, в бизнес-среде важны не так сильно. Но разные размеры мониторов — очень важны. Мы в команде самые важные отчеты делаем адаптивными под ноутбук и большие мониторы. Это, кстати, просто привычный паттерн веб-приложений — пользователи воспринимают как норму что сайты должны быть адаптивны.

При этом адаптивность может быть довольно простой. Например, просто меняется расположение основных блоков и их их размеры. Что-то такое:

Маленький монитор

Первые два блока стоят горизонтально

Большой монитор

При увеличении экрана они перемещаются в вертикальное положение

Цели пользователя

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

  • Узнать что-то про определенную сущность (заранее знаю, что хочу увидеть). Сюда же относятся эд-хоки по поиску конкретных метрик.
  • Получить какой-то инсайт, не зная, что именно ищу. Или сделать выводы, имея в голове определенный алгоритм поиска. То есть провести классический анализ данных.
  • Отслеживать операционные данные на «ежедневной» основе. Те самые классические дашборды и ситуационные центры.

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

Ожидания в целом

Все четыре пункта выше формируют ожидания пользователя, поэтому получается сложная комбинаторика, которую нужно учитывать при проектировании. Но, в целом, считаю, что пользователь BI системы имеет следующие ожидания:

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

Задачи пользователя в интерфейсе

Для достижения целей пользователь формирует задачи (посмотреть города «А» из всех городов) и ищет действия для реализации задач в интерфейсе программы (выбрать в выпадающем списке город «A» и нажать apply). Тут как всегда всё будет сильно индивидуально, но в BI среде чаще всего нужны следующие задачи:

  • Фильтрация данных, чтобы получить нужную выборку.
  • Переход между элементами, чтобы получить больше информации.
  • Выбор способа отображения данных или выбор типа данных.
  • Создание наборов, которые можно сравнить между собой.

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

  1. Эти действия должны быть одинаковыми от отчета к отчету (если включили кнопку apply, то включайте во всех-всех отчетах для фильтров с мультивыбором).
  2. Лучше всего, если это общепринятые действия и паттерны, свойственные платформе. Для веба это подчеркнутые ссылки, выделение интерактивных элементов и т. п.
  3. Если не получается использовать общепринятые паттерны (например как с Табло из-за кучи ограничений в самой системе), то всегда помогайте пользователю в этом месте и формируйте новую привычку. Но, опять же, одинаковую для всех отчетов. Например, если можно фильтровать данные с помощью клика в график, добавьте иконку или описание про это.

Вместо заключения

Чем дольше думаю про дизайн BI систем, тем больше убеждаюсь, что это очень комплексные и сложные задачи. При этом пока ещё не видел, чтобы над внедрением какой-то BI системы внутри компании работала команда, в которой были бы проектировщики интерфейсов, графические дизайнеры, аналитики процессов, менеджеры знаний и т. п. То есть это супер сложный продукт, который обычно внедряется силой службы IT или аналитиков данных. При этом на качественную проработку не хватает или ресурсов, или навыков. Поэтому часто BI системы превращаются в «франкенштейна из того что было» и вызывают боль у пользователей. Мне очень хочется решить эту проблему и сформировать фреймворки, которые позволили бы уменьшить боль пользователей и помогали BI командам при внедрении и поддержке системы.

 Нет комментариев    719   16 дн   табло   теория

Лайфхаки Tableau #2

0:00 — UTF символы для создания цветовой легенды
3:29 — Динамический фильтр дат с окном и ренджем
7:08 — Подпись событий о запусках или маркетинговых активностях во времени на таймсерии

 Нет комментариев    576   19 дн   лайфхаки   табло

Видеоподкаст с Александром Варламовым

Записал подкаст с Александром Варламовым, автором блога Coul Blue Data и классного профиля в Табло Паблик.

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

0:43 — Карьерный путь и как пришёл в дата-арт
11:17 — Что нравится в работе
16:25 — Дженерализация vs Специализация в BI
22:08 — Self-service vs Dashboard factory
28:06 — Какие навыки нужны BI специалисту
31:19 — Пример работы Саши с разбором в Табло
50:29 — Зачем следит и где вдохновляется
53:30 — Зачем вести Паблик и заниматься дата-артом BI специалисту
55:47 — Блиц

 Нет комментариев    1022   1 мес   подкаст   табло

Лайфхаки Tableau

Последние четыре года я много работаю с Табло. Оно стало основным инструментом визуализации, который я использую как для работы, так и для фана. До этого все визуализации я прогал на js, например, что-то такое вакансии с hh.ru, сравнение стран, бюджет США. Визуализации на js — это потрясающе гибкие и шустро работающие штуки, но время их создания иногда зашкаливает. Хотя библиотеки типа d3.js и фреймворков типа vue.js помогают делать их быстрее, но всё равно это каждый раз долго (может я просто не программист, но даже классные программисты, с которыми я работал, так быстро делать визы не могут). Поэтому теперь я работаю в Табло, из всех WYSIWYG инструментов он самый гибкий и позволяет делать классные работы довольно быстро, а иногда очень быстро.

Знание инструмента является одним из 8 навыков, необходимых, чтобы делать классную визуализацию. Хотя я и считаю его наименее важным из всех, так как сегодня один инструмент, а завтра другой, но всё равно стараюсь прокачивать и этот навык. В основном, конечно, за счет практики, но ещё я слежу за новостями, учусь и обучаю других.

Я никогда не хотел делать много контента про изучение инструмента, так как для этого существует отличные учебные материалы на официальном сайте Табло. Чтобы понять основы и познакомиться с интерфейсом этого хватит за глаза. Но при этом есть много мелких и интересных лайфхаков, приёмов и т. п., которые делают жизнь с Табло намного приятнее. Их я собираю по всяким статьям, видео, от коллег, а что-то придумываю сам. Хочу попробовать запустить формат коротких видео с лайфхаками на каких-то бизнесовых примерах. Видео будут ориентированы на тех, кто уже работает с Табло. Лайфхаки буду собирать и из интернета, и из своей практики. Сколько времени мне сэкономила, например, фича перетягивания даты через правую кнопку мыши или дублирование поля с ctrl/cmd, а узнаешь про это обычно случайно.

Вот пилотный выпуск, пишите идеи и пожелания.

0:00 — Сортировка по значению за последний месяц с помощью nested table calcs
4:04 — Оформление спарклайнов при помощи reference lines
7:12 — Highlighted таблица с подсветкой по одной метрике из measure values

 Нет комментариев    1162   1 мес   лайфхаки   табло
 Нет комментариев    796   1 мес   пример   табло

Пять классных работ в Табло

Готовлюсь к проведению Лабораторного курса — обновляю список классных примеров в Табло, которые буду показывать слушателям. Добавил в него ещё 5 работ.
 

Распределение земли по назначению в США
На этой визуализации показан «каждый» акр земли в штатах и зачем он используется. При этом супер уместно используется анимация, которая показывает разные срезы этого распределения: географически, в абсолютном или относительном сравнении по типам. Это работа Александра Варламова — дата-виз энтузиаста из Казани. Как он такое делает, можно послушать на его выступлении на дне открытых данных.

  

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

 

Поездки Такси в Нью-Йорке

На этой визуализации 3 дня поездок такси в Нью-Йорке, показана каждая точка поездки и её длительность. Ещё есть два POI — куда люди уезжают от Эмпайр Стейт Билдинг и из аэропорта Кеннеди. У этой визуализации только одна проблема — переиспользование цветов легенды для разных метрик на разных графиках. Это путает и является грубой ошибкой, но всё равно не смог не включить эту работу в список.

 

Уровень преступности в разных штатах США
Удачная реализация Camel plot (сам придумал, так как не смог найти как это называется) — графиков в которых ограничена ось Y, и если значение больше него, то оно наслаивается сверху.

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

В работе автор решает проблему сложности считываемости графика тем, что при наведении появляются обычные тайм-серии. На них ещё круто добавлено сравнение со средним по стране.

 

Я бы это задачу решал ещё более наглядно и добавлял бы что-то на подобии такой легенды:

 

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

Классные работы в Табло можно искать в галерее работ Viz of the Day. Ещё можно поискать работы, которые подают на Make Over Monday (сами работы можно искать в твиттере). И там, и там, к сожалению, приходится копаться с пинцетом.

 Нет комментариев    1894   1 мес   пример   табло

Конкурс дашбордов Клуба анонимных аналитиков

Участвовал в конкурсе Алексея Колоколова про дашборд для продаж. Занял первое место. )

Задача была интересная — были приближенные к реальным данные отдела продаж небольшой компании, которые было нужно превратить в дашборд. Разрезов было не очень много, но от этого было ещё интереснее. Ещё понравился двухступенчатый формат: было одно ревью работ судьями → время на доработки → финальная оценка. Это уменьшало разночтения в ожиданиях и давало идея для разработки.

Вот сам дашборд — https://revealthedata.com/examples/sales-dashboard/

Вот видео, где судьи разбирают работы. Мне конечно было очень приятно, что большего всего мой даш зашёл Эдуарду Шмидту, специалисту по продажам. Так как он был голосом пользователя в этом конкурсе.

Когда делал дашборд, экспериментировал и сделал два интересных решения.

Часть дашборда с основными метриками сделана по принципу mobile first: она будет хорошо смотреться на мобильном, даже без специальной версии дашборда. И именно это часть нужна, чтобы быстро «в дороге» взглянуть на общее состояние дел, остальное можно проанализировать уже дойдя до ноута.

Сделал What-If калькулятор для воронки, с помощью него можно подобрать нужные уровни конверсии или кол-во лидов для выполнения плана.

Позже планирую записать небольшое видео и показать как дашборд устроен внутри, и рассказать какие решения принимал во время дизайна.

 Нет комментариев    705   1 мес   конкурс   пример   табло

Каналы про визуализацию данных и Табло

Понял, что сейчас получаю 90% контента из каких-либо каналов и чатов в телеграмме и других лентах. Хочу поделится тем, что читаю.

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

Чат Tableau — чат пользователей Табло в России, огромное кол-во пользователей и активности. Коллеги часто помогают друг другу, задают вопросы и делятся работами. Так же есть более тухлый, но международный чат.

Чат про открытые данные — можно спросить где и как найти данные открытые данные о России

Чат про журналистику данных — можно узнать про новые проекты или стипендии и гранты

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

Каналы
Канал «Дашбордец» — про проектирование дашбордов и смежные темы

Канал «Инжинирг данных» — про облачные хранилища данных, BI и около этого.

Канал Алексея Новичкова — про инфографику и инструменты

Канал Андрея Кормацкого — про городские данные и урбанистику

Реддит про визуализацию — примеры визуализаций со всего мира, часто шлак, но иногда попадаются классные проекты которые больше нигде не найдешь

Канал Александра Богачева — про журналистику данных

Канал Андрея Дорожного — про журналистику данных

Канал «Настенька и графики» — редко, но очень метко про визуализацию данных и проекты

Твитер Натальи Киселевой — чудесные комиксы про датавиз

Дата.csv — ссылки на новые проекты по журналистике данных
«Журналистика данных» — ссылки на новые проекты по журналистике данных

Интерактивные визуализации от New York Times — без комментариев )

Канал «Рациональные числа» — статистика и данные из разных областей

Конкурсы Malofiej и Information is Beautiful

Каналы про Табло от вендоров — https://t.me/tableau_ru, https://t.me/TableauRussia, https://t.me/Tableauinrussia

Блоги
Зарубежных коллег я больше читаю в блогах, так как их нет телеграмме. Если вам больше нравиться формат блогов, то писал о них в этой статье или можно сразу подписаться на все на feedly.

 Нет комментариев    391   5 мес   ресурсы   табло

Тафти в Табло

На Новый год сделал себе подарок — купил все книги Эдварда Тафти в бумаге. Сейчас перечитываю их. Книги вдохновили меня сделать в Табло визуализации в стиле графиков из книг.

Вообще всем советую прочитать эти книги. Больше всего я люблю, что в них описаны как довольно философские, так и практические принципы. А особенно круто, когда философские принципы обернуты в четкие формулы. Например, принцип data-ink ratio — соотношение чернил, которые передают суть данных и всех остальных чернил, которые есть на графике.

Для визуализации на экране заменяем «ink» на «pixel» и можно замечательно считать этот KPI.

Я сделал графики на основе данных с графика Ганса Розлинга и показал такие идеи из книги:
— Облегченные версии ящичных диаграмм, где нет «ящиков», а остаются только «усы» и центральная отметка среднего;
— Дополнение вспомогательных элементов графика (например, осей) дополнительными данными: проекциями точек и описательной статистикой в виде ящичных диаграмм;
— Графики с высокой плотностью данных (slopе chart и «подложка» из линий на тайм-сериях);
— Диаграмма стебель-листья, где точками являются сами данные (значащие цифры после запятой). Такой график я уже делал когда в первый раз читал Тафти. Получился отдельный мини-инструмент. Внизу на его страницы детальное описание как он устроен;
— Облегченные версии сеток и бар-чартов;
— Компактные спарклайны для отображения проигрышей/выигрышей или приростов/падений.

Вот какие графики у меня получились:

Интерактивная версия по клику на картинку и ссылке https://public.tableau.com/views/TributetoEdvardTufte/TributetoEdvardTufte
 1 комментарий    446   5 мес   книги   табло

Кривая ОФЗ

Одним из показателей макроэкономики в стране является кривая безкупонной доходности облигаций федерального займа (ОФЗ БКД) — это аппроксимация доходности государственных облигаций с разными датами погашения, если бы за них не платили купоны.

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

Кривая ОФЗ на 28 января 2014 года

Если кривая «инвертируется» или «уплощается», то это свидетельствует о кризисе — инвесторы не верят в долгосрочные вложения в страну.

Инвертированная кривая в кризис, 8 декабря 2008 года

Мне стало интересно, что же сейчас происходит в стране и я решил сделать небольшой инструмент для мониторинга кривой ОФЗ. Я вдохновлялся работой New York Times о кривой доходности государственных облигаций США и тем, чему научился во время работы над  Скайбоднс в Лаборатории данных. Немного рассказываю про этот проект и облигации на кодфесте.

Вот, что у меня получилось:

Интерактивная версия по клику в картинку и ссылке https://public.tableau.com/views/9363/sheet0

Видно, что последние 4 года кривая ОФЗ почти всегда инвертированная и коридор доходности между краткосрочными и долгосрочными бумагами небольшой. Это говорит о том, что экономика не стабильна. Однако радует, что сама кривая не ползет вверх. Сейчас центробанк верит, что в стране всё становится лучше и снижает ключевую ставку, за ней следует и кривая, значит инвесторы тоже думают так же, как и центробанк. Это вроде бы неплохо, но инвестор из меня доморощенный, за прогнозы не ручаюсь.

Ещё понравился вот такой вид, когда данные за каждый день представлены по годам слева направо:

Технические особенности
Тот редкий случай, когда 3d в графиках служит на пользу, а не во вред. Чтобы сделать псевдо-3d в Табло использовал преобразования в полярных координаторах, чтобы отрисовать с помощью линий проекцию трехмерного графика. Для этого умножаем каждую координату на сочетание cos() и sin(). Как это делается подсмотрел тут. С осями это выглядит так:

Сделать нормальную анимацию в Табло пока, к сожалению, нельзя, хотя это бывает мощный инструмент визуализации. А в вебе pages вообще не работают. Записал гифку с десктопа, но почему-то она не проигрывается при вставке в блог. Тогда ссылочкой — https://recordit.co/s161XJx5lp

Данные я брал с сайта центробанка, с помощью гугл-таблиц. Оказывается есть замечательные функции IMPORTHTML и IMPORTXML. Сделал гугл-табличку, которая подставляет в урл сайта нужную дату и парсит оттуда данные. Формула такая: IMPORTXML(«https://www.cbr.ru/hd_base/zcyc_params/zcyc/?DateTo=» & Text(A4201,«dd.mm.yyyy»),«//tr[2]»). Выглядит это так:

Парсинг данных через гугл-таблицы

Поставил гугл-таблицу и Табло обновляться автоматом, в теории дашборд теперь будет автоматом обновляться, посмотрим.

 Нет комментариев    808   11 мес   пример   табло

Обзор вакансий в области BI

Решил сделать небольшой обзор рынка вакансий в области BI. Данные брал с hh.ru через официальное API.

Немного про методологию. Хотя это сложно конечно назвать методологией. Я запрашивал с hh кол-во резюме и сводную статистику, по сути получал в ответ всё-то, что обычно вы видите в левой части сайта. Для этого пользовался методом clusters. Данные брал только в разрезе регионов за 22 июня 2019 года.

АПИ hh отдает такие же данные

Зарплата считается как средневзвешенная от кол-во вакансий с указанной зарплатой. Так как hh отдает данные с припиской «от», то думаю что можно прибавлять 5-10%. Для расчета конкурса на вакансию использовались только соискатели с таким названием профессии в название резюме или таким навыком в описании обязанностей или умений. Брались только актуальные вакансии и соискатели обновлявшие резюме в течении последнего месяца. Регион соискателя не учитывался.

Все результаты это не индивидуальные вакансии, а вакансии которые отдал бы вам поиск hh, если бы вы запросили его в поисковике. Так как, навыки, например могут быть указаны в одной вакансии, то общий юнивёрс вакансий в области конечно же меньше, чем по каждому навыку или названию профессии.

Вот, что получилось:

 Ссылкой на Табло паблик — https://public.tableau.com/views/HHBI/BI
 
Выводы из анализа
Рынок сильно перегретый, даже для IT отрасли. Так, средний конкурс — 1,5 человека на вакансию, для сравнения в среднем по IT это 3, как пишет hh, но не уверен, что мы с ними считаем одинаково. Если проверять по той же методике, что делал я, то для сравнения получаются такие конкурсы:
— Front-end программист — 1,5
— Менеджер проектов — 2,7
— Дизайнер интерфейсов — 4,7
— Java-script — 21

Если посчитать конкурс на кол-во участников в чатиках Табло и Power BI в ТГ, то получается так:
— 2,3 участника чата Табло на одну вакансию с упоминанием Табло
— 1,2 участник чата Power BI на одну вакансию с упоминанием Power BI

Зарплаты указаны только в 14% случаев, это конечно немного для нормальной оценки. Интересно как коррелирует с реальным зарплатами, но как такое разузнать кроме опросов не придумал.

В целом понятно, что методика довольно кривая, но я пока не придумал лучше. Ведь и Табло и Power BI могут указать почти в любой профессии, но кажется, что общее представление, всё равно можно получить. Хочу ещё попробовать сделать тоже самая, но забирая с hh, не сводную информацию, а конкретные вакансии и анализировать уже полные данные. Будет здорово, если маякнёте, что такое было бы интересно. Для моих целей мне подойдет и этот анализ, но я готов попробовать такое для сообщества BI спецов. Или если знаете какие ещё ключевые слова и названия профессий надо попробовать загнать в анализ.

Технические особенности
Из этого мини-проекта могу поделится такими находками:
— Гугл-таблицы из коробки умеют подключатся к любому АПИ и парсить JSON, просто чума. Делается через написание простейшего скрипта. Я был покорен этой фичей. Мои любимые JS и гугл-таблицы, что может быть лучше.
— В Табло есть встроенная и не задокументированная функция RANDOM(), которая возвращает случайное число от 0 до 1. Использовал для житерринга в левом графике. Пока он смотрится не очень уместно, но я планирую в таком же духе положить все вакансии, если спаршу их.

П.С. Дисклеймер, если будете использовать это все на собеседованиях как работодатель или соискатель, я тут ни при чем и за данные не ручаюсь, хотя и проверил всё несколько раз.

UPD: Друг попросил сделать такой же обзор для вакансий в области управления проектами — https://public.tableau.com/profile/roman4734#!/vizhome/HHPM/sheet0

 Нет комментариев    159   1 год   пример   табло

Маленькое исследование рынка вакансий Москвы и России

Сделал маленькое исследование рынка вакансий Москвы и России. Взял интересные мне профессии и скилы. Данные с hh.ru и моего небольшого инструмента, там данные тоже с hh.
Если хотите чтобы добавил какие-то профессии — пишите. =)

https://public.tableau.com/views/_21975/sheet1

 Нет комментариев    84   2018   пример   табло

Оцифровка профессий в США

Кирилл Беляев в своём телеграмм-канале разобрал визуализацию про проникновение IT и  автоматизации в профессии. Я помогал ему обсуждениями и разработкой прототипа.

Вот, что получилось. На картинке финальный макет, которые сверстал Кирилл, а по ссылке прототип в Табло.

http://revealthedata.com/examples/job-digitalisation/

 Нет комментариев    90   2018   разбор   табло

Как сделать контрол для переключения день/неделя/месяц в Табло

Одна из участниц курса спрашивает «Не разобралась, как сделать переключатель так, чтобы можно было менять время: например, с недели на конкретный день или месяц». Отвечаю.

Создаем параметр, которым будет управлять пользователь. Правой кнопкой на панели с данными, затем create parameter.

Потом создаем расчетное поле:

DATE(
CASE [Date range]
WHEN "Day" THEN DATETRUNC('day', [Date])
WHEN "Week" THEN DATETRUNC('week', [Date])
WHEN "Month" THEN DATETRUNC('month', [Date])
END
)

Здесь вся фишка в том, что оборачиваем весь CASE в DATE, иначе Табло не будет воспринимать результат как дату, и используем DATETRUNC, чтобы выбрать уровень агрегации.

Подставляем получившиеся поле в нужное нам место и теперь можем управлять датой:

Ecли вы читаете мой блог и у вам есть вопросы по Табло — пишите на buninra@mail.ru. Если у меня будет время, то отвечу в блоге или скину полезную ссылку по вопросу.

 1 комментарий    192   2018   вопрос-ответ   табло

Разделение на квантили в Табло

Одна из участниц корпоративного курса по Табло спросила про так, как покрасить цвета в облаке слов по квантилям от частоты слов. Вот рецепт.

Для примера взял данные о частоте слов в английском языке. В наборе данных — слова и частота их возникновения. Для того, чтобы построить «облако слов» расположим слова на текст, частоту на размер, выберем в качестве визуального атома (makrs) слова.

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

RUNNING_SUM(SUM([Frequency])/TOTAL(SUM([Frequency])))

Автоматическим инструментом bins для разбиения на квантили использовать не получится, так как это table calc. Поэтому создадим разбивку в ручную, ещё через одно расчетное поле.

IF [Runnig % of total] >=0 AND [Runnig % of total] <0.25
THEN "0-25%"
ELSEIF  [Runnig % of total] >= 0.25 AND [Runnig % of total] <0.5
THEN "25-50%"
ELSEIF [Runnig % of total] >= 0.5 AND [Runnig % of total] <0.75
THEN "50-75%"
ELSE "75-100%"
END

Кинем получившееся поле на цвет.

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

Вуаля:

Добавил Парето и залил на Табло Паблик. Там можно скачать книгу и посмотреть как что реализовано.

https://public.tableau.com/views/Wordfreqineng/Wordfreqineng?:embed=y&:display_count=yes&publish=yes

Ранее Ctrl + ↓