Как проводилась итоговая оценка качества в рабочем ML-проекте

«Как проводилась итоговая оценка качества в рабочем ML-проекте» — вопрос из категории MLOps и деплой моделей, который задают на 26% собеседований Data Scientist / ML Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В рабочем ML-проекте по прогнозированию оттока клиентов итоговая оценка качества была многоэтапной и включала как оффлайн-метрики, так и онлайн-валидацию.

1. Оффлайн-оценка на hold-out и кросс-валидации: Основной задачей была бинарная классификация. Поскольку классы были несбалансированы (отток ~15%), основной метрикой выбрали ROC-AUC, так как она устойчива к дисбалансу и показывает качество ранжирования. Дополнительно отслеживали Precision@Top-200, потому что бизнес мог точечно работать только с небольшим числом клиентов с самым высоким скором оттока.

from sklearn.metrics import roc_auc_score, precision_score
import numpy as np

# y_true_true, y_pred_proba - истинные метки и предсказанные вероятности
roc_auc = roc_auc_score(y_true, y_pred_proba)
print(f"ROC-AUC на тестовом наборе: {roc_auc:.3f}")

# Рассчитываем Precision для 200 клиентов с наибольшей вероятностью оттока
top_k_indices = np.argsort(y_pred_proba)[-200:]
precision_top_k = precision_score(y_true[top_k_indices], (y_pred_proba[top_k_indices] > 0.5))
print(f"Precision@Top-200: {precision_top_k:.3f}")

2. A/B-тест в production: После оффлайн-валидации модель запускалась в A/B-тесте. Контрольная группа пользователей получала прогнозы от старой эвристической системы, тестовая — от новой ML-модели. Ключевой бизнес-метрикой было снижение реального оттока в тестовой группе за месяц. Мы также мониторили guard-метрики, такие как количество исходящих обращений в поддержку (чтобы наша активная работа с клиентами из «группы риска» не вызывала негативную реакцию).

3. Мониторинг после внедрения: После успешного A/B-теста и полного rollout'а мы настроили мониторинг:

  • Дрейф данных (Data Drift): Сравнивали распределение ключевых фичей (например, частота транзакций) между обучающей выборкой и текущим трафиком.
  • Дрейф концепции (Concept Drift): Отслеживали падение скользящего ROC-AUC на отложенной выборке.
  • Бизнес-метрики: Коррелировали предсказанный скор оттока с фактическим оттоком в последующие периоды.

Такой комплексный подход позволял быть уверенным не только в математической корректности модели, но и в ее реальном бизнес-воздействии.