Анализ неактивных подписчиков VK
Анализ неактивных подписчиков сообщества VK
Описание проекта
В рамках данного проекта было разработано приложение для анализа активности подписчиков сообщества социальной сети ВКонтакте. Приложение позволяет выявлять неактивных пользователей, которые не взаимодействуют с контентом сообщества.
Анализ осуществляется на основе данных о лайках и комментариях к последним публикациям сообщества, полученных с помощью VK API.
Программа работает с любыми открытыми сообществами социальной сети ВКонтакте. Для анализа не требуется, чтобы пользователь являлся администратором сообщества, достаточно, чтобы сообщество было открытым и данные были доступны через VK API.
Цель проекта
Разработка программного приложения для анализа активности подписчиков сообщества ВКонтакте и выявления неактивных пользователей.
Задачи проекта
- Изучить возможности VK API для получения данных о сообществе
- Реализовать получение списка подписчиков
- Реализовать получение данных о постах, лайках и комментариях
- Разработать алгоритм определения активности пользователей
- Создать удобный интерфейс приложения
- Визуализировать результаты анализа
Используемые технологии
- Python
- VK API
- Streamlit (для создания интерфейса)
- requests (для работы с API)
- pandas (для обработки данных)
- matplotlib (для построения графиков)
Архитектура приложения
Приложение реализовано по модульному принципу и состоит из следующих компонентов:
- app.py — пользовательский интерфейс (Streamlit)
- vk_api_client.py — модуль взаимодействия с VK API
- analyzer.py — модуль анализа активности пользователей
- config.py — конфигурационные параметры (токен, настройки)
- visualizer.py — визуализация данных
Описание работы приложения
Приложение реализовано в виде веб-интерфейса с использованием библиотеки Streamlit.
Пользователь вводит:
- ссылку или короткое имя сообщества
- количество последних постов для анализа
После запуска анализа приложение:
- получает данные о сообществе
- загружает список подписчиков
- получает последние публикации
- собирает данные о лайках и комментариях
- определяет активных и неактивных пользователей
Алгоритм работы
Блок-схема работы приложения представлена ниже:
Метод определения активности
Пользователь считается активным, если он:
- поставил хотя бы один лайк
- или оставил хотя бы один комментарий
Если пользователь не совершал ни одного действия, он считается неактивным.
Формально:
- Активные пользователи = пользователи с лайками ∪ пользователи с комментариями
- Неактивные пользователи = все подписчики − активные пользователи
Фрагменты программного кода
Получение данных из VK API
def get_group_info(self, group_input):
screen_name = self.normalize_group_input(group_input)
response = self._request(
"groups.getById",
{
"group_id": screen_name,
"fields": "members_count"
}
)
group = response["groups"][0]
return {
"id": group["id"],
"name": group["name"]
}
Определение неактивных пользователей
active_users = likes_users.union(comments_users)
inactive_users = all_members - active_users
Расчет активности
for user_data in member_map.values():
total_activity = (
user_data["liked_posts_count"] +
user_data["commented_posts_count"]
)
user_data["status"] = "active" if total_activity > 0 else "inactive"
Интерфейс приложения
Начальная страница
Готовый анализ
График
Таблицы
Результаты анализа в формате CSV
Результаты анализа в формате CSV
| user_id | first_name | last_name | liked_posts_count | commented_posts_count | total_activity | status
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|---|
Результаты работы
В результате работы приложения определяется:
- общее количество подписчиков
- количество активных пользователей
- количество неактивных пользователей
- процент неактивных подписчиков
Также формируется таблица пользователей и график распределения активности.
Практическая значимость
Разработанное приложение может быть использовано:
- администраторами сообществ для анализа аудитории
- для оценки вовлеченности пользователей
- для выявления неактивных подписчиков
- в маркетинговых исследованиях
Заключение
В ходе выполнения проекта было разработано приложение для анализа активности пользователей социальной сети ВКонтакте.
Данное приложение позволяет автоматизировать процесс анализа вовлеченности аудитории и выявления неактивных пользователей.
Проект демонстрирует применение API социальных сетей, методов анализа данных и визуализации информации.





