Two Data Sources Disagree on the Same Segment
A financial services firm builds a high_value segment from a first-party data source (declared income band, onboarded monthly) and a behavioral data source (frequent product-page views). A downstream analytics report shows the segment size swinging wildly week to week - up 40% one week, down 30% the next - while each source's own counts look stable. The segment feeds a destination used for a regulated marketing program. Compliance requires that segment membership be explainable on request.
1. What is the likely cause of the swings, and how does it threaten the compliance requirement?
Read the worked answer
Stable per-source counts with a volatile combined segment points to a combination/trait-logic problem, not a data-volume problem. Likely causes:
- AND vs. OR mismatch. If the segment requires both declared income AND behavioral signals (AND), small timing differences in when each source refreshes can flip users in and out. If the sources refresh on different cadences (monthly onboarding vs. near-real-time behavior), the intersection oscillates.
- Recency windows misaligned. Behavioral windows that roll daily will churn membership even when the underlying population is steady.
- Trait expiration / data source TTL differing between the two sources.
The compliance threat is direct: if membership swings 30–40% week to week with no population change, you cannot explain why a given person was in the segment last week and out this week without reconstructing two different logic states. For a regulated program, "the segment changed" is not an acceptable explanation - you need a stable, documented rule and a defensible reason for each membership decision.
2. How would you make the segment explainable and stable?
Read the worked answer
Stabilize the logic and document it:
- Decide the intended rule explicitly. Is
high_valuea union (declared income OR heavy browsing) or an intersection (both)? Write it down. The swings suggest the rule is ambiguous in practice. - Align recency windows to the slowest source. If income updates monthly, a daily behavioral window creates churn. Use a window that matches the refresh cadence so membership does not oscillate between refreshes.
- Prefer additive qualification with a stable floor. For a regulated program, a union of "declared high income" with a longer behavioral window is more explainable than a tight intersection that flips.
- Document the trait and segment logic - operators, windows, sources, and refresh cadence - so any membership can be traced to a rule and a source. Store this alongside the segment.
- Monitor overlap and stability week over week; a swing beyond an expected band should trigger review, not silent delivery.
The principle: for regulated audiences, explainability is a design constraint, not a reporting afterthought. Build the rule so a reviewer can answer "why is this person in?" from the documentation alone.