Выбор ответа Middle Даты и время спрашивают часто обновлено

DAU в UTC и по Москве

Вопрос

События хранятся в UTC. Аналитик считает DAU как df.groupby(df["ts"].dt.date)["user"].nunique(). Продукт работает в Москве. Что не так?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: События с 00:00 до 03:00 по Москве уйдут в прошлые сутки UTC. Московское время на 3 часа впереди UTC.

Варианты ответа

  1. Ничего: дата события не зависит от часового пояса хранения
  2. События с 00:00 до 03:00 по Москве уйдут в прошлые сутки UTCправильный ответ
  3. nunique не работает с группировкой по датам и вернёт ошибку
  4. Для DAU нужно было count, а не nunique по пользователям

Разбор

Московское время на 3 часа впереди UTC. Событие в 01:00 по Москве в UTC это 22:00 предыдущего дня, и оно попадёт не в те сутки. Нужно ts.dt.tz_localize("UTC").dt.tz_convert("Europe/Moscow") (или to_datetime(..., utc=True)) и только потом брать дату. nunique как раз правильный выбор: DAU это уникальные пользователи.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме