Automating Multi-Armed Bandit testing during feature rollout

This post introduces a novel Multi-Armed Bandit System for Recommendation that automates MAB testing simultaneously with new feature rollouts. It details the system architecture, including a stream processing framework, a feedback loop utilizing Kafka Streams and Spark Jobs for metric calculation, and a dynamic value receiver. The Multi-Armed Bandit Optimiser modules (Reward Update, Batched Multi-Armed Bandit Agent, Monte-Carlo Simulation, Adaptive Rollout) are explained, along with strategies for optimizing model traffic distribution. The application of this system to the GrabFood 'Recommended for You' widget is described, focusing on the Effective Conversion Rate as the optimization objective and the use of the mean strategy in Monte-Carlo Simulation for stable distribution. Fallback logic for job failures is also included.
More from the Real-time Personalization Scenarios trail
- How Grab is accelerating growth with real-time personalization using Customer Data Platform scenarios
- Sliding window rate limits in distributed systems
- Streamlining Grab's Segmentation Platform with faster creation and lower latency
- Supporting large campaigns at scale
- Trident - Real-time Event Processing at Scale