A fraud model needs the feature "number of transactions by this card in the last 5 minutes", but features are computed in a daily batch job. Why is this not enough?
Options
- The batch job is too fast
- The feature would be up to a day old and would miss the burst of activity the model is meant to detect; it needs fresh values computed from a stream, using the same logic as in training (Correct option)
- The model cannot use counts
- Batch jobs cannot be scheduled
Answer
The feature would be up to a day old and would miss the burst of activity the model is meant to detect; it needs fresh values computed from a stream, using the same logic as in training
Why
Feature freshness must match the decision. A feature that is hours old cannot describe what happened five minutes ago, and the signal is lost.
Compute such windowed features from a stream (or on demand from recent events) and serve them from an online store. The same definition must also produce the training values, with point-in-time correctness, or you get training-serving skew.
Slow-moving features (customer age, account type) can stay in batch.
Remember
Feature freshness must match the decision's timescale.