Лаборатория анализа данных Кукушкина Александра
33,6
рейтинг
20 декабря 2015 в 20:08

Разработка → Поиск потенциальных фолловеров в Твиттере

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

Для примера рассмотрим аккаунт @Russia_Direct. Это небольшое издание, которое освещает события в России для англоязычных читателей. Что-то типа Russia Today, но с более глубокими и академичными материалами.



Сейчас на них подписаны ~4000 человек — студенты, журналисты, преподаватели университетов:



В среднем их подписчики фолловят 500 аккаунтов. Есть какой-то странный гребень в районе 2000. То есть аномально много людей фолловят ~2000 аккаунтов. Возможно, это роботы? Кто знает, напишите в комментариях.



Посмотрим кого кроме RD фолловят эти люди. У Твиттера совершенно драконовские лимиты на обращения к АПИ, забирать список подписок можно только раз минуту. Поэтому на 4000 пользователей нужно потратить 4000 минут. Ничего, ждём пол недели, получаем список из 4 000 000 аккаунтов. Сортируем его по доле аудитории, которая подписана на RD, смотрим на топ и видим интересное:
  • Например, из 497 подписчиков @NewBooksRussia 122 подписаны на RD. Значит аудитория этих двух аккаунтов очень похожа. Грубо говоря, можно считать, что остальные 375 подписчиков @NewBooksRussia — это потенциальные фолловеры RD.
  • На первом месте, конечно, RD. Почему не 100% подписчиков RD подписаны на RD? В силу ряда технических причин. Некоторые профили под замочком, для них список подписок получить нельзя. Иногда АПИ отвечает странными ошибками.



Здесь нужно упомянуть, что просто так считать долю подписчиков нельзя, в топе будут аккаунты, у которых всего 1 фолловер, из них доля подписанных на RD автоматически 100%. Можно выкидывать мелкие аккаунты, но непонятно по какому порогу. 50 фолловеров — это мало или достаточно? В таких случаях я люблю использовать для сортировки не долю (n / N), а вот такой показатель n / N — 3 sqrt(n (N — n + 1) / N3). Почему именно его, можно понять, например, из Probabilistic Programming and Bayesian Methods for Hackers.

Таким образом, у нас на руках оказывается список аккаунтов похожих на RD. Этот список сам по себе полезен. Можно посмотреть какие есть конкуренты, о чём они пишут. Собрать потенциальных фолловеров теперь несложно, нужно скачать списки фолловеров похожих аккаунтов и посмотреть, какие пользователи встречаются несколько раз. Вот, например, некий румынский чиновник подписан на 5 похожих на RD аккаунтов, а на RD не подписан:



И таких очень много.




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



Дальше этих людей можно исследовать, писать им сообщения и твиты, фолловить и настраивать рекламные кампании.
Кукушкин Александр @alexkuku
карма
151,0
рейтинг 33,6
Лаборатория анализа данных Кукушкина Александра
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

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

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

  • +6
    Было бы здорово, если бы вы поделились кодом.
  • +1
    Перечитал 3 раза, чтобы найти хоть слово об использовании Twitter API. Присоединяюся к and7ey. Поделитесь кодом и расскажите об использовании API, результаты это безумно интересно и прекрасно, но не менее интереснен и процесс их получения.
  • +1
    Спасибо за статью и отдельное огромное спасибо за ссылку на книжку
  • 0
    Всплеск аккаунтов, подписанных на 1900-2000 других, объяснить элементарно: пока тебя читает менее 2000 подписчиков, ты не можешь сам подписаться более чем на 2000 аккаунтов, поэтому в районе этой цифры и «топчутся» те, кто набирает себе читателей по схеме «ты читаешь меня, я — тебя» (то есть человек подписывается на тех, кто, по его мнению, может на него подписаться, ждёт неделю-месяц, потом отписывается от «невзаимных», и так — пока не перепрыгнет планку в 2000 аккаунтов — далее нет никаких ограничений, и можно наращивать свою «аудиторию» более быстрыми темпами. Поэтому график где-то на 1850 резко взмывает вверх, на 2000 — максимум, потом — до 2100..2150 — возврат к исходному распределению (например, если сейчас меня читает 2050 человек, очень легко за пару недель скатиться до 1999 читателей, и опять попасть в зону ограничений). Сам проходил через это года четыре назад… А то, что число твиттерян с числом фолловеров менее 50 оказалось меньше, чем с числом фолловеров 50-100, в принципе тоже вполне ожидаемо: это те, кто «присматривается» — что писать, кого читать…

    На самом деле, в этом графике вот что интересно: по идее, разные правила игры (попадание в правую часть графика, более 2000 фолловеров, принципиально отличается от начальных условий, до 2000 фолловеров) никак (на мой взгляд) не влияют на распределение пользователей по их популярности (если не брать во внимание число тех, кто «топчется» в районе 1900-2100).

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