Статистика стены сообщества вконтакте. Использование поиска вконтакте. Зачем нужны сообщества ВКонтакте

Faq 21.04.2019
Faq

Любая социальная сеть (соцсеть) состоит из пользователей, таких, как мы с вами, и разного рода пабликов (групп). Они могут быть как в виде интернет-магазинов, барахолок, так и просто информативной странички конкретного заведения общепита, творческого объединения или кружка «умелые ручки».

Психология человека такова, что он в любом сообществе - реальном или виртуальном - пытается найти своё место и свою группу (эффект так называемого кучкования). Именно эту особенность маркетологи используют для привлечения клиентов в ту или иную сферу.

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

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

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

Почему «ВКонтакте»?

Давайте рассмотрим, чем "ВК" может особенно привлечь пользователей.

  1. Русскоговорящие всего мира, объединяйтесь! Домен ru доступен из любой точки земного шара. Поэтому его возможности намного шире, чем у того же OK.ru.
  2. Простой интерфейс.
  3. Доступ к музыке. Второй и третий пункты могут показаться удивительными, на первый взгляд, но при первом же тестировании таких опций в других соцсетях всё встанет на своё место, и вам станет очевидно, что vk.ru просто создан для этого.
  4. Что видеть в ленте, а что отключить, решаете вы, а не статистический модуль.

Список групп, в которые должен вступить каждый

Самые лучшие группы «ВКонтакте» — паблики-миллионники. Несмотря на то что группы плодятся, как австралийские кролики, иногда большая группа - на 20 тыс. подписчиков и более - может просто на ровном месте рухнуть. Для миллионника же это практически невозможно. А главный секрет этих пабликов состоит в том, что они созданы для женщин. Потому что постоянные читатели "ВК" — представительницы слабого пола.

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

Предлагаем лишь некоторые лучшие группы «ВКонтакте». Список их постоянно обновляется, но уже последние год-полтора они продолжают держать свои лидирующие позиции:

  • new.vk.com/lhack (лайфхак и всё, что с этим связано);
  • new.vk.com/ria (РИА "Новости", новости в России и мире);
  • new.vk.com/dobrie_novosty (добрые новости, истории из жизней тех, кому помогли и тех, кто помог);
  • new.vk.com/oroom (юмор).

Мужской выбор

Лучшие группы «ВКонтакте» для парней, на которые подписываются 99% мужчин и только редкие женщины, в основном не несут высокоинтеллектуальную информацию в своей основной массе, но среди их постов есть сугубо мужская тематика.

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

Ярким примером тому является new.vk.com/newmmorpgame, ведь не так много девчонок-геймеров среди нас. И даже те паблики, где в описании имеется слово «мужской», могут не быть интересными всему этому контингенту, например: new.vk.com/fashionmenblog — посвященная моде мужская группа в "ВКонтакте".

5 лучших примеров таких групп смотрите ниже:

  • vk.com/public39399586 — "Цитатник Циник";
  • new.vk.com/public40613208 — "Пацаны поймут";
  • new.vk.com/academyofman — "Академия Порядочных Парней";
  • new.vk.com/chotkiy_paca — мужская группа для украинских пацанов, если владеете языком, можно подписываться — посты актуальны в каждой стране;
  • new.vk.com/officialpages - эта страница не зря сюда затесалась - именно с её помощью можно следить за появлением новых официальных страниц публичных людей, посвященных кино, музыке, кухне и т. д.

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

Глубокое погружение в сеть

Вы зарабатываете в сети, у вас свой магазин или вы занимаетесь фрилансом? Тогда надо следить за огромным количеством новостей. Помните, что в ленте отображаются не все публикации, потому что интернет очень перенасыщен. И чем дальше, тем больше и тем дороже его использование со стороны и пользователя, и рекламодателям. И если первый не задумывается о том, что его на 6 рублей «нагревают», то второй, чтобы "нагреть" на 6 рублей тратит 10 тыс.

Итак, вы решили глубоко нырнуть и заняться продвижением. Тогда для вас лучшие группы «ВКонтакте» — официальные:

  • new.vk.com/team — команда «ВКонтакте». Все юридические и спорные вопросы пабликов можно узнать здесь. Тут же происходит первоначальная публикация обновленных инструкций и правил. Так что её надо изучить всю вдоль и поперёк, прежде чем приступать к созданию любого элемента VK.
  • new.vk.com/vkgames — сюда отправляют первую ласточку с появлением новой онлайн-игры.
  • new.vk.com/android_app — все приложения «ВК» для "Андроида". Информация, баги, фичи и прочее.

Реклама «ВКонтакте»

