Офтоп
Kat Vance
13 841

Неожиданная статистика

Анализ всех комментариев на TJ, оставленных за последние пять лет.

В закладки

Раньше люди уже предпринимали попытки проанализировать деятельность сообщества, но всем им не хватало самого важного и интересного: доступа к комментам. Как некоторые из вас, наверное, помнят, недавно kolyanok отреверсил официальное приложение TJ для Android и написал полную документацию по всем методам api, включая закрытые.

«Потому что почему бы и нет». Мы, немного подудосив «ТеЖе» (простите), собрали все оставленные за более чем пять лет существования ресурса комменты, и теперь покажем, что мы узнали.

О формате

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

Немного абсолютных цифр

Анализируются комменты за период с 27 июля 2011 года (дата первого коммента в системе) по 27 апреля 2017 года (дата сбора информации). Всего за это время 19,878 активных (из 121,726 зарегистрированных) пользователей оставили 1,020,787 комментов (да-да, если бы за каждый коммент с момента основания вам платили один рубль, вы бы до сих пор даже не смогли купить квартиру в мегаполисе, ха-ха), и поставили 3,403,968 оценок (включая дизлайки).

Заплюсованных комментов 550,335, заминусованных – 47,676, с нулевым рейтингом – 411,252; И ещё 11,524 неопределённого рейтинга (либо оставлены удалёнными "с мясом" аккаунтами, либо удалённые комменты, которые по какой-то причине остались в базе), в общем api возвращает при запросе большинства числовых полей для них N/A — это всё что мы знаем.

Количество в сравнении наглядно

Топ-10 самых лучших комментов за всё время выглядит так:

А самых худших – так:

Топ-5 комментаторов по количеству комментариев:

1. (Ну кто бы сомневался) Ded Pihto, 20,701 коммент

2. Константин Курасов, 15734

3. "Олег Ивахнов", 11475

4. "Slow Dimon", 10131

5. "Василий", 10099

Как посмотреть 10 лучших и худших своих комментов, а также посчитать их количество и выяснить своё место в общем зачёте, сказано в reference.

Минутка социализма

Состоянием на 30 апреля 2017 года порог вхождения в топ-200, дающий бесплатную подписку, составляет 2,17 — то есть 217 лайков за три месяца. Всего за исследуемый период прошло 20 таких периодов. То есть минимально, для того чтобы иметь подписку всё это время, нужно было собрать 4,340 лайков. Всего на сайте было поставлено на 3,186,364 больше лайков чем дизлайков.

То есть если «забрать и поделить» все собранные лайки, их бы хватило на обеспечение бесплатной подписки всего 734 людям. В то время как нуждающихся, то есть когда-либо писавших комменты, 19,878. Увы, не сработает этот трюк.

Активность

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

Но нам этого мало, мы хотим узнать, в какие дни здесь было больше всего комментариев. Разбиваем наш датасет на уровни (как – написано в сопроводительном), и получаем результаты. Итак, дней, когда здесь было больше 2000 комментариев, всего пять:

1. 5 мая 2015 года, 2923 коммента

2. 26 ноября 2016 года, 2309

3. 13 апреля 2017 года, 2186

4. 21 января 2015, 2121

5. 19 января 2015, 2086

Также примечателен вот этот пик:

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

1800 комментариев за день для тогда ещё небольшого сайта. Пятница, 17 января 2014 года. Что же случилось в этот день? Лезем снова в таблицу комментов, немного фильтруем и да:

Это статья с id 2772 — Спасти рядовую воспитательницу, под которой Никита призвал поддерживать Анну Долбач при помощи комментов от имени своих соцсетей. Не разбирался что там произошло, так что какова мораль это басни – сами думайте. Я только обратил внимание.

Слова

За пять лет на тж было написано (приблизительно, я не в ответе за множественные ошибки парсинга, которые неизбежны, если речь идёт о любом юзеринпуте) 15,467,083 слов. То есть в среднем примерно по 15 слов на комментарий.

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

1. время – 11276 вхождений

2. почему, потому – по 11262 вхождений каждое. Здесь не любят оставлять вопросы без ответа.

3. Забавное комбо:

TJ считает, что раньше люди были лучше.

4. России – 8539 вхождений. На сайте много патриотов, которые думают, помнят о России.

5. человек – 6944. Без неожиданностей. Это слово входит в том-100 любого рейтинга частотности.

6. Просто – 6245. Слово-паразит. С большой буквы, то есть этим словом любят начинать предложение. Читал забавный "психологический анализ" личности человека, в зависимости от того, какие слова-паразиты он предпочитает. Очередная псевдонаучная фигня для пабликов, скорее всего.

7. видео – 6103. Ну да. Ресурс ведь о медийности. Не удивительно.

8. сделать и делать. По 5991 каждый. Замечательно, что здесь сидят деятельные люди.

9. должен – 5839.

и конечно

