- PVSM.RU - https://www.pvsm.ru -

Пульс Хабра

callidus77: Помница в нашей сетке монтажники подключали абонента. Пришли, воткнули сетевуху, а у него Фря и дров нету. Почесали головы и ушли. Чел через три недели наконец-то коннектится.
Грят: «Долго ж ты искал дрова.»
Он: «Я не искал. Я их сам написал.» Баш [1]

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

Под катом мы разберемся с основными инструментами ресурса и потенциальной возможностью применения. Весь инструментарий доступен по адресу http://www.habr-analytics.com [2], исходный код (основные функции) на github [3]. За примерами и деталями — добро пожаловать под кат!

Структура статьи

  1. Пульс Хабра [4]
  2. Монитор статей [5]
  3. Анализ пользователей [6]
  4. Пересечение хабов — диаграммы Венна [7]
  5. Аудитория хабов [8]
  6. Исходный код и структура проекта [9]
  7. Заключение [10]

*Осторожно трафик*

Пульс Хабра


Пульс — один из наиболее интересных индикаторов, он показывает динамику чтения хабра (точнее статей в «Новом»). Между точками фиксированный интервал в семь минут (плюс-минус минута). На графике ниже можем наблюдать уровень активности в ночь с воскресенья на понедельник. Хорошо видно, что статьи в понедельник утром читают в четыре раза активней, чем в ночь с воскресенья на понедельник (чего и следовало ожидать, но мы заранее не знаем «насколько» больше читают в понедельник утром)
Пульс Хабра

В чем смысл?

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

Доступен по адресу:
www.habr-analytics.com/pulse [11]

Монитор статей


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

Вкратце, следим за изменением просмотров, избранного и репостов в соц сетях (ВК, FB, Twitter) во времени. Интерфейс простейщий: выбираем статью из списка, тип данных и жмем кнопку «Построить График».
Пульс Хабра
В репертуаре статьи за последние два дня (на самом деле за последние 52 часа).

Доступно по адресу:
www.habr-analytics.com/monitor [12]

В качестве примера, графики для хабра-статьи «С Днем Рождения, Элон Маск»:
Просмотры: С Днем Рождения, Элон Маск":
Пульс Хабра
Избранное: С Днем Рождения, Элон Маск":
Пульс Хабра
Репосты в соц сетях: С Днем Рождения, Элон Маск":
Пульс Хабра
Для свежих статей число измерений меньшее (так как измерения происходят каждые семь минут), поэтому графики внешне выглядят немного по-другому:

Статья :"Не лей мне соль в реактор или не-импульсные ядерные ракетные двигатели" через 5-6 часов после появления.

Просмотры: Не лей мне соль в реактор или не-импульсные ядерные ракетные двигатели
Пульс Хабра
Избранное: Не лей мне соль в реактор или не-импульсные ядерные ракетные двигатели
Пульс Хабра
Репосты в соц сетях: Не лей мне соль в реактор или не-импульсные ядерные ракетные двигатели
Пульс Хабра

Для сравнения график просмотров этой же статьи через 27 часов
Пульс Хабра

В чем смысл

Наблюдать за динамикой чтения статьи: перестали ли читать статью, после того как она ушла из «лучшее за сутки»? (Чаще всего мы видим, что просмотры выходят на константу после 24-х часов.) В какой сети статья распространяется быстрее и активней? Как изменяется динамика после выхода на главную?

В целом, монитор даёт интегральный слепок распространения статьи в сети.

Анализ пользователей


Кому не интересно посмотреть свою «историю» на Хабре? Ну или ещё чью-нибудь; обычно, открываешь профиль и видишь всего лишь сухую пару строк: столько-то написал, зарегистрировался тогда-то и всё. Мне всегда это казалось чем-то не слишком интересным и пришла идея — визуализировать историю пользователя.

Интерфейс предельно простой — имя пользователя, тип данных и большая кнопка.
Пульс Хабра

Приведем для примера графики для пользователя lozga [13] — просто потому, что получается довольно красиво: одни «взлеты» и «падения».

«Анализ пользователей» доступен по адресу:
www.habr-analytics.com/user [14]

Рассмотрим графики чуть детальней:
Просмотры
Пульс Хабра
Рейтинг
Пульс Хабра
Избранное
Пульс Хабра

