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

вопрос-ответ

Позднее Ctrl + ↑

Вопрос-ответ: оценка ресторана

Спрашивает Паша Омелёхин:

Расскажите, как рисовать графики из псевдокривых, наложенных друг на друга, если на них будут смотреть со смартфонов? Как обойтись без легенды, и какие еще есть нюансы при проектировании инфографики для мобильных устройств?

Чтобы ответить максимально по делу, я уточнила у Паши, о каких графиках идёт речь.

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

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

Кирпичик данных — это один ответ. Проявив его, Паша показал откуда берутся средние значения, как ответы распределены по оценкам и во времени. Отличная работа с микроуровнем!

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

Данные отвечают на вопросы пользователя. Отранжируем вопросы и ответы по важности:

  1. «Что происходит сейчас?» — средняя оценка за неделю по каждому критерию и свежие комментарии.
  2. «Как изменилась ситуация за последнее время?» — динамика средних оценок и история комментариев.
  3. «Что стоит за средними оценками? Насколько они достоверны?» — распределение конкретных ответов.

Исходные графики показываю только динамику (2), пашин вариант даёт доступ к детальным данным (3). Проявим на макроуровне все данные с соответсвующим важности весом — оценку за прошлую неделю крупным числом, динамику ярким графиком, распределение полупрозрачным облаком на фоне:

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

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

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

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

Присылайте вопросы о визуализации данных на почту: data@datalaboratory.ru, ответы публикуются ежемесячно.

Вопрос-ответ: OEE

Спрашивает Роман Бунин:

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

Чтобы отслеживать загрузку оборудования, используется специальный KPI — OEE (Overall equipment effectiveness, или Общая эффективность оборудования). Это комплексный показатель, который состоит из трёх частей: доступность, производительность и качество. Каждый измеряется в процентах, которые при перемножении дают общее значение. Анализируя данные, как в целом, так и по каждой составной части, можно найти основные причины простоев. Данные интересны в разрезе единиц оборудования, причин простоев, времени и смен.

Как визуализировать эти данные и срезы?

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

На заводе из семечек производят масло. В разных цехах стоит различное оборудование, которое производит продукт (качественный и бракованный) с определённой скоростью (производительностью), нулевой, если машина недоступна. Возможные причины простоя оборудования: плановый или срочный ремонт, переход между режимами, отсутствие сырья или заказа. Кирпичик данных — это результат работы одной машины в единицу времени. А именно, объём фактически произведённой продукции в тоннах (факт), объём качественной продукции в тоннах (факт − брак) и производные относительные характеристики: доступность (время факт / время план), производительность (факт / план), качество (кондиция / факт) и ОЕЕ (Д × П × К). По формулам выходит, что ОЕЕ показывает отношение выпущенной качественной продукции к запланированному максимально возможному объёму.

Покажем произведённую в единицу времени продукцию столбиком из двух частей, кондиции и брака. Над столбиком отметим уровень запланированного максимума:

То же самое в процентах:

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

Уровень полных столбцов показывает производительность машины в течение дня, уровень жёлтых столбцов показывает динамику ОЕЕ. Разные оттенки жёлтого, меняющиеся в течение дня, иллюстрируют сменяющие друг друга бригады. Причины простоя показаны разноцветными полосками в дырах на графике.

На таком графике виден не только общий уровень производительности и OEE, но и причины снижения показателей: продолжительное отсутствие сырья, несколько крупных поломок, сопровождающиеся выпуском брака и т. п.

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

Живой прототип: https://oee.datalaboratory.ru/

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

Получившаяся визуализация показывает динамику OEE, объясняет, что значит этот параметр и каковы причины снижения эффективности производства.

Присылайте вопросы о визуализации данных на почту: data@datalaboratory.ru, ответы публикуются ежемесячно. При участии Романа Бунина, Кирилла Беляева и Сергея Долинина.

Вопрос-ответ: анализ футбольных матчей

Спрашивает Дамир Мельников:

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

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

Объединим две таблицы:
М | Зб Пр | ВНП О для голов
+
М | Сз Дп | ВНП О для моментов
=
М | Сз Зб Дп Пр | ВНП О для моментов | ВНП О  для голов | Разница очков

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

Внутри лиги таблица сортируется по очкам, голам или моментам. По альтернативной версии в Премьер-лиге Арсенал опередил Челси и Манчестер Сити.