Каждый пользователь "ВК" не может пожаловаться на откровенную рекламу в сети. Но о её полном отсутствии не идёт речь. Реклама — публикации на ваших любимых пабликах, которые так или иначе заставляют читателя подписаться на другую группу, где уже продаётся товар. Такое косвенное и ненавязчивое убеждение очень приятно, потому что каждый считает, что делает самостоятельный выбор.

Если вы хотите купить публикацию, помните, что в сети есть такой ресурс как new.vk.com/publicreview — группа отзывов о пабликах размещения рекламы. Проверьте здесь отзывы, чтобы избежать неприятностей. Время от времени неплохо и о себе отзывы поискать. Если нашли негативный, это тоже хорошо, потому что будете знать, над чем ещё работать. И конечно, для развития ресурса стоит оставить свой комментарий, хороший или плохой — решать вам.

Интернет-магазин или бизнес-страница

Вы хотели сделать свой сайт для продвижения товаров и услуг? Для пробы можно использоваться бесплатную платформу «ВКонтакте». Для того чтобы его находил поисковик, нужны деньги, но для самого начала, чтобы о ваших товарах узнало всё окружение, это самый оптимальный вариант. Многие так со временем и не переходят на другие ресурсы из-за удобства и дешевизны.

Быстро и много

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

Быстрым набиванием подписок занимаются сегодня с помощью акций: "Опубликуйте, лайкните, а «рэндом» выберет победителя". Но среди таких акций есть тысячи страниц, которые ничего не дают бесплатно. Они вообще ничего не дают. А акции зачастую с подставными фотографиями из разного рода барахолок (вроде OLX или Avito). Их цель как можно больше публикаций и подписок. После 20 тыс. они продают страницу для дальнейшего продвижения уже другой темы совершенно другими людьми.

Итак, самые лучшие группы «ВКонтакте» вы выбираете сами. Никто не запретит вам отписаться, если материал дальше идёт совершенно неинтересный лично вам. А после прочтения статьи и поиска нужной информации вы уже и так увидите у себя внушительный список пабликов из нескольких десятков. Только со временем вы сможете разобраться в продуктивности каждого из них.

На этом всё. Хорошего настроения и вдохновения с «ВКонтакте»!

Для поиска сообществ:

1. Введите в это поле название задачи, под этим названием она будет отображаться в истории всех задач в Pro-версии, под таким названием будут скачиваться результаты во Flash-версии и в Pro.

2. Укажите данные для анализа:

  • Введите ключевое слово или словосочетание в именительном падеже, по которому нужно найти сообщества. Обратите внимание, что поиск по нескольким словам в модуле невозможен.
  • Укажите, осуществлять поиск по точному вхождению фразы или нет. При выборе "Точное вхождение поисковой фразы" в результаты попадут только те сообщества, в названии которых есть указанное словосочетание или словоформа, а не любое слово из указанного словосочетания или слово с другим окончанием.
  • Во Flash-версии дополнительно можно указать поиск только официальных, т. е. верифицированных сообществ.
3. Фильтры настройки результатов:
  • Выберите тип сообщества, которое нужно найти: сообщество, публичную страницу или мероприятие - или выберите "любой" в случае, если тип сообщества не важен. Во Flash-версии дополнительно можно найти будущие встречи.
  • Определите географическое положение для групп и мероприятий, так как у публичных страниц информация о гео есть только в том случае, если они были созданы как группы, а затем переведены в паблики.
Дополнительно во Flash-версии можно:
  • Задать сбор сообществ по количеству пользователей, скорости роста, отношению дневной посещаемости к количеству пользователей, отношению количества лайков к количеству пользователей, отношению количества комментариев к количеству пользователей, отношению количества записей в обсуждениях к количеству пользователей. То есть собранные сообщества будут выстроены по убыванию по выбранному параметру. Доступно при поиске без указания города. Это необходимо сделать до начала парсинга.
  • Отфильтровать список по количеству подписчиков. Сообщества, не удовлетворяющие указанным минимуму и максимуму подписчиков, в выборку не попадут. Это необходимо сделать до начала парсинга.
  • Отфильтровать список по ключевым словам, которые не должны быть в названии сообщества (ввод через пробел).
  • Отфильтровать найденные сообщества по дате, не позднее которой должен быть опубликован последний пост в сообществе. Чтобы этот параметр стал активным, нужно дождаться завершения задачи и нажать "Найти даты последнего поста".
Как только все данные заполнены, для выполнения задачи необходимо нажать кнопку "Запустить" в Pro-версии и "Поиск" во Flash-версии.