10. деньги – 5592. Куда же без них. Примечательно, что это слово в рейтингах частотности в языке около 170-го места, а на теже вошло в первую десятку (существительных). Здесь явно думают о деньгах чаще, чем в среднем по планете.

Больше статистического аутизма

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

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

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

Обрезал самые частые нули и единицы чтобы лучше было видно тенденцию:

Визуально похоже на нормальное, но с заметным перекосом вправо. Давайте это проверим! Сделать это можно с помощью теста Шапиро-Уилка, но эта пиндосская муть не умеет обрабатывать выборки на больше чем 5000 элементов, поэтому воспользуемся нашим, кокошно-самоварным, духовным тестом Колмогорова-Смирнова.

И визуализация происходящего с помощью qqplot (квантиль-квантиль плот, позволяет наглядно сравнить два изменчивых показателя, в данном случае сравнивается с гипотетическим нормальным распределением)

Смотрим в таблицу соответствия полученного критерия статистической значимости

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

Что с приложением

Как некоторые могут вспомнить, мы вам вроде бы обещали приложение на qt, и даже именно с этой целью реверсили api. Докладываю: всё хорошо, дизайн есть, большинство проблем связанных со стартом проекта разрулено, ну и т.п. Но мы сейчас ничего не делаем. Почему? Да потому что один прекрасный человек обещал обновление, которое затронет множество ключевых моментов сайта. Это может как сделать его грейт эгэин, так и необратимо испортить.

Сейчас тестируется два варианта движка. Первый – тот, что сейчас работает на spark.ru, второй – тот, который на dtf. Первый хотя и не лишён недостатков, в принципе хорош: там есть личка, неплохо выглядит разметка, редактирование комментариев, и всё в принципе работает как должно быть, 8/10 ябсидел. Второй – просто ужасен. Принудительная аякс-навигация, уродская боковая панель, всё мигает и выпрыгивает как на одноклассниках. Господи спасите.

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

Заключение

Вот так и прошли для TJ эти пять с небольшим лет. Если вас заинтересовал какой-то показатель, которого нет в статье, и вам сложно его посчитать самостоятельно, смело пишите в комментариях, помогу. Мне не трудно, а наоборот, интересно.

До скорых встреч.

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы рассказать свою историю.

Написать
{ "author_name": "Kat Vance", "author_type": "self", "tags": [], "comments": 173, "likes": 168, "favorites": 50, "is_advertisement": false, "subsite_label": "flood", "id": 43823, "is_wide": false, "is_ugc": true, "date": "Sun, 30 Apr 2017 18:04:31 +0300", "is_special": false }
Комментарии

Небесный паук например

3

не хочу ставить больше минусов

Деревянный Орзэмэс

4

После такого tj обязан предложить тебе работу

Последовательный инструмент

29

Сопроводительный документ со ссылками:
https://notabug.org/fullFeaturedUnicorn/public/src/master/reference.md

Офтоп
дискуссии в сообществе доступны только владельцам клубного аккаунта
С клубным аккаунтом вы сможете
создавать записи и вести дискуссии в закрытых сообществах
наслаждаться нашим сайтом без рекламы
помочь проекту и почувствовать себя лучше
Купить за 75₽
Обсуждаемое
Новости
Власти Саратова предложили закрепить за каждым ребёнком маршрут от дома до школы, который нельзя будет нарушать
После убийства школьницы они также проверят гаражные кооперативы и избавятся от зелёных насаждений.
Интернет и мемы
Российская блогерша призвала жертвовать жизнью животных на дорогах ради спасения человека. В соцсетях ответили угрозами
Лера Любарская признала высказывание «некорректным» и подчеркнула, что не понимает тех, кто «поддерживает травлю».
Новости
Сына красноярского депутата с другом заподозрили в избиении человека до смерти. Жители города призвали к народному сходу
Избитый молодой человек 22 дня провёл в коме, спасти его не удалось.
Популярное за три дня
Новости
На Change.org опубликовали петицию против Вечернего Мудозвона
Автор петиции, священник-эмигрант из России отец Сергий, просит итальянские власти не предоставлять гражданство Владимиру Соловьёву. По его мнению, Соловьёв рассчитывает получить итальянский паспорт.
Новости
Власти США приостановили ICO Дурова и подали иск против Telegram из-за «незаконной продажи токенов» на 1,7 млрд долларов
Американский регулятор выступил против попытки компании «наводнить рынок» своей криптовалютой.
Новости
Сына красноярского депутата с другом заподозрили в избиении человека до смерти. Жители города призвали к народному сходу
Избитый молодой человек 22 дня провёл в коме, спасти его не удалось.

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovy", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfk" } } }, { "id": 6, "disable": true, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byswn", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "cndo", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223677-0", "render_to": "inpage_VI-223677-0-130073047", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=cndo&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudv", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "ccydt", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvc" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "chfbk", "p2": "gnwc" } } } ]