Пользователь
0,0
рейтинг
11 июля 2011 в 12:43

Разработка → Статистика по профилям пользователей ВКонтакте

В этом посте я приведу статистику по данным, которые указали в своих профилях пользователи социальной сети ВКонтакте. Под катом также содержится ответ на интересующий многих вопрос — сколько всё-таки активных пользователей в этой соцсети? И, разумеется, пара слов о том, как всё это было собрано.

Предыстория


Всё началось с прочтения мной хабратопика Делаем свой сервис по мониторингу пользователей ВКонтакте. Во время сессии, как известно, делать нечего, поэтому я решил подучить C# и познакомиться с API ВКонтакте.

Процесс сбора статистики


Не все id являются действительными: некоторые пользователи были удалены, красивые номера были заблокированы. Для получения списка валидных id было решено использовать каталог, заботливо сделанный для поисковиков.

Для парсинга каталога была использована библиотека Html Agility Pack. Процесс достаточно тривиален, подробно описывать его не вижу смысла.

Список валидных id по состоянию на 18 июня 2011 года содержит 94 072 230 id из 139 132 951 возможных, то есть действительными являются 67,6%.

Распределение валидных id
(сколько действительных из каждого миллиона)


Итак, у нас есть список валидных id, надо получить из него профили. Для этого делаем запрос к https://api.vkontakte.ru/method/getProfiles (один из немногих методов, которые не требуют авторизации, и на которые не распространяется ограничение на три запроса в секунду) с параметрами uids, где указываем список из 750 id (api позволяет тысячу, но при запросе профилей последних пользователей запрашиваемый адрес становится слишком длинным), и fields, где указываем все возможные поля (uid,first_name,last_name,nickname,sex,bdate,city,country,timezone,photo,
photo_medium,photo_big,photo_rec,contacts,home_phone,mobile_phone,education,
university,university_name,faculty,faculty_name,graduation,rate,counters).

Выполнение запросов в один поток нагружает канал только на 100 кбайт/с, поэтому я разбил выполнение на 94 потока, задачей каждого из которых была загрузка миллиона профилей.

На тот момент я не учёл, что сервер ВКонтакте не всегда возвращает верный ответ, поэтому были получены не все профили. Но с ошибкой завершилось получение 0,3% профилей, что несущественно для статистики.

Все полученные профили в JSON занимают 45 ГБ.

Дальше всё это было десериализовано в таблицу с помощью JSON.NET, результат занял 24 ГБ.

Поскольку статистика по всем учётным записям, включая забросивших профиль два года назад и спамеров, мало кого интересует, было решено получить список всех активных пользователей. Для этого циклически в 20 потоков (чтобы гарантированно забить все 10 мегабит/с) делаем запросы к тому же getProfiles для 750 пользователей, но на этот раз запрашиваем только поле online. На каждой итерации берём список пользователей, не замеченных в сети на предыдущей итерации. Этот этап затянулся на 17 дней (21 июня — 7 июля, дальше не вышло по техническим причинам), чтобы гарантированно захватить абсолютное большинство активных пользователей. В связи с недостаточной шириной канала каждый пользователь проверялся раз в полтора — три часа.

Прирост новых активных пользователей по датам


Суммарное количество активных пользователей по датам


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

Собственно, статистика (по активным пользователям)


Активные пользователи ВКонтакте составляют 29,93%.

Статистика по мужским именам
Имя Обладателей В %
Александр (Саша, Саня, Alex, Санёк, Алекс, Олександр, Сашка, Санек, Alexander) 1106979 8,3%
Сергей (Серёга, Серега, Сергiй, Sergey, сергей, Серёжа) 755885 5,6%
Андрей (Андрiй, Андрюха, Andrey) 622105 4,7%
Алексей (Лёха, Леха, Лёша) 576573 4,3%
Дмитрий (Димон, Dima, Димка, Диман, Дiма) 529432 4,0%
Евгений (Женя, Жека) 417668 3,1%
Максим (Макс, Max) 384803 2,9%
Владимир (Вова, Володя, Вован) 312799 2,3%
Иван (Ваня, Ivan, Iван) 288728 2,2%
Денис (Denis) 275334 2,1%
Роман (Рома, Roman) 245177 1,8%
Игорь (Iгор) 238341 1,8%
Михаил (Миша, Миха, Мiша) 234676 1,8%
Антон (Anton) 233756 1,8%
Олег (Oleg) 208195 1,6%
Павел (Паша) 198175 1,5%
Артём (Тёма) 194117 1,5%
Николай (Коля, Колян) 180639 1,4%
Юрий (Юра) 158678 1,2%
Виталий (Виталик, Виталя) 152539 1,1%


Статистика по женским именам
Имя Обладательниц В %
Екатерина (Катя, Катерина, Катюшка, Катюша, Катюха, Ekaterina, Катенька) 658746 4,8%
Елена (Лена, Леночка, Elena, Lena, Ленка) 658212 4,8%
Ольга (Оля, Оленька, Олечка, Олька, Olga, ольга) 653994 4,7%
Юлия (Юля, Юлька, Юленька, Юлечка, Julia, Юльчик, Юличка, Юляшка) 631431 4,6%
Наталья (Наташа, Наталия, Натали, Наталя, Наташка, Natalia) 628287 4,5%
Анна (Аня, Анюта, Анютка, Анечка, Anna) 605341 4,4%
Анастасия (Настя, Настёна, Настенька, Настюшка, Anastasia, Настена, Nastya, Настёнка, Настюша) 597008 4,3%
Татьяна (Таня, Танюшка, Танюша, Танечка, Tanya) 583525 4,2%
Ирина (Ира, Иришка, Иринка, Irina, Iра, Ириша, Iрина, Ирочка, ирина) 540894 3,9%
Мария (Маша, Maria, Машенька, Машка, Машуля) 385851 2,8%
Светлана (Света, Светик, Svetlana) 365338 2,6%
Марина (Маришка, Marina, Маринка, Мариша) 329941 2,4%
Виктория (Вика, Викуля, Вiкторiя) 269936 2,0%
Дарья (Даша, Дашка, Дашуля, Dasha, Дашенька, Дашулька) 255681 1,8%
Алёна (Алена, Алёнка, Аленка) 223205 1,6%
Ксения (Ксюша, Ксюшка, Ксюха, Ксюня) 201960 1,5%
Оксана 179259 1,3%
Евгения (Женя, Женечка) 177853 1,3%
Александра (Саша, Сашенька) 175563 1,3%
Надежда (Надя, Надюшка, Надюша) 168086 1,2%