Если вы работаете в Pro-версии, сообщение о завершении работы придет на почту, которую вы указали при регистрации. Если же во Flash-версии, то необходимо дождаться окончания работы модуля, чтобы сохранить результаты.

ВКонтакте – это огромный ресурс, «приютивший» миллионы интернет-пользователей. Люди находят друг друга, знакомятся, общаются. Но плюс этого сайта в том, что, помимо непосредственно роли соцсети, он выполняет и другие, не менее важные роли. Это интернет-кинотеатр, архив музыки, персонализированная газета и даже фан-клуб. А еще на пространстве ресурса разместились тысячи групп и пабликов, и в этой статье мы расскажем, как устроен поиск сообществ ВКонтакте.

Что такое «сообщества» в ВК?

Социальные сети призваны объединять людей. А как это сделать? Создать небольшие онлайн-группки, которые будут интересны пользователям. В рамках ВК работают два типа сообществ – группы и публичные страницы. Отличают их некоторые характеристики, преимущественно касаемые настроек конфиденциальности. Однако для пользователей соцсети это не столь важно.

Чем же вообще сообщества привлекают людей? Все просто: полезной или интересной информацией. По сути, каждая группа или паблик – это своего рода блог, где публикуются текстовые посты, фото- и видеоматериалы и т.д. Участники сообществ могут общаться между собой, оставляя комменты на стене или в обсуждениях. А объединяет их какая-то общая тема – любимые тв-шоу или музыканты, место проживания, интерес к новостям, хобби... Перечислять все возможные варианты можно долго, но статья посвящена не этому.

Становясь участником сообщества, вы можете отслеживать все новые публикации в своей Ленте новостей. Но вот вопрос: а как найти группу, которая может понравиться? Сейчас разберемся.

Ищем сообщества

Сообществ ВКонтакте очень, ну очень много. И в них достаточно легко запутаться, даже если вы более или менее знаете, что конкретно ищете. Но все-таки чем больше конкретики в вашем запросе имеется, тем выше вероятность найти именно то, что надо.

Итак, искать паблик/группу можно следующими способами:

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

Если же у вас есть название, действуем так:

1.заходим в свой аккаунт ВК;

2.переходим в раздел «Группы»;

3.в строке «Поиск» вводим название искомого сообщества, нажимаем Enter;

4.просматриваем список подходящих запросу результатов и заходим на нужную страничку.

Находить сообщества можно и через общий поиск – это строка в шапке сайта. Алгоритм такой же, как на Фейсбуке:

1.вводим название сообщества, нажимаем Enter или «Показать все результаты»;

2.переходим во вкладку «Сообщества»;

3.выбираем то, что искали.

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

1.заходим в раздел «Группы»;

2.открываем вкладку «Поиск сообществ»;

3.указываем параметры поиска и выбираем нужную страничку среди полученных результатов.

Параметров не очень много, даже мало. Можно выбрать, какой формат нас интересует: встречи, паблики или группы ВКонтакте и страну/город, которые были обозначены в информации сообщества. Также можно ввести какое-то ключевое слово в поисковой строке. Однако нельзя сказать, что это всегда помогает: интересные паблики зачастую имеют совершенно непонятные названия.

Наконец, можно просто воспользоваться помощью поисковиков: вбить интересующий запрос, добавив метку ВК или ВКонтакте. Наверняка, вы найдете что-то полезное для себя. Кстати, перейти в паблик вы сможете даже без регистрации, т.к. эти странички считаются публичными и не требуют наличия у посетителей личного аккаунта в ВК. А вот если вы найдете закрытую группу, то просмотреть ее не сможете: нужно подать заявку на вступление, а затем получить разрешение админов.

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

Точно так же, как ребенок переходит от стадии познания окружающего мира к осознанию своего «Я», SMM-специалисты только-только закончили разбираться с функционалом соцсетей, учатся критически мыслить и пытаются анализировать свою работу с точки зрения объективных показателей и статистики.

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

POPSTERS.RU

Реинкарнация умершего сервиса Postee . Главная задача - анализ интересов и увлечений аудитории с целью подготовить наиболее подходящий для нее контент.

После анализа сообщества Popsters.ru выдает сведения по проценту лайков, репостов, комментариев и ботов в сообществе, а также коэффициент вовлеченности (ER). Главное преимущество сервиса - это возможность работы с лентой записей. Ее можно сортировать по типу контента, активности и многим другим параметрам, а следом подбирать из нее наиболее подходящие посты себе в «Избранное».

Подвязав сервис с автопостингами Time2Post или Novapress, можно без зазрений совести и траты времени наполнить собственную группу отобранными записями из чужой ленты. Единственный недостаток этого метода - страдает уникальность контента.

