Каким проектом гордишься?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Проект, которым я горжусь
Хочу рассказать о проекте, который был особенно интересен и принес реальную ценность компании.
Контекст проекта
Я работал в SaaS компании, которая предоставляла CRM решение для продаж команд. Компания развивалась, но была одна серьезная проблема: мы не понимали, почему некоторые клиенты быстро уходили (churn), а другие становились лояльными.
Проблема
Маркетинг и продажи сосредоточились на привлечении новых клиентов и увеличении MRR (Monthly Recurring Revenue). Но мы игнорировали то, что происходит после продажи:
- Retention падал — 30% клиентов уходили в течение первых 3 месяцев
- Нет прогнозирования — мы узнавали об уходе клиента только когда он отменял подписку
- Непонимание причин — почему одни остаются, а другие нет?
- Прибыль деградировала — LTV (Lifetime Value) был очень низким
Моя инициатива
Я предложил провести полный анализ жизненного цикла клиента и построить систему предсказания churn. Вот как я это сделал.
Этап 1: Исследование и гипотезы
Я начал с простых вопросов:
- Какие клиенты остаются, а какие уходят?
- Есть ли различия в поведении на ранних этапах?
- Какие события предшествуют уходу?
Я провел анализ когорт и выявил, что:
- Клиенты, которые добавили >5 пользователей в первую неделю, имели 80% шанс остаться
- Клиенты, которые сделали первую продажу в CRM на 2+ неделю, часто уходили
- Клиенты, которые использовали продвинутые функции в первый месяц, редко уходили
Этап 2: Построение модели прогнозирования
Я собрал все доступные данные и построил простую модель логистической регрессии.
Переменные в модели:
1. Поведенческие:
- Количество приглашенных пользователей
- Количество созданных контактов
- Количество совершенных звонков/встреч в первые 7 дней
- Использование интеграций (календарь, email)
2. Контрактные:
- Размер подписки (годовой vs месячный)
- Размер команды на момент покупки
- Отрасль клиента
3. Поддержка:
- Время первого ответа на запросы в чате
- Количество обращений в первый месяц
SQL для подготовки данных:
WITH user_engagement AS (
SELECT
user_id,
DATE(signup_date) as signup_date,
COUNT(DISTINCT invited_user_id) as invited_users_week_1,
COUNT(DISTINCT contact_id) as contacts_created_week_1,
COUNT(*) FILTER (WHERE event = 'call_made' AND DATE(created_at) <= signup_date + 7) as calls_week_1,
MAX(CASE WHEN subscription_type = 'annual' THEN 1 ELSE 0 END) as is_annual,
COUNT(DISTINCT CASE WHEN used_integration THEN integration_name END) as integrations_used,
CASE
WHEN churn_date IS NOT NULL THEN 1
ELSE 0
END as churned
FROM users
LEFT JOIN user_events ON users.id = user_events.user_id
GROUP BY user_id, signup_date
)
SELECT * FROM user_engagement;
Этап 3: Результаты и внедрение
Модель показала:
- Accuracy: 78% на тестовом наборе
- Precision for churn: 85% — если модель говорит, что клиент уйдет, она права в 85% случаев
Это означало, что мы можем выявить рискованных клиентов за 2-3 недели до их ухода.
Действия, которые мы предприняли:
-
Автоматизированная диагностика — система автоматически помечала клиентов с высоким риском churn
-
Целевые интервенции:
- Success команда связывалась с клиентом
- Предлагали дополнительное обучение или демонстрацию функций
- Давали скидку для годового контракта
- Добавляли в приоритетную поддержку
-
Дашборд для руководства:
SELECT
DATE_TRUNC('week', signup_date) as cohort_week,
COUNT(*) as total_customers,
COUNT(CASE WHEN churn_risk_score > 0.6 THEN 1 END) as high_risk,
COUNT(CASE WHEN churned THEN 1 END) as actual_churned,
ROUND(100.0 * COUNT(CASE WHEN churned THEN 1 END) / COUNT(*), 1) as churn_rate
FROM user_predictions
GROUP BY DATE_TRUNC('week', signup_date)
ORDER BY cohort_week DESC;
Этап 4: Результаты
До внедрения (месячные метрики):
- Churn rate: 12% в месяц (~30% за 3 месяца)
- Net Revenue Retention: 85%
- Средний LTV: $3,000
После внедрения (через 6 месяцев):
- Churn rate: 7% в месяц
- Net Revenue Retention: 92%
- Средний LTV: $4,500
Финансовое влияние:
- За год: дополнительный $500k+ в выручке
- ROI проекта: 5:1 (инвестировали 2 месяца моего времени)
Почему я горжусь этим проектом
-
Данные привели к решению — не просто красивые дашборды, а реальное влияние на бизнес
-
Кросс-функциональное сотрудничество — работал с Support, Product, Sales, Engineering
-
Масштабируемость — модель работала автоматически, не требуя человеческого вмешательства
-
Обучение — пришлось углубиться в ML, SQL, Python, статистику
-
Долгосрочный эффект — система работала и через год, постоянно улучшая результаты
Что я выучил
-
Простые модели часто лучше — не нужен сложный XGBoost, логистическая регрессия сработала отлично
-
Качество данных критично — потратил 40% времени на очистку и валидацию данных
-
Вовремя узнать о проблеме — важнее, чем идеально ее решить
-
Нужна гипотеза — сначала I предположил что будет важно, потом проверил
-
Автоматизация масштабируется — ручной процесс никогда не сработает для 100+ клиентов в неделю
Технические подробности
Stack:
- Python (scikit-learn для модели)
- PostgreSQL (хранилище всех данных)
- Looker (дашборды для внутреннего использования)
- Celery (автоматизация проверок и уведомлений)
Код модели (упрощенно):
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
import pandas as pd
# Загружаем данные
df = pd.read_sql("""
SELECT invited_users_week_1, contacts_week_1, calls_week_1,
is_annual, integrations_used, churned
FROM user_engagement
""", conn)
# Подготовка
X = df.drop('churned', axis=1)
y = df['churned']
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# Обучение
model = LogisticRegression(random_state=42)
model.fit(X_scaled, y)
# Сохраняем вероятность churn для каждого клиента
churn_predictions = model.predict_proba(X_scaled)[:, 1]
Наследие проекта
Даже после моего ухода из компании:
- Система все еще используется
- Была расширена новыми переменными
- Стала основой для системы прогнозирования LTV
- Обучила команду аналитиков использовать ML подход
Этот проект показал мне, что лучший Product Analyst — тот, кто не просто рисует графики, а решает реальные бизнес-проблемы с помощью данных.