State для планового производства
Как хранить извлеченный из документов план производства, чтобы новые отчеты корректно обновляли forecast features?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Хранится версионированный state по руднику: текущий план по кварталам, источник, дата публикации, confidence и история изменений. Новый документ делает patch, а не перезаписывает все вслепую.
Полный разбор
Состояние удобно хранить как temporal feature state по руднику. В нем есть production plan по кварталам, capacity, grade, ключевые события, source document, extraction timestamp, publication date и confidence. Важно различать дату события, дату публикации и дату, когда система узнала факт.
Новый отчет не должен просто перетирать state. Extractor возвращает patch: какие поля подтверждены, какие изменились, какие устарели и какие требуют review. Это дает воспроизводимость backtest: для каждого исторического прогноза можно восстановить, какие документы были доступны на тот момент.
Теория
Для временных прогнозов state должен быть versioned/as-of. Иначе легко получить leakage через знания, которые появились после прогнозируемого квартала.