о визуализации данных, дизайне BI систем и работе с Tableau

канал в телеграмме | подборки примеров | подкасты и видео 

Позднее Ctrl + ↑

Давайте знакомиться + Канал в телеграмме

Я понял, что хочу рассказать немного больше про себя читателям этого блога, откуда появился блог и почему его может быть стоит читать. И ещё анонсировать канал в телеграмме, куда в основном буду просто дублировать ссылки на блог. Кажется, что просто блог уже не круто и не удобно. =) На самом деле канал мне видеться просто удобным способ подписаться на блог.

Откуда блог
Я начал вести этот блог аж в 2015, вот первая статься с дисклеймером. Моя идея была проста — научится визуализировать данные и писать про это, больше «для себя»: я собирал ссылки, делал обзоры книги и т. п. Потом я много экспериментировал с созданием разных мини-проектов и просто постил их в блог. Сейчас я хочу больше делиться систематизацией тех знаний, что получил за это время и какими-то реальными примерами из жизни. Ещё есть всякие идеи про подкасты, обзоры вакансий и какие-то групповые активности, но появятся ли они в реальной жизни не знаю.

Что есть/будет в блоге и канале
Редкий авторский контент про визуализацию данных, дизайн дашбордов и работу с Табло. В канал буду иногда постить ссылки на что-то полезное, что ещё не засветилось в остальных каналах, не хочу просто пересылать новости между чатами. В основном статьи будут про дизайн дашбордов, разработку BI систем, как продукта, обзоры книг, и меньше про техническую часть.

Вот примеры того, что можете увидеть:
— Теория: Навыки для визуализации данных, Шаблоны верстки дашбородв
— Мини-проекты: Тафти в Табло, Обзор вакансий в области BI
— Обзоры книг: Книга «Visualization Analysis & Design», Книга «Графики, которые убеждают всех»

Про меня
Я живу в Мск, люблю визуализацию как работу и хобби, прям получаю кайф от классных визуализацией и инструментов. У меня странный карьерный путь и я набрался всего разного из очень разных сфер бизнеса, это часто помогает мне в работе и жизни: могу смотреть на задачи с очень разных сторон. Ещё играю на бас гитаре и у меня есть пёс))

Сейчас я руковожу командой визуализации данных в Я.Такси: управляю системой отчетности, как продуктом; делаю дизайн гайды и дашборды; обучаю коллег Табло и визуализации. Раньше руководил разработкой BI SaSS продукта в Фармакей и проектами в Лаборатории Данных. В прошлой жизни работал бизнес-консультантом и научным сотрудником. Пока защищался и стал кандидатом наук, как раз и полюбил датавиз — большая часть тезисов в диссере были построены на базе визуального анализа данных.

Ещё веду вместе с Таней Бибиковой Лабораторный курс и предмет про Данные и визуализацию в школе дизайнеров Бюро Горбунова.

Дисклеймер
Я пишу редко и не очень грамотно. Если вам нужен регулярный контент или бесят очепятки, то сорри)

Ссылка телеграмм канал — https://t.me/revealthedata

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

Книга «Графики, которые убеждают всех» и курс «Интерактивные графики для вашего сайта»

Так получилось, что последние две недели у меня проходят под эгидой Саши Богачева — я проходил его курс и читал его новую книгу. Хочу поделиться впечатлениями.

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

Подробнее с набором аргументов и мыслями, что стоит ожидать и какие есть плюсы и минусы.

Про книгу
У книги классная обложка =)) Но пока можно купить только электронный вариант книги. Покупайте электронную версию и тогда повысится шанс, что она выйдет и в бумаге.

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

Вот из каких глав состоит книга:
Глава 1. Пример было/стало. Общее понимание процесса
Глава 2. Понимать свою задачу и аудиторию
Глава 3. Формулируем сообщение
Глава 4. Когда визуализация данных не нужна
Глава 5. Как устроена визуализация данных, виды графиков
Глава 6. Основные виды взаимоотношений между данными, как их визуализировать и чем заменять в сложных случаях
Глава 7. Ошибки в визуализации данных
Глава 8. Как сделать график, наглядно доносящий ваше сообщение

Что понравилось:
— Книга интересная, прочитал за три вечера, читать не скучно.
— Книга нормально и удобно читается даже в электронном варианте на телефоне. Кажется, что Саша это продумал и все графики изначально заточены хорошо выглядеть на всех устройствах.
— Личная история Саши и примеры из совсем необычной отрасли — медицины. Кажется, что можно было даже пускать эту тему красной нитью через все главы.
— Примеры Было-Стало. ИМХО самое полезное в книге.
— Много мелких приемов и правил. Можно сделать чек-лист на проверку графика по этим пунктам.
— В целом консистентное изложение и со многими мыслями в книге я полностью согласен. Много классных отступлений формата «но бывает и так можно/нужно сделать». Показывает, что Саша широко и внимательно думает над правилами и приемами, которые предлагает и главное не запирает в них читателя: «Чаще всего делайте „так“ и „так“, но что-то может пойти и по-другому.»
— Классный раздел с частыми ошибками в визуализации.

