What should a freshness SLO for this dataset say?
Whether the candidate derives the target from a consumer decision rather than from current performance, and whether they know which clock the check should read.
The situation behind the question
Interviewers ask this because it happened to them.
A team is asked to define freshness targets for their datasets. The proposal is "all datasets fresh within fifteen minutes", chosen because that is roughly what the pipelines currently achieve.
A strong answer
Flags
Green flags
- Knows freshness matters and derives the target from a consumer decision with a time attached.
- Measures publish lag on the serving dataset rather than the newest event time.
- Treats freshness as per-dataset, including marts and caches downstream of it.
- Puts the last-updated stamp where the consumer will see it, which reaches the person about to act.
Red flags
- Sets the target to whatever the pipeline currently achieves, and adjusts it when the pipeline slows.
- Uses
max(event_time)as the freshness signal without noticing it can read the source's clock. - Publishes one freshness number for the whole platform.
- Cannot say what a fresh and completely wrong dataset looks like to their monitoring.
Follow-ups
Where the conversation goes if the first answer holds up.
- The source genuinely produces nothing overnight. How do you keep the check from crying wolf?
- The BI tool caches results for an hour. Where does that show up in your SLO?
- What is the difference between "published on time" and "published something"?