С Popsters.ru удобно работать на мобильных устройствах. Существует пробная версия. Сервис взаимодействует сFacebook, Twitter, Instargam и «Одноклассниками». Единственный минус - мало подробной информации и отсутствие анализа данных подписчиков. Хотя для перепоста - самое оно.

SOCIALSTATS.RU

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

Разделы socialstats.ru:

  • Скан всех записей, лайков, комментариев и прочего в сообществе и сегментирование аудитории по типам активности.
  • Множество вариантов метрик вовлеченности, от стандартного расчета ER до специальных методик Активности активного ядра и SocialBakers .
  • Анализ фотоальбомов, рейтинг фотографий по числу лайков, комментариев, реакции пользователей и авторам постов.
  • Статистика видеозаписей, все то же самое, что и в фотоальбомах.
  • Рейтинг смежных сообществ, в которых присутствуют ваши подписчики. Очень удобная функция для понимания своей аудитории.
  • Рейтинг популярности страниц. Увы, здесь доступно только топ-5 страниц по интересам пользователей.
  • Сортировка друзей подписчиков. Рейтинг составлен в зависимости от количества друзей, которые тоже подключены к сообществу. Показывает своеобразный «сарафанный» эффект.
  • Рейтинг географии пользователей.

Сервисsocialstats.ru бесплатный, что поясняет угрюмый интерфейс и отсутствие мобильной версии. Если хотите его улучшить - можете поблагодарить разработчиков, сделав скромный или не очень взнос посредством Visa или MasterCard .

JAGAJAM.COM

Один из самых популярных и успешных сервисов для smm . Удобный, причесанный интерфейс и наличие собственной Wiki с пояснениями для работы.

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

JAGAJAM.com рисует очень удобные и красивые графики по динамике наполнения группы контентом и его привлекательности для пользователей.

Также огромными преимуществами сервиса являются:

  • Подробнейший анализ аудитории.
  • Разделения по ядрам активности пользователей.
  • Статистика по бывшим подписчикам, как они реагировали на контент, когда перестали.
  • Сегментирование ядра активности по специальным категориям.

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

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

MEDIA-VK.RU

Простой, но эффективный сервис анализа сообществ. Укажите на сайте сервиса адреса пабликов и получите на свой email ссылку к подробным отчетам.

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

СТАТИСТИКА «ВКОНТАКТЕ»

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

Внутри сервис разделен на четыре раздела: охват, посещаемость, активность и записи.

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

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

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

