Habra Analytics Tools: сравниваем хабы

Если вы не читаете хабр по выходным, то скорее всего пропустили запуск мини-проекта Habra Analytics Tools. Цель проста — предоставить авторам Хабрахабра инструментарий для анализа статей и хабов. Первые инструменты посвящены анализу и сравнению хабов, и прежде всего они полезны для оценки аудитории статей. Например, график справа показывает, какие хабы также читают подписчики хаба «Google» (высота столбики — процент подписчиков, который так же читает указанные хабы), а слева визуальную диспозицию относительно двух других хабов («Искусственный интеллект» и «Linux»).1ad310b937b3609ce01a5d7a1af6b482.pngПостроение диаграмм Венна мы обсудили ранее вот в этой статье, исходники доступны на github (или готовые исполняемые файлы под Windows, Linux и Mac OS) — вам так же нужно будет скачать и распаковать data.7z (также необходим для данной статьи).

Здесь же мы поговорим о предпочтениях читателей определенного хаба по отношению сразу ко всем остальным хабам Хабрахабра.Исходные данные тула под названием hubs доступны на github, там же доступны исполняемые файлы для Windows и Linux.

Зачем это нужно? Самое очевидное применение инструмента hubs — это анализ предпочтений целевой аудитории. Представим, что мы пишем для корпоративного блога и хотим узнать, что же еще читают наши подписчики. Какие темы их интересуют? Рассмотрим в качестве примера корпоративный блог Яндекса: 8b53d415cb1ff686e5fb89289cd51c71.pngДля сравнения приведем хаб Яндекса (не корпоративный блог): 5eb7a7f29be7caccdcdc5faab5b23d75.pngИз двух графиков мы видим, что предпочтения существенно отличаются (хотя их и объединяют некоторая любовь к Гуглу).Столь существенная разница возникает прежде всего из-за существенной разницы в аудитории блога и хаба: 994b2ca8a7ed4f1ae6e57229a225fe5b.png

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

Похожие хабы Если диаграмма Венна подсказывает взаимное расположении аудиторий двух хабов и отвечает на вопрос: «Как вырастет аудитория хаба X, если мы добавим Y», то гистограмма хабов отвечает на вопрос какие хабы Z1, Z2, … Zn похожи на хаб X? Здесь мы предоставляем две метрики для сравнения хабов:

Если z% читателей хаба Х читают Y, то X ~ Y = z, пример, если 10% читателей хаба Космонавтика подписаны на хаб C++, то 10 — степень схожести хабов Космонавтика на C++ (данное отношение не симметрично) Коэффициент_Жаккара: b6690d5e017766282b2a096beb6d2002.png Первая метрика подходит лучше всего для естественной интерпретации предпочтений читателей хаба, а вторая может быть полезна для автоматической кластеризации хабов в каталог. Приведем пример с оценкой предпочтений читателей хаба: 6500d9728d7deed321f8fc4cd24c05ee.pngНа данной гистограмме мы видим, что у корпоративного хаба есть несколько основных групп читателей, условно назовем их «разработка» — алгоритмы, программирование etc, «безопасность», «Open source», «рефакторинг» и «операционные системы». Данный фактор может быть учтен при написании статей, например, подчеркнув определенные аспекты интересные одной из групп читателей.

Код, документация и примеры Для установки необходимо скачать либо: Также необходимо скачать архив data.7z (~15МБ, unzipped ~ 200МБ) и распаковать его в той же директории, что и скрипт. Далее в зависимости от скаченной версии необходимо вызывать python hubs.py, либо ./hubs.efl, либо hubs.exe. Будем придерживаться первой версии.Основные команды Скрипт является консольным, поэтому его важнейшей командой является help, доступный через флаги -h, --help: python hubs.py -hпример вывода на экран: d9a968c4fb80e74309a8c446c091bf25.pngОсновная команда для вывода гистограммы «что еще читают подписчики хаба»: python hubs.py --alsoread spaceпример вывода: 8250972ee02521d6e3830e5b8da88778.png

Для каждого хаба в программе используется соответствующее имя из ссылки на этот хаб habrahabr.ru/hub/space — для хаба Космонавтика, space — это имя в программе. Вывод доступных имен хабов и их полные названия, все операции производятся по коротким латинским именам из списка (они же используются в url на хабре)python hubs.py --hublistВ идеале используется вместе с командой grep: 60eff723c0e4fd368af7b98d716b8e61.png

Как уже было отмечено ранее, yandex — это корпоративный блог и хаб, чтобы устранить неоднозначность используется ключ:--company. Поэтому, чтобы создать диаграмму для корпоративного блога Яндекса необходимо вызвать: python hubs.py --alsoread yandex --company.

Для создания гистограммы на основе коэффициента Жаккара используется ключ --similar: python hubs.py --similar space

Для вывода максимальных (минимальных) значений до N хабов по включению или коэффициенту Жаккара без самой гистограммы, необходимо вызвать ключ --max (--min): 27f358657c3448960a4f418e729ceb7a.png

Идеи для следующих tools Монитор статей: после написания статьи нужно будет вызвать тул monitor $article_id и она будет записывать и рисовать изменение просмотров (плюсов, etc) во времени, а так же shares and likes в социальных сетях и возможно комментарии читателей.Веб интерфейс: все тоже самое, но доступное через веб.

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

© Habrahabr.ru