Какой инвариант наиболее уместно добавить в ежедневный отчёт по воронке e-commerce, чтобы быстро ловить ошибки данных?

AСредний чек avg_order_value обязан колебаться в коридоре до одного процента в сутки, иначе данные orders собраны с ошибкой
BДоля сессий с device_type = 'ios' обязана сохраняться на уровне 50 процентов в сутки, иначе данные sessions загружены с ошибкой
CДневная выручка revenue обязана делиться на 100 без остатка по таблице orders, иначе расчёт по чекам выполнен с ошибкой
DЧисло orders ≤ checkouts ≤ add_to_cart ≤ product_views в одном окне времени, иначе нарушены отношения шагов воронки
Правильный ответ. Логические отношения между шагами воронки — сильный инвариант для поиска багов в данных.

Разбор

Количество пользователей или событий на более позднем шаге не должно превышать предыдущий шаг, если определения согласованы. Нарушение такого инварианта часто означает дубликаты, неверную дедупликацию или смешение разных окон времени между шагами. Это быстрый способ поймать ошибки ещё до интерпретации результата эксперимента или отчёта. Дистракторы про средний чек, долю iOS или целое число выручки — это не инварианты, а нормальные колебания.

Можно заниматься бесплатно

Готовим вопросы…

Три вопроса по теме этой страницы, с объяснениями.

Открыть Карьерник в браузере

Ещё вопросы по теме «Качество данных и инварианты»