...

суббота, 26 апреля 2014 г.

Наbra Analytics Tools: аудитория хабов

Исследуем аудиторию



Перед каждым автором на Хабре встает вопрос: «В какие же хабы разместить статью»? Безусловно, ответ прежде всего зависит от темы. С другой стороны, многие статьи достаточно широкого профиля и приходится тщательно выбирать в какие три хаба написать. Сам Хабр такого инструментария для анализа не предоставляет. А что делают обитатели хабра, когда инструмент нужен, а его нет? Они его пишут!

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



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



Представим, что мы хотим написать в хаб медиа и рассчитываем, а не стоит ли разместить статью в хаб Статистика в IT? Для того чтобы рассчитать целесообразность, необходимо найти пересечение аудитории хабов:



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


Общее применение




Зачем еще может понадобиться такой инструмент? (Автор не нашел лучшего аналога для слова tool.) Допустим, что вы представитель какой-либо компании и хотите посмотреть как много читателей определенного хаба подписались на корпоративный блог после написания статьи. Например вы собираетесь написать Проверка фреймворка Qt 5 и хотите посмотреть сколько человек из хаба Qt подписались на корпоративный блог PVS студии, тогда решение построить две диаграммы «до» и «после» следующего вида (тут приводится только «после»):



Если по графику общая тенденция не слишком видна, то наш tool должен также предоставлять текстовую информацию о пересечении, в духе:

57% of pvs-studio(company) intersects with qt_software
И хаб, и корпоративный блог



Есть на Хабре такие компании, у которых присутствует и корпоративный блог, и собственно хаб, посвященный компании. Например у Яндекса: блог и хаб. Аудитория блога 11к, а хаба 85к, а значит казалось бы зачем размещать в корпоративном блоге, если уже поместили в хаб? Наверняка читатели блога и хаб читают, при соотношении-то 1 к 8 по читателям. Проверим же эту догадку:



Как можно заметить, примерно половина читателей корпоративного блога не читают общий хаб, а значит размещать в оба хаба имеет смысл.
Общий и технический блог



А бывает и такое, что есть общий хаб, например, Вконтакте и технический хаб Вконтакте API и встает вопрос, а имеет ли смысл постить в оба? Не будет ли аудитория второго полностью входить в первую? И это несложно проверить!



Отсюда следует, что догадка оказывается неверной, существуют определенный круг людей читающих технический хаб Вконтакте API и не читающий общий хаб Вконтакте.

Документация, код, данные




И тут, конечно же, внимательный читатель восклицает: а что со всех этих графиков простому хабра-автору? Действительно от одних только графиков приведенных выше пользы мало, но польза есть от инструмента, который их будет строить для автора! Настал момент предоставить первый (и пока единственный) tool в серии Habra Analytics Tools — Venn diagrams for Habrahabr: весь код, документация и примеры доступны через github.

Сам инструмент доступен в виде скрипта на python (с пачкой библиотек) и для тех, у кого нет желания ничего настраивать и скачивать замечательные библиотеки matplotlib_venn и urllib3 — доступны бинарники для трех платформ. (Автор приносит свои извинения за размер файлов — сделано всё с помощью pyinstaller, который запихивает все библиотеки в бинарник, но надеется, что для читателей полчаса свободного времени (который бы ушел на настройку и скачивание библиотек) важнее лишних 50МБ.)


Tool доступен в следующих версиях: исходники (python) и исполняемые файлы (все библиотеки включены).



  • python скрипт venn.py и папка src/; необходимо установить библиотеки:

    pip install beautifulsoup4 progress urllib3 matplotlib_venn

  • venn.exe для Windows

  • venn.elf для Linux

  • venn.osx для Mac OS




Также необходимо скачать архив data.7z (~15МБ, unzipped ~ 200МБ) и распаковать его в той же директории, что и скрипт. Далее в зависимости от скаченной версии необходимо вызывать python venn.py, ./venn или venn.exe, будем приводить первый вариант в статье.

Скрипт является консольным, поэтому его важнейшей командой является help, доступный через флаги -h, --help:

python venn.py -h

пример вывода на экран:



Пройдемся же по ключевым флагам и опциям:


Создание диаграммы



python venn.py -d space programming fido

или

python venn.py --draw space programming fido



Если данные не присутствуют ( в датасете собраны все доступные хабы на 26 апреля 2014), то программа автоматически проверит наличие данных на хабре и начнет скачивание, примерно 15-20 минут на хаб. Пример сообщения о скачивании:


Используемые имена хабов



Для каждого хаба в программе используется соответствующее имя из ссылки на этот хаб habrahabr.ru/hub/space — для хаба Космонавтика, space — это имя в программе.

Вывод доступных имен хабов и их полные названия, все операции производятся по коротким латинским именам из списка (они же используются в url на хабре)

python venn.py --hubs

В идеале используется вместе с командой grep:


Базовая статистика



Создание диаграммы вместе с базовой статистикой

python venn.py --stats -d space programming fido

или вывод только базовой статистики без диаграммы: ключ --onlystats или -o

python venn.py -o space programming fido


Хабы и компании



Как уже было отмечено ранее, yandex — это корпоративный блог и хаб, чтобы устранить неоднозначность используется ключ:

--company

Пример:

python venn.py -d yandex yandex --company 2

Первый хаб будет воспринят как обычный хаб (по умолчанию), а второй как блог компании.
Другие команды



Удаление хаба из списка (не удаляет данные)

python venn.py --removehublink space

Добавление хаба в список (не скачивает данные)

python venn.py --addhublink space


Обновление данных хаба, скачивает данные ~15-20 минут

python venn.py --updatehub space


Диаграммы и\или статистика без заголовка про пиццу и котят

python venn.py -s -d space programming

добавление компании и её скачивание данных (также обновляет данные, если уже что-то скачено)

pytnon venn.py --downloadcompany yandex


Заключение




Вашему вниманию представлена самая первая альфа версия одного из инструментов для анализа хабра-данных. Комментарии, пожелания и всяческая поддержка, а особенно идеи широко приветствуются. Безусловно, если tool, окажется хоть в какой-то мере полезным, то необходимо расширить список доступных функций (например, сделать графический интерфейс — irony хотя кому это нужно? /irony), «причесать код» — автор отдает себе отчет, что написанный код ужасен и должен быть переработан.

Данный tool может служить вспомогательным инструментом для оценки аудитории перед размещением статьи или анализом аудитории корпоративного блога.


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


Идеи для следующих tools





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

  • Предпочтения пользователей хаба: пусть мы выбрали какой-нибудь хаб hub1 и нам интересно, в каких хабах читатели еще состоят? Каково распределение их вкусов? Какой хаб «ближе всего» к данному, а какой «дальше»?


Бонус — диспозиция читателей хабов С++, Python и Java




Дзен-символ языков программирования:


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий