PATTERN Cited by 1 source
Decoupled frequency from ranking¶
Pattern¶
Decouple the "how often to send" decision from the "what to send" decision into separate systems with independent optimization objectives and tuning knobs.
Problem with coupled systems¶
When a single model controls both send eligibility and message selection via one relevance threshold: - Per-user frequency becomes an implicit byproduct of global threshold calibration, not a personalized control. - Adjusting the threshold to manage frequency also changes message quality/distribution (and vice versa). - Frequency personalization is limited to what a single score can express.
Solution¶
- Frequency layer (Slow Policy): determines how many messages a user should receive per time window, using long-horizon signals and explicit cost models.
- Selection layer (Fast Policy): given that a send is permitted, picks the optimal message using relevance/engagement models.
- These are independent optimization problems — one about volume, the other about quality.
Benefits¶
- True per-user frequency personalization.
- Clean A/B testing: vary frequency strategy without affecting content quality and vice versa.
- Prevents over-messaging even when many high-scoring messages are available.
Seen in¶
- sources/2026-06-19-netflix-thinking-fast-slow-for-a-personalized-notification-system — Netflix explicitly separates frequency planning (Slow Policy, ~O(100) pacing strategies) from message selection (Fast Policy, real-time ranking). This decoupling was described as "as transformative as the modeling itself."