Вступить в клуб →
сложнаяpythonТрекинг событий и данные для продуктовой аналитики

Число уникальных людей после склейки анонимных и авторизованных событий

Напишите count_people(events).

  • events — список словарей {"anonymous_id": str | None, "user_id": str | None} в порядке времени. Хотя бы одно из полей заполнено.
  • Событие, где заполнены оба поля, связывает анонимный id с пользователем. Связь действует на все события этого анонимного id — и до, и после.
  • Если один анонимный id встречается с разными user_id (общий компьютер), используйте первую по времени связь.
  • Один user_id может быть связан с несколькими анонимными id — это один человек.
  • Анонимный id без связи считается отдельным человеком. Анонимный id и user_id из разных пространств: совпадение строк не означает одного человека.
  • Верните число людей.

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

def count_people(events):
    # ваш код
    return None

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

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

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

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