Чего не хватило:
— БОЛЬШЕ, БОЛЬШЕ ПРИМЕРОВ! Примеры очень классные и было бы правда круто увидеть их ещё больше в книге. Особенно не хватило их в некоторых «лайфхаках» типа раздела про теорию близости или цвета.
— Часто говорится, что нужно обращать внимание на аудиторию и формат, с которого она будет воспринимать сообщение, но при этом нет примеров как именно это делать. Сейчас очень не хватает, например, правил и примеров, как делать графики для тех же самых мобилок.
— Я не до конца понял структуру книги. Кажется, что было бы здорово в конце повторить ещё раз основной алгоритм с ссылками на предыдущие главы для каждого шага алгоритма.
— Книга довольно короткая, некоторые разделы в конце книги на 1-2 абзаца и прям иногда не хватает примеров. Кажется, что в изначальных планах было желание рассказать о большем, судя по содержанию у Саши в блоге.

Понравившиеся и запомнившиеся мысли:
«Чем больше у проекта ограничений, тем проще вам работать» — идея про то, что лучше сначала хорошо понять целевую аудиторию, задачу, форматы и технические ограничения, с которыми вы будете работать. If you fail to prepare, you prepare to fail и вот это всё.

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

«Я не видел ни одного человека, которому помогли бы чарт-чузеры, или чтобы кто-то реально ими пользовался. Они интересны для ознакомления, но пользоваться ими не рекомендую» — я тоже не видел и рекомендую пользоваться скорее как библиотекой или для вдохновения. Иногда можно придумать и свой формат графика. =)

В целом, к прочтению книгу крайне рекомендую.

Примеры До-После

Про курс
Я не знаю сам Саша придумал такой формат, или где-то подсмотрел, но это просто огонь. Это был челлендж — 9 уроков с домашкой каждый день. Не прислал домашку → выбыл из курса. Прям огонь, прям хочу так же. Хороший стимул, чтобы делать домашку для слушателей, темп интенсива и много обратной связи от преподавателя. Очень понравилось.

Курс практический, про два инструмента — Datawrapper и Flourish. Это простые инструменты куда ты заливаешь данные и получаешь на выходе графики выбранного тобой типа. Я такие инструменты не очень люблю, они сильно ограниченны форматами и в них мало настроек. Флориш не понравился совсем, странный и на выходе не очень опрятный продукт. А вот Datawrapper очень даже зашёл. Больше всего тем, что это прям готовое решение для публикации графиков в статьи. Очень круто оформлены графически и типографически, учтено куча мелких приятных вещей и на выходе получаются очень приятные графики. Ниже будут примеры работ.

Что понравилось:
— Формат челленджа
— Индивидуальная и групповая обратная связь от преподавателя на каждую домашку
— Приятная атмосфера в рабочем чате

Что улучшить:
— Не хватало немного теории про то как оформлять графики
— Не самая удачная платформа для курса, сложная навигация и не очень приятный интерфейс
— Очень много было про коронавирус, мне приелась тема

На курс советую сходить даже тем, кто не планирует особо использовать эти инструменты в работе. Он отлично сочетает в себе цена/качество, темп и объем материала.

Итого
Курс + книга = идеальное комбо. В книге теория, на курсе практика. Мне повезло, что я одновременно попал на курс и в это время вышла книга.

 
Вот несколько работ, которые у меня получились на курсе. 
Datawrapper
 

 

 
  

 

   

 

 
 
 
Flourish
 
   

 

 
 
   

 

Шаблоны верстки дашбордов

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

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

Шаблон «Страница сущности»
Задача: Узнать что-то про определенную сущность (заранее знаю что хочу увидеть)

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

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

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

«Лонгрид»
«Сайт с закладками»

Когда мы хотим изучить какой-то узкий срез и выбрать его в один клик не получается, то лучше использовать другой подход. Часто пример такого среза — сочетание метрика-«место»-время: хочу посмотреть прирост продаж год к году в городе Б за месяц X. В таком случае хорошо работает шаблон: «утром деньги, вечером стулья», когда мы просим пользователя сначала выбрать какие-то параметры и после этого показываем ему данные. Фильтры располагаем слева, справа результат (согласно направлению чтения). Пока пользователь ничего не выбрал, можно показывать общие данные по тоталу или другую полезную информацию, например топ-10 чего-то с наибольшим изменением к предыдущему периоду и т. п. Примером из обычного мира будет сайт с билетами в кино: вы выбираете фильм → время → место в зале.

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

«Утро деньги, вечером стулья»

 
 
Шаблон «Аналитический инструмент»
Задача: Получить какой-то инсайт, не зная что именно ищу. Или сделать выводы, имея в голове определенный алгоритм

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

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

Ещё очень похожей задачей будет, если у вас в голове уже есть алгоритм, которым можно воспользоваться для того, чтобы сделать вывод. Тогда нужен или просто удобный инструмент, чтобы это сделать быстро и наглядно, или всевозможные инструменты what-if анализа. Их тоже очень класно показывать через визуализацию данных, особенно если вы следите сразу за несколькими сложными сценариями с несколькими переменными.

