Главное Авторские колонки Вакансии Вопросы
Выбор редакции:
189 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

ML-рекомендации во VK Mini Apps: архитектура, российские инструменты, реальный кейс

Персонализация в мини-приложениях ВКонтакте становится не просто «приятной фичей», а конкурентным преимуществом. Если пользователь получает предложения, адаптированные под его интересы — он остаётся, возвращается, покупает. В этой статье делимся архитектурным подходом к внедрению ML-рекомендаций в VK Mini Apps.
Мнение автора может не совпадать с мнением редакции

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

Зачем вообще встраивать рекомендации?

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

  1. Повысить вовлечённость и глубину взаимодействия;
  2. Сократить путь до целевого действия;
  3. Повысить среднее время сессии;
  4. Улучшить Retention — возвращаемость пользователей;
  5. Повысить эффективность монетизации и рекламной отдачи.

Примеры:

  1. Приложение с услугами показывает не все категории, а те, что похожи на прошлые заказы;
  2. Образовательный мини-курс предлагает новые модули, которые совпадают с интересами пользователя;
  3. Контентное приложение показывает подборки «Похожие на просмотренное» и «Часто смотрят вместе».

Архитектура решения

В VK Mini Apps нельзя запускать ML-код прямо в браузере. Вся логика рекомендаций должна находиться на сервере. Мы используем следующий стек:

  1. Frontend: React + VKUI, VK Bridge для получения vk_user_id и параметров запуска.
  2. Backend: FastAPI (иногда Flask) + PostgreSQL или ClickHouse.
  3. ML-слой: отдельный инференс-сервер с моделью (CatBoost, Matrix Factorization, AutoML).
  4. API-интерфейс: REST или GraphQL для получения рекомендаций.

Пример API-запроса

GET /api/recommendations?vk_user_id=12345&type=products

Ответ:

{

«items»: [

{«id»: «101», «title»: «Курс Python», «score»: 0.89},

{«id»: «102», «title»: «ML для новичков», «score»: 0.85}

]

}

Для минимизации нагрузки добавляем слой кэширования (Redis), особенно для популярных пользователей или неподписанных гостей.

Логирование: топливо для ML

Никакая модель не работает без данных. Поэтому мы настраиваем событийную систему с первого дня. Что логируем:

  1. screen_view — экраны, которые смотрел пользователь;
  2. item_click — клики по товарам, курсам, видео;
  3. scroll — прокрутка и глубина вовлечения;
  4. purchase — факт покупки или завершённого действия;
  5. time_on_page — сколько времени провёл на экране.

Все логи пишем в ClickHouse (для анализа) и PostgreSQL (для профилей). В будущем они используются как признаки в модели.

Российские ML-инструменты

Стараемся использовать только российские решения:

  1. Yandex DataSphere — обучение и деплой моделей;
  2. SberCloud ML Space — управление экспериментами, трекинг версий;
  3. CatBoost — для табличных данных и рекомендательных систем;
  4. LightAutoML — автообучение с хорошими метриками;
  5. FastAPI — быстрая REST-обёртка для инференса.

Кейс: рекомендации в образовательном VK Mini App

Один из наших клиентов — платформа онлайн-курсов — столкнулся с проблемой: пользователи запускали приложение, но не доходили до обучения. Мы внедрили персональные рекомендации:

  1. Сегментировали пользователей по интересам;
  2. Обучили CatBoost-модель на логах просмотров;
  3. Добавили блок «Вам может понравиться».

Результаты через 2 недели:

  1. +41% к вовлечённости;
  2. +22% к возвратам;
  3. +35% к кликам в рекомендованных блоках;
  4. -18% к отказам на первом экране.

Вывод

ML-рекомендации — это не обязательно сложно. Мы рекомендуем:

  1. начинать с простых алгоритмов (popular + recent);
  2. собирать события с первого дня;
  3. использовать VK ID как базовый ключ;
  4. хранить данные на российских серверах.

Мы, как команда разработчиков VK Mini Apps, помогаем внедрять персонализацию, ML и аналитику в мини-приложения любого уровня.

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.