🏢 Ситуация
Экстренный синк. Макс показывает график: подписчики финтех-продукта уходят, ежемесячный отток 8%.
«Удержать клиента в 5 раз дешевле, чем привлечь нового. У ретеншн-команды есть бюджет на звонки и бонусы, но звонить всем 200 000 клиентам нельзя. Дайте список: кто уйдёт в ближайшие 30 дней.»
Лена переводит на язык ML:
«Бинарная классификация. Таргет: ушёл ли клиент в течение 30 дней (по истории у нас есть разметка). Признаки Аня собрала: активность, платежи, обращения в поддержку, срок жизни. Начни с логистической регрессии — и вникни, почему её выход это вероятность, ретеншену нужны именно вероятности, чтобы ранжировать, кому звонить первыми.»
🎯 Ваша задача
- Понять, чем классификация отличается от регрессии и как работает логистическая регрессия.
- Обучить модель оттока и получить вероятности.
- Отдать бизнесу ранжированный список клиентов.
📚 Теория
Почему не линейная регрессия?
Таргет — 0 или 1. Линейная регрессия выдаёт любые числа (−0.3, 1.7), которые нельзя трактовать как вероятность. Решение — обернуть линейную комбинацию в сигмоиду:
Сигмоида сжимает любое число в диапазон (0, 1) → выход читается как вероятность класса 1: P(churn | x).
Функция потерь — log loss
MSE для классификации работает плохо (невыпуклая поверхность). Используется логистическая функция потерь (cross-entropy): она сильно штрафует уверенные ошибки — предсказал 0.99 «останется», а клиент ушёл → огромный штраф.
Порог принятия решения
Модель выдаёт вероятность; решение «звонить / не звонить» появляется после выбора порога:
- порог 0.5 — по умолчанию, но он почти никогда не оптимален для бизнеса;
- ретеншен может обзвонить только топ-5000 клиентов → берём топ-N по вероятности, порог вообще не нужен;
- выбор порога — это бизнес-решение о балансе ошибок (подробно — в модуле 6).
Интерпретация коэффициентов
Коэффициенты логистической регрессии действуют на log-odds: положительный вес признака повышает вероятность оттока. exp(w) — во сколько раз растут шансы при +1 к признаку. Для бизнеса: «каждое обращение в поддержку с негативом умножает шансы ухода в 1.6 раза».
Регуляризация
При большом числе признаков модель может переобучаться. L2 (Ridge) — прижимает веса к нулю, L1 (Lasso) — зануляет слабые признаки (встроенный отбор). В sklearn параметр C — обратная сила регуляризации: меньше C → сильнее регуляризация.