Разработка системы рекомендаций товаров в мобильном приложении

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Разработка системы рекомендаций товаров в мобильном приложении
Сложная
от 1 недели до 3 месяцев
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1052
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Разработка системы рекомендаций товаров в мобильном приложении

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

Архитектура: из чего состоит система

Рекомендательная система состоит из трёх слоёв, и мобильное приложение участвует в каждом.

Сбор событий. Приложение генерирует поведенческие сигналы: просмотр товара, добавление в корзину, покупка, время на экране, свайп-скролл по ленте. Эти события отправляются в аналитическую систему (Amplitude, Mixpanel, Segment, собственный Kafka-топик). Качество данных критично: если view_product стреляет при каждом скролле мимо карточки — модель получает зашумленный сигнал.

Модель и оффлайн-обучение. Collaborative filtering (Matrix Factorization, ALS), content-based filtering по атрибутам товара, или гибридные подходы. Для e-commerce с холодным стартом (новые пользователи, новые товары) чистый CF не работает — нужны fallback-стратегии на основе атрибутов.

Доставка рекомендаций. Мобильное приложение запрашивает рекомендации через API, получает упорядоченный список товаров. Здесь важны: время ответа (< 200ms для inline-блоков), TTL кеша, деградация при недоступности сервиса.

Трекинг событий в мобильном приложении

Самое частое упущение — неправильное определение «просмотра» товара. viewDidAppear на экране товара стреляет раньше, чем пользователь реально увидел контент. Для impression-трекинга в списке используем UICollectionView.indexPathsForVisibleItems с таймером:

// iOS: считаем impression только если товар виден > 1 секунды
private var impressionTimers: [IndexPath: Timer] = [:]

func collectionView(_ collectionView: UICollectionView,
                    willDisplay cell: UICollectionViewCell,
                    forItemAt indexPath: IndexPath) {
    let timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: false) { [weak self] _ in
        guard let product = self?.products[indexPath.item] else { return }
        Analytics.track(.productImpression(productId: product.id, source: .recommendations))
    }
    impressionTimers[indexPath] = timer
}

func collectionView(_ collectionView: UICollectionView,
                    didEndDisplaying cell: UICollectionViewCell,
                    forItemAt indexPath: IndexPath) {
    impressionTimers[indexPath]?.invalidate()
    impressionTimers.removeValue(forKey: indexPath)
}

На Android аналог — RecyclerView + кастомный OnScrollListener или ViewTreeObserver.OnGlobalLayoutListener с Intersection Observer логикой.

Интеграция API рекомендаций

Рекомендации бывают нескольких типов с разными точками интеграции:

Тип Место в UI Контекст запроса
Homepage feed Главный экран user_id
Similar items Экран товара product_id, user_id
Cross-sell Корзина cart_items[], user_id
Post-purchase Экран «Спасибо» order_id, user_id

Для каждого типа — отдельный endpoint или параметр placement. Не один универсальный запрос «дай мне рекомендации».

Кеширование: рекомендации главной страницы кешируются на 30–60 минут (NSCache на iOS, Room + WorkManager на Android для фоновой подгрузки). Рекомендации на экране товара — не кешируем или с TTL 5 минут, они должны учитывать текущую сессию.

Холодный старт и fallback

Новый пользователь — нет истории, нет вектора. Варианты:

  • Онбординг с выбором категорий интересов → передаём как начальные сигналы
  • Популярные товары в категории (editorial picks, не просто топ продаж)
  • Geo-based recommendations (что покупают в этом регионе)

Fallback при недоступности рекомендательного сервиса: готовый статичный список «редакционная подборка» в конфиге или CDN.

A/B тестирование

Система рекомендаций без A/B теста — это вера в модель. Каждый новый алгоритм проверяем через Feature Flags (Firebase Remote Config, Unleash): 10% трафика на новую модель, метрика — CTR рекомендательного блока и конверсия в покупку с attribution_window 7 дней.

Процесс работы

Аудит текущего трекинга событий: что уже собирается, что нужно добавить.

Проектирование event schema: имена событий, обязательные параметры, контекст.

Интеграция рекомендательного API или разработка модели (если нет готового сервиса).

Реализация UI-компонентов: горизонтальный скролл, карусель, inline-блок, с корректным impression-трекингом.

Кеширование, fallback при ошибках, offline-режим.

Настройка A/B тестирования, определение метрик успеха.

Ориентиры по срокам

Интеграция готового рекомендательного API в существующее приложение — 1–2 недели. Разработка системы с нуля включая сбор данных, модель, API и мобильную часть — 2–3 месяца. Стоимость рассчитывается индивидуально после анализа текущего стека и объёма каталога.