Each time the user opens or refreshes the app, the platform must display a “slate” of five short videos. The goal is to maximize both click-through rate (CTR) and total dwell time, while also encouraging the user to return and engage with the feed over multiple sessions. A reinforcement learning (RL) agent is integrated between the existing ranking engine and the homepage. From a set of candidate videos (pre-filtered by business rules), the agent selects the optimal combination that maximizes long-term value (LTV)
Use case
Optimizing the Video Feed of a Mobile Platform
| Example observations | user_profile: gender, region, tenure (6 categories) device_profile: OS, network (4 + 2 categories) session_stats: number of past refreshes, total time spent, click/view ratio (5 scalar features) recent_watch_seq: IDs of the last 20 watched videos + embeddings (20 × 32-d vectors) candidate_pool: up to 25 preselected videos, each with: – video_id, publisher_id – content_vec (32-d), length, category, popularity score |
| Example actions | Ordered selection of a slate of K = 5 videos from the candidate_pool |
| Example reward | Σ_{i=1..5}( 0.7*r_click_i + 0.3*r_dwell_i ) + 0.5*r_long With: r_click = 1 if clicked, 0 otherwise (per video) r_dwell = min(view_time, 60 s) / 60 r_long = +1 bonus if the user requests another refresh within 30 seconds |

