Были ли данные с динамикой или только последний срез?
Что проверяют
Понимаете ли вы, что у данных есть время. Интервьюер ищет две вещи: знаете ли вы разницу между историей изменений и снимком текущего состояния и умеете ли собирать признаки на момент события, не заглядывая в будущее. Следом обычно звучит «а как вы избежали утечки?».
Как отвечать
Сначала честно опишите, что было в проекте:
- лог событий: транзакции, клики, смены статусов с временными метками. Из него восстанавливается состояние на любую дату;
- периодические снимки: ежедневные выгрузки состояния, партиции по дате в хранилище;
- SCD2 (медленно меняющееся измерение второго типа): история версий записи с
valid_fromиvalid_to; - только последний срез: таблица с текущим статусом клиента, прошлые значения перезаписаны.
Потом объясните, что это меняло в работе. С историей признаки собирают через point-in-time join: для каждой метки берутся значения, известные строго до её момента. В pandas для этого есть merge_asof, в feature store вроде Feast это встроено. Валидация тоже по времени: TimeSeriesSplit или отложенный период после обучающего, а не случайный K-fold.
Если был только последний срез, это нормальный ответ, если вы видели риск. Текущий статус мог измениться уже после целевого события, и модель учится на будущем: на валидации отлично, в проде провал. Расскажите, что сделали: оставили только неизменяемые признаки, восстановили историю из логов или начали сохранять ежедневные снимки и вернулись к задаче позже.
Метрики и сроки называйте свои. Если утечку поймали уже в проде, так и скажите: разбор собственной ошибки ценится выше гладкой истории.
Где спотыкаются
Понимают «динамику» как поток в реальном времени и начинают рассказывать про Kafka. Вопрос про историю значений, а не про скорость доставки.
Делают случайное разбиение на временных данных. Строки одного клиента за соседние дни попадают и в обучение, и в тест, и метрика завышена.
Говорят «данные были с историей», но не могут объяснить, как выровняли признаки по времени метки. Для интервьюера это тот же последний срез.