Бонус: график просмотров для PapaBubaDiop [15] (большой пик — это тот самый пост про «Поле Чудес» [16])
Пульс Хабра

Зачем это нужно?

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

Пересечение хабов — диаграммы Венна


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

Доступно по адресу:
www.habr-analytics.com/venn [17]

Для данной функции так же имеется standalone версия с расширенным функционалом (например, с работой с хабами компаний) и хабра-статья [18] с описанием: исходники (python) и исполняемые файлы для Windows, Linux и MacOS (все библиотеки включены).

  • python скрипт venn.py [19] и папка src/ [20]; необходимо установить библиотеки:
    pip install beautifulsoup4 progress urllib3 matplotlib_venn
  • venn.exe [21] для Windows
  • venn.elf [22] для Linux
  • venn.osx [23] для Mac OS

Аудитория хабов


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

Доступно по адресу:
www.habr-analytics.com/audience [24]

Для данной функции имеется так же standalone версия с расширенным функционалом (например, с работой с хабами компаний) и хабра-статья [25] с описанием:
Исходные данные под названием hubs доступны на github [26], там же доступны исполняемые файлы для

Исходный код и структура проекта


Основной (сбор данных, запись в базы данных, генерация графиков и т.д.) код проекта доступен на github [3].
Пульс Хабра
(выше приведен код функции monitor).

Так как скорее всего сайт ляжет от хабра-эффекта заранее вангую шутки в духе: у Хабра не прощупывается пульс или у пульса не прощупывается Хабр.

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

Технические детали: всё работает на PaaS Heroku, в виде двух приложений; оба на Flask; интерфейс: Flask+Bootstrap3; хранение данных mongoHQ и memcached. Сборщик данных парсит хабр, потому как доступ к API почему-то не дают (по крайней мере пока).

Заключение


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

Есть идеи, что еще нужно реализовать? Ждем-с в комментариях иили через любой другой канал связи.

Автор: varagian

Источник [30]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/analiz-danny-h/63805

Ссылки в тексте:

[1] Баш: http://bash.im/quote/391539

[2] http://www.habr-analytics.com: http://www.habr-analytics.com/

[3] github: https://github.com/SergeyParamonov/habr-analytics-internal

[4] Пульс Хабра: #pulse

[5] Монитор статей: #monitor

[6] Анализ пользователей: #user

[7] Пересечение хабов — диаграммы Венна: #venn

[8] Аудитория хабов: #audience

[9] Исходный код и структура проекта: #code

[10] Заключение: #conclusions

[11] www.habr-analytics.com/pulse: http://www.habr-analytics.com/pulse

[12] www.habr-analytics.com/monitor: http://www.habr-analytics.com/monitor

[13] lozga: http://habrahabr.ru/users/lozga/

[14] www.habr-analytics.com/user: http://www.habr-analytics.com/user

[15] PapaBubaDiop: http://habrahabr.ru/users/papabubadiop/

[16] это тот самый пост про «Поле Чудес»: http://habrahabr.ru/post/124363/

[17] www.habr-analytics.com/venn: http://www.habr-analytics.com/venn

[18] хабра-статья: http://habrahabr.ru/post/220465

[19] venn.py: https://github.com/SergeyParamonov/HabraAnalyticsTools/blob/master/venn.py

[20] src/: https://github.com/SergeyParamonov/HabraAnalyticsTools/tree/master/src

[21] venn.exe: https://github.com/SergeyParamonov/HabraAnalyticsTools/raw/master/venn.exe

[22] venn.elf: https://github.com/SergeyParamonov/HabraAnalyticsTools/raw/master/venn.elf

[23] venn.osx: https://github.com/SergeyParamonov/HabraAnalyticsTools/raw/master/venn.osx

[24] www.habr-analytics.com/audience: http://www.habr-analytics.com/audience

[25] хабра-статья: http://habrahabr.ru/post/221087/

[26] github: https://github.com/SergeyParamonov/HabraAnalyticsTools

[27] Windows: https://github.com/SergeyParamonov/HabraAnalyticsTools/blob/master/hubs.exe

[28] Linux: https://github.com/SergeyParamonov/HabraAnalyticsTools/blob/master/hubs.elf

[29] Mac OS: https://github.com/SergeyParamonov/HabraAnalyticsTools/blob/master/hubs.osx

[30] Источник: http://habrahabr.ru/post/228015/