В подготовке данных часто используют понятия Wide Data и Narrow Data. Этими двумя понятиями обозначают типы представления табличных данных. Первый тип Wide (широкая таблица) содержит метрики в виде полей (столбцов), а Narrow (узкая таблица) - в виде строк. Понятия эти базовые, их спрашивают на собесах, поэтому знать надо.
Широкая таблица (первая на скриншоте) в каждой строке содержит значение всех метрик за месяц, а узкая таблица (вторая на скриншоте) - значение только одной метрики за месяц в строке. Данные одни и те же, но по-разному представлены. В узком варианте число строк увеличивается в X раз, где X - число метрик, поэтому такие таблицы еще называют длинными. И узкие таблицы содержат избыточные данные (месяцы повторяются в примере).
Широкие таблицы привычнее и используются чаще (сводные таблицы). Преобразование широкой формы в узкую в Tableau производим операцией PIVOT. В базах данных (не во всех есть), например, BigQuery - UNPIVOT; python pandas - melt.
Здесь покажу как сделать фильтр метрик в Tableau не преобразовывая широкую таблицу. Недавно про это задавали вопрос в чате Tableau, и есть мнение, что невозможно сделать такой фильтр только по выбранным метрикам. Я давно пользуюсь на проде, поэтому делюсь.
Узкие таблицы для Tableau более универсальны, если нужны фильтры метрик, и делаете сложные дашборды. Но придется повозиться с единицами измерения метрик.
Если же нужен 1 фильтр метрик для одной визуализации, широкую таблицу можно не изменять - не хочется для большого количества данных кратно увеличивать число строк.
Основная проблема с фильтром метрик в Tableau - в фильтр Measure Names берутся все метрики из панели Data - Measures. 12 лет идее настройки быстрого фильтра метрик. Но это не в тренде, и в приоритете у компании эйай, табло пульс, Эйшштейн и другие невероятно полезные фичи. Пользователи же пока размножают данные юнионами.
Чтобы не ждать еще 12 лет и сейчас убрать ненужные метрики из фильтра можно:
1. Перетащить ненужные метрики в раздел Dimensions. Не со всеми вычислениями работает, напр. WINDOW_STDEV, COUNTD, MEDIAN и некоторыми другими.
2. Использовать расчеты ненужных в фильтре метрик прямо на полках (shelves), а не делать вычисляемые поля.
3. Скрыть в панели Data неиспользуемые поля. Если поля или вычисления используются на визуализациях, они не скроются.
4. Если три метода выше не работают, применяем микрохирургию и редактируем файл воркбука .twb. Воркбук - это .xml файл, поэтому редактируем в любом текстовом редакторе.
Файл .twbx - это zip архив с файлом .twb и экстрактом.
- Ищем вычисление по названию, вставляем 'hidden = true' (кусок кода на скриншоте)
- Сохраняем и открываем в Tableau. Это поле будет скрыто
Так показываем в фильтре только нужные метрики.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👏5❤3😱3😁2
Анализ временных рядов в бизнесе и 25 полезных фич
Временной анализ в бизнесе интересен всем, поскольку бизнес должен расти; и, соответственно, следят за ростом метрик. Должны расти пользователи, заказы, продажи и так далее. Ключевые метрики выводят на некий царь-дашборд компании, где можно отслеживать динамику, например, по месяцам. Это высокоуровневые дашборды, - они не подразумевают какого-то интерактива, а предоставляют обзор данных (Overview). При падении какой-то метрики сложно понять причины, поэтому приходится опускаться на уровни ниже, другие грануляции данных, чтобы обнаружить проблемы.
Само понятие ‘Анализ’ подразумевает разложение большого на малые части. При проектировании аналитических дашбордов с возможностями переключения на разные уровни грануляции, возможностью исследовать выбросы, сравнивать периоды, работать с прогнозами, возникают типовые задачи.
Сегодня я возвращаюсь на пару месяцев назад, когда выступал на русскоязычной Tableau User Group и рассказывал про временной анализ в бизнесе.
Спасибо организаторам: Егору Ларину, Роме Бунину, и Саше Баракову. Запись TUG здесь.
По временному анализу собрал около 25 методов и фич именно для бизнеса, которые работали и работают именно в аналитических бизнеc-бордах разных компаний.
Все, что есть в дашборде, делал в разных компаниях и командах. Фичи и методы описаны при наведении на заголовки, также там есть частота использования на дашбордах. Можно скачивать, смотреть вычисления и разбираться как работает. Комбо таких фич дают классные инструменты анализа.
Собирал и оформлял все вместе еще с зимы. Основная идея – охватить все (или почти все) методы временного анализа в различных бизнес-кейсах. На таких графиках принимались решения иногда на десятки миллионов долларов. Даш завершен и работает, но это только первая часть по временному анализу. Будет 2я с выбросами, трендами и т.д.
Временной анализ в бизнесе интересен всем, поскольку бизнес должен расти; и, соответственно, следят за ростом метрик. Должны расти пользователи, заказы, продажи и так далее. Ключевые метрики выводят на некий царь-дашборд компании, где можно отслеживать динамику, например, по месяцам. Это высокоуровневые дашборды, - они не подразумевают какого-то интерактива, а предоставляют обзор данных (Overview). При падении какой-то метрики сложно понять причины, поэтому приходится опускаться на уровни ниже, другие грануляции данных, чтобы обнаружить проблемы.
Само понятие ‘Анализ’ подразумевает разложение большого на малые части. При проектировании аналитических дашбордов с возможностями переключения на разные уровни грануляции, возможностью исследовать выбросы, сравнивать периоды, работать с прогнозами, возникают типовые задачи.
Сегодня я возвращаюсь на пару месяцев назад, когда выступал на русскоязычной Tableau User Group и рассказывал про временной анализ в бизнесе.
Спасибо организаторам: Егору Ларину, Роме Бунину, и Саше Баракову. Запись TUG здесь.
По временному анализу собрал около 25 методов и фич именно для бизнеса, которые работали и работают именно в аналитических бизнеc-бордах разных компаний.
Все, что есть в дашборде, делал в разных компаниях и командах. Фичи и методы описаны при наведении на заголовки, также там есть частота использования на дашбордах. Можно скачивать, смотреть вычисления и разбираться как работает. Комбо таких фич дают классные инструменты анализа.
Собирал и оформлял все вместе еще с зимы. Основная идея – охватить все (или почти все) методы временного анализа в различных бизнес-кейсах. На таких графиках принимались решения иногда на десятки миллионов долларов. Даш завершен и работает, но это только первая часть по временному анализу. Будет 2я с выбросами, трендами и т.д.
🔥21🐳4⚡3
Viz of the Day
и как его получить
Три для назад я получил 10й 'Viz of the Day’ на Tableau Public. Это виз одефрагментации диска кино ‘Cast & Crew IMDb Trends’. Технически он несложный. Делал для поиска наиболее продуктивных и рейтинговых актрис, актеров и режиссеров. С дизайном не заморачивался – там его просто нет 😀. Сделал примерно за час-полтора на датасете IMDb.
Периодически спрашивают как получить #VOTD. Сегодня расскажу, что этот такое, и как можно получить такую ачивку.
Tableau Public – это самый большой публичный архив визуализаций в среде инструментов BI и источник вдохновения. Там уже более 8 млн пользователей. Оттуда черпаются идеи для визуализаций других направлений: js, Power BI, Qlik и пр.
‘The Viz of the Day’ – это статус, который присваивается визам на Tableau Public каждый день кроме выходных. Такие визы попадают на главную страницу Tableau Public, про них пишут в соцсетях.
Аналитики, работающие c Tableau, приходят на паблик за идеями и фичами. Большинство авторов не закрывают свои работы, и можно посмотреть, как они сделаны. Работы с паблика разбираются на лабах, встречах аналитиков, иногда выигрывают различные премии по визуализации.
Если работаете с Tableau, получить такую ачивку прикольно и полезно. Tableau бустит ваш профиль в соцсетях, появляются новые контакты, люди подписываются на ваш контент. Это может положительно повлиять на ваш профиль на паблике и сыграть роль в дальнейшей карьере. Andy Kriebel нанимал людей в Facebook в 2012 году и рассказывал про то, что смотрел на внешние работы претендентов. В топовых вакансиях со знанием Tableau тоже просят ссылки на паблик.
Итак, 'Viz of the Day', на мой взгляд, дают визуализациям по следующим критериям:
1️⃣ . Актуальность. То есть, если к определенный дате вы делаете интересный виз. Например, к 4 мая, сделали визуализацию о ‘Звездных войнах.’
2️⃣ . Массовость аудитории. Делайте виз на данных, понятных большинству пользователей. Например, на данных фильмов. Фильмы и сериалы смотрят все, поэтому это максимизирует охваты.
3️⃣ . Дизайн. Интересный и нетривиальный дизайн приковывает внимание. И даже с минимумом калькуляций можно сделать красивый виз. Здесь большую роль играют кастомные палитры, шрифты, шейпы. Много дополнительной работы в фотошопе или иллюстраторе.
4️⃣ . Нетривиальные визуализации. Нестандартные визуализации и приемы, раскрывающие по-новому возможности инструмента, привлекают пользователей. Им интересно как сделать подобный виз, они стараются разобраться в устройстве воркбука. Но здесь желательно знать что уже сделано с технической точки зрения на Tableau Public.
5️⃣ . Бизнес-дашборды. В последние пару лет на паблике стали популярны секси бизнес-дашборды. Надо сказать, что со здоровым продом они мало чего общего имеют. Но на просторах паблика можно поэкспериментировать с закругленными барами, переключениями фонов и другими фичами. Такие дашборды популярны у начинающих пользователей в бизнес среде.
6️⃣ . Визуализации для различных активностей и проектов Tableau. Комьюнити Tableau проводит много разных #MakeoverMonday, #SportsVizSunday, #WorkoutWednesday и ряд других. За тредами таких визуализаций следит много людей, и у вас есть шанс научиться чему-то новому.
Бывают очень хорошие работы, но их не видят. И здесь продвижение играет не последнюю роль. Для того, чтобы команда Tableau и пользователи увидели вашу работу нужно:
1️⃣ . Делать теги на паблике. В свойствах виза можно добавлять описание, там же добавить теги, напр. #business
2️⃣ . Шарить работы в соцсетях. Сейчас это Линкедин и Твиттер. Обязательно тегать #tableau и #datafam (data family).
Есть еще сезон отпусков и праздники, когда в принципе меньше делают на паблике.
А вообще, делайте то что нравится и делитесь этим. Прямо задачу получить #VOTD лучше не ставить – просто кайфуйте от процесса.
и как его получить
Три для назад я получил 10й 'Viz of the Day’ на Tableau Public. Это виз о
Периодически спрашивают как получить #VOTD. Сегодня расскажу, что этот такое, и как можно получить такую ачивку.
Tableau Public – это самый большой публичный архив визуализаций в среде инструментов BI и источник вдохновения. Там уже более 8 млн пользователей. Оттуда черпаются идеи для визуализаций других направлений: js, Power BI, Qlik и пр.
‘The Viz of the Day’ – это статус, который присваивается визам на Tableau Public каждый день кроме выходных. Такие визы попадают на главную страницу Tableau Public, про них пишут в соцсетях.
Аналитики, работающие c Tableau, приходят на паблик за идеями и фичами. Большинство авторов не закрывают свои работы, и можно посмотреть, как они сделаны. Работы с паблика разбираются на лабах, встречах аналитиков, иногда выигрывают различные премии по визуализации.
Если работаете с Tableau, получить такую ачивку прикольно и полезно. Tableau бустит ваш профиль в соцсетях, появляются новые контакты, люди подписываются на ваш контент. Это может положительно повлиять на ваш профиль на паблике и сыграть роль в дальнейшей карьере. Andy Kriebel нанимал людей в Facebook в 2012 году и рассказывал про то, что смотрел на внешние работы претендентов. В топовых вакансиях со знанием Tableau тоже просят ссылки на паблик.
Итак, 'Viz of the Day', на мой взгляд, дают визуализациям по следующим критериям:
Бывают очень хорошие работы, но их не видят. И здесь продвижение играет не последнюю роль. Для того, чтобы команда Tableau и пользователи увидели вашу работу нужно:
Есть еще сезон отпусков и праздники, когда в принципе меньше делают на паблике.
А вообще, делайте то что нравится и делитесь этим. Прямо задачу получить #VOTD лучше не ставить – просто кайфуйте от процесса.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18👍11🔥9
Гармонизация хаоса и футбол
Стартовал ЕВРО-2024. Поэтому сегодня про самый популярный вид спорта.
Когда смотришь футбол, не всегда задумываешься, что есть какие-то паттерны в поведении игроков и в матчах в целом.
Можно нарисовать футбольное поле и представить все передачи (passes) в виде линий. Такие диаграммы можно найти в сети. Для разных матчей они отличаются.
А что, если взять большой объем данных по сотням матчей и представить все передачи в виде линий? Прикольно было сделать такое. Взял данные 890 матчей, где есть координаты начала и конца каждой передачи. Разбил футбольное поле по квадратам 1 метр и все линии передач из одного квадрата заменял одной линией, которой показывал среднее направление всех передач. Получилась интересная картина пасов, которые можно фильтровать по типам.
Весь процесс описал в статье: 'Упорядочивая хаос. Поиск инсайтов в данных'
На визуализации видны паттерны атаки, и это производит сильный эффект на зрителя, который раньше не задумывался о том, что можно футбол описать графически.
В Реддите пост с видео набрал 11k Upvotes
На видео из хаоса линий рождается упорядоченная картина. Это отличный пример того, что на большом объеме данных можно увидеть паттены, которые не видны на малом.
Еще делал настраиваемое векторное поле по этим данным.
Вообще, представление данных различных видов спорта в виде векторных полей довольно неспецифично, но визуализации получаются крутые. Сделаю по EURO-24 как только выйдут новые данные.
Еще сравнил женский и мужской футбол. Там тоже можно найти много интересных паттернов
Всегда классно, когда идеи передаются другим людям через посты, и ребята совершенствуют визуализации. Пост выше вдохновил Karim Douieb сделать крутой виз
Он потом еще делал визуализацию "Football Wind" . И выставлял работу на DataViz выставке в Париже
Стартовал ЕВРО-2024. Поэтому сегодня про самый популярный вид спорта.
Когда смотришь футбол, не всегда задумываешься, что есть какие-то паттерны в поведении игроков и в матчах в целом.
Можно нарисовать футбольное поле и представить все передачи (passes) в виде линий. Такие диаграммы можно найти в сети. Для разных матчей они отличаются.
А что, если взять большой объем данных по сотням матчей и представить все передачи в виде линий? Прикольно было сделать такое. Взял данные 890 матчей, где есть координаты начала и конца каждой передачи. Разбил футбольное поле по квадратам 1 метр и все линии передач из одного квадрата заменял одной линией, которой показывал среднее направление всех передач. Получилась интересная картина пасов, которые можно фильтровать по типам.
Весь процесс описал в статье: 'Упорядочивая хаос. Поиск инсайтов в данных'
На визуализации видны паттерны атаки, и это производит сильный эффект на зрителя, который раньше не задумывался о том, что можно футбол описать графически.
В Реддите пост с видео набрал 11k Upvotes
На видео из хаоса линий рождается упорядоченная картина. Это отличный пример того, что на большом объеме данных можно увидеть паттены, которые не видны на малом.
Еще делал настраиваемое векторное поле по этим данным.
Вообще, представление данных различных видов спорта в виде векторных полей довольно неспецифично, но визуализации получаются крутые. Сделаю по EURO-24 как только выйдут новые данные.
Еще сравнил женский и мужской футбол. Там тоже можно найти много интересных паттернов
Всегда классно, когда идеи передаются другим людям через посты, и ребята совершенствуют визуализации. Пост выше вдохновил Karim Douieb сделать крутой виз
Он потом еще делал визуализацию "Football Wind" . И выставлял работу на DataViz выставке в Париже
👍11🔥11❤3
Раньше мало интересовался работами художников, но так случилось, что интерес к картинам и абстрактному искусству, в частности, пришел через NFT и генеративное искусство. В среде NFT и генеративного искусства можно существовать и работать анонимно - это огромный плюс.
Картины и визуализации данных преследуют одну цель: передать зрителю информацию.
📈 Графики и диаграммы максимально логичны, их задача - понятно отобразить данные. Все зрители должны одинаково воспринимать графики. Излишества здесь не нужны.
🔳 Абстрактные картины - это визуализация эмоций человека, их однозначно не изобразишь. Поэтому каждый зритель в картинах видит что-то своё.
Если представить отрезок с двумя точками-крайностями (логика и эмоции) на концах (как на скриншоте), то все стандартные графики и диаграммы будут со стороны логики, а картины - со стороны эмоций.
В бизнес-анализе все строится в рамках логики, в искусстве же лидирует эмоциональная составляющая. За логику и эмоции отвечают разные полушария головного мозга. Левое и правое полушарие мозга отвечают за логику и эмоции соответственно. Про это много написано, повторять здесь нет смысла. Насколько это доказано, затрудняюсь ответить, но давайте поверим.
Когда работаешь с анализом данных бизнеса постоянно, при построении визуализаций, приходится держать себя в рамках. Для творчества места мало. Левое полушарие вкалывает (алгоритмы, запросы, скрипты), а правое простаивает (графики, диаграммы и то по шаблонам). Поэтому на правое полушарие тоже желательно переключаться и дать отдыхать левому. Это понял сравнительно недавно. Для меня отлично работают природа, музеи, книги, статьи и дата арт. В моем случае, Tableau Public и генеративное искусство - это смещение фокуса с чистой логики в сторону эмоций. И здесь нет границ, можно делать что хочешь - это и есть творчество, пространство для созидания и отдыха.
В прошлом году стало интересно взять самые известные картины и по их основным цветам сделать палитры для диаграмм. По сути, хотел ответить на вопрос "Если бы художники были аналитиками, какие диаграммы у них бы получились?". Нашел алгоритм выборки цветов из изображений в статье Kyler Mintah, немного изменил его и сделал палитры из цветов 50и наиболее известных картин. В алгоритме есть параметры: количество цветов и уровень 'толерантности' к цветам. Последний параметр определяет насколько близко к цветам картины надо создавать палитры. В датавиз сообществах показал визуализацию и спросил какие еще картины можно включить. В итоге добавил еще 50. Итоговая визуализация "Palettes of famous Paintings"
В процессе создания таких визуализаций узнаешь много нового, и то, какие картины и художники драйвят дата сообщество.
Сейчас в Табло у меня около 3000 палитр, включая палитры из картин и палитры всех популярных библиотек R, js, Python. Этим буду делиться как только приведу в человеческий вид.
Картины и визуализации данных преследуют одну цель: передать зрителю информацию.
🔳 Абстрактные картины - это визуализация эмоций человека, их однозначно не изобразишь. Поэтому каждый зритель в картинах видит что-то своё.
Если представить отрезок с двумя точками-крайностями (логика и эмоции) на концах (как на скриншоте), то все стандартные графики и диаграммы будут со стороны логики, а картины - со стороны эмоций.
В бизнес-анализе все строится в рамках логики, в искусстве же лидирует эмоциональная составляющая. За логику и эмоции отвечают разные полушария головного мозга. Левое и правое полушарие мозга отвечают за логику и эмоции соответственно. Про это много написано, повторять здесь нет смысла. Насколько это доказано, затрудняюсь ответить, но давайте поверим.
Когда работаешь с анализом данных бизнеса постоянно, при построении визуализаций, приходится держать себя в рамках. Для творчества места мало. Левое полушарие вкалывает (алгоритмы, запросы, скрипты), а правое простаивает (графики, диаграммы и то по шаблонам). Поэтому на правое полушарие тоже желательно переключаться и дать отдыхать левому. Это понял сравнительно недавно. Для меня отлично работают природа, музеи, книги, статьи и дата арт. В моем случае, Tableau Public и генеративное искусство - это смещение фокуса с чистой логики в сторону эмоций. И здесь нет границ, можно делать что хочешь - это и есть творчество, пространство для созидания и отдыха.
В прошлом году стало интересно взять самые известные картины и по их основным цветам сделать палитры для диаграмм. По сути, хотел ответить на вопрос "Если бы художники были аналитиками, какие диаграммы у них бы получились?". Нашел алгоритм выборки цветов из изображений в статье Kyler Mintah, немного изменил его и сделал палитры из цветов 50и наиболее известных картин. В алгоритме есть параметры: количество цветов и уровень 'толерантности' к цветам. Последний параметр определяет насколько близко к цветам картины надо создавать палитры. В датавиз сообществах показал визуализацию и спросил какие еще картины можно включить. В итоге добавил еще 50. Итоговая визуализация "Palettes of famous Paintings"
В процессе создания таких визуализаций узнаешь много нового, и то, какие картины и художники драйвят дата сообщество.
Сейчас в Табло у меня около 3000 палитр, включая палитры из картин и палитры всех популярных библиотек R, js, Python. Этим буду делиться как только приведу в человеческий вид.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20👍9🔥8
2700 палитр для диаграмм и графиков
При работе с диаграммами и графиками иногда недостает цветовых палитр. При кастомизации визуализаций дефолтных палитр в Tableau вообще не хватает.
В Tableau палитры прописываются в файле preferences.tps. Это xml файл, можно открыть текстовым редактором.
Сегодня делюсь файлом (сам делал), в котором 2700 цветовых палитр. Скачать можно по ссылке.
Прелесть этих палитр в том, что они используются в популярных библиотеках для визуализации (seaborn, matplotlib, библиотеки R) и различных сервисах визуализации данных. То есть, они именно для графиков и диаграмм. Цвета брал отсюда. Их собрал Joseph Barbier. Все палитры можно использовать в питоне.
Я просто перевел палитры из .csv в.xml формат, чтобы они работали в Tableau.
Есть еще классный сервис с этими палитрами. Там можно питон код для Matplotlib копировать.
Есть 3 типа палитр:
- Categorical. Используется для обозначения категорий (dimensions), напр. города, страны и т.п.
- Sequential. Применяем для значений Continious. Hапример, для количества заказов или суммы продаж.
- Diverging. Используем для метрик, где надо показать переход через 0 например. Это может быть прибыль.
Чтобы палитры по ссылке работали в Tableau на вашем компе, замените файл preferences.tps на новый. Или, если у вас уже есть свои палитры в preferences, добавьте новые палитры из файла просто копированием.
При работе с диаграммами и графиками иногда недостает цветовых палитр. При кастомизации визуализаций дефолтных палитр в Tableau вообще не хватает.
В Tableau палитры прописываются в файле preferences.tps. Это xml файл, можно открыть текстовым редактором.
Сегодня делюсь файлом (сам делал), в котором 2700 цветовых палитр. Скачать можно по ссылке.
Прелесть этих палитр в том, что они используются в популярных библиотеках для визуализации (seaborn, matplotlib, библиотеки R) и различных сервисах визуализации данных. То есть, они именно для графиков и диаграмм. Цвета брал отсюда. Их собрал Joseph Barbier. Все палитры можно использовать в питоне.
Я просто перевел палитры из .csv в.xml формат, чтобы они работали в Tableau.
Есть еще классный сервис с этими палитрами. Там можно питон код для Matplotlib копировать.
Есть 3 типа палитр:
- Categorical. Используется для обозначения категорий (dimensions), напр. города, страны и т.п.
- Sequential. Применяем для значений Continious. Hапример, для количества заказов или суммы продаж.
- Diverging. Используем для метрик, где надо показать переход через 0 например. Это может быть прибыль.
Чтобы палитры по ссылке работали в Tableau на вашем компе, замените файл preferences.tps на новый. Или, если у вас уже есть свои палитры в preferences, добавьте новые палитры из файла просто копированием.
🔥23❤2👍2
Кино и пузыри
Недавно пригласили выступить на Tableau Public User Group. Tableau совместно с imdb.com обновили данные в публичных датасетах о фильмах, поэтому говорили о визуализациях про фильмы и сериалы.
Запись мероприятия 'Data+TV'
Хост - Eric Howard.
Tracy Wong, инженер Salesforce рассказала о новой фиче Tableau Public 'Organize your Vizzes'
David Kelly показал как работать со слоями в своей визуализации о культовом 'Doctor Who'. Я рассказывал о том как делал 'IMDb Top Movies'
Хороший датавиз - тот, который хочешь повесить на стену. Это правило классно работает для датаарта и небизнесовых визуализаций. Пузыри (bubbles) в визуализациях нередко можно увидеть, и это, в общем, выигрышный вариант.
Люди любят круги/пузыри/шары больше чем фигуры с углами (просто наблюдение). Сложилось несколько гипотез по этому поводу. Наверное, это объясняется тем, что в природе нет идеальных квадратов, треугольников и прямоугольников, а круги и шары - есть. Круг - это первое, что видит человек в своей жизни. То есть, круги и скругленные формы естественнее для человека.
Интересно, что есть тренд на скругление баров и графиков, хотя это считается плохой практикой, в публичных системах таких топов как Google (посмотрите просто на лого Google Analytics), Xiaomi и др.. Наверное, все эти закругления лучше продаются. Эти ребята без AB тестирования вряд ли выкатывают свой дизайн в массы.
Работаем сейчас с UI/UX дизайнерами по бизнес визуализациям для массового пользователя, и они тоже топят за закругления. Вайбы Эппла, не иначе.
В моей визуализации 1000+ самых высокорейтинговых фильмов (7,5+ рейтинг) по версии IMDb, и ее можно использовать как рекомендательную систему, выбирая фильмы по любимым актерам, режиссерам, жанрам или стране. Была проблема с тем, что у одного фильма может быть несколько жанров и стран производителей, поэтому приводил все к одному жанру и одной стране. Прикольно, что в ковидные годы много рейтинговых индийских фильмов.
Еще интересно, что самый высокорейтинговый фильм "The Showshank Redemption" ("Побег из Шоушенка") даже не намекает на побег в английской версии. Выходит, что спойлер в переводе названия.
Недавно пригласили выступить на Tableau Public User Group. Tableau совместно с imdb.com обновили данные в публичных датасетах о фильмах, поэтому говорили о визуализациях про фильмы и сериалы.
Запись мероприятия 'Data+TV'
Хост - Eric Howard.
Tracy Wong, инженер Salesforce рассказала о новой фиче Tableau Public 'Organize your Vizzes'
David Kelly показал как работать со слоями в своей визуализации о культовом 'Doctor Who'. Я рассказывал о том как делал 'IMDb Top Movies'
Хороший датавиз - тот, который хочешь повесить на стену. Это правило классно работает для датаарта и небизнесовых визуализаций. Пузыри (bubbles) в визуализациях нередко можно увидеть, и это, в общем, выигрышный вариант.
Люди любят круги/пузыри/шары больше чем фигуры с углами (просто наблюдение). Сложилось несколько гипотез по этому поводу. Наверное, это объясняется тем, что в природе нет идеальных квадратов, треугольников и прямоугольников, а круги и шары - есть. Круг - это первое, что видит человек в своей жизни. То есть, круги и скругленные формы естественнее для человека.
Интересно, что есть тренд на скругление баров и графиков, хотя это считается плохой практикой, в публичных системах таких топов как Google (посмотрите просто на лого Google Analytics), Xiaomi и др.. Наверное, все эти закругления лучше продаются. Эти ребята без AB тестирования вряд ли выкатывают свой дизайн в массы.
Работаем сейчас с UI/UX дизайнерами по бизнес визуализациям для массового пользователя, и они тоже топят за закругления. Вайбы Эппла, не иначе.
В моей визуализации 1000+ самых высокорейтинговых фильмов (7,5+ рейтинг) по версии IMDb, и ее можно использовать как рекомендательную систему, выбирая фильмы по любимым актерам, режиссерам, жанрам или стране. Была проблема с тем, что у одного фильма может быть несколько жанров и стран производителей, поэтому приводил все к одному жанру и одной стране. Прикольно, что в ковидные годы много рейтинговых индийских фильмов.
Еще интересно, что самый высокорейтинговый фильм "The Showshank Redemption" ("Побег из Шоушенка") даже не намекает на побег в английской версии. Выходит, что спойлер в переводе названия.
👍11⚡6❤5
Pixar, анимация и Business Intelligence
В инструментах BI не так много внимания уделяется анимации. Для большинства задач она и не нужна - достаточно базовых графиков. Если же посмотреть на визуализацию данных в вебе на js (d3js.org, например, или p5js.org), там часто встречаются анимированные визы. Можно еще Ханса Рослинга вспомнить c базовой базой.
Как-то стало интересно сделать анимацию в Tableau, когда ее не было. 5 лет уже прошло. Получилась такая визуализация о местах в Палате представителей. Там параметром можно управлять номером кадра. При смене визуализации группа точек должна переместиться на новые позиции, соответственно, надо знать начальные координаты, конечные координаты точек, построить прямые между ними и разделить прямые на n-1 отрезков, где n-количество кадров. Подробно я писал про это в статье "Tableau in Motion" у Ken Flerlage.
Визуализация и статья тогда вызвали довольно много внимания у Tableau сообщества; к обсуждению подключились инженеры Tableau. Оказалось что в Tableau уже долго (4 года к тому моменту) работают над анимацией, но это не афишировали. Так мы познакомились с Полом Айзексом (Paul Isaacs).
Пол руководил разработкой анимации в Tableau. До этого он работал в Pixar 8 лет, работал с 3D графикой и делал спецэффекты для фильмов в 80х. Опыт общения с ребятами, которые раньше рисовали космические корабли для Голливуда ('Последний звездный боец' 1984 года и др.), а сейчас перешли в данные, был неоценим. Тогда погрузился в принципы анимации диаграмм, узнал про z-order, перекрытие полигонов и про то, о чем BI инженеры обычно не задумываются. Интересно было то, что в направлении анимации BI работали именно люди с опытом в 3D, 2D моделировании и анимации.
Немного позднее вышла бета, и ее можно было тестировать. Анимация работала. Для ее тестирования попросили сделать несложные 3D модели - получились вертолет и корабль.
Примерно год мы развлекались с особенностями анимации в BI, и с проблемами ее реализации. Через пару версий команда Tableau вывела анимацию на хороший уровень.
К сожалению, в итоге, большой проблемой анимации стало то, что конечным пользователям она не особо была нужна. Salesforce поглотил Tableau, и c каждой следующей версией анимацию урезали. А Пол ушел в Roblox.
Процессы и люди из Pixar оказали огромное влияние на разные бизнесы по всему миру. Про Pixar есть книга "Корпорация гениев". Ее рекомендовали Дима и Игорь Бухманы из Playrix, где я когда-то работал. Их интервью Тинькову в Бизнес-секретах.
В инструментах BI не так много внимания уделяется анимации. Для большинства задач она и не нужна - достаточно базовых графиков. Если же посмотреть на визуализацию данных в вебе на js (d3js.org, например, или p5js.org), там часто встречаются анимированные визы. Можно еще Ханса Рослинга вспомнить c базовой базой.
Как-то стало интересно сделать анимацию в Tableau, когда ее не было. 5 лет уже прошло. Получилась такая визуализация о местах в Палате представителей. Там параметром можно управлять номером кадра. При смене визуализации группа точек должна переместиться на новые позиции, соответственно, надо знать начальные координаты, конечные координаты точек, построить прямые между ними и разделить прямые на n-1 отрезков, где n-количество кадров. Подробно я писал про это в статье "Tableau in Motion" у Ken Flerlage.
Визуализация и статья тогда вызвали довольно много внимания у Tableau сообщества; к обсуждению подключились инженеры Tableau. Оказалось что в Tableau уже долго (4 года к тому моменту) работают над анимацией, но это не афишировали. Так мы познакомились с Полом Айзексом (Paul Isaacs).
Пол руководил разработкой анимации в Tableau. До этого он работал в Pixar 8 лет, работал с 3D графикой и делал спецэффекты для фильмов в 80х. Опыт общения с ребятами, которые раньше рисовали космические корабли для Голливуда ('Последний звездный боец' 1984 года и др.), а сейчас перешли в данные, был неоценим. Тогда погрузился в принципы анимации диаграмм, узнал про z-order, перекрытие полигонов и про то, о чем BI инженеры обычно не задумываются. Интересно было то, что в направлении анимации BI работали именно люди с опытом в 3D, 2D моделировании и анимации.
Немного позднее вышла бета, и ее можно было тестировать. Анимация работала. Для ее тестирования попросили сделать несложные 3D модели - получились вертолет и корабль.
Примерно год мы развлекались с особенностями анимации в BI, и с проблемами ее реализации. Через пару версий команда Tableau вывела анимацию на хороший уровень.
К сожалению, в итоге, большой проблемой анимации стало то, что конечным пользователям она не особо была нужна. Salesforce поглотил Tableau, и c каждой следующей версией анимацию урезали. А Пол ушел в Roblox.
Процессы и люди из Pixar оказали огромное влияние на разные бизнесы по всему миру. Про Pixar есть книга "Корпорация гениев". Ее рекомендовали Дима и Игорь Бухманы из Playrix, где я когда-то работал. Их интервью Тинькову в Бизнес-секретах.
🔥13👍7👏2❤1
Хоккей и призрачное сердце
Меньше чем через месяц стартует сезон КХЛ, а через полтора месяца - сезон NHL. Для командного спорта интересно искать паттерны на большом объеме данных. Интересно, что хоккейная площадка в Северной Америке уже на 4 метра и длиннее на метр, чем в Европе, что сыграло существенную роль на манере игры.
Виз 'When the Ice Melts' делал давно. Там собраны данные за 9 сезонов по регулярным матчам NHL и плейофф. Данные с kaggle, собраны с espn.com.
В датасете более 1 800 000 действий (actions) на площадке с их координатами X и Y. Например, в категории 'Goals' каждая точка - координата точки на площадке, с которой был забит гол. Цвет показывает количество действий с одной пары координат. Получаются тепловые карты (хитмапы), отображающие интенсивность действий на площадке. На визуализациях хитмапов слева - ворота команды, справа - ворота противника.
Если взять одну команду в одном сезоне, то событий не хватает до полноценного хитмапа действий на площадке. Поэтому, лучше брать весь сезон или одну команду на протяжении нескольких сезонов.
На хитмапах четко рисуется силуэт сердца у ворот противника. При небольшом количестве данных его не видно, а при увеличении количества данных, силуэт постепенно проступает. Интересно это наблюдать. Наверное, сердце символизирует любовь к игре на льду.
С этим визом связаны две небольшие истории:
История 1. По этой визуализации как-то написал фан 'Toronto Maple Leafs'. Он из Канады, живет в штатах, болеет за Торонто. Каждый год они устраивают мероприятие по поводу старта турнира юниоров. Интересен был его пойнт о том, что такие визуализации можно показывать детям, занимающимся хоккеем, для обучения.
История 2. Есть небольшая команда Vizlib, они делают аддоны и плагины для Qlik. Визуализацию об NHL для Qlik адаптировал Joe Warbington из Vizlib.
Такое нередко случается в дата комьюнити.
С классическими командными спортами вроде понятно как и что трекать и как визуализировать. А вот что с киберспортом? Интересно что-то подобное сделать для Dota 2 или CS 2, пока не понимаю где взять данные.
Еще посетила мысль, что хоккей существует, в том числе, благодаря обратному фазовому переходу первого рода.
Меньше чем через месяц стартует сезон КХЛ, а через полтора месяца - сезон NHL. Для командного спорта интересно искать паттерны на большом объеме данных. Интересно, что хоккейная площадка в Северной Америке уже на 4 метра и длиннее на метр, чем в Европе, что сыграло существенную роль на манере игры.
Виз 'When the Ice Melts' делал давно. Там собраны данные за 9 сезонов по регулярным матчам NHL и плейофф. Данные с kaggle, собраны с espn.com.
В датасете более 1 800 000 действий (actions) на площадке с их координатами X и Y. Например, в категории 'Goals' каждая точка - координата точки на площадке, с которой был забит гол. Цвет показывает количество действий с одной пары координат. Получаются тепловые карты (хитмапы), отображающие интенсивность действий на площадке. На визуализациях хитмапов слева - ворота команды, справа - ворота противника.
Если взять одну команду в одном сезоне, то событий не хватает до полноценного хитмапа действий на площадке. Поэтому, лучше брать весь сезон или одну команду на протяжении нескольких сезонов.
На хитмапах четко рисуется силуэт сердца у ворот противника. При небольшом количестве данных его не видно, а при увеличении количества данных, силуэт постепенно проступает. Интересно это наблюдать. Наверное, сердце символизирует любовь к игре на льду.
С этим визом связаны две небольшие истории:
История 1. По этой визуализации как-то написал фан 'Toronto Maple Leafs'. Он из Канады, живет в штатах, болеет за Торонто. Каждый год они устраивают мероприятие по поводу старта турнира юниоров. Интересен был его пойнт о том, что такие визуализации можно показывать детям, занимающимся хоккеем, для обучения.
История 2. Есть небольшая команда Vizlib, они делают аддоны и плагины для Qlik. Визуализацию об NHL для Qlik адаптировал Joe Warbington из Vizlib.
Такое нередко случается в дата комьюнити.
С классическими командными спортами вроде понятно как и что трекать и как визуализировать. А вот что с киберспортом? Интересно что-то подобное сделать для Dota 2 или CS 2, пока не понимаю где взять данные.
Еще посетила мысль, что хоккей существует, в том числе, благодаря обратному фазовому переходу первого рода.
🔥10👍2😱1
Облака слов и корпоративные чаты
Облако слов ☁️ (Word Cloud) — это визуализация, содержащая слова из некоторого набора данных, при этом размер шрифта прямо пропорционален частотности слова в наборе.
Про то, как делать и кастомизировать такие визуализации в Python, я писал в статье 'Облака слов в Python и Tableau'.
В статье есть код, и облака можно кастомизировать, меняя параметры. Можно использовать маску - изображение, по которому будет формироваться облако. В коде используется библиотека wordcloud. Если какие-то слова надо исключить из анализа (наречия, предлоги и др.), можно задавать список стоп-слов либо внешним .csv файлом, либо использовать библиотеки типа stop_words
На заглавном изображении снизу - часть проекта по визуализации всех слов известных 25 книг. Одна книга - одно облако.
В бизнес-дашбордах подобные визуализации лучше не использовать. Но есть интересные случаи, когда такие визуализации заходят бизнесу. На работе используем мессенджеры: Slack, Телеграм или другие, и рабочих каналов может быть больше сотни. Есть общие каналы и чаты, где общается почти вся компания. Раз в год, обычно под новый год делаю такие облака слов по общим чатам, использую лого компании в качестве маски. Саму визуализацию скидываем в общие чаты. Прикол таких визов в том, что они показывают чем жили сотрудники весь год, их боли и радости. Когда делаешь в высоком разрешении, интересно смотреть сочетания слов в таком облаке - часто попадаются перлы, максимально отражающие какое-либо событие или просто прикольные выражения. Чатики с нецензурной лексикой вызывают больший интерес 😊
А еще мы делали худи с облаком в логотипе компании. 🥼🥼🥼
Была мысль сделать облако по всему репозиторию аналитики: распарсить все .sql, .py файлы и напечатать визуализацию на футболках. Но есть риск, что в облаке будет чувствительная информация. Поэтому отказались от идеи. Пока 😎
Примеры облаков слов чатика датавиза в Телеге - сверху на картинке. Там облако в виде лого чата.
Облако слов ☁️ (Word Cloud) — это визуализация, содержащая слова из некоторого набора данных, при этом размер шрифта прямо пропорционален частотности слова в наборе.
Про то, как делать и кастомизировать такие визуализации в Python, я писал в статье 'Облака слов в Python и Tableau'.
В статье есть код, и облака можно кастомизировать, меняя параметры. Можно использовать маску - изображение, по которому будет формироваться облако. В коде используется библиотека wordcloud. Если какие-то слова надо исключить из анализа (наречия, предлоги и др.), можно задавать список стоп-слов либо внешним .csv файлом, либо использовать библиотеки типа stop_words
На заглавном изображении снизу - часть проекта по визуализации всех слов известных 25 книг. Одна книга - одно облако.
В бизнес-дашбордах подобные визуализации лучше не использовать. Но есть интересные случаи, когда такие визуализации заходят бизнесу. На работе используем мессенджеры: Slack, Телеграм или другие, и рабочих каналов может быть больше сотни. Есть общие каналы и чаты, где общается почти вся компания. Раз в год, обычно под новый год делаю такие облака слов по общим чатам, использую лого компании в качестве маски. Саму визуализацию скидываем в общие чаты. Прикол таких визов в том, что они показывают чем жили сотрудники весь год, их боли и радости. Когда делаешь в высоком разрешении, интересно смотреть сочетания слов в таком облаке - часто попадаются перлы, максимально отражающие какое-либо событие или просто прикольные выражения. Чатики с нецензурной лексикой вызывают больший интерес 😊
А еще мы делали худи с облаком в логотипе компании. 🥼🥼🥼
Была мысль сделать облако по всему репозиторию аналитики: распарсить все .sql, .py файлы и напечатать визуализацию на футболках. Но есть риск, что в облаке будет чувствительная информация. Поэтому отказались от идеи. Пока 😎
Примеры облаков слов чатика датавиза в Телеге - сверху на картинке. Там облако в виде лого чата.
👍19❤1
В эти выходные в Монце, Италия прошел 16й этап Формулы 1. Удивительная победа Феррари и Шарля Леклера - сработала стратегия одного питстопа, хотя было очень рискованно. И Autodromo di Monza - всё-таки домашняя трасса Феррари. В автогонках далеко не все решает пилот - важен болид и команда, которая за ним стоит. Именно поэтому кроме личного зачета в F1 проводится кубок конструкторов. В этом году, после Монцы и 2/3 сезона, в кубке конструкторов уникальная ситуация - в лидерах по очкам 3 команды :Red Bull, McLaren и Ferrari. Mercedes пока отстает, но шансы на победу есть, хотя и маловероятные. Такого не было более 10и лет. Похожая ситуация была в 2012, позднее доминировали или Red Bull или Mercedes, который 7 лет подряд уходил в гигантский отрыв по очкам. Тем интереснее сейчас смотреть F1, поскольку явного фаворита по ходу сезона нет, победить может и McLaren c фантастической машиной, и Ferrari, не пропускавшая ни одного сезона F1, и Red Bull c Максом за штурвалом. Mercedes тоже не дает расслабиться соперникам.
Кубок конструкторов в Формуле 1 стартовал в далеком 1958 году. Первым чемпионом стала команда Vanwall.
В своей визуализации я собрал все данные F1 по кубкам конструкторов и представил их в виде графиков, где собираются очки команд за гонки. Подробнее о начислении очков можно почитать в правилах F1. Интересно, что общие суммы очков за уикенд могут различаться - иногда вводят дополнительные короткие гонки.
На графиках очень интересно наблюдать как выступают команды на разных трассах и в разных сезонах. В графиках скрыто много интересных паттернов - их прикольно искать. Вся история Формулы 1 умещается на одном листе, поэтому быстро можно сравнить разные сезоны. Сделал накопительные графики очков кубка конструкторов и процентные графики, отражающие долю накопленных очков каждой команды в гонке. В абсолютных видно как фавориты рвутся вверх, а в процентных фавориты отъедают свою долю от общего тотала очков. Поймал себя на мысли что графики классно отражают борьбу команд.
Надо сказать, что двигатель и болид могут собирать разные команды, поэтому нередка встречаются двойные названия типа Lotus-Climax или Brabham Repco. В кубке конструкторов отдельно есть списки победителей в категориях двигателей и шасси.
Кубок конструкторов в Формуле 1 стартовал в далеком 1958 году. Первым чемпионом стала команда Vanwall.
В своей визуализации я собрал все данные F1 по кубкам конструкторов и представил их в виде графиков, где собираются очки команд за гонки. Подробнее о начислении очков можно почитать в правилах F1. Интересно, что общие суммы очков за уикенд могут различаться - иногда вводят дополнительные короткие гонки.
На графиках очень интересно наблюдать как выступают команды на разных трассах и в разных сезонах. В графиках скрыто много интересных паттернов - их прикольно искать. Вся история Формулы 1 умещается на одном листе, поэтому быстро можно сравнить разные сезоны. Сделал накопительные графики очков кубка конструкторов и процентные графики, отражающие долю накопленных очков каждой команды в гонке. В абсолютных видно как фавориты рвутся вверх, а в процентных фавориты отъедают свою долю от общего тотала очков. Поймал себя на мысли что графики классно отражают борьбу команд.
Надо сказать, что двигатель и болид могут собирать разные команды, поэтому нередка встречаются двойные названия типа Lotus-Climax или Brabham Repco. В кубке конструкторов отдельно есть списки победителей в категориях двигателей и шасси.
👍10
Бэтмен и анимация полигонов
Бэтмену 85 лет исполнилось в этом году. Впервые он появился в мае 1939 года в комиксах. Вместе с Бэтменом эволюционировало и лого, одно из самых узнаваемых в мире.
В Tableau полигоны не анимируются, поэтому, было интересно создать анимированные полигоны.
Задача анимации полигонов не решается нативно, поэтому нужно было придумать другой путь. Основная идея - представить полигон в виде фигур, которые можно анимировать. В моём случае, это линии с переменной толщиной (что-то типа треугольников). Компьютерные 3D игры работают с полигонами (многоугольниками), которые состоят из треугольников. Из этих примитивов складываются сложные конструкции. Поэтому, идея анимации полигонов была в том, чтобы найти анимированные примитивы и из них построить лого.
Сначала надо было найти и собрать все лого Бэтмена как png файлы, потом построить контуры лого и найти координаты точек контуров. Сделал это при помощи Spotify Coordinator. Потом нужно было придумать как залить контуры. Здесь помогло множество линий, стягивающихся к центрам контуров. К центрам линии становятся толще - таким образом, они заливают контуры.
Полная статья опубликована как Guest Post в блоге Flerlage Twins. Там на гифах логика показана.
Идея визуализации заключалась в том, чтобы сделать то, что считалось невозможным. Просто интересно было как решить, и с геометрией поработать. И еще про эволюцию лого почитать - там много интересного.
Визуализация с анимацией 'Batman Logo Evolution'.
Бэтмену 85 лет исполнилось в этом году. Впервые он появился в мае 1939 года в комиксах. Вместе с Бэтменом эволюционировало и лого, одно из самых узнаваемых в мире.
В Tableau полигоны не анимируются, поэтому, было интересно создать анимированные полигоны.
Задача анимации полигонов не решается нативно, поэтому нужно было придумать другой путь. Основная идея - представить полигон в виде фигур, которые можно анимировать. В моём случае, это линии с переменной толщиной (что-то типа треугольников). Компьютерные 3D игры работают с полигонами (многоугольниками), которые состоят из треугольников. Из этих примитивов складываются сложные конструкции. Поэтому, идея анимации полигонов была в том, чтобы найти анимированные примитивы и из них построить лого.
Сначала надо было найти и собрать все лого Бэтмена как png файлы, потом построить контуры лого и найти координаты точек контуров. Сделал это при помощи Spotify Coordinator. Потом нужно было придумать как залить контуры. Здесь помогло множество линий, стягивающихся к центрам контуров. К центрам линии становятся толще - таким образом, они заливают контуры.
Полная статья опубликована как Guest Post в блоге Flerlage Twins. Там на гифах логика показана.
Идея визуализации заключалась в том, чтобы сделать то, что считалось невозможным. Просто интересно было как решить, и с геометрией поработать. И еще про эволюцию лого почитать - там много интересного.
Визуализация с анимацией 'Batman Logo Evolution'.
❤12🔥9
Scorigami и футбольные матчи за 150 лет
Буквально пару дней назад коллега и спортивный эксперт познакомил меня со словом 'Scorigami' (score + origami). Раньше не слышал такое слово. Оно тесно связано с американским футболом 🏈 (поэтому и не сталкивался наверное). Термин ввел Jon Bois в 2014. Scorigami сейчас - это счет, ранее не встречавшийся в спортивных играх. Scorigami board для NFL (National Football League) есть здесь. Еще в сабреддите r/Scorigami выкладывают матчи с уникальным счетом и скоригами бордом. Довольно интересно смотреть как такая доска заполняется по годам. Вся она не закрасится никогда, но каждый год какие-то ячейки закрашиваются. Это все похоже на игру.
Интересно было сделать подобные доски по другим спортам, прикинули примерно как они будут выглядеть для хоккея и баскетбола. Для классического футбола ⚽️ взял датасет с Kaggle 'International football results from 1872 to 2024'. В датасете более 47000 результатов футбольных матчей. Подробнее о том, какие матчи собраны в датасете, есть в его описании. Но смысл в том, что там международные матчи, без локальных лиг.
Визуализацию сделал немного по-другому, не как доска Скоригами, а с разделением на домашние и выездные матчи.
Интересны крайности. Это счет 31-0, Австралия - Американское Самоа, 2002 год. Видео матча.
0 - 21 Матч Гуам - Северная Корея, 2005г. Те самые знаменитые северокорейские футболисты 🙃 . Про этот матч.
В визе также есть проценты каждого исхода (вероятности исходов), в вероятностях тоже много инсайтов можно найти. В визуализации есть отдельный барчарт тоталов (сумм очков за матч).
Из интересного:
- 30% матчей проходят на нейтральных площадках, добавлю фильтр на это.
- Вероятность счета 1:0,0:1 в 2 раза выше вероятности счета 0:0.
- В настоящее время тоталы меньше, чем были раньше.
Пока интерактив не делал, но есть что прикрутить, поэтому добавлю турниры, страны, сделаю возможность выбора логарифмической шкалы для заливки. Еще добавлю слайдер дат, чтобы по годам можно было смотреть как заполняется виз. Ну и переключение на классическую доску Скоригами лишним не будет. Наверное добавлю возможность смотреть 10 последних турниров для каждого исхода.
Для NBA 🏀 сделал также похожий виз, благо данных по NBA много, и давно работаю с ними. Но там совершенно другая картина. Буду на выходных дорабатывать, в следующем посте расскажу.
Буквально пару дней назад коллега и спортивный эксперт познакомил меня со словом 'Scorigami' (score + origami). Раньше не слышал такое слово. Оно тесно связано с американским футболом 🏈 (поэтому и не сталкивался наверное). Термин ввел Jon Bois в 2014. Scorigami сейчас - это счет, ранее не встречавшийся в спортивных играх. Scorigami board для NFL (National Football League) есть здесь. Еще в сабреддите r/Scorigami выкладывают матчи с уникальным счетом и скоригами бордом. Довольно интересно смотреть как такая доска заполняется по годам. Вся она не закрасится никогда, но каждый год какие-то ячейки закрашиваются. Это все похоже на игру.
Интересно было сделать подобные доски по другим спортам, прикинули примерно как они будут выглядеть для хоккея и баскетбола. Для классического футбола ⚽️ взял датасет с Kaggle 'International football results from 1872 to 2024'. В датасете более 47000 результатов футбольных матчей. Подробнее о том, какие матчи собраны в датасете, есть в его описании. Но смысл в том, что там международные матчи, без локальных лиг.
Визуализацию сделал немного по-другому, не как доска Скоригами, а с разделением на домашние и выездные матчи.
Интересны крайности. Это счет 31-0, Австралия - Американское Самоа, 2002 год. Видео матча.
0 - 21 Матч Гуам - Северная Корея, 2005г. Те самые знаменитые северокорейские футболисты 🙃 . Про этот матч.
В визе также есть проценты каждого исхода (вероятности исходов), в вероятностях тоже много инсайтов можно найти. В визуализации есть отдельный барчарт тоталов (сумм очков за матч).
Из интересного:
- 30% матчей проходят на нейтральных площадках, добавлю фильтр на это.
- Вероятность счета 1:0,0:1 в 2 раза выше вероятности счета 0:0.
- В настоящее время тоталы меньше, чем были раньше.
Пока интерактив не делал, но есть что прикрутить, поэтому добавлю турниры, страны, сделаю возможность выбора логарифмической шкалы для заливки. Еще добавлю слайдер дат, чтобы по годам можно было смотреть как заполняется виз. Ну и переключение на классическую доску Скоригами лишним не будет. Наверное добавлю возможность смотреть 10 последних турниров для каждого исхода.
Для NBA 🏀 сделал также похожий виз, благо данных по NBA много, и давно работаю с ними. Но там совершенно другая картина. Буду на выходных дорабатывать, в следующем посте расскажу.
🔥16👍8❤1
Scorigami и NBA.
Сегодня логическое продолжение прошлого поста о Scorigami. Но, в этот раз, про NBA.
Футбольный виз из прошлого поста усовершенствовал, добавил фильтры, переключение досок и логарифмическую шкалу. Пришло время баскетбола. Тем более, что следующий сезон NBA стартует ровно через месяц.
Виз Scorigami NBA здесь.
В баскетболе количество уникальных сочетаний очков намного больше других игровых видов спорта, поэтому, представлять в виде таблицы показалось нелогичным - сделал диаграмму разброса с дискретными значениями. Cути это не меняет - на визуализации закрашиваем уникальные сочетания финальных очков матчей.
В датасете - все игры NBA с 1946 года. На диаграмме закрашенные ячейки напоминают пиксели. Сделал переключение досок с Win/Lost на Home/Visitor. Соответственно, в первом случае, по осям берутся очки выигравших и проигравших команд, а во втором случае, - домашних и выездных матчей. В первом случае счет 104:107 и 107:104 считаются одной комбинацией, а во втором - двумя.
Дополнительно есть еще графики уникальных результатов по годам и по годам накопительно - там интересно наблюдать сокращение уникальных результатов по годам и насыщение накопительного графика.
Отдельно стоит отметить реализацию накопительного COUNT DISTINCT в Tableau. Функции RUNNING_COUNTD нет, поэтому, пришлось искать решение комбинацией нативных функций. Смысл в том, чтобы посчитать уникальные результаты матчей по годам, но, если уник встречался в прошлом периоде, его учитывать не надо. Нормальная задачка на лоды/табличные вычисления - есть несколько способов реализации.
Что интересно.
🏀 Пока еще не было года без Scorigami (уникального счета)
🏀 Минимальный, но спорный счет в NBA (0:2) Результаты матча спорные, не включал его.
🏀 Минимальный счет в NBA (19:18) Minneapolis Lakers - Fortwayne Pistons в 1950г.
По минимальные результаты еще здесь можно почитать.
🏀 Максимальный счет в NBA (186:184) Денвер - Детроит в 1983г.
🏀 Счет 108:101 встречается 170 раз, это самый частотный результат.
🏀 В матче Индианы - Портленда в 1998г со счетом 124:50 отношение очков 2.1 - самое высокое за всю историю.
Интересно было посмотреть эволюцию диаграммы по годам. Поэтому сделал контрол для просмотра накопленных данных, сохранил покадрово в GIF. Такие короткие видео нравятся и хорошо заходят народу.
Переключать параметры, фильтры и сохранять много картинок - так себе занятие, поэтому, использую скрипты. Вот здесь писал про это.
Итого: Получились Scorigami доски и графики уникальных результатов с фильтрациями по командам, годам, матчам с овертаймами. В тултипы еще матчи в хронологическом порядке добавил - тоже прикольно посмотреть когда и какие команды с одинаковыми результатами сыграли.
Сегодня логическое продолжение прошлого поста о Scorigami. Но, в этот раз, про NBA.
Футбольный виз из прошлого поста усовершенствовал, добавил фильтры, переключение досок и логарифмическую шкалу. Пришло время баскетбола. Тем более, что следующий сезон NBA стартует ровно через месяц.
Виз Scorigami NBA здесь.
В баскетболе количество уникальных сочетаний очков намного больше других игровых видов спорта, поэтому, представлять в виде таблицы показалось нелогичным - сделал диаграмму разброса с дискретными значениями. Cути это не меняет - на визуализации закрашиваем уникальные сочетания финальных очков матчей.
В датасете - все игры NBA с 1946 года. На диаграмме закрашенные ячейки напоминают пиксели. Сделал переключение досок с Win/Lost на Home/Visitor. Соответственно, в первом случае, по осям берутся очки выигравших и проигравших команд, а во втором случае, - домашних и выездных матчей. В первом случае счет 104:107 и 107:104 считаются одной комбинацией, а во втором - двумя.
Дополнительно есть еще графики уникальных результатов по годам и по годам накопительно - там интересно наблюдать сокращение уникальных результатов по годам и насыщение накопительного графика.
Отдельно стоит отметить реализацию накопительного COUNT DISTINCT в Tableau. Функции RUNNING_COUNTD нет, поэтому, пришлось искать решение комбинацией нативных функций. Смысл в том, чтобы посчитать уникальные результаты матчей по годам, но, если уник встречался в прошлом периоде, его учитывать не надо. Нормальная задачка на лоды/табличные вычисления - есть несколько способов реализации.
Что интересно.
🏀 Пока еще не было года без Scorigami (уникального счета)
🏀 Минимальный, но спорный счет в NBA (0:2) Результаты матча спорные, не включал его.
🏀 Минимальный счет в NBA (19:18) Minneapolis Lakers - Fortwayne Pistons в 1950г.
По минимальные результаты еще здесь можно почитать.
🏀 Максимальный счет в NBA (186:184) Денвер - Детроит в 1983г.
🏀 Счет 108:101 встречается 170 раз, это самый частотный результат.
🏀 В матче Индианы - Портленда в 1998г со счетом 124:50 отношение очков 2.1 - самое высокое за всю историю.
Интересно было посмотреть эволюцию диаграммы по годам. Поэтому сделал контрол для просмотра накопленных данных, сохранил покадрово в GIF. Такие короткие видео нравятся и хорошо заходят народу.
Переключать параметры, фильтры и сохранять много картинок - так себе занятие, поэтому, использую скрипты. Вот здесь писал про это.
Итого: Получились Scorigami доски и графики уникальных результатов с фильтрациями по командам, годам, матчам с овертаймами. В тултипы еще матчи в хронологическом порядке добавил - тоже прикольно посмотреть когда и какие команды с одинаковыми результатами сыграли.
👍13🔥10
Фамилии и цвета
В книге "История цвета. Как краски изменили наш мир" ( на английском) есть параграф о наиболее распространенных "цветных" фамилиях. Речь про фамилии Brown, White, Green и подобных. Согласно источнику, популярные по убыванию фамилии: Brown, White, Greem, Gray, Black, Scarlet, Blue. С красным проблема - людей с фамилией Red мало, но есть фамилии Reed и Reid - они тоже обозначают 'красный', но в старом английском и шотландском языках. Если объединить эти фамилии, то красный будет на 4м месте.
Интересно было проверить это и найти процент каждого цвета во всех "цветных" фамилиях. Датасет с именами и фамилиями людей - это персданные, но люди сами пишут свои имена и фамилии в соцсетях, поэтому можно по данным соцсетей посчитать частотность фамилий. Такой датасет есть на kaggle, там уникальные фамилии пользователей Facebook на английском и число пользователей напротив каждой фамилии. Какой-то специалист по безопасности собрал данные 138 млн пользователей. Датасету 5 лет, но процент фамилий значительно не поменяется, если собрать подобные данные сейчас.
Из всех 138 миллионов обнаружилось 1,295 млн "цветных" английских фамилий. Проблема еще была в том, что один цвет могут означать несколько фамилий. Например, green и greene. Это связано со старыми написаниями фамилий. Поэтому пришлось поискать фамилии, обозначающие один цвет, и сгруппировать их. Есть еще фамилии - "отенки", например, Maroon, Crimson. Их мало, Поэтому не включал в виз. Барчарт сделан по основным цветам, добавлены gold, silver - это тоже цвета в английском.
В итоге, более трети людей с фамилией Brown, а вот Yellow - только 25 человек, это 0,002% от всех людей с "цветными" фамилиями. Желтый в Англии считался цветом трусости - отсюда такой процент. Интересно, что в Китае желтый - цвет Солнца и императора, там фамилия Huang (Желтый) входит в десятку самых популярных фамилий.
Порядок топ цветов совпал со статьей из книги.
В книге "История цвета. Как краски изменили наш мир" ( на английском) есть параграф о наиболее распространенных "цветных" фамилиях. Речь про фамилии Brown, White, Green и подобных. Согласно источнику, популярные по убыванию фамилии: Brown, White, Greem, Gray, Black, Scarlet, Blue. С красным проблема - людей с фамилией Red мало, но есть фамилии Reed и Reid - они тоже обозначают 'красный', но в старом английском и шотландском языках. Если объединить эти фамилии, то красный будет на 4м месте.
Интересно было проверить это и найти процент каждого цвета во всех "цветных" фамилиях. Датасет с именами и фамилиями людей - это персданные, но люди сами пишут свои имена и фамилии в соцсетях, поэтому можно по данным соцсетей посчитать частотность фамилий. Такой датасет есть на kaggle, там уникальные фамилии пользователей Facebook на английском и число пользователей напротив каждой фамилии. Какой-то специалист по безопасности собрал данные 138 млн пользователей. Датасету 5 лет, но процент фамилий значительно не поменяется, если собрать подобные данные сейчас.
Из всех 138 миллионов обнаружилось 1,295 млн "цветных" английских фамилий. Проблема еще была в том, что один цвет могут означать несколько фамилий. Например, green и greene. Это связано со старыми написаниями фамилий. Поэтому пришлось поискать фамилии, обозначающие один цвет, и сгруппировать их. Есть еще фамилии - "отенки", например, Maroon, Crimson. Их мало, Поэтому не включал в виз. Барчарт сделан по основным цветам, добавлены gold, silver - это тоже цвета в английском.
В итоге, более трети людей с фамилией Brown, а вот Yellow - только 25 человек, это 0,002% от всех людей с "цветными" фамилиями. Желтый в Англии считался цветом трусости - отсюда такой процент. Интересно, что в Китае желтый - цвет Солнца и императора, там фамилия Huang (Желтый) входит в десятку самых популярных фамилий.
Порядок топ цветов совпал со статьей из книги.
👍21❤7
Геоданные и батиметрия
Геоданные в мире данных занимают особое место. Прелесть геоданных в том, что визуализации часто получаются информативными и красивыми. Есть много сервисов для работы с гео, например:
🌍 Google Maps Engine. Google Earth. С этими инструментами больше 10 лет работал, но Гугл закрыл Maps Engine. А был довольно полезным сервисом. Карты гугла известны всем, но на старте это был прорыв, и не верилось что можно отснять всю Землю.
🌍 QGis. Инструмент работы с геоданными. Оупенсорс, может много всего, особенно преобразования шеоданных интересны.
🌍 Mapbox - прекрасный онлайн инструмент создания карт и загрузки слоев с данными. Все это потом можно интегрировать в приложения или на сайты.
🌍 kepler.gl от Uber позволяет визуализировать в вебе, но весь процесс обработки - на локальной машине. Красивые штуки можно делать.
Для геоданных придумали свои форматы, и их довольно много. Например, .shp, .kmp, geojson и другие.
Один из форматов - шейп-файл .shp. Он позволяет хранить точки, линии, полигоны и другие объекты. Один .shp файл содержит объекты одного типа. Данные в этом формате встречаются часто. Большую статью по Картам высот и глубин я опубликовал на своем сайте.
Батиметрия изучает рельеф дна водоемов. Для сбора данных о рельефе дна применяют батиметрическую съемку, а карты глубин называют батиметрическими. Хотел найти данные по глубинам Байкала, но в открытом доступе их не было. Нашел данные глубин Великих озер на сайте NOAA(National Centers of Enviromental Information). Великие озера - самая большая группа пресноводных озер на планете. Сюда входят озера: Верхнее, Мичиган, Гурон, Эри, Онтарио и Сент-Клэр. На сайте доступны данные высокого разрешения в формате .shp.
Дальше загрузил данные в Tableau. В данных - батиметрические контуры глубин. Такие контуры на картах называют изобатами, они описывают одинаковые глубины с некоторым шагом. Сделал всю визуализацию 'How deep are the Great Lakes' в виде плаката с легендами, характеристиками и небольшим описанием. Карту Великих озер можно зумить и изучать участки озер. Подложка карт от mapbox.
Получилось симпатично.
Эту работу периодически упоминают на ресурсах по визуализации или картам.
На vividmaps: Great Lakes Profile
На visualcapitalist: Visualizing the Depth of the Great Lakes
Геоданные в мире данных занимают особое место. Прелесть геоданных в том, что визуализации часто получаются информативными и красивыми. Есть много сервисов для работы с гео, например:
🌍 Google Maps Engine. Google Earth. С этими инструментами больше 10 лет работал, но Гугл закрыл Maps Engine. А был довольно полезным сервисом. Карты гугла известны всем, но на старте это был прорыв, и не верилось что можно отснять всю Землю.
🌍 QGis. Инструмент работы с геоданными. Оупенсорс, может много всего, особенно преобразования шеоданных интересны.
🌍 Mapbox - прекрасный онлайн инструмент создания карт и загрузки слоев с данными. Все это потом можно интегрировать в приложения или на сайты.
🌍 kepler.gl от Uber позволяет визуализировать в вебе, но весь процесс обработки - на локальной машине. Красивые штуки можно делать.
Для геоданных придумали свои форматы, и их довольно много. Например, .shp, .kmp, geojson и другие.
Один из форматов - шейп-файл .shp. Он позволяет хранить точки, линии, полигоны и другие объекты. Один .shp файл содержит объекты одного типа. Данные в этом формате встречаются часто. Большую статью по Картам высот и глубин я опубликовал на своем сайте.
Батиметрия изучает рельеф дна водоемов. Для сбора данных о рельефе дна применяют батиметрическую съемку, а карты глубин называют батиметрическими. Хотел найти данные по глубинам Байкала, но в открытом доступе их не было. Нашел данные глубин Великих озер на сайте NOAA(National Centers of Enviromental Information). Великие озера - самая большая группа пресноводных озер на планете. Сюда входят озера: Верхнее, Мичиган, Гурон, Эри, Онтарио и Сент-Клэр. На сайте доступны данные высокого разрешения в формате .shp.
Дальше загрузил данные в Tableau. В данных - батиметрические контуры глубин. Такие контуры на картах называют изобатами, они описывают одинаковые глубины с некоторым шагом. Сделал всю визуализацию 'How deep are the Great Lakes' в виде плаката с легендами, характеристиками и небольшим описанием. Карту Великих озер можно зумить и изучать участки озер. Подложка карт от mapbox.
Получилось симпатично.
Эту работу периодически упоминают на ресурсах по визуализации или картам.
На vividmaps: Great Lakes Profile
На visualcapitalist: Visualizing the Depth of the Great Lakes
❤🔥9👍8❤5🔥2
Автомобили в фильмах и парсинг 2млн страниц
Профилю на Kaggle почти 5 лет. Обычно беру датасеты оттуда, но сам ничего не публикую. Надо менять ситуацию, тем более что накопилось много всего (датасеты, ноутбуки), что будет полезно кагглерам.
Выложил первый датасет 'Cars, Trucks, Bikes, Buses in Movies (1900-2024)'. Там больше 1,75 миллионов записей и 21 поле.
Есть такой сайт imcdb.org (Internet Movie Cars Database). Там собирают кадры с транспортными средствами из фильмов, определяют марки, модели и т.д. 20 лет существует. По сути это самая большая база данных машин, снявшихся в фильмах. Здесь в википедии про IMCDb.
Написал парсер, который проходится по всем страницам сайта, их около 2х миллионов, и собирает данные в .csv. Парсер работал 1 неделю в 4 потока. В итоге собралось несколько .csv, которые потом объединил юнионом. Из неприятного - при парсинге не учел, что разные люди вводят данные, и они могут быть в разных форматах. Например, время в кадре автомобиля записывают как 00:02:35, 0:25:35, 25:35, 0-25-35, 25-35 и в других форматах. Пришлось еще искать несоответствия и допиливать датасет скриптами. Получилось вполне ок.
Выложил данные на Kaggle, описал датасет и поля. Можно скачивать и пользоваться. Надо только понимать, что все вводилось вручную, есть модерация и удаление дубликатов, но все равно есть вероятность несоответствий.
В данных есть ссылки на кадры из фильмов с конкретным транспортным средством (там кроме машин 🚙 еще мотоциклы 🏍, грузовики 🚛, бульдозеры 🚜, лесовозы 🚚 и еще много чего). Есть названия транспортных средств, года выпуска, типы (кабриолет, седан, хетчбек и т.п.). Каждое транспортное средство связано с фильмом и кадром где оно появлялось. IMDb id и ссылки на сайт imdb.com (база фильмов самая известная, наверное) позволяют джойнить с датасетами фильмов, включая имена актеров, режиссеров и т.д. То есть, можно ответить на вопросы типа:
- 'Какие топ марки машин есть в фильмах Тарантино?',
- 'Сколько раз встречается Газ-24 в фильмах Рязанова?',
- 'Какой процент румынских машин в румынских фильмах?',
- "Самое популярное авто в ужастиках?",
- "В каком фильме встречаются Феррари F-40 и 'Запорожец' ЗАЗ-966?"
Автомобиль в фильмах часто играет одну из главных ролей. Это:
- '982 De Lorean DMC 12'
- говорящая машина Рыцаря Дорог '1979 Chevrolet Chevette',
- '1965 Lamborghini 350 GT' в истории о Тонино Ламборгини, и
- '1971 Lincoln Continental Mark III Barris Kustoms [89-65A]' из 'The Car', и
- '1959 Cadillac Ambulance Miller-Meteor Sentinel 'Ecto-1'' охотников за приведениями,
- '2007 Chevrolet Camaro Replica 'Bumblebee' из 'Трансформеров'
и много других - это целая вселенная. И почему бы не соединить вселенную машин-актеров и вселенную людей актеров? Получается круто. Для обучения намного интереснее синтетических датасетов без эмоциональной окраски.
Много экзотики можно накопать из любимых фильмов.
- '1957 ATZ TDT-60' из "Девчат" (Название на английском 'The Girls' заставляет улыбнуться)
- 'KhAZ SPT-104' из 'Иронии судьбы'
- '1940 Chevrolet G-7107 Cargo [G-506]' из 'Семнадцати мгновений весны'.
Итого: дофига инсайтов прикольных можно вытащить. Примеры визуализаций в комменты покидаю.
Профилю на Kaggle почти 5 лет. Обычно беру датасеты оттуда, но сам ничего не публикую. Надо менять ситуацию, тем более что накопилось много всего (датасеты, ноутбуки), что будет полезно кагглерам.
Выложил первый датасет 'Cars, Trucks, Bikes, Buses in Movies (1900-2024)'. Там больше 1,75 миллионов записей и 21 поле.
Есть такой сайт imcdb.org (Internet Movie Cars Database). Там собирают кадры с транспортными средствами из фильмов, определяют марки, модели и т.д. 20 лет существует. По сути это самая большая база данных машин, снявшихся в фильмах. Здесь в википедии про IMCDb.
Написал парсер, который проходится по всем страницам сайта, их около 2х миллионов, и собирает данные в .csv. Парсер работал 1 неделю в 4 потока. В итоге собралось несколько .csv, которые потом объединил юнионом. Из неприятного - при парсинге не учел, что разные люди вводят данные, и они могут быть в разных форматах. Например, время в кадре автомобиля записывают как 00:02:35, 0:25:35, 25:35, 0-25-35, 25-35 и в других форматах. Пришлось еще искать несоответствия и допиливать датасет скриптами. Получилось вполне ок.
Выложил данные на Kaggle, описал датасет и поля. Можно скачивать и пользоваться. Надо только понимать, что все вводилось вручную, есть модерация и удаление дубликатов, но все равно есть вероятность несоответствий.
В данных есть ссылки на кадры из фильмов с конкретным транспортным средством (там кроме машин 🚙 еще мотоциклы 🏍, грузовики 🚛, бульдозеры 🚜, лесовозы 🚚 и еще много чего). Есть названия транспортных средств, года выпуска, типы (кабриолет, седан, хетчбек и т.п.). Каждое транспортное средство связано с фильмом и кадром где оно появлялось. IMDb id и ссылки на сайт imdb.com (база фильмов самая известная, наверное) позволяют джойнить с датасетами фильмов, включая имена актеров, режиссеров и т.д. То есть, можно ответить на вопросы типа:
- 'Какие топ марки машин есть в фильмах Тарантино?',
- 'Сколько раз встречается Газ-24 в фильмах Рязанова?',
- 'Какой процент румынских машин в румынских фильмах?',
- "Самое популярное авто в ужастиках?",
- "В каком фильме встречаются Феррари F-40 и 'Запорожец' ЗАЗ-966?"
Автомобиль в фильмах часто играет одну из главных ролей. Это:
- '982 De Lorean DMC 12'
- говорящая машина Рыцаря Дорог '1979 Chevrolet Chevette',
- '1965 Lamborghini 350 GT' в истории о Тонино Ламборгини, и
- '1971 Lincoln Continental Mark III Barris Kustoms [89-65A]' из 'The Car', и
- '1959 Cadillac Ambulance Miller-Meteor Sentinel 'Ecto-1'' охотников за приведениями,
- '2007 Chevrolet Camaro Replica 'Bumblebee' из 'Трансформеров'
и много других - это целая вселенная. И почему бы не соединить вселенную машин-актеров и вселенную людей актеров? Получается круто. Для обучения намного интереснее синтетических датасетов без эмоциональной окраски.
Много экзотики можно накопать из любимых фильмов.
- '1957 ATZ TDT-60' из "Девчат" (Название на английском 'The Girls' заставляет улыбнуться)
- 'KhAZ SPT-104' из 'Иронии судьбы'
- '1940 Chevrolet G-7107 Cargo [G-506]' из 'Семнадцати мгновений весны'.
Итого: дофига инсайтов прикольных можно вытащить. Примеры визуализаций в комменты покидаю.
👍24❤13🔥12😱4
20 лет эволюции смартфонов и анализ трендов
Нашел сaйт phonedb.net. Написано что это самая большая база мобильных телефонов с их характеристиками. 'The Largest Phone Specs Database'.
Решил посмотреть что там есть. В итоге, собрал данные по всем устройствам в один .csv. Парсинг по id устройства, поиск таблиц, их анпивот и запись в .csv.
Получилось 23843 записи и 287 полей. Характеристик действительно много, но много и пустых значений. Из них 20089 смартфонов (390 брендов), 2371 планшет (136 брендов). Остальное - PDA, смартчасы, ноуты и подобные устройства, которых так мало, что даже нет смысла их смотреть. В смартфонах именно смартфоны, а не все мобильные телефоны.
20089 телефонов - вполне ок выборка для поиска трендов или инсайтов. Планшетов почти в 10 раз меньше, но сравнить их характеристики с телефонными тоже интересно. Из 278 полей реально интересно посмотреть только 10-20 характеристик (остальные - слишком специфичные: cтандарты приемников, типы вспышек и пр.) и рынки распространения телефонов. По телефонам более-менее репрезентативные данные начинаются с 2001 года, по планшетам - с 2010го.
Возьмем самые простые и понятные характеристики:
- Емкость батареи
- Разрешение камеры
- Диагональ дисплея
- Разрешение экрана
- Плотность пикселей на дюйм (PPI)
- Частота процессора (MHz)
- Габариты
- Масса
- Время разговора (Talk Time, h)
- Время в ожидании (Standby Time, h)
- Цена. Есть с 2019 года только, поэтому, на небольшом отрезке времени только можно посмотреть.
Разрезы:
- Бренд,
- Операционная система,
- Устройство (планшет или телефон)
Есть месяц и год релиза, поэтому, можно проследить динамику метрик. Интересно посмотреть как поменялись метрики за столько лет.
В комментариях - помесячная динамика по нескольким метрикам. Там средние значения. Сезонность релизов можно скользящим средним срезать.
Итого по смартфонам динамика за 24 года:
- Толщина упала в 2 раза
- Частота процессора выросла в 25 раз
- Диагональ дисплея выросла в 2 раза
- Емкость батареи выросла в 5 раз
- Высота выросла в 1,5 раза
- Мегапиксели камер выросли в 200 раз
- PPI - рост в 4 раза
- Время разговора выросло в 12 раз
- Время в режиме ожидания выросло в 2 раза
- Масса сильно не изменилась, но была просадка в середине периода
Интересно, что в январе и феврале релизы ощутимо падают.
Мегапиксели камер с 2019 года просто улетели в космос. У планшетов угол тренда не поменялся.
Скаттеры интересные получаются с разыми метриками и разрезами. А ещё - чем больше кнопок, тем тяжелее телефон!
Хотел выложить датасет куда-нибудь, поискал раздел лицензий на сайте. Там надо писать письмо, если хочешь данные получить, и перечислить поля. Есть еще цены. Поэтому, скрипт и датасет решил не выкладывать.
И вот сейчас думаю нарушил я что-то или нет )) Вроде, не должен, но хз как проверить. Использовал в некоммерческих обучающих целях. Персданных нет. Характеристики устройств и их фото - точно не собственность разработчиков сайта. База открыта.
Нашел сaйт phonedb.net. Написано что это самая большая база мобильных телефонов с их характеристиками. 'The Largest Phone Specs Database'.
Решил посмотреть что там есть. В итоге, собрал данные по всем устройствам в один .csv. Парсинг по id устройства, поиск таблиц, их анпивот и запись в .csv.
Получилось 23843 записи и 287 полей. Характеристик действительно много, но много и пустых значений. Из них 20089 смартфонов (390 брендов), 2371 планшет (136 брендов). Остальное - PDA, смартчасы, ноуты и подобные устройства, которых так мало, что даже нет смысла их смотреть. В смартфонах именно смартфоны, а не все мобильные телефоны.
20089 телефонов - вполне ок выборка для поиска трендов или инсайтов. Планшетов почти в 10 раз меньше, но сравнить их характеристики с телефонными тоже интересно. Из 278 полей реально интересно посмотреть только 10-20 характеристик (остальные - слишком специфичные: cтандарты приемников, типы вспышек и пр.) и рынки распространения телефонов. По телефонам более-менее репрезентативные данные начинаются с 2001 года, по планшетам - с 2010го.
Возьмем самые простые и понятные характеристики:
- Емкость батареи
- Разрешение камеры
- Диагональ дисплея
- Разрешение экрана
- Плотность пикселей на дюйм (PPI)
- Частота процессора (MHz)
- Габариты
- Масса
- Время разговора (Talk Time, h)
- Время в ожидании (Standby Time, h)
- Цена. Есть с 2019 года только, поэтому, на небольшом отрезке времени только можно посмотреть.
Разрезы:
- Бренд,
- Операционная система,
- Устройство (планшет или телефон)
Есть месяц и год релиза, поэтому, можно проследить динамику метрик. Интересно посмотреть как поменялись метрики за столько лет.
В комментариях - помесячная динамика по нескольким метрикам. Там средние значения. Сезонность релизов можно скользящим средним срезать.
Итого по смартфонам динамика за 24 года:
- Толщина упала в 2 раза
- Частота процессора выросла в 25 раз
- Диагональ дисплея выросла в 2 раза
- Емкость батареи выросла в 5 раз
- Высота выросла в 1,5 раза
- Мегапиксели камер выросли в 200 раз
- PPI - рост в 4 раза
- Время разговора выросло в 12 раз
- Время в режиме ожидания выросло в 2 раза
- Масса сильно не изменилась, но была просадка в середине периода
Интересно, что в январе и феврале релизы ощутимо падают.
Мегапиксели камер с 2019 года просто улетели в космос. У планшетов угол тренда не поменялся.
Скаттеры интересные получаются с разыми метриками и разрезами. А ещё - чем больше кнопок, тем тяжелее телефон!
Хотел выложить датасет куда-нибудь, поискал раздел лицензий на сайте. Там надо писать письмо, если хочешь данные получить, и перечислить поля. Есть еще цены. Поэтому, скрипт и датасет решил не выкладывать.
И вот сейчас думаю нарушил я что-то или нет )) Вроде, не должен, но хз как проверить. Использовал в некоммерческих обучающих целях. Персданных нет. Характеристики устройств и их фото - точно не собственность разработчиков сайта. База открыта.
🔥10👍3👏3😁1
Актеры без оскаров и bar chART потреты
Бар чарты и другие диаграммы можно использовать не только для отображения бизнес-метрик. При помощи диаграмм можно рисовать.
Любое цифровое изображение раскладывается в набор пикселей. Если для каждого пикселя вычислить его яркость и построить семейство бар-чартов, каждый из которых отображает уровень яркости, то получится изображение, но представленное бар-чартами. Эту идею я взял из блога Elana Levin Schtulberg, Datawrapper. В статье используется Processing для сбора данных и Datawrapper для визуализаций. Идею я реализовал в Python и Tableau. Про весь процесс создания таких изображений написал статью: 'Bar Chart портреты в Tableau'.
Сама визуализация в Tableau: 'Известные актеры и актрисы без оскаров'
Там 10 портретов и 4 типа визуализации.
Процесс создания портрета состоит из шагов:
1. Получение изображений нужного разрешения. От разрешения будет зависеть шаг сетки, в которой будем строить бары.
2. Получение значений яркости для каждого пикселя. Если нужно цветное изображение, то нужно получить цвет каждого пикселя.
3. Создание датасета, в котором есть id каждого пикселя, его координаты, яркость и цвет
4. Подключение датасета к среде визуализации
5. Сама визуализация.
Все это можно делать в удобных для себя инструментах (js, R, python, processing и т.п.). У меня это Питон, библиотека обработки изображений Pillow для создания датасета, Tableau для визуализаций.
После того как будет готов датасет, можно строить визуализации. Для бар-чартов надо построить сетку X x Y, где X и Y делят пространство на ячейки, внутри которых рисуем бар-чарты. Потом можно экспериментировать с направлением баров (вертикальное или горизонтальное), шириной, цветом и т.д. В сочетании 'bar chART' есть слово 'ART', и это неслучайно 🙂.
За параметр длины бара берется величина 255 - [Brightness]. То есть, длина бара определяет степень затемнения ячейки. 255 - максимальное значение яркости.
Кроме баров можно использовать круги с переменным диаметром. Тогда получится диаграмма разброса (Scatter Plot). Можно использовать квадраты, ромбы, звезды и другие шейпы (флаги стран, лого компаний и т.п.). Отдельным типом диаграмм будет диаграмма Ганнта, для которой можно настраивать точку в ячейке, от которой будем заполнять ячейки.
Прикольное что делал таким способом:
1. Портрет из лого компании.
2. Портрет из портретов. То есть, в качестве шейпа используем сам портрет из которого формируем конечное изображение. Шейп только надо немного доработать.
В Tableau работает анимация - портреты плавно перетекают из одного изображения в другое. Меняются размеры баров, шейпов и других Marks одновременно. Это довольно интересно наблюдать. Есть проблема с классическими барами - они не анимируются. Связано это с тем, что за последние 2-3 года сильно урезали возможность анимации. Раньше все работало нормально, сейчас приходится немного потанцевать с бубном.
В визуализацию добавил возможность изменения яркости изображения. То есть, просто есть некоторый коэффициент, на который домножаются значения яркости всех пикселей, при этом, меняется яркость.
Сам конечный портрет представляет собой семейство бар-чартов, где каждый бар показывает степень яркости пикселя изображения.
Бар чарты и другие диаграммы можно использовать не только для отображения бизнес-метрик. При помощи диаграмм можно рисовать.
Любое цифровое изображение раскладывается в набор пикселей. Если для каждого пикселя вычислить его яркость и построить семейство бар-чартов, каждый из которых отображает уровень яркости, то получится изображение, но представленное бар-чартами. Эту идею я взял из блога Elana Levin Schtulberg, Datawrapper. В статье используется Processing для сбора данных и Datawrapper для визуализаций. Идею я реализовал в Python и Tableau. Про весь процесс создания таких изображений написал статью: 'Bar Chart портреты в Tableau'.
Сама визуализация в Tableau: 'Известные актеры и актрисы без оскаров'
Там 10 портретов и 4 типа визуализации.
Процесс создания портрета состоит из шагов:
1. Получение изображений нужного разрешения. От разрешения будет зависеть шаг сетки, в которой будем строить бары.
2. Получение значений яркости для каждого пикселя. Если нужно цветное изображение, то нужно получить цвет каждого пикселя.
3. Создание датасета, в котором есть id каждого пикселя, его координаты, яркость и цвет
4. Подключение датасета к среде визуализации
5. Сама визуализация.
Все это можно делать в удобных для себя инструментах (js, R, python, processing и т.п.). У меня это Питон, библиотека обработки изображений Pillow для создания датасета, Tableau для визуализаций.
После того как будет готов датасет, можно строить визуализации. Для бар-чартов надо построить сетку X x Y, где X и Y делят пространство на ячейки, внутри которых рисуем бар-чарты. Потом можно экспериментировать с направлением баров (вертикальное или горизонтальное), шириной, цветом и т.д. В сочетании 'bar chART' есть слово 'ART', и это неслучайно 🙂.
За параметр длины бара берется величина 255 - [Brightness]. То есть, длина бара определяет степень затемнения ячейки. 255 - максимальное значение яркости.
Кроме баров можно использовать круги с переменным диаметром. Тогда получится диаграмма разброса (Scatter Plot). Можно использовать квадраты, ромбы, звезды и другие шейпы (флаги стран, лого компаний и т.п.). Отдельным типом диаграмм будет диаграмма Ганнта, для которой можно настраивать точку в ячейке, от которой будем заполнять ячейки.
Прикольное что делал таким способом:
1. Портрет из лого компании.
2. Портрет из портретов. То есть, в качестве шейпа используем сам портрет из которого формируем конечное изображение. Шейп только надо немного доработать.
В Tableau работает анимация - портреты плавно перетекают из одного изображения в другое. Меняются размеры баров, шейпов и других Marks одновременно. Это довольно интересно наблюдать. Есть проблема с классическими барами - они не анимируются. Связано это с тем, что за последние 2-3 года сильно урезали возможность анимации. Раньше все работало нормально, сейчас приходится немного потанцевать с бубном.
В визуализацию добавил возможность изменения яркости изображения. То есть, просто есть некоторый коэффициент, на который домножаются значения яркости всех пикселей, при этом, меняется яркость.
Сам конечный портрет представляет собой семейство бар-чартов, где каждый бар показывает степень яркости пикселя изображения.
🔥13❤6
Radial Bump Chart и математические функции
Больше пяти лет прошло как в рамках проекта MakeoverMonday сделал визуализацию 'NHL Attendance' в Tableau. Визуализация отображает посещения матчей НХЛ 🏒 по сезонам, игры каких команд были наиболее посещаемы. Данные ESPN. Можно переключаться с абсолютного числа посещений на ранги. Это была первая радиальная ранговая сигмоидная диаграмма в Tableau. Весь процесс создания описал в статье "Радиальная ранговая диаграмма в Tableau".
Ранговые диаграммы в Tableau уже были, например:
1. Matt Chambers. "Популярность цветов новых автомобилей в Северной Америке 2000-2015".
2. Ken Flerlage "Рейтинг стран по ВВП 2000-2015» и визуализация
3. Laine Caruzca "Рейтинг бейсбольных команд по победам с 2000 по 2017".
Последние две работы используют сигмоиды. Сигмоиды - это 'S'- образные кривые с двумя асимптотами по Y. Кривые строятся на базе функций, самой популярной из которых является логистическая функция y=1/(1+e^-x). Ранги в диаграмме соединяются сигмоидами, поэтому, получаются плавные переходы.
Последняя визуализация про бейсбол ⚾️ понравилась, построил подобную про НХЛ 🏒. Потом интересно стало сделать из линейной диаграммы радиальную. Надо было каждую точку диаграммы повернуть на определенный угол. В этом помогают формулы поворота - тригонометрические формулы. Вот эти:
X = x * cos(angle) - y * sin(angle)
Y = x * sin(angle) + y * cos(angle)
Где x,y - первоначальные координаты точки, а X,Y - конечные координаты после поворота, angle - угол поворота.
Как будто это несложно, но сама визуализация вызвала интерес у комьюнити. Её выбрали в качестве 'The Viz of the Day', она есть в каталоге визуализаций у Kevin Flerlage 'The Tableau Chart Catalog'. Позже сделал другую визуализацию: 'Formula 1. 2018 World Championship. Results' по рейтингам и очкам пилотов Формулы 1 🏎 в сезоне 2018.
Самое интересное, что к этому типу диаграммы возвращаются разные люди, повторяют её, вносят свои идеи. Один из примеров: 'Popular Dog Breeds| Radial bump chart'. Популярные породы собак от Anjushree B V. Выбрали визуализацией дня.
Главная мысль после нескольких лет работы с визуализацией данных:
Любую визуализацию данных можно описать простыми математическими функциями. Визуализация данных - это набор геометрических фигур, поэтому работают все формулы классической (Евклидовой) геометрии.
После того как это понимаешь, границы невозможного стираются. Для абсолютно любой, сколь угодно сложной визуализации, просто нужно найти функции, описывающие её геометрию.
И вот, спустя 5,5 лет, радиальную сигмоидную диаграмму делает Lisa Trescott (Лиза - победитель Iron Viz 2021) по той же самой статье, которую скидывал выше. Это диаграмма 'Dexter: Blood Never Lies', ее выбрали 'The Viz of the Day'.
Неделю назад в блоге 'Flerlage Twiins' вышла статья про такую диаграмму 'A Dexter Viz + Curvy Radar Template'. Ken и Kevin Flerlage ведут популярный блог о Tableau. Кен написал мне до публикации, что реализовал логику расчетов из моей статьи в самом Tableau (я датасет делал до Tableau) и планирует написать статью. Такой вот флешбек.
Получается что каждый автор придумывает и вносит что-то своё. Позже это может превратиться в источник вдохновения и даже стать определенным стандартом. Так эволюционировало много визуализаций, и прелесть в том, что это коллективное творчество.
Про Bump Chart было (и будет) несколько ступеней эволюции (здесь с названиями неоднозначно):
1. Bump Chart (Matt Chambers)
2. Bump Chart with Sigmoids (Chris de Martini и Jeff Shaffer)
3. Radial Bump Chart with Sigmoids (мы здесь)
4. Radial Ribbon Bump Chart with Sigmoids (в Tableau пока не построили)
5. Radial Ribbon Area Chart with Sigmoids (в Tableau пока не построили)
4 и 5 можно построить в Tableau точно с помощью внутренних вычислений. Надо использовать: сигмоиды, юнион, полигоны, денсификацию, нестеды.
Если хотите сделать что-то новое в Tableau, пробуйте пункты 4,5
Больше пяти лет прошло как в рамках проекта MakeoverMonday сделал визуализацию 'NHL Attendance' в Tableau. Визуализация отображает посещения матчей НХЛ 🏒 по сезонам, игры каких команд были наиболее посещаемы. Данные ESPN. Можно переключаться с абсолютного числа посещений на ранги. Это была первая радиальная ранговая сигмоидная диаграмма в Tableau. Весь процесс создания описал в статье "Радиальная ранговая диаграмма в Tableau".
Ранговые диаграммы в Tableau уже были, например:
1. Matt Chambers. "Популярность цветов новых автомобилей в Северной Америке 2000-2015".
2. Ken Flerlage "Рейтинг стран по ВВП 2000-2015» и визуализация
3. Laine Caruzca "Рейтинг бейсбольных команд по победам с 2000 по 2017".
Последние две работы используют сигмоиды. Сигмоиды - это 'S'- образные кривые с двумя асимптотами по Y. Кривые строятся на базе функций, самой популярной из которых является логистическая функция y=1/(1+e^-x). Ранги в диаграмме соединяются сигмоидами, поэтому, получаются плавные переходы.
Последняя визуализация про бейсбол ⚾️ понравилась, построил подобную про НХЛ 🏒. Потом интересно стало сделать из линейной диаграммы радиальную. Надо было каждую точку диаграммы повернуть на определенный угол. В этом помогают формулы поворота - тригонометрические формулы. Вот эти:
X = x * cos(angle) - y * sin(angle)
Y = x * sin(angle) + y * cos(angle)
Где x,y - первоначальные координаты точки, а X,Y - конечные координаты после поворота, angle - угол поворота.
Как будто это несложно, но сама визуализация вызвала интерес у комьюнити. Её выбрали в качестве 'The Viz of the Day', она есть в каталоге визуализаций у Kevin Flerlage 'The Tableau Chart Catalog'. Позже сделал другую визуализацию: 'Formula 1. 2018 World Championship. Results' по рейтингам и очкам пилотов Формулы 1 🏎 в сезоне 2018.
Самое интересное, что к этому типу диаграммы возвращаются разные люди, повторяют её, вносят свои идеи. Один из примеров: 'Popular Dog Breeds| Radial bump chart'. Популярные породы собак от Anjushree B V. Выбрали визуализацией дня.
Главная мысль после нескольких лет работы с визуализацией данных:
Любую визуализацию данных можно описать простыми математическими функциями. Визуализация данных - это набор геометрических фигур, поэтому работают все формулы классической (Евклидовой) геометрии.
После того как это понимаешь, границы невозможного стираются. Для абсолютно любой, сколь угодно сложной визуализации, просто нужно найти функции, описывающие её геометрию.
И вот, спустя 5,5 лет, радиальную сигмоидную диаграмму делает Lisa Trescott (Лиза - победитель Iron Viz 2021) по той же самой статье, которую скидывал выше. Это диаграмма 'Dexter: Blood Never Lies', ее выбрали 'The Viz of the Day'.
Неделю назад в блоге 'Flerlage Twiins' вышла статья про такую диаграмму 'A Dexter Viz + Curvy Radar Template'. Ken и Kevin Flerlage ведут популярный блог о Tableau. Кен написал мне до публикации, что реализовал логику расчетов из моей статьи в самом Tableau (я датасет делал до Tableau) и планирует написать статью. Такой вот флешбек.
Получается что каждый автор придумывает и вносит что-то своё. Позже это может превратиться в источник вдохновения и даже стать определенным стандартом. Так эволюционировало много визуализаций, и прелесть в том, что это коллективное творчество.
Про Bump Chart было (и будет) несколько ступеней эволюции (здесь с названиями неоднозначно):
1. Bump Chart (Matt Chambers)
2. Bump Chart with Sigmoids (Chris de Martini и Jeff Shaffer)
3. Radial Bump Chart with Sigmoids (мы здесь)
4. Radial Ribbon Bump Chart with Sigmoids (в Tableau пока не построили)
5. Radial Ribbon Area Chart with Sigmoids (в Tableau пока не построили)
4 и 5 можно построить в Tableau точно с помощью внутренних вычислений. Надо использовать: сигмоиды, юнион, полигоны, денсификацию, нестеды.
Если хотите сделать что-то новое в Tableau, пробуйте пункты 4,5
🔥12
Вселенная Telegram и tech каналы
Телеграм сейчас является основным источником контента для многих. Стало интересно сделать анализ всех телеграм каналов: подписчики, рейтинги, частота статей, процент репостов, процент рекламы и т.д., поэтому посмотрел как можно достать данные. Какого-то сервиса, где можно сразу быстро и просто взять все каналы и набор метрик по ним, я не нашел, поэтому посмотрел что есть из готовых данных.
Существуют агрегаторы данных телеграм типа tgstat. Похоже что наиболее простой способ - парсить данные агрегаторов. Варианты с ботами, виртуальными аккаунтами показались более затратными.
Итак, посмотрел несколько агрегаторов, взял на пробу три датасемпла. Самым адекватным показался семпл tgstat, поэтому, остановился на нем. В сервисе надо регистрироваться по телеграм аккаунту. Контент динамический, то есть, подгружается по клику. В парсинге всех данных не было смысла - важно было посмотреть что получится на семплах. Спарсил несколько категорий RU домена.
Сегодня расскажу про tech каналы с этой страницы. Это каналы категориии 'Технологии', Россия. Есть несколько каналов из этой категории, читаю их ежедневно, ну и этот канал тоже о технологиях.
Теперь о парсинге. У tgstat есть защита от ботов, регистрация по телеграм аккаунту, динамический контент (не все загружается сразу). Питоновская библиотека requests здесь не работает. Playwright не может регистрироваться с внутренних браузеров - ошибка. Поэтому, делаем максимально 'человеческий' скрипт. Скрипт повторяет действия человека. Запускается Хром в режиме отладки, скрипт логинится, нажимает кнопки для загрузки контента в этом браузере и скачивает данные. Все сохраняется в csv, поля:
Категории
1. id канала
2. Техническое название канала с @ в начале
3. Название канала
4. Ссылка на лого канала
5. Описание канала
Метрики:
6. Число подписчиков
7. Дата последней активности
Сохраняем только каналы с числом подписчиков 100 и больше, и из 15и тысяч остается 7635. С названиями каналов есть нюансы в парсинге, но обойти можно.
Итого, датасет готов, можно покрутить и поискать инсайты. Лого скачал скриптом. Первые 20 каналов сильно выделяются на фоне остальных огромным числом подписчиков. Поэтому хотелось показать сразу все каналы, построить 'вселенную' каналов. Визуализация - packed bubbles c лого и размерами кругов пропорциональными числу подписчиков.
Теперь к самой визуализации. Packed bubbles можно делать различными способами и в разных средах. В BI - большие ограничения, питон - долго считает (пробовал, но ждать долго). Поэтому, победил Процессинг, сделал на p5js, алгоритм collide. В коде js есть 7 параметров, их можно настраивать, получая разные вариации диаграммы. Долго игрался с этим, в итоге, в комментах приложил 3 визуализации в разрешении 8k:
1. Каналы 100 и более подписчиков. 7635 штук.
2. Каналы 1000 - 100000 подписчиков. 4535 штук.
3. Каналы 10000 - 100000 подписчиков. 1009 штук.
Получились своего рода вселенные со звездами и планетами (самое то на fullscreen). На одной картинке можете видеть все каналы и представить масштабы контента в телеграм. Разрешение высокое, можно зумить и искать интересные каналы. Контент 3ей категории читаю больше всего, поэтому, сделал интерактивный виз в Tableau именно в этом диапазоне подписчиков. Координаты кругов взял из js.
Интерактив с фильтрами и хайлайтами в Tableau
Здесь можно найти канал, выбирать диапазон подписчиков и рейтинги на основе числа подписчиков. Можно читать описание и переходить в сам канал по клику.
Из того что читаю: LEFT JOIN, Reveal the Data, Инжиниринг данных, Время Валеры, Чартомойка и другие.
Интересно получилось.
Cмотрел еще категории 'блоги' и 'спорт' . Там кривые по рейтингам другие совершенно. Про это тоже расскажу. До визуализации всей телеграм вселенной осталось немного.
Телеграм сейчас является основным источником контента для многих. Стало интересно сделать анализ всех телеграм каналов: подписчики, рейтинги, частота статей, процент репостов, процент рекламы и т.д., поэтому посмотрел как можно достать данные. Какого-то сервиса, где можно сразу быстро и просто взять все каналы и набор метрик по ним, я не нашел, поэтому посмотрел что есть из готовых данных.
Существуют агрегаторы данных телеграм типа tgstat. Похоже что наиболее простой способ - парсить данные агрегаторов. Варианты с ботами, виртуальными аккаунтами показались более затратными.
Итак, посмотрел несколько агрегаторов, взял на пробу три датасемпла. Самым адекватным показался семпл tgstat, поэтому, остановился на нем. В сервисе надо регистрироваться по телеграм аккаунту. Контент динамический, то есть, подгружается по клику. В парсинге всех данных не было смысла - важно было посмотреть что получится на семплах. Спарсил несколько категорий RU домена.
Сегодня расскажу про tech каналы с этой страницы. Это каналы категориии 'Технологии', Россия. Есть несколько каналов из этой категории, читаю их ежедневно, ну и этот канал тоже о технологиях.
Теперь о парсинге. У tgstat есть защита от ботов, регистрация по телеграм аккаунту, динамический контент (не все загружается сразу). Питоновская библиотека requests здесь не работает. Playwright не может регистрироваться с внутренних браузеров - ошибка. Поэтому, делаем максимально 'человеческий' скрипт. Скрипт повторяет действия человека. Запускается Хром в режиме отладки, скрипт логинится, нажимает кнопки для загрузки контента в этом браузере и скачивает данные. Все сохраняется в csv, поля:
Категории
1. id канала
2. Техническое название канала с @ в начале
3. Название канала
4. Ссылка на лого канала
5. Описание канала
Метрики:
6. Число подписчиков
7. Дата последней активности
Сохраняем только каналы с числом подписчиков 100 и больше, и из 15и тысяч остается 7635. С названиями каналов есть нюансы в парсинге, но обойти можно.
Итого, датасет готов, можно покрутить и поискать инсайты. Лого скачал скриптом. Первые 20 каналов сильно выделяются на фоне остальных огромным числом подписчиков. Поэтому хотелось показать сразу все каналы, построить 'вселенную' каналов. Визуализация - packed bubbles c лого и размерами кругов пропорциональными числу подписчиков.
Теперь к самой визуализации. Packed bubbles можно делать различными способами и в разных средах. В BI - большие ограничения, питон - долго считает (пробовал, но ждать долго). Поэтому, победил Процессинг, сделал на p5js, алгоритм collide. В коде js есть 7 параметров, их можно настраивать, получая разные вариации диаграммы. Долго игрался с этим, в итоге, в комментах приложил 3 визуализации в разрешении 8k:
1. Каналы 100 и более подписчиков. 7635 штук.
2. Каналы 1000 - 100000 подписчиков. 4535 штук.
3. Каналы 10000 - 100000 подписчиков. 1009 штук.
Получились своего рода вселенные со звездами и планетами (самое то на fullscreen). На одной картинке можете видеть все каналы и представить масштабы контента в телеграм. Разрешение высокое, можно зумить и искать интересные каналы. Контент 3ей категории читаю больше всего, поэтому, сделал интерактивный виз в Tableau именно в этом диапазоне подписчиков. Координаты кругов взял из js.
Интерактив с фильтрами и хайлайтами в Tableau
Здесь можно найти канал, выбирать диапазон подписчиков и рейтинги на основе числа подписчиков. Можно читать описание и переходить в сам канал по клику.
Из того что читаю: LEFT JOIN, Reveal the Data, Инжиниринг данных, Время Валеры, Чартомойка и другие.
Интересно получилось.
Cмотрел еще категории 'блоги' и 'спорт' . Там кривые по рейтингам другие совершенно. Про это тоже расскажу. До визуализации всей телеграм вселенной осталось немного.
👍10❤7🔥1😱1