Статистика по фамилиям (мужские и женские объединены)
Фамилия Обладателей В %
Иванов 196474 0,70%
Кузнецов 94237 0,34%
Смирнов 92047 0,33%
Петров 84133 0,30%
Васильев 77683 0,28%
Попов 74980 0,27%
Волков 53343 0,19%
Михайлов 51913 0,18%
Новиков 51508 0,18%
Соколов 50988 0,18%
Павлов 50379 0,18%
Андреев 49646 0,18%
Морозов 47689 0,17%
Алексеев 46386 0,17%
Романов 44027 0,16%
Макаров 43505 0,15%
Степанов 43161 0,15%
Николаев 43059 0,15%
Егоров 42537 0,15%
Захаров 40135 0,14%
Козлов 40023 0,14%
Сергеев 39925 0,14%
Никитин 39483 0,14%
Яковлев 38197 0,14%
Зайцев 37744 0,13%
Григорьев 36063 0,13%
Лебедев 36052 0,13%
Орлов 35822 0,13%
Александров 33149 0,12%
Кузьмин 32227 0,11%
Распределение полов


Наличие никнейма/отчества

UPD: Здесь и далее «не указан» может означать также «недоступен для просмотра всем пользователям».



Наличие страны


Распределение пользователей по странам


Активных пользователей в каждой стране
Страна Активных Всего В %
Россия 6552115 32519338 20,15%
Украина 1715898 8976390 19,12%
Беларусь 429023 1680113 25,54%
Казахстан 152117 1088727 13,97%
Молдова 50815 375172 13,54%
США 50501 416430 12,13%
Германия 45283 286761 15,79%


Наличие города


Статистика по городам
Город Пользователей В %
Москва 893857 10,42%
Санкт-Петербург 497324 5,80%
Киев 238863 2,79%
Минск 148782 1,73%
Екатеринбург 129787 1,51%
Новосибирск 116443 1,36%
Харьков 105301 1,23%
Самара 97530 1,14%
Нижний Новгород 94377 1,10%
Омск 88284 1,03%


Наличие аватара


Наличие/валидность мобильного телефона
(телефон считается валидным, если содержит только цифры и символы "+()- ")

Наличие/валидность домашнего телефона


Наличие университета


Статистика по университетам
(UPD3: среди тех, кто его указал)
Университет Поьзователей В %
МГУ 120159 2,4855%
СПбГУ 50500 1,0446%
НТУУ «КПИ» 28607 0,5917%
БГУ 25535 0,5282%
ЮУрГУ 20842 0,4311%
СПбГПУ Политех 19628 0,4060%
БНТУ (Политех) 18472 0,3821%
СГА 17521 0,3624%
ННГУ им. Лобачевского 16791 0,3473%
РГПУ им. Герцена 16226 0,3356%


Наличие/полнота даты рождения


Валидность даты рождения (среди тех, у кого она указана)


Статистика по датам рождения
(Валидными считаются года рождения с 1941 по 2008)

Ожидаемо, что лидирует 1 января, а также наблюдаются скачки 1 числа каждого месяца.

Статистика по годам рождения


Статистика по рейтингу

Средний рейтинг — 69,23.



Портрет среднего пользователя

Типичный пользователь ВКонтакте — девушка, родившаяся 01.01.1988, по имени Екатерина Иванова, проживающая в Москве, обучающаяся/закончившая МГУ, с рейтингом страницы 69. (проверил, такой нет)

Что хотелось бы сделать

  • Получить более точный список активных пользователей.
    К сожалению, с моим текущим каналом это не представляется возможным за приемлемое время.
  • Получить более подробную информацию: количество друзей, альбомов, фотографий, видео...
    Для этого надо делать по одному запросу на пользователя, что с учётом ограничения на три запроса в секунду займёт порядка года.
  • Построить социальный граф и красиво его оформить.
    С учётом недавнего открытия списка друзей это реально сделать. Но опять же, тут действует ограничение на три запроса в секунду. По моим подсчётам, чтобы полностью забить 10-мегабитный канал и выкачать всё (примерно терабайт) за 8,9 суток, понадобится 41 учётная запись. Также не забываем о вычислительных мощностях — для вычисления кратчайшего расстояния от каждого пользователя до каждого потребуется 10^24 итераций, что многовато.

P.S.


Все диаграммы подготовлены в Microsoft Excel.
Об ошибках прошу отписываться мне на хабрапочту.