Рецепт (краткая версия): Разбираемся в бизнес-задаче и какими метриками описывается эта задача. Здесь важно идти от того, что происходит в реальности, к тому как это превращается в метрики и срезы. Если можем, то выбираем главные и вспомогательные метрики. Хорошо, если можем следить за изменением какой-то одной метрики, чтобы понять общий ход событий, а на остальные смотреть, если нужно прокопать причинно-следственные связи. Делаем несколько визуализацией в разных срезах. Чем мельче детализация, тем лучше (вместо средних продаж, показываем значения продаж каждого магазина и т. п.). Слева основные визуализации, справа доп. информация и различные срезы по основной метрике (если есть). Много интерактива — графики фильтруют друг друга, возможно проваливаемся в другие дашборды или показываем доп. графики и срезы при наведении. Сам «шаблон», по сути, не шаблон, а подстраивается под каждую задачу.

Рецепт (полная версия) — задачи такого класса ИМХО хорошо описаны в алгоритме Лаборатории данных Тани Бибиковой. Подробнее в статье на Хабре или на учебном курсе .

«Аналитический инструмент»

 

 
Шаблон «Приборная панель»
Задача: Отслеживать операционные данные на «ежедневной» основе

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

Рецепт: Разрабатывая дашборд для операционного мониторинга точно придется разбираться с иерархией метрик и выбрать что-то, за чем хотим следить в первую очередь. Важно давать контекст, а не только текущие значения (спарклайны с динамикой, значки приростов, средние и референсные значения). Хорошо работают регулярные структуры и small multiples, если пользователь отвечает за группу метрик. Такие отчеты должны быть наименее интерактивны, но могут вести на более детальные отчеты в виде «страниц сущностей» и т. п.

«Приборная панель»

Вместо вывода

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

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

Понял, что сейчас получаю 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.

Тафти в Табло

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

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

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

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

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

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

Трекинг жизни

Я давно собираю данные о своей жизни. Иногда в них находятся классные инсайты, которые помогают её улучшить. Мой любимый пример — это то, как я купил себе беспроводные наушники для созвонов по работе и сразу стал ходит на 40% больше по кол-ву шагов. Оказалось, что мне во время разговора отлично «гуляется» по комнате и можно за два совещания пройти 4-5 тысяч шагов. Ещё я смотрю на свои привычки по сну, чем в основном занят в рабочее время и т. п. Проблема со всеми этими метриками для меня была в двух вещах:
— разные данные живут в разных приложеньках и устройствах, смотрю на эти данные по-отдельности;
— все данные собираются автоматически, вроде бы здорово, но это приводит к тому, что они лежат мертвым грузом и руки у меня до них доходят в лучшем случае раз в год на новогодних праздниках.

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

Как и что я трекаю. Вдруг кому-то полезно.

Шаги, вес, сон — Mi Fit + Mi Band + Mi Scale. По-моему идеальное сочетание цена/качество, особенно браслет меня очень радует. Само приложение странное, но не так давно появилась классная скрытая опция, для экспорта всей истории данных.

Время за компом в разбивке по проектам — Timecamp. Чудесный бесплатный таймтрекер. Особенность в том, что каждому приложению, сайту/поддомену или названию папки можно задать свой проект. В итоге получается не разбивка по типам приложений или названию приложения, а именно проекты или области, над которыми работаешь. А в каждый проект можно добавить более детальные задачи. Для каждой задачи задается «ключевое слово», которое трекер ищет в названии программы или сайта и так определяет, что ты занимаешься именно этой задачей.

Есть встроенные репорты в разных разбивках и можно строить кастомные таблицы, по типу сводных таблиц в Экселе. Единственный минус — не трекает время в мобильном. Энивей, очень крутой сервис.

Время за телефоном — измеряю с помощью Rescue time. Неплохой трекер, данные бьются с таймкемпом, но есть разбивка только по приложениям/сайтам (без проектов) и бесплатно дают данные только за последние полгода. Для мобилки альтернативы нормальной не нашёл. Если знаете хорошее — порекомендуйте.

Калорийность и питание — приложение MyFitnessPal. Удобное и понятное приложение, есть сканер штрих-кода продуктов, что супер удобно. Часто есть всякие редкие продукты, которые не ожидаешь там увидеть.

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

Если кому-то нужен шаблончик дашборда в Табло — пишите, скину книгу.

 2 комментария    358   10 мес   пример

Кривая ОФЗ

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

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

Кривая ОФЗ на 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. А еще в таком же формате велась работа внутри лаборатории. Мы с дизайнерами приходили к Тане, как к артдиру, раз в неделю и получали те самые консультации. Дальше делали прототипы и макеты. Мне результат таких консультаций очень нравился. =)

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

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

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

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

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

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

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

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

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

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

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

Создаем параметр, которым будет управлять пользователь. Правой кнопкой на панели с данными, затем 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. Если у меня будет время, то отвечу в блоге или скину полезную ссылку по вопросу.

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

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

Для примера взял данные о частоте слов в английском языке. В наборе данных — слова и частота их возникновения. Для того, чтобы построить «облако слов» расположим слова на текст, частоту на размер, выберем в качестве визуального атома (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 + ↓