Product Lead · 2022 — 2023
Amplitude Recommendations
Engagement lift
+20%
Content consumption lift
+15%
Context
Amplitude Recommendations is the ML-powered personalization engine used by media and commerce customers like HBO to drive content engagement. The system ranked content based on user behavior signals — but those signals were bottlenecked by the User Profile API, which wasn't optimised for low-latency real-time updates and lacked richer attributes like genre, SKU, or structured metadata.
Problem
In practice, HBO's 'Recommended For You' row could feel stale. If a user binged a crime series or explored a new genre, the homepage might still serve generic or older titles because profile updates weren't fast or expressive enough for the ranking model to react in near real time.
Approach
- 1Partnered with engineering to upgrade the User Profile service from a batch-oriented update model to streaming profile updates. Introduced a low-latency serving layer so ranking models could read fresh user state in near real time.
- 2Expanded the profile schema to support richer attributes including product category, SKU, and structured content metadata. This gave ranking models more granular behavioral and content signals to work with.
- 3Worked closely with data science to ensure enriched profile data was incorporated into the ranking logic. Ran controlled experiments comparing the baseline model against the enhanced real-time profile-driven model, instrumenting engagement at the recommendation unit level.
What I shipped
- ✓Upgraded User Profile service with streaming update support and a low-latency serving layer
- ✓Expanded profile schema supporting richer content and behavioral attributes
- ✓Experiment framework comparing baseline vs. real-time profile-driven ranking models
- ✓Instrumentation at the recommendation unit level for engagement measurement
Impact
- ·20% higher engagement for customers on the upgraded recommendation stack.
- ·15% more content consumption, measured at the recommendation unit level.
- ·Recommendations became dynamic and responsive — reflecting what users just watched rather than serving stale suggestions.
Learnings
- Infrastructure quality determines product quality. The ranking model was only as good as the profile data feeding it. Investing in the serving layer wasn't glamorous, but it was the actual unlock.
- Real-time beats batch for personalization. The latency gap between when something happened and when the model knew about it was the core problem. Closing that gap — not improving the ranking algorithm — drove the result.
- Measure at the unit level. Aggregate engagement metrics masked what was happening at the recommendation row. Instrumenting individual recommendation units let us attribute impact cleanly and run tighter experiments.
One key tradeoff
Decision
Upgrade the shared User Profile service vs. build a lightweight real-time profile layer just for Recommendations
Rationale
A Recommendations-specific layer would have been faster to ship but created divergent profile representations across the platform. Upgrading the shared service took longer but benefited every downstream consumer of user data.
The tradeoff
The shared service approach added coordination overhead and slowed the initial rollout by about 6 weeks. Worth it — the improved profile layer was later used by the Audiences and Cohorts products as well.