UPD2: Торрент с базой в виде таблицы, поля разделены табуляциями, размер — 24ГБ.
UPD4: (обновлено 02.10.11) То же самое в .7z, размер — 4.6 ГБ.
Жмём «direct torrent link».
UPD5: Словари для городов (7 столбец) и стран (8 столбец).
Демьяненко Илья @belk
карма
77,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (237)

  • +22
    Анна (Аня, Анюта, Анютка, Анечка, Anna, Настюша)… Нстюша?? O_o
    • 0
      Поправил.
      • –1
        Alex и Алекс тоже скорее к Алексеям, чем к Александрам относится.
        • +21
          Извечный вопрос интернета: «Алекс» — Алексей или Александр? :)
          • +2
            Для кого извечный, а для кого и давно решённый.
            • 0
              Поделитесь решением)
              • 0
                Меня зовут Александр или Саша. К этому и я и все окружающие давно привыкли. Есть пара друзей Алексеев, которых все называют Алекс или Лёша, и к этому окружающие давно привыкли.

                Ну и с новыми людьми, Александра я никогда не назову Алексом а Алексея Сашей например. Для меня это и есть решение.
                • 0
                  Ну в принципе я так же.
                  но бывает когда подписываешься в письме «Алекс». (Меня Алексей зовут)

                  а в ответ: «Хорошо, Саш… „)
                  • 0
                    Ну тут да, всех в своих взглядах не убедишь. Есть пара человек, которые постоянно в переписке меня Алексом называют, каждый раз аккуратно поправляю, к сожалению безрезультатно.
                    • 0
                      Но всё же назвать Александра Алексом это не тоже самое что названить Алексея Сашей, согласитесь)
                      • 0
                        *назвать
                      • +1
                        Соглашусь, жаль что это мало что изменит и наши имена будут продолжать путать.
                        • +1
                          Да, согласен. главное чтобы те с кем чаще общаешься быстрей привыкали)
                          • +5
                            Я сам Алексей, но никогда себя Алексом не назову, только Alexey. По мне так Alex — Александр.
                            А вот что больше раздражает, что на картах и т.д. пишут Aleksey!
                            • 0
                              На картах, обычно, в анкете спрашивают, как писать.
                              • 0
                                В Банке Москвы в анкете был такой пункт. В СберБанке — сами пишут, как хотят. Еще в 3-4 тоже сами писали…

                                А вот какие проблемы были у парня на почте, чтобы получить посылку, когда я в его заказе указал Alexander Alexashin… теперь всегда только Aleksander Aleksashin. А то бабульки всякие бывают на почте…
                                • 0
                                  подумаешь… мои Ilia или Ilya бабульки, в большинстве случаев, читают как «Юлия». решается простым «nigga please» выражением лица и/или отсылкой к стандартам транслитерации.
                                  • 0
                                    У меня две сберовские карты, там тоже прикольная система — на одной карте фамилия сформирована по одному правилу транслитерации, а на другой — по другому!
                                    Разница в выдаче — 6 месяцев.
                            • 0
                              Даа, это бывает тоже. реально бесит. помню в союзбанке заказывал. написал в анкете alexey. карта пришла — aleksey.
                              • 0
                                да, потому что нет в русском языке буквы x, а k и s есть.
                      • +5
                        А я вот не соглашусь. Потому как акромя русского языка есть ещё например, английский, где Alex — сокращение от Alexander.
                        • 0
                          Alexey тоже сокращается в Alex, или Aleksey -> Aleks.
          • –3
            в интЫрнете Алекс — это Exler =)
        • +10
          Алекс больше к Александрам :) я пример :)
          • +4
            Опровергаю. Алекс больше к Алексеям. Я пример :))
            • +2
              Ну и я, чо уж тут. С фидо срач ещё идёт. ;)
              • 0
                погнали!
          • +1
            Ну если в международном смысле рассматривать, Alex — сокращенное от Alexander. Хотя я использую Alexander, чтоб не перепутали.
        • 0
          Я — Алексей :)
          • +4
            А почему по нику Александр? :)
            • –2
              Алекс — НЕ Александр… откуда такое повелось? :)
              • +1
                Вот, википедия вещает: Алекс — сокращённый вариант имени Александр и, иногда, Алексей. Такое сокращение наиболее распространено в Северной Америке и Европе.
                • +1
                  Немцы, к примеру, Аелксами называют Александров. Наверно, ввиду того, что Алексеев у них меньше =)
              • +7
                А я вот не могу понять, почему некоторые считают Алекса Алексеем? Алекс — это для буржуев, чтобы не писать Aleksandr или Alexand. А с учетом того, что в английском варианте никаких Алексеев нет, то сразу становится понятным, кто такой Алекс.
                • 0
                  Ну вот я например, когда в другой стране, говорю, что я Алекс, т.к. это удобнее для иностранного произношения.
          • +1
            А я Александр. Даже ники немного схожи :)
            • 0
              Александры выиграют битву за «Алексов» потому, что Александров по статистике больше в два раза, соответственно можно вывести корреляцию что из трёх Алексов два будут Александрами. Нам, Алексеям, остается только партизанить в этой войне :-)
              • 0
                Александров и Алексеев естественно примерно поровну, а то, что у автора статьи получалась такая разница как раз и говорит о том, что он отнёс большую часть Alexов и Алексов не к тому имени.
                • 0
                  По статистике имен в России, Александры все равно выигрывают у нас (Алексеев) в полтора-два раза :(
      • –2
        Ксюша и Оксана вроде как одно и то же.
        • 0
          Вики говорит, что нет.
        • +2
          А Ксения тогда, по вашему, кто?
          • –1
            Оксана это украинская разговорная форма имени Ксения.
            • НЛО прилетело и опубликовало эту надпись здесь
              • 0
                Ну, раз автор объединил украинские написания имён, то и Ксюшу с Оксаной можно было бы.
            • +1
              Да, только вот для паспортных столов Оксана и Ксения разные имена.
        • НЛО прилетело и опубликовало эту надпись здесь
    • +52
      Сашка, Саня, Александр Родионович Бородач)
    • 0
      а меня больше порадовали фамилии. Большая часть фамилий — производная от того кто твой отец:
      Иван — (чей сын?) Иванов
      Алексей — Алексеев
      Поп — Попов
      и тд.

      Вечело смотреть на фамилию Козлов в этом списке. Наверное старинных женщин тоже часто бросали…
      • +6
        Орлов, Соколов, Баранов, Бобров, Коршунов… прямо индейские традиции…
      • 0
        > Большая часть фамилий — производная от того кто твой отец

        Недавно читал в одной статье про коллективизацию, что многих крестьян записывали в паспорт подобным методом.
      • 0
        в исландской традиции, да и вообще скандинавской ещё интереснее — там сразу указывается сын ты или дочь, например, отец Андерс, ты будешь Андерссон, если сын или Андерсдоттир если дочь :)
        • 0
          Т.е. Бьорк Гудмундсдоттир — это как, Гудмундова дочь?
          • 0
            именно
            у исландцев фамилий в нашем понимании нет, они «обновляются» с каждым поколением
    • +2
      Зато может быть Нюша или Нюра =)
  • НЛО прилетело и опубликовало эту надпись здесь
    • +8
      Какая тут может быть монетизация? Да, на домашнем компьютере лежат все ответы сервера в JSON, каждый профиль содержит id, имя, фамилию, ник, пол, дату рождения, город, страну, таймзону, ссылки на текущую аватарку, телефоны, университет, факультет и рейтинг. Собственно, почти вся информация есть в посте.
      • +15
        Базу продать, деньги — пропить.
      • 0
        Всё равно базу можно с пользой использовать: эдакий «кэш запроса к API». Т.е. если надо получить социальные данные пользователя своего сайта, который авторизовался через Вконтакте, то можно сначала получить их из этой базы, а потом уже для надёжности «прочекать» дополнительным запросом к API.
  • 0
    Хм, а разве стандартные запросы к АПИ без авторизации пользователя позволяют всегда доставать данные по телефону и нек. другим полям?

    + еще настройки приватности ни как не учитываются.

    статистика по наличию телефона явно не верна, сейчас почти всех принудительно заставляют привязывать аккаунты к номеру. А то что вы не можете инфу получить эту, это уже другой вопрос
    • 0
      Само собой, что под «не указан» попадают ещё и случаи, когда поле скрыто от всех пользователей.
  • +15
    Браво
    Это настолько масштабно, что даже сразу в голове не укладыватеся)
  • 0
    А откуда пики на первых числах месяца?
    • +10
      Думаю, по тем же причинам, что и на первом января: люди не хотят указывать реальное число.
      • +4
        На мой взгляд помимо этой таблицы нужно было сделать еще одну, приведенную, где количество родившихся первого числа примерно уравнять с другими числами. Получим неправильную статистику по первым числам, но зато более детально увидим реальное распределение, ибо сейчас гистограмма плоская из-за пика 1 января.
    • +1
      Наверное, при регистрации фейков, чтобы не париться укзывают первое число
    • +1
      Обратите внимание на рождённых в конце февраля :)
      • +2
        Ну это и логично. 29 февраля не каждый год бывает, так что таких должно быть в 4 раза меньше. А если учесть, что родители могли попросить не указывать 29 февраля в качестве даты рождения, то таких будет еще меньше.
        • 0
          Ну да, верно. А ещё, раньше ВК можно было задать 30/31 февраля.
        • 0
          > А если учесть, что родители могли попросить не указывать 29 февраля в качестве даты рождения
          зачем?!!!
          • 0
            чтобы у ребенка не был ДР раз в четыре года, очевидно)
    • +1
      особенно первого апреля
  • 0
    Статистика по возрасту печальна. Только 17% пользователей ее указали.
    • +12
      Предложу как гипотезу. Т.к. есть возможность забрать в добавок соц. граф (id друзей), то можно предположить, что в друзьях у человека в основном сверстники. Если есть положительная корреляция, то можно с высокой долей достоверности определить категории юзеров не указавших свой возраст.
      • +10
        Еще возраст можно определять по по году окончания школы
        • +4
          Это однозначно :)

          — Тебе сколько лет?
          — 20!!!
          — А в каком классе?
          — 9!
          • +22
            Ник: katty-love
            Имя: Катя
            Фамилия: <скрыто>
            Год рождения: <скрыто>
            e-mail: pupkina1989@mail.ru
      • +5
        Я скрытые поля восстанавливаю через поиск.
        Выставляю известную мне информацию в фильтр, чтобы однофамильцев и т.п. было как можно меньше.
        Когда колво выходит разумным, я добавляю другие параметры, включая возраст. Методом половинного деления возраст определяется быстро.
        Аналогично семейное положение достается…
        В массах пропарсить будет сложновато, но в единичных случаях ручками легко можно много чего выкопать :)
    • +9
      Многие из тех, кто скрывают возраст, не скрывают год выпуска из школы/вуза, так что определить возраст не проблема.
      • 0
        Примерно определить. В школу можно пойти в 6 или 7 лет. А ещё можно проскочить через 4-й класс.
        Итого ошибка — 2 года.
        • +3
          Да, конечно. Но это не такая уж и большая ошибка ;)
        • +1
          Я в шестом не был, например. Из пятого в седьмой.
          • +2
            А мой друг при этом еще и в 5 лет в школу пошел… Так что ему только исплнилось 18, и он уже на третьем курсе
            • –1
              у меня такая же ситуация, в 4.5 пошел в школу и сейчас закончил третьий курс)
        • +1
          Для анализа обычно важна не точная дата, а возрастная категория, так-что все ок.
  • 0
    Познавательно. Спасибо за гайд.
    Удивил пиковый возраст. Я думал, что Вконтакте «старше». А выходит, что большинство пользователей 1985-1989 г.р.

    ps Распространенное мнение, что Вконтакте сугубо питерская социальная сеть не нашло подтверждения.
    • +1
      А я думал, что вконтакте младше. Людей 20-25 лет «школотой» как-то не назовёшь.
      • +12
        «Школота» не характеризуется лишь возрастом. Скорее — типом мышления.
        • 0
          Пренебрежительное обозначение социальной группы не характеризуется лишь свойствами, определяющими принадлежность к этой социальной группе. Скорее — исключительно негативными свойствами, обычно ей присущими по мнению автора высказывания.

          Сколько раз я слышал этот аргумент от людей, называющих евреев жидами и гомосексуалов пидарасами! Используйте какое-нибудь другое слово, если хотите быть правильно понятыми приличными людьми.
      • 0
        Так прибавьте еще ту часть, что левее 25… Ну так давно же писали:

        «Согласно данным TNS, 60,6% пользователей «ВКонтакте» старше 25 лет»

        (http://www.chastkor.ru/article/vlad_tsypluhin_inogda_menya_razdrazhaet_spokojstvie_durova_22919)
    • 0
      Это «распространённое мнение» распространено сугубо среди питерских?
    • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Думаю, что точность данных соизмерима с нашей переписью населения.
    • +10
      Наверное поточнее будет)
    • 0
      На самом деле, неплохо было бы оценить погрешность всех «измерений». Думаю, это вполне реально сделать. Просто числа типа 196474 меня как физика немножко выводят из себя (:
  • 0
    Действительно интересная статистическая информация.
  • 0
    Филиал вуза считался за отдельный вуз или входил в его множество?
    • 0
      Считались уникальные названия ВУЗов.
      • –11
        Не понял. Выходит, вы только головное отделение ЮУрГУ учли?
        • 0
          Скорее всего, так и есть.
          • –22
            «А или Бэ?» — «Да» Вы не отвечаете на мой ответ.
            • 0
              Мне неизвестно, как ЮУрГУ числится в базе ВКонтакте: всё под одним названием, или каждый филиал отдельно. Если всё вместе, то филиалы учтены, в обратном случае нет.
              • –3
                Скорее всего под разным, потому как вуз в их базе может быть расположен только в одном городе. Таким образом у них описано несколько вузов, из-за чего статистика по ЮУрГУ сразу кажется неправдоподобной.
  • –4
    А можно такое же сравнение пользователей Одноклассников и ФБ? В одноклассниках, наверное, средний возраст 40+ и провинция доминирует, а в ФБ только жители «продвинутых гАродов».
  • 0
    Самое время продать данные в Роскомстат или аналогичную контору :)
  • +3
    Интересно, что ВКонтакте не отреагировал на 40 запросов к API в секунду в течение 18 дней с одного IP.
    • +52
      Неудивительно. Особенно яростные пользователи вконтакте умудряются делать более 50 без всяких API.
      • 0
        Надо сделать приложение «Измерь свой RPS!»
  • 0
    Больше всего удивило, что Андреи популярнее Алексеев и Дмитриев, а также относительная непопулярность Маш и Миш.
    • +1
      В разные годы разная популярность имен. Возраст распределен неравномерно, поэтому здесь может быть искажение за счет тех, кто родился 20-25 лет назад.
      • +5
        Блин, я тот самый Андрей, рождённый 20-25 лет назад.
        Искажаю статистику. Дорого.
  • +3
    Запарсить весь контакт — это круто. Интересно было посмотреть на распределение возрастов и статистику по именам-фамилиям.

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

    Интересно было бы посмотреть на более глубокий анализ, например, взаимосвязь возраста (или пола) и:
    — количества друзей
    — активности
    — количества фотографий
    — интересов.

    Конечно, если эти данные тоже запарсены.
    • 0
      habrahabr.ru/blogs/statistics/123856/#comment_4068710
      Для запроса недостающих данных и более глубокого анализа нужен более толстый канал и много дискового пространства.
      • 0
        Понимаю, тогда вопросов нет.
  • 0
    Весьма интересные средние показатели!
    • +1
      Весьма интересный средненький коммент!
      • 0
        Между средним и средненьким весьма глубокая и, не побоюсь этого слова, статистическая разница.
  • +12
    Давно хотелось бы проверить «правило 6 рукопожатий», тем более, что сейчас у большинства активных пользователей открыты списки друзей.
    Ну или хотя бы скрипт, который по введёному id возвращал бы количество (в идеале — список) его знакомых 1..6 уровня.
    • +1
      Я занимаюсь именно этой задачей, см мой коммент ниже habrahabr.ru/blogs/statistics/123856/#comment_4068967
    • +3
      vkontakte.ru/fchain можно тут проверить, вроде не плохо ищет.
      • 0
        Да, ищет неплохо, но хотелось бы полный список, а не до конкретного человека.
      • 0
        Обалдеть как тесен мир вконтакт.
    • +1
      это конечно интересно, но… сомневаюсь, что у кого указано 200 и более друзей являются корректными данными, не говоря что у некоторых больше 1000
      • +6
        У меня более 200 друзей вконтакте и каждого я знаю лично.
        Там же не только близкие друзья, атм еще и друзья по школе, детским лагерям, университетам, службе и прочее.
        • 0
          проблема не в количестве, а в том что некоторые просто добавляют всех подряд (фапают на количество другов) и устраивают по этому поводу писькомерку.
          • –2
            Канал самопродвижения, особенно для «яфотографов».
      • 0
        На мой взгляд, число в районе 200-300 — ещё вполне реально (особенное, если человек более-менее активный или, например, просто приходилось переезжать в другой город).

        Сейчас проверял vkontakte.ru/fchain, исключая из поиска людей с количеством друзей более 400 — цепочки всё равно находятся.
        • +5
          Вот так и девальвировалось понятие «друг».
          Возможно, я — олдфаг или просто асоциальная личность, но друзей, в моем понимании этого слова, у меня двое.
          • –1
            Слово олдфаг выдает не-олдфага :)
            • 0
              Понятие относительное. Для многих, здесь присутствующих, я могу показаться зеленым юнцом, а некоторым — оказаться папой.
              • 0
                Точно так же, как относительно понятие «друг» :)
                • +4
                  Лично для меня, понятие «друг» однозначно.
                  Нельзя быть немножко другом кому-то. Можно либо им являться, либо не являться. В русском языке полно слов с близким значением: приятель, знакомый, товарищ…
                  Возможно, моё представление ошибочно…
                  • +2
                    в социальных сетях можешь заменить это слово на френда)
                  • 0
                    Круги в этом смысле намного более точное определение.

                    Потому как в жизни у меня друзей по одной руке можно пересчитать.
          • 0
            Тогда вам в гуглоплюс :)
            • 0
              Там фигурируют friends? Эмоционально нейтральнее.
              • +1
                Там вы сами вольны распределять пользователей по Кругам: Друзья, Семья, Знакомые. Записи или видеоконференции можно ограничивать конкретным кругом.
                Хитрость ещё в том, что в G+ более легкомысленное добавление «друзей». Во вконтакте надо принять предложение, а в G+ надо всего лишь перетащить пользователя в соответствующий круг.
                Но заменов Vk этот сервис пока что вряд ли является. Сыроват )
                • +1
                  Если честно, меня не интересуют социальные сети, как таковые — общения мне хватает и так: личного, телефонного. Мне ни разу в жизни не понадобилось уведомлять сразу весь узкий круг людей, с которыми я постоянно общаюсь, о каком-либо событии. Таким образом, я не вижу смысла держать аккаунт в любой соц-сети, независимо от используемой терминологии. Да, Вконтакте я зарегистрирован, с минимальным необходимым набором данных — вдруг кого-то из тех людей, связь с которыми я потерял, захотят меня найти (может быть, я буду даже рад этому), но последний раз я заходил пару месяцев назад — уведомления приходят на почту, а общаюсь я в реале.
                  Пару дней назад была здесь статья, в комментариях к которой разгорелось обсуждение поведения и мотивов различных типов людей — «иррационалов» и «рационалов». Так вот я — «рационал», похоже.
          • 0
            Ну, друзья в социальной сети — совсем не то же самое, что и друзья в жизни. С эти, думаю, никто спорить не будет.
          • 0
            Оно не девальвировалось — это просто ВКонтакт перевёл friend как «друг». Есть и другой вариант перевода — «знакомый», «коллега». Мне кажется, что создатели фейсбука не имели ввиду дружбу в нашем понимании этого слова.
          • НЛО прилетело и опубликовало эту надпись здесь
          • 0
            я думаю что нет смысла с друзьями общаться через социальные сети. Друзьями в прямом смысле этого слова )
            • 0
              Так я живьем и общаюсь. Соц-сетью вообще не пользуюсь.
          • 0
            Это второе наше с Вами совпадение. Первое было выше, насчёт перескакивания через 6-й класс. Тут уж и в профиль не гляди, ровесник.
            • 0
              Глянул, все таки, в профиль. Разница ровно в полгода, даже день совпадает.
        • –1
          Не вижу ничего некорректного в цифре 1000 или 2000.
          У меня в районе 350 и постоянно растёт, среди них не видел лично человек 5 только наверное. Знаю людей с кол-ом друзей более 1000, и они всех видели лично и могут имя каждого вспомнить.
          • +2
            Все-таки число активных социальных связей не превышает 200 :) Число Данбара.
            • +2
              По-моему мнению очень сомнительно применять тут число Данбара.

              В любом случае число Данбара это единовременный срез. А список друзей ВК — множество людей с которыми когда-либо персекался (и при необходимости можно пересечься еще).
              • 0
                Вот о том и речь, что это не активные социальные связи, в список личных контактов.
  • +5
    Pacman!
    Простите, не удержался.
  • +1
    А такой вопросик. Когда пользователь говорит что данные нужно скрывать от всех кроме друзей — эти данные все-равно через API доступны?
    • 0
      Нет, через API отдаётся только то, что видно всем. А если делать запросы от имени какого-то пользователя, то покажется то, что доступно ему.
  • 0
    Как много людей родилось 1го апреля :)
    • 0
      В роддоме Октябрьского района Екатеринбурга в 1993-ем году, всего один, насколько я знаю.
      • 0
        образцовый комментарий =) спасибо, что держите нас в курсе даже по прошествии более двух лет после обсуждения этой темы
        • 0
          Ох, буквально вчера кого-то некропостером называл.
  • 0
    Иванов Иван Иванович отменяется. Всем срочно менять имена на Иванов Александр Александрович или Иванова Екатерина Александровна.
  • +11
    Круто, серьёзный подход!

    Когда открыли списки друзей, у меня появились подобные идеи, но больше с уклоном в анализ социального графа. Я даже начал писать тулзу (скриншот:
    ), но погода сейчас не очень способствует кодингу, так что двигается медленно. Вместо API использую вызов к vk.com/al_friends.php?act=load_friends_silent&al=1&gid=0&id={1} — возвращает список друзей по id в json.

    Первая цель — проверка «теории рукопожатий», а дальше тоже думал какую-нибудь статистику интересную собрать.
    • +7
      Здорово! Надеюсь увидеть на хабре ваш топик, когда доделаете!
    • +1
      Недавно спарсил социальный граф хабрахабра, тоже была идея сделать что-то подобное, с поиском возможных друзей и т.п.
    • +1
      apps.facebook.com/socgraph/ Аналог на fb
    • +1
      Как дипломатические связи в Civilization =)
    • 0
      Интересный запрос — он показывает не только список друзей, но их доступность онлайн.
      • 0
        Да, этот запрос выполняется, когда заходишь на страницу друзей (своих или чужих) и скроллишь вниз — он подгружает весь список. Фиддлером выловил. Чтобы получить друзей через API — нужна авторизация, как-то там муторно всё. А здесь я просто использую WebClient, которому подсовываю единственный cookie со своим remixsid, и дело в шляпе.
    • +1
  • 0
    Неодижанно, что распределение дней рождения примерно равномерное по году. Я думал, что больше всего летом, дальше весна-осень, и меньше всего зимой.
  • +2
    Спасибо за информацию!
    А вот сколько я видела гламурных девочек из урюпинска, которые ставят себе ВУЗ МГУ…
  • 0
    > Ожидаемо, что лидирует 1 января, а также наблюдаются скачки 1 числа каждого месяца.
    Я об этом писал примерно год назад:
    albom85.livejournal.com/22118.html
  • +1
    Замечательно, ждем срез по религиям и интересам )
  • +2
    «Иванов, Кузнецов, Смирнов» пришли на смену классическим «Иванов, Петров, Сидоров».
  • 0
    Интересно, если, например, сделать так: выложить всю отпарсенную информацию на другой хост, прикрутить продвинутый поиск, сортировку и т.п. и повесить кучу рекламы. Будет ли тогда Дуров и компания предпринимать какие-то меры для обнаружения и наказания создателя такого сайта?
  • –16
    пипец просто, всякий берёт и через API получает всю инфу.
    понятно, что социальные сети созданы не для приватности, но не в таком же виде…
    одно дело доступ для правохранительных служб, а другое доступ простым смертным…
    я правильно понял… через веб-браузер шиш тебе заход на страницу, а через API можно?
    • +5
      Нет, неправильно поняли. С помощью API можно получить только ту информацию, которая и так доступна пользователям в браузере.
  • +4
    По моим личным наблюдениям очень значительная часть школьников указывают МГУ как ВУЗ. Видимо «так круче».

    Кажется отсюда такой высокий процент МГУ'шников =)
    • 0
      Не круче, а «я мечтаю туда поступить». Как правило, указывают предположительный год окончания ВУЗА, так что отсеять таких легко.
    • 0
      Ну, МГУ (им М.В. Ломоносова!) достаточно большой ВУЗ. Я как-то что-то про 40 000 студентов слышал, так что вполне-вполне возможно.

      Но я не отрицпю и вашу версию =)
      • 0
        Закончил в прошлом году СПбАФТУ. Глянул в поиск и с удивлением обнаружил, что вместе со мной выпустились 156 человек, тогда как на всего на потоке училось меньше 50 студентов :-/
        • 0
          Может быть были еще заочники / вечерники? + потоки специалистов все еще выпускаются вместе с потоками бакалавров.
          • 0
            Точно нет. У нас очень специфический ВУЗ. Обучение проводится только по магистерской программе, заочников и вечерников нет вовсе. Весь выпуск я знаю лично. Даже если бы и были заочники, то не в 3 же раза больше обычных студентов.
            В общем, это не секрет, что очень много людей указывают в профиле ложную информацию о ВУЗах, лишь бы название было поумней. Кто-то не хочет указывать своё единственное убогое ПТУ, кому-то стыдно, что никакого института не осилил, кто-то спамер и т.д. Так что приведённая здесь статистика по ВУЗам не говорит абсолютно ни о чём.
  • 0
    Да уж что, может скопировать всю базу? сколько потребуется ресурсов?
    • 0
      Если не выкачивать фото-видео-аудио-аватарки — не так и много. Не думаю, что 130 миллионов записей займет больше полусотни тер.
      • 0
        Гораздо меньше, раз в 10, если хранить данные в MySQL.
        • 0
          Да, пожалуй… там же один текст сплошной получится.
  • +5
    подобный пост уже не первый)
    может объеденим усилия и замутим всю эту красоту в виде приложения?
    могу предложить жирный канал для сбора статистики!
    • +1
      А что за приложение вам видится? Какие функции? Я выше писал, что делаю нечто такое потихоньку. Интересно было бы услышать идеи.

      Вообще тут две задачи — выкачать данные и проанализировать их. Надо, наверное, отдельную тулзу, которая выкачает максимальное количество информации (включая списки друзей). Коллективным усилием можно будет весь каталог за небольшое время стянуть, если каждый на себя по несколько тысяч возьмёт. Вопрос — как хранить? В какой-либо бд? Или лучше в csv, для универсальности?

      И отдельный тул для анализа статистики, связей социального графа, и др.
  • 0
    Класс!=) Отличный пост!
  • 0
    Давай ТОП смых редких фамилий :)
    • +4
      Серега ТочныеРепликиШвейцарскийЧасовПокупамСрочно!!!? :)
  • +2
    так а сколько в итоге живых пользователей в абсолютных числах?
    • 0
      Чуть больше 28 миллионов.
  • 0
    имхо, зря типичную катю иванову в мгу записал, там ведь всего 2% учатся (в том числе и в мечтах)
  • +1
    Илья, а какую БД вы использовали? Это же было desktop приложение, как я понял.
    • +1
      Никакой БД, всё в текстовых файлах.
  • 0
    Спасибо автору за столь интересное исследование.
    А можно попросить сегмент базы, только пользователей из Украины?
    • +1
      Хорошо, ночью выложу.
      • 0
        спасибо, жду.
        • +1
          Вот, как и обещал.
          • 0
            еще раз спасибо!
  • 0
    вроде не писали.
    насчёт расстояния между пользователями, кстати, есть такое приложение:

    Цепочка друзей — теория шести рукопожатий
    vkontakte.ru/app2153400
  • 0
    Да, на месте вконтакта я бы закрыл это )))) уж больно много можно вычислить.
    • 0
      Не администрация Вконтакта вкладывает личные данные пользователей. Это дело рук самих пользователей, а автор топика использовал доступную всем информацию, только собрал её и систематизировал.
  • 0
    альтернативная перепись населения =) автор молодец!
  • +1
    черт возьми, а я ведь действительно родилась 1 января и в МГУ училась )
    посредственность! :)

    кстати, было бы забавно реальную Катю Иванову 1988 года рождения из МГУ найти

    P.S. а, нет, нашла, не забавно ))))
    • 0
      У меня родственница — Катя Иванова, закончила МГУ, но родилась в 197… (каком-то) году :) В контакте ее нет.
  • +1
    Всероссийская перепись хомячков 2011
  • 0
    Блин. В каждом графике увидел себя… У меня паранойя :)
    • +1
      Воооон тот пиксель, да? )
    • +1
      Глянцевый ноутбук, угадал?
  • 0
    У кого год не указан, у тех все равно его узнать довольно просто. Надо всего лишь сделать поиск по указанным в профиле данным (имя, фамилия, город, ВУЗ) и указать в параметрах поиска интервал, когда предположительно человек родился. А дальше — игра в «угадай число». Ставим разные интервалы и через несколько попыток узнаем-таки год рождения.
  • 0
    Сильно врет статистика фамилий.
    в исследовании: Григорьев 36 063 0,13% (м и ж объединены)
    вводим в поиск вконтакте: «григорьева» 61 879, «григорьев» 54 765, итого явно больше.
    • +1
      Статистика только по активным пользователям же. Какой вам смысл от анализа профилей фейков и спамеров?
  • 0
    «И меня посчитали»
  • 0
    «Поскольку статистика по всем учётным записям, включая забросивших профиль два года назад и спамеров, мало кого интересует, было решено получить список всех активных пользователей.»

    Эммм, а спамеры не могут быть активными? ) Многие практически всегда онлайн )
    • 0
      Со спамерами ВКонтакте довольно успешно борется, у меня уже порядка года не было спама. Поэтому многие из них как раз оффлайн.
  • +1
    Видимо в статитстике по вузам есть ошибка/опечатка. Если МГУ с 120 тысячами составляет 2,4 процента, то 50 тысяч МГУ вряд ли могут быть 0,18%.
    • 0
      Спасибо за внимательность, поправил. Видимо, изначально процент МГУшников считался от тех, кто указал университет, а процент остальных — от всех активных пользователей.
  • 0
    А сколько реальных людей (за вычетом ботов, спамеров, анкет проституток и прочей фигни, которые тоже появляются онлайн и могли быть посчитаны)?
    • +1
      У меня не было такого количества свободного времени, чтобы вручную смотреть и фильтровать все профили :)
  • 0
    Думаю, что резкое преобладание Ивановых связано также с фэйковыми аккаунтами или нежеланием указывать реальную фамилию.
  • 0
    Иванов, Петров в первой пятерке. Надеялся увидеть Сидорова тоже, но нет.

    Кстати, орфопроверка Chrome не признает фамилию «Петров», но не ругается на «Петрова» :)
  • +5
    О да, контакт очень вкусен в плане статистики и социальных графов. Сам интересовался в своё время, но писал обычный PHP-парсер, потом graphviz'ом рисовал. Вопрос в том, что делать с получившейся картинкой. Ещё в то время, когда друзья закрыты были, аккаунт с 250-ю друзьями образовывал множество друзей друзей мощностью в 30000 человек, из которых примерно треть имели минимум двух общих. Могу уверить на личном опыте, что визуально оценивать графы с количеством людей более трёх тысяч — ой как затруднительно. Но, тем не менее, забавно находить цепочки друзей, о которых, естественно, даже не догадывался.

    Мне лично очень интерено, какие численные данные можно получить из математического анализа графа. Ну, кроме числа шесть, конечно.

    Если кому интересно, могу показать, как выглядят такие графы. Вот небольших размеров, ну и побольше (этот без аватарок, инет галим).
    image
  • 0
    Что-то не то с распределением по странам. Взять к примеру Казахстан: как я ни считал, таблица с диаграммой не бъется.
  • +1
    Торрент с базой в виде таблицы, поля разделены табуляциями, размер — 25ГБ
    А пожать нормально можно? 7zip например.
    • 0
      Я посмотрю, что можно сделать (сейчас у меня нетбук и узкий аплоад).
    • +2
      Обновил пост, забирайте.
      • 0
        * А что за поля в этом csv файле? Некоторые поля это похоже просто id и догадаться сложно без имен столбцов.
        * Есть ли у вас словари для столбцов с id?
        • +1
          Поля в том же порядке, что и запрашивались с сервера (uid, first_name, last_name, nickname, sex, bdate, city, country, timezone, photo, photo_medium, photo_big, photo_rec, contacts, home_phone, mobile_phone, education, university, university_name, faculty, faculty_name, graduation, rate, counters).
          Есть словари для городов и стран. Обновил топик.
  • +1
    Про активных — у ФБ есть отличный показатель — MAU — month active users — посчитать бы его для VK было бы очень сравнительно :).
  • 0
    Какой простор для социо-демографического исследования
    Будем чем загрузить SPSS :)
    • 0
      А что вы, собственно, на этих данных можете там посчитать? Они же все номинальные. Разве что «Сколько Наташ живёт в Краснодаре?».

      Лично я здесь кроме сопряжения городов/полов с вузами/факультетами ничего интересного не вижу.
  • 0
    >17 дней 21 июня — 7 июля
    >Как видим, прирост активных пользователей стал достаточно мал, чтобы ими можно было пренебречь.
    Вполне возможно, что вы попали в локальный экстремум. Это лето, многих там нет. К тому же летом многие игнорируют интернет, отпуска и всё такое.

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

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.