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.

Reliability

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"?