Personalizing Carousel Ranking on Wolt's Discovery Page: A Hierarchical Multi-Armed Bandit Approach

Learn how Wolt optimized their discovery page using hierarchical multi-armed bandits, balancing personalization with real-time performance to boost conversions.

Key takeaways
  • Wolt is personalizing carousel ranking on their discovery page using a hierarchical multi-armed bandit approach to improve conversion rates and user experience

  • Key architectural requirements included:

    • Real-time serving capabilities
    • High availability
    • Easy maintenance
    • Integration with existing ML platform
    • Regular data updates without redeployment
  • Implementation uses a two-level hierarchical approach:

    • City level provides prior information
    • User level personalizes based on purchase history
    • Updates happen daily to incorporate new user data
  • Main data signals used:

    • Purchase history as primary signal
    • Time of day for context awareness
    • City-wide conversion rates as prior information
    • Impression tracking for position bias
  • Technical implementation details:

    • Snowflake for data storage/processing
    • Flight for ML pipelines
    • Kubernetes for deployment
    • Feature store for serving
    • A/B testing across three user groups
  • Key challenges addressed:

    • Cold start problems
    • Position bias
    • Multiple stakeholder requirements
    • Real-time latency constraints
    • Data quality and validation
  • Future improvements planned:

    • More sophisticated exploration mechanisms
    • Multi-objective optimization
    • Enhanced context awareness
    • Better diversity handling
    • Dynamic updates
  • Results show personalization matters:

    • Improved conversion rates
    • Better user engagement
    • More relevant carousel ordering
    • Successful handling of different user intents and contexts