Увы, мобильная версия сервиса пока отсутствует. Зато есть опция выгрузки статистики в CSV или XLSX. Статистику сторонних пабликов можно увидеть только в случае непосредственного разрешения их администраторов.

  • Вконтакте API
  • На днях удалось провернуть интересную штуку. Для всех групп Вконтакте с числом подписчиков от 5000 до 10 000 (~100 000 групп) был построен полный граф, в котором веса рёбер равнялись пересечению аудиторий групп.


    Во-первых, такой граф красиво выглядит:

    Во-вторых, с его помощью можно быстро подбирать группы заданой тематики. Например, нужно найти группы про вязание. По ключевому слову «вязание» находим, одну подходящую группу, Knitting -Вязание online- , например. Выводим группы, с которыми она связана:

    И повторяем пока не надоест или пока не перестанут появляться новые названия.

    Вязание. В этом мире всё связано...:
    8.88% Корпорация «ПРЯЖА»
    3.06% Мамочкин канал - для творческих мам (КРЮЧКОМ!)
    2.58%
    2.30% Knitting -Вязание online-
    2.14% Интернет-Магазин Пряжи «АЖУР»
    1.94%
    1.85% Магазин пряжи - ღ ВАША ПРЯЖА ღ
    1.76% Пряжа
    1.72% Ажурный мир: связано с любовью!
    1.55%

    «Мадам Вязалкина» Пряжа (товары для рукоделия):
    2.49% Пряжа
    2.37% Корпорация «ПРЯЖА»
    1.42% Магазинчик пряжи Eesti lõng (Kauni, Кауни)
    1.39% Пряжа Кауни (Kauni) - легенда Эстонии. Вязание.
    1.32% ПРЯЖА ДЁШЕВО.ФЛИС.РЕЗИНКИ ДЛЯ ПЛЕТЕНИЯ БРАСЛЕТОВ
    1.26% Магазин пряжи и товаров для рукоделия КУДЕЛЬ
    1.24% Вязаные головные уборы и не только.
    1.21% HOBBY & HOME | РУКОДЕЛИЕ
    1.18% Интернет-Магазин Пряжи «АЖУР»
    1.15% Пряжа Spagetti Спагетти

    Аналогичного результата можно добиться грамотно подобрав ключевые слова для поиска: «вязание», «пряжа», «рукоделие», «крючком». Но их не всегда просто придумать.

    Чтобы построить такой граф было использовано несколько неочевидных технических решений, о которых я хотел бы рассказать.

    Чтобы получить полный список групп заданного размера, был прокачан прекрасный сайт allsocial.ru . Интересно как они собирают эти данные? Просто идут по всем индексам: vk.com/club1 , vk.com/club2 , ...? Брались только средние группы с числом подписчиков от 5000 до 10 000 человек по двум причинам: огромные паблики типа МДК чёкнешься прокачивать, но, что важнее, членство в них не несёт особенного сигнала, такие группы связаны со всем на свете.

    Чтобы получить список подписчиков групп в АПИ Вконтакта, есть специальный метод. Но он позволяет получать по 1000 пользователей за раз и только 3 раза за секунду. А прокачать надо было порядка 1 000 000 000 пользователей, что дофига. Получается, что надо будет ждать 3-4 суток, если ВК будет отвечать на каждый запрос мгновенно. Это, в целом, терпимо, но смущало следующее замечание в документации:

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

    В нашем случае, это замечание напрягает, потому что нужно будет сделать 1 000 000 запросов. На помощь здесь приходит крутейший метод execute . Большой респект за него ребятам из ВК. Интересно у кого-нибудь ещё есть такая штука? Суть в том, что через execute можно посылать в Контакт программы на специальном языке VKScript, запихивать туда несколько запросов к АПИ и, возможно, какую-то логику. В моём случае программа выглядела примерно так:

    Return [ API.groups.getMembers(id=1, offset=0, count=1000), API.groups.getMembers(id=1, offset=1000, count=1000), API.groups.getMembers(id=1, offset=2000, count=1000), API.groups.getMembers(id=1, offset=3000, count=1000), API.groups.getMembers(id=1, offset=4000, count=1000), API.groups.getMembers(id=1, offset=5000, count=1000), ... ];
    Внутри программы может быть не больше 25 обращений к АПИ. То есть число запросов сокращается до 40 000, теоретически бан может миновать. Каждый такой запрос выполнялся уже совсем не мгновенно, а примерно 5-6 секунд, поэтому подождать всё равно пришлось. Да, можно было бы запустить скачивание в несколько потоков, но чёт было стрёмно. Через два с половиной дня всё докачалось и заняло примерно 10Гб у меня на диске.

    Теперь встаёт вопрос как запихнуть эти 10Гб в оперативную память и как посчитать попарное пересечение аудиторий для 100 000 групп. Спасает тот факт, что каждый пользователь состоит обычно в небольшом количестве групп (99% пользователей состоят менее чем в 15 группах). Можно выписать какие вклады вносит в пересечения каждый пользователь и потом эти вклады сложить. Пускай, например, есть два пользователя: А и Б, и три группы 1, 2 и 3. А состоит во всех трёх, Б - только в 1 и 3. А вносит вклады в три пересечения: (1, 2), (1, 3) и (2, 3), Б - в одно: (1, 3). Складываем, получаем, что 1 и 3 пересекаются по двум пользователя, остальные группы по одному. Если технично проигнорировать пользователей, которые состоят в 15 группах и больше, то придётся выписать примерно 500 000 000 пересечений, что гораздо лучше, чем при решении в лоб, где нужно будет посчитать 100 000 * 100 000 пересений.

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

    Group user 3953835 10 2065169 100001643 2112714 100001643 ...
    Получается файл на ~9Гб, сортируем его юниксовым сортом по второй колонке, смотрим, где состоит Павел Дуров:
    group user 2226515 1 37110020 1 38354466 1 43453499 1 60140141 1 60615047 1 64980878 1 1019652 10 ...
    Читаем файл, группируем поток по второй колонке, в памяти держим только список групп пользователя, если групп меньше 15, выписываем все паросочетания в ещё один файл:

    Source target 10000 10027193 9980615 9997141 9974 9976553 ...
    Так как порог подобран грамотно, файл получается не слишком большой - ~9Гб. Сортируем его по двум колонкам:
    source target 10000 100000 10000 100000 10000 10009982 10000 100100 10000 100100 10000 10019194 10000 10019194 10000 1002 10000 1002 10000 1002 ...
    Дальше файл читается, группируется по двум колонкам и сразу считается пересечение. Для групп 10000 и 100000, например, перечение 2 пользователя. Это можно сказать сразу, ничего хранить в памяти не надо.



    Рекомендуем почитать

    Наверх