о визуализации данных и развитии BI-систем
канал в телеграмме | подборки | видео

Позднее Ctrl + ↑

Кривая ОФЗ

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

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

Кривая ОФЗ на 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]»). Выглядит это так:

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

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

Переверстка дашборда от MI Fit

Это будет экспериментальный пост с переверсткой мобильного дашборда в приложении MI Fit от Xiaomi.

Я пользуюсь их браслетом MI Band уже четвертый год и меня всегда бесил их дашборд с историей активности. Недавно делал мобильную версию дашборда для обзора рынка вакансий в BI области и понял, что дашборд в мобильном — это отдельная история и не так все просто, поэтому решил потренироваться и взял пример, который давно не нравится.

Вот как это выглядит в приложении:

Вот как я переверстал дашборд:

Я больше занимался логикой, чем графической версткой, но и её попытался подтянуть. Что я изменил:
— сместил график вправо и сделал столбики более пропорциональными, чтобы влезло больше данных;
— обозначил на графике цель пунктирной линией и подсветил градиентом ее достижение;
— добавил подписи на график;
— сделал более приятную верстку фактоидов внизу (убрал выравнивание по центру и сделал меньше расстояния);
— дополнил фактоид с шагами буллет-чартом. К нему явно нужна легенда. Я бы по клику разворачивал его с анимацией в полноценный бар-чарт. Вот так:

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

Если вы бы сделали как-то по другому, предлагайте. Если вам понравился сам формат заметки или хотите чтобы я разобрал ваш дашборд, пишите.

UPD
Кирилл Беляев предложил сдвинуть по высоте верхний график и сразу показывать бар-чарт, вместо буллет-чарта. Кажется, что для массовой программы это неплохое решение, хотя и хочется всех учить более сложным типам визуализаций.
«И внизу „д“, „нед“ и „м“ можно по человечески написать, места хватит.» — вот за это люблю Кирилла, смотрит не только на то, что в фокусе, но и вообще на интерфейс в целом.
У меня получился такой вариант как-то так, хотя можно было ещё и места под карту дать по-больше:

Обзор вакансий в области 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

Gartner BI Magic Quadrant

Каждый год аналитическое агенство Gartner публикует отчеты о развитии разных направлений IT. Меня всегда бесило, что чтобы сравнить год к году надо открывать кучу картинок. Моя интерактивная вариация про квадрант в области BI:

Консультации от Лаборатории данных

Таня Бибикова придумала новый формат услуг от лаборатории. Это консультации по визуализации данных. На выходе будут идеи по визуализации или интерактивный прототип, построенный на этих идеях.

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

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

Будет бесполезно тем, у кого мало данных (2-4 разреза данных с простой структурой и небольшим количеством самих данных) или нужно готовое решение продуктового качества.

Консультации будут двух типов: с результатом в виде идей или с результатом в виде интерактивного прототипа. Я буду помогать Тане со второй частью — реализовывать простую версию того, что она придумает с клиентом на консультации. В итоге клиент получит живое задание для дизайнеров и программистов и сможет самостоятельно получить финальный результат.

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

Примеры прототипов
Job digitalisation
Климат в России
Возрастно-половая пирамида
Работы участников конкурса «Один раз увидеть»

Записаться на консультацию можно на сайте лаборатории.

П. С. Понял, что я уже был клиентом Тани в таком формате визуализаций. Так был сделан совет про OEE. А еще в таком же формате велась работа внутри лаборатории. Мы с дизайнерами приходили к Тане, как к артдиру, раз в неделю и получали те самые консультации. Дальше делали прототипы и макеты. Мне результат таких консультаций очень нравился. =)

П. П. С. Еще такой же формат консультаций получают все наши слушатели на курсе, когда делают практическую часть. Курс в мае, следите за анонсами.

 Нет комментариев    427   2019  

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

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

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

Ранее Ctrl + ↓