Проблема «FitFlow» была типичной: после бесплатного пробного периода многие пользователи не переходили на платную подписку. Маркетинговые акции не давали долгосрочного эффекта. Команда собирала данные: логи просмотров, активность в приложении, демографические данные (возраст, пол, регион), а также результаты опросов. Нужно было не просто увидеть цифры, а понять скрытые паттерны и построить прогнозную модель.
Почему выбор пал на R? Во-первых, из-за богатейших возможностей для исследовательского анализа данных (EDA). С помощью пакетов `dplyr` и `tidyr` данные были быстро очищены и преобразованы. Пакет `ggplot2` позволил создавать сложные, многослойные визуализации за пару строк кода. Например, была построена тепловая карта активности, которая наглядно показала, что пользователи, бросившие подписку, резко снижали активность за 5-7 дней до оттока, концентрируясь только на коротких видео.
Во-вторых, R обладает непревзойденной экосистемой для статистического моделирования. Команда перепробовала несколько подходов. С помощью пакета `corrplot` был проведен анализ корреляций, который выявил неочевидную связь: пользователи, которые смотрели разнообразный контент (разные тренеры, типы тренировок), уходили реже. Затем была построена логистическая регрессия (функция `glm`) для выявления ключевых факторов оттока. Но главный прорыв случился после применения машинного обучения.
Используя пакет `caret` (Classification And REgression Training), который унифицирует сотни моделей, команда обучила и сравнила случайный лес (Random Forest), градиентный бустинг (XGBoost) и SVM. XGBoost, реализованный в пакете `xgboost`, показал наилучшую точность в предсказании оттока. Модель присваивала каждому пользователю «скор оттока» на основе его поведения.
Интеграция модели в продукт стала следующим вызовом. Здесь R также предложил решение. С помощью пакета `plumber` команда создала REST API из R-скрипта. Микросервис на R, развернутый в Docker-контейнере, получал данные о новых событиях пользователя и возвращал рассчитанный скор. Этот API подключили к CRM-системе. Если скор пользователя превышал пороговое значение, менеджер по удержанию получал уведомление и мог предложить персонализированную скидку или контент.
Результаты через квартал превзошли ожидания: процент оттока снизился на 22%. Маркетинг стал точечным и эффективным. Бюджет на удержание сократился, так как акции направлялись только «группе риска».
Какие уроки вынес стартап?
- **Инструмент под задачу.** Для глубокого статистического анализа и быстрого прототипирования моделей R может быть эффективнее Python.
- **Сила визуализации.** `ggplot2` помог донести инсайты до нетехнических основателей, что было критически важно для принятия решений.
- **Операционализация.** Современные R-пакеты (`plumber`, `vetiver` для управления моделями) позволяют встроить модели в production-среду.
- **Экономия времени.** Огромное количество готовых, отлаженных статистических пакетов в CRAN ускорило разработку в разы.
Комментарии (13)