Как сделать футбольную статистику ещё интереснее и нагляднее? Дополним таблицу (информативную, но всё же суховатую) полем, на котором при выборе команды будем отмечать голы и голевые моменты. Слева свои ворота, справа — ворота всех противников. Голы с голевым моментом и без показаны красными стрелками, нерезультативные моменты — фиолетовыми линиями: промах со стрелкой, «сейв» с кружком, заблокированный удар с перпендикулярной чертой соответственно.

При наведении на линии можно показать информацию об ударе: дату матча и время удара, команду-соперника, нападающего и защитника.

Сравним игру команд на одном экране:

Живой прототип: https://big-chances.datalaboratory.ru/

Команды-лидеры создают больше моментов у ворот противника, чем допускают у своих; у команд, замыкающих список, ситуация противоположная. У ворот Сандерленда практически отсутствую фиолетовые стрелки — много голов, мало нереализованных голевых моментов. Ну и, конечно, сразу бросается в глаза гол Чарли Адама с середны поля в ворота Челси. Мы собрали полные данные только для Премьер-лиги, но и они хорошо демонстрируют подход.

Ничто так не обогощает спортивную визуализацию, как игровое поле (трасса, дорожка, снаряд) с наглядными попытками и результатами. Другие примеры: анализ бросков НБА и история стометровки.

Присылайте вопросы о визуализации данных на почту: data@datalaboratory.ru, ответы публикуются ежемесячно. При участии Кирилла Беляева и Дамира Мельникова.

Вопрос-ответ: история цен на авиабилеты

Спрашивает Андрей:

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

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

Как бы вы предложили показать на одном графике (возможно, интерактивном) изменение цены в зависимости от даты покупки билета, даты отправления и перевозчика?

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

Чтобы проиллюстрировать свою мысль я воспользуюсь данными, любезно предоставленными туристическим сервисом «Туту.ру». Это усреднённые данные по покупкам: 5384 цены на билеты Аэрофлота в направлении Москва → Симферополь, 1480 усреднённых по различным авиакомпаниям цен в направлении Москва → Берлин и 1035 усреднённых по авиакомпаниям цен Москва → Тиват. Данные не совсем полные и однородные, тем не менее интересные для изучения.

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

Живой прототип: https://ticket-prices.datalaboratory.ru/

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

Изучим внимательно наиболее подробные и однородные данные о перелёте Москва → Симферополь (только Аэрофлот):

Билеты в прошлом летнем сезоне покупались и заранее, и накануне вылета, в среднем за 5 тыс. руб со случайными отклонениями до 7—10 тыс. Осенью плотность «хвоста» слева уменьшилась, покупки совершались ближе к дате вылета, при этом ранняя цена в среднем чуть меньше поздней. Зимой билеты никто не покупал раньше, чем за полтора месяца до вылета, зато цены покупок в последние дни заметно скачут — до 10—15 тыс. Весной проявились ярко выраженные ступеньки (фиксированные тарифы): синие мартовские ступеньки до снижения цен по указанию президента, зелёные апрельские — после.

Интересно, какие закономерности найдут на визуализации внимательные читатели :-)

Присылайте вопросы о визуализации данных на почту: data@datalaboratory.ru, ответы публикуются ежемесячно. При участии Кирилла Беляева и Сергея Долинина. Спасибо Никите Иванову и Наталье Анисимовой за данные для эксперимента.

Вопрос-ответ: Рига-Вена-Будапешт

Спрашивает Кирилл Беляев:

С 1 по 10 мая 2014 мы путешествовал на машине по Европе. Записывали время и существенные траты. Собрал маршрут, схему с отрезками пути и временем, которое они заняли, основные траты. Подскажите, пожалуйста, какой полезной информация не хватает, и какую стоит подавать иначе.

Иллюстрация получилась аккуратная, но без души. Кому и почему интересно будет её изучать? Яркие моменты, полюбившиеся места, фотографии — всё самое главное в путешествии осталось за кадром.

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

Надеюсь когда-нибудь опубликовать интерактивные рассказы о своих главных приключениях :-)

Дорогие читатели, делитесь достойными внимания визуализациями путешествий в комментариях!

Присылайте вопросы о визуализации данных на почту: data@datalaboratory.ru, ответы публикуются по понедельникам.

Ранее Ctrl + ↓