Вы считаете длительность сессии по client_time, но у части устройств неверные часы, и длительность иногда получается отрицательной. Что лучше всего добавить в данные, чтобы снизить ошибку измерения?

AЛогировать только модель устройства и версию OS: фильтрация проблемных девайсов из расчёта длительности сессий
BЛогировать только язык интерфейса и locale пользователя: настройки локали влияют на точность клиентского времени
CЛогировать server_time вместе с client_time и timezone_offset: время нормализуется и видны некорректные события
DЛогировать только sdk_version логирующей библиотеки: разные сборки sdk по-разному пишут время в события сессии
Правильный ответ. Чтобы снизить measurement error по времени, нужно иметь независимую опору вроде server_time и параметры часового пояса.

Разбор

Когда client_time ненадёжен (часы устройства сбиты, пользователь крутит время вручную), нужен второй источник времени для коррекции — это server_time, проставляемое сервером в момент приёма события. Дополнительно timezone_offset позволяет привести всё к единому UTC и считать локальное время. Имея пару client_time + server_time, можно ловить события с большой разницей и помечать их некорректными. Логировать только модель устройства, локаль или версию SDK — отдельные полезные поля, но без второго таймстампа они не решают проблему: сравнивать остаётся не с чем.

Проверь себя · 1/3разбор после ответа
Вы выложили ссылку на опрос в соцсетях и получили ответы в основном от людей с сильным недовольством продуктом. Какое смещение наиболее вероятно?
Тренировать статистику в Telegram

Ещё вопросы по теме «Выборка и смещение»