Вступить в клуб →
средняяpythonКогорты, удержание и сегментация

Присвоение клиенту сегмента по давности, частоте и сумме

Напишите функцию segment(recency_days, frequency, monetary), возвращающую имя сегмента. Правила проверяются по порядку, срабатывает первое подходящее:

  1. recency_days > 180 → "lost";
  2. frequency >= 5 и recency_days <= 30 → "champion";
  3. frequency >= 5 и recency_days > 90 → "at_risk";
  4. frequency == 1 и recency_days <= 30 → "new";
  5. monetary >= 50000 → "big_spender";
  6. иначе → "regular".

Если любое из чисел отрицательное — ValueError.

заготовка решения

def segment(recency_days, frequency, monetary):
    # ваш код
    return None

🔒 Проверка ответа — для участников клуба

  • Автотесты прямо в браузере
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела