Хабракланы

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



Нагадаю, що сторінки були завантажені в січні 2016-го року, тому все, що сталося після (реєстрація нових користувачів, видалення старих користувачів, зміни карми) не враховано. Прибравши зі списку завантажених користувачей всіх read-only і деактивуючих, отримуємо 79870. Наскільки я знаю, це число приблизно відповідає фактичному числа хабрапользователей (плюс-мінус тисяча). Далі, щоб отримати граф без дірок довелося додати 955 read-only користувачів і 382 деактивуючих (це ті користувачі, які кого-небудь запрошували чи були запрошені, але були випиляні з хабра або переведені в RO з тих чи інших причин). У підсумку отримуємо граф на 81207 вершинах.

Тут варто зазначити, що отримати список користувачів хабра непросто. Велика частина була отримана пару років тому, коли ще були доступні списки передплатників хабів. Але зараз таких списків немає, тому імена користувачів 2015 і 2016 рік були витягнуті з статей, коментарів, сторінок вже відомих користувачів, списків передплатників, списків користувачів з заданих міст, країн, а також я нарізав часто зустрічаються префікси імен користувачів (виду Alex* admin*, Captain* тощо) і зробив кілька тисяч запитів на сторінці пошуку хабра. Ще я додав активних користувачів на гиктаймсе і мегамозку, тому, якщо вас немає в моєму списку, ви добре шифруетесь.

Отже, у нас є направлений граф з 81207 вершинами і 20195 дугами. Як бачимо тільки близько 20 тис. користувачів були зареєстровані за инвайтам від інших користувачів, інші або зареєструвалися до інвайтів (понад 40 тис.) або були запрошені НЛО.

Назвемо хабракланом компоненту слабкою зв'язності цього орієнтованого графа. Варто зауважити, що ці компоненти, взагалі кажучи, не є деревами, так як одна людина може кілька разів отримувати інвайт. Тому у нас є цикли: наприклад, @tangro запросив @Milla, а @Milla запросила @tangro; петлі: наприклад, @aavezel запросив сам себе; вершини, в яку входить декілька дуг: користувача @shara запрошували 6 разів (@Deeman, @myagi, @homm, @Azya, @veveve, @shifttstas). Хоча все це скоріше виключення, в цілому граф схожий на ліс.

У нашому графі є 61021 хабраклан. Розподіл розмірів наступне:
Розмір компоненти Число компонент
більше 1001 1
101–1000 6
11–100 436
2–10 3110
1 57468
Давайте подивимося на найбільш великі компоненти.
Розмір «Кореневі» вершини
1 1027 @davekeinz (вислав 412 інвайту — більше, ніж хто-небудь ще на хабре, також у цій компоненті @Mithgol, який вислав 78 інвайт)
2 584 @mudhoney (вислав 242 інвайту) @valemak
3 316 @XaocCPS (вислав 65 ивайтов)
4 272 @Alaunquirie (запросив @BarsMonster, який запросив 73 користувачів) @kip
5 189 @Deeman @homm @DorBer @myagi @Azya @maovrn @fil9 @yoihj
6 106 @rossomachin
7 104 @Garyan
8 97 @kukutz (Яндекс.Компонента)
9 90 @eosunknown
10 85 @cigulev @tyr
11 80 @mdevils
12 80 @nuzgul
13 77 @ni404 @tronix286 @Rembish
14 77 @Tigger
15 76 @gaidar
16 70 @Auren
17 69 @saltommeister
18 68 @Kalan
19 68 @alisadenisova
20 67 @horsev
Нижче наведено картинки цих 20 графів. Зелені гуртки — користувачі з позитивною кармою, червоні — з негативною, сині — з нульовою, сірі — read-only або деактивовані користувачі. Площа гуртка пропорційна модулю карми (якщо це число більше 1). Всі картинки є посиланнями на велику версію.

Подивимося також на «висоти» хабракланов. Якщо викинути пренебрежимое число графів з циклами, то dag_longest_path_length(G) дає наступний результат.
Довжина найдовшої ланцюга Число компонент
9 1
7 2
6 11
5 39
4 125
3 479
2 2888
1 57468
найдовша ланцюг така: @Garyan запросив @Andrey_Rogovsky, який запросив @DmitryGushin, який запросив @Uncle_Sam, який заинвайтил @RootHell, який надіслав інвайт @alexey_qwe, який запросив @Doom2, який покликав на хабр @Odnoklassniki_ru і який, нарешті, запросив @DarkDefender.

Аналіз збігається з очікуванням, що більшість хабракланов невеликі і з невеликою висотою».

Тепер згадаємо, що у користувачів є карма. Насложное підсумовування дає, що всього на хабре як мінімум 450323.4 одиниць позитивної карми. (До речі, у 10579 хабрапользователей карма більше або дорівнює 10, тому теоретично ця стаття може набрати 10578 плюсів.)

Подивимося які хабракланы володіють самим найбільшими запасами карми.
Сумарна карма «Кореневі» вершини
1 6184.4 @mudhoney @valemak
2 5333.7 @davekeinz
3 4720.8 @XaocCPS
4 3587.1 @Alaunquirie @kip (@BarsMonster тут)
5 2464.5 @Deeman @homm @DorBer @myagi @Azya @maovrn @fil9 @yoihj
6 2390.1 @horsev (@PapaBubaDiop і @Milfgard тут)
7 1984.9 @cigulev @tyr (@Zelenyikot тут)
8 1780.2 @ni404 @tronix286 @Rembish
9 1606.1 @eosunknown
10 1526.9 Тут немає кореня, і все починається з циклу @tangro — @Milla
11 1319.3 @kit
12 1304.1 @Ocelot
13 1299.5, @Auren
14 1104.5 @Kalan
15 1009.1 @rossomachin
16 985.5 @easy_john
17 932.3 @Assuri
18 871.7 @sourcerer
19 845.2 @LukaSafonov
20 838.6 @mdevils
Нижче наведено зображення графів, які не зустрілися раніше.


Також у деяких користувачів на сторінці в полі «Звідки» вказана країна. Топ країн за користувачам можна знайти на самому хабре, мені ж було цікаво подивитися на інвайт, в яких запрошує і запрошений знаходяться в різних країнах. Такі інвайт характеризують «географічну» зв'язність хабрасообщества.

Спочатку я хотів побудувати т. н. chord diagram, але не знайшов простого способу зробити це на пітоні, тому наводжу лівих верхній кут відповідної матриці. (Якщо хтось підкаже як все-таки побудувати діаграму буду вдячний.) Ніж синє клітка на зображенні, тим більше логарифм числа інвайтів з країни 1 у країну 2.

Помітним є зв'язність Росії, України, Білорусі, США та Німеччини.

Ще одним шматочком інформації, який не пов'язаний з инвайтами, але легко витягується з сторінок користувачів — це дата реєстрації і дата останнього появи. Наступна таблиця показує скільки користувачів зареєструвалися в даний рік і скільки з них з'являлося на хабре з 1 січня 2015 року (інакше вважаємо, що користувач перестав бути хабраактивным).
2006 3091 909
2007 19433 5511
2008 22031 6348
2009 6032 3094
2010 6826 3345
2011 9341 6355
2012 5841 4160
2013 4029 2819
2014 2684 2100
2015 1473 1473
80781 36114
Те ж саме у вигляді діаграми.


Бачимо, що половина користувачів зареєструвалася в 2007 і 2008 роках, а також багато старожилів є активними.

На цьому все. Таблиця з вихідними даними й скрипт для малювання графів доступні на гітхабі. Архів з сирими даними доступний за запитом.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.