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

Когортный треугольник удержания без незрелых ячеек

Напишите функцию retention_triangle(signups, activity).

  • signups — {user_id: "YYYY-MM-DD"} — дата регистрации.
  • activity — список (user_id, "YYYY-MM-DD") — дни активности.
  • Когорта — месяц регистрации "YYYY-MM". Смещение k — месяц активности минус месяц регистрации (в календарных месяцах).
  • Для каждой когорты верните список долей [доля при k=0, доля при k=1, …]: доля — число пользователей когорты с активностью в месяце смещения k, делённое на размер когорты, округлённое до трёх знаков.
  • Список для когорты заканчивается на последнем наблюдаемом месяце — максимальном месяце во всей activity. Более поздние смещения не выводятся.
  • Активность до регистрации и активность пользователей без регистрации игнорируйте. Если активности нет — верните {}.

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

def retention_triangle(signups, activity):
    # ваш код
    return None

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

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

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

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