Анализ неактивных подписчиков 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.

Пользователь вводит:

  • ссылку или короткое имя сообщества
  • количество последних постов для анализа

После запуска анализа приложение:

  • получает данные о сообществе
  • загружает список подписчиков
  • получает последние публикации
  • собирает данные о лайках и комментариях
  • определяет активных и неактивных пользователей


Алгоритм работы

Блок-схема работы приложения представлена ниже:

flowchart TD A[Начало] --> B[Ввод ссылки на сообщество] B --> C[Ввод количества постов] C --> D[Получение данных о сообществе] D --> E{Сообщество найдено?} E -- Нет --> F[Вывод ошибки] F --> G[Конец] E -- Да --> H[Получение списка подписчиков] H --> I[Получение последних постов] I --> J[Сбор лайков и комментариев] J --> K[Формирование списка активных пользователей] K --> L[Определение неактивных подписчиков] L --> M[Расчет статистики] M --> N[Вывод результатов] N --> O[Конец]



Метод определения активности

Пользователь считается активным, если он:

  • поставил хотя бы один лайк
  • или оставил хотя бы один комментарий

Если пользователь не совершал ни одного действия, он считается неактивным.

Формально:

  • Активные пользователи = пользователи с лайками ∪ пользователи с комментариями
  • Неактивные пользователи = все подписчики − активные пользователи

Фрагменты программного кода

Получение данных из 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 социальных сетей, методов анализа данных и визуализации информации.