My partner and I share a Netflix account. One evening we both opened Netflix on separate devices at the same time. We were looking at the same show, Stranger Things — and we saw completely different thumbnail images. Same show. Same account. Same moment. Different pictures. When I looked into why, I found out it's not a bug; it's the system working exactly as designed.
Netflix has 15,000+ titles and about 300 million subscribers. The median subscriber opens Netflix with a clear intention roughly 30% of the time; the other 70%, they're browsing. Netflix has about 90 seconds to show you something interesting enough to start watching before you close the app and turn on YouTube. Every decision on that homepage — which shows appear, in what order, with which thumbnail — is personalised to you specifically.
Netflix commissions dozens of thumbnail options for every major title — sometimes 20 or more per show. Each one highlights something different: one focuses on the lead actress's face, one has an action scene, one is atmospheric and moody with no faces at all, one highlights a romantic moment.
The system then runs a contextual multi-armed bandit — a type of reinforcement learning algorithm — to test these thumbnails continuously. Different users see different thumbnails, and the system tracks one metric: did they start watching within a session of seeing that thumbnail?
Here's the key insight: the winning thumbnail is not universal. For a user whose watch history is full of action films, the action-scene thumbnail for Stranger Things gets more clicks. For a user who watches a lot of romance, the romantic-moment thumbnail performs better. For a user with a pattern of watching shows with strong female leads, the lead actress thumbnail wins.
Over time, the system builds a model of which thumbnail types work for which taste profiles, and serves thumbnails accordingly — not just testing, but personalising. This is why you and your partner see different images for the same show, even on the same account.
Designers create the candidate thumbnails. But which one you see is chosen by the algorithm based on your personal viewing profile. A human never decided "this specific user should see the action thumbnail." The AI made that call, every time you open Netflix, for every show on your homepage.
Your Netflix homepage is generated fresh every time you open the app. It's not cached from yesterday. Here's roughly what happens:
From 15,000+ titles, the system selects a candidate pool of several hundred that are relevant to your taste profile. This uses collaborative filtering (people with similar histories) combined with content-based signals (genre, tags, actors, directors). The candidate pool is much larger than what you'll see — it's a pre-filter.
Each candidate gets a score based on your specific history, your recent activity, the time of day, what device you're on, and how the title has performed with similar users. The ranking model predicts: "If I show this user this title right now, what's the probability they start watching and enjoy it?"
Netflix's homepage is organised into rows with titles — "Because you watched X," "Trending in India," "New Releases," "Critically Acclaimed." The system selects which rows appear, how many rows, and what order they appear in based on your history. Two users might see completely different row types in different positions.
For each show that appears on your homepage, the system selects the thumbnail from the candidate set based on your profile (as described above). This is the final layer — and it happens at render time, for every title, on every page load.
Netflix has more behavioural signals than almost any other recommendation system because it sits in your living room for hours at a time. Here are the most important ones:
Did you finish the show? Finish the season? Or abandon it after episode 2? Completion is the strongest signal of genuine enjoyment, particularly for longer content. Completing a 10-episode season is very different from completing a single film — the commitment required is much higher, so the positive signal is proportionally stronger.
If you've rewatched a film or series — even partially — that's a significant positive signal. Very few people rewatch content they didn't genuinely enjoy. Netflix weights rewatches heavily in understanding your taste profile, even when the rewatch was years ago.
If you searched for a title directly or clicked a link to it from outside Netflix (via a social share or news article), that's treated as intentional viewing rather than passive recommendation-following. These self-directed choices give Netflix strong signals about your active interests, not just what you'll passively accept.
Netflix has moved from a 5-star to a thumbs up/down system because most people don't use explicit ratings — they just watch or don't. But when someone does rate, it's a strong explicit signal. Thumbs down is particularly powerful: it actively tells the system you didn't like this, and Netflix will reduce similar content significantly.
How long you hover over a title before clicking (or not clicking) is tracked. Rapid scrolling past an entire row signals low interest in that row's genre. Pausing on a title, watching the preview, then not clicking sends a complex mixed signal — interested enough to preview, not interested enough to commit. Netflix uses this to calibrate recommendations more precisely.
The rows on your Netflix homepage are ranked by a separate model that predicts which row type will be most useful to you in this session. This is important because different users in different moods want different types of discovery.
If your history shows you often start with "Continue Watching" content (returning to things you've already started), that row will appear higher for you. If you regularly engage with "New Releases" and often start new shows rather than continuing old ones, that row gets promoted. If "Because You Watched Narcos" rows consistently lead to you starting new content, Netflix will create more such rows and rank them higher.
Your Netflix homepage isn't a catalogue. It's a personalised argument for why you should watch something tonight. Every decision — row type, row position, show position within a row, thumbnail — is calculated to maximise the probability that you'll find something and press play.
The row ordering model also incorporates time of day and day of week. Friday evening recommendations look different from Tuesday afternoon. Netflix has learned that subscriber behaviour patterns differ significantly by day and time, and the homepage adapts accordingly.
Netflix launched in India in 2016 and spent several years struggling with a relatively small subscriber base — the pricing was too high for mass market, and the content library was too Western. The strategy shift (cheaper mobile plans, heavy local content investment) changed things significantly, and India is now one of Netflix's largest growth markets.
The personalisation challenges in India are distinct. Language fragmentation is the obvious one: a user who watches Tamil content has a completely different taste profile from a user who watches Hindi content, even within India. Netflix has invested in building regional recommendation models that understand these distinct viewing communities separately.
Cricket is a special case. Netflix doesn't carry live cricket (that's primarily on JioCinema, Hotstar, and SonyLIV), but its documentary content around cricket — and the profile of who watches it — has given its recommendation system strong signals about which Indian subscribers are high-engagement cricket fans, and therefore likely to engage with sports documentaries, biographical content about athletes, and related genres.
Sacred Games, Delhi Crime, Panchayat (though the latter is Prime Video) — India-original content has created entirely new taste communities that the global Netflix model had to learn to handle. A user who binge-watched Sacred Games and Mirzapur occupies a very specific taste neighbourhood that doesn't map neatly onto any Western content profile. Netflix has had to build India-specific collaborative filtering clusters to serve these users well.
The mobile-first problem: A significant portion of Indian Netflix viewing is on mobile, often on smaller screens. The thumbnail system has had to adapt — thumbnails that work on a 55-inch TV don't necessarily read clearly on a 6-inch phone screen. Netflix now tests thumbnails specifically for mobile vs large-screen viewing, with different winning candidates for each.
Netflix allows up to 5 profiles per account, and most households use them. This is not just a convenience feature — it's a data quality feature. When everyone in a household watches on the same profile, Netflix gets a confused signal: kids' content mixed with thriller mixed with reality TV creates a profile that doesn't accurately represent anyone's taste.
With separate profiles, the recommendation system can build accurate models for each person. Your "Kids" profile learns what your 7-year-old likes. Your profile learns what you like. They don't contaminate each other.
The flip side: if you share a profile with your partner (very common), your recommendations get muddled. If you love slow-burn psychological thrillers and your partner loves romantic comedies, your shared profile will recommend you mediocre thrillers with romantic subplots — the intersection of your tastes, not the best of either. This is the actual source of the "Netflix never has anything good" complaint in most households.
Solution: use separate profiles. It genuinely makes the recommendations significantly better within a few weeks of consistent use.
Netflix's personalisation system is excellent at one thing: getting you to start watching. It's optimised for that specific outcome — click-through, then enough engagement to count as a "view" — and it's very good at it.
What it's less optimised for is harder to measure: did watching that thing make your evening better? Did it expand your taste or just confirm it? Did you finish it satisfied, or just finish it because you'd already invested the time?
Netflix's "thumbs up/thumbs down" and "% match" features are attempts to surface your actual preferences. But they're still proxies. The actual objective — whether a piece of content made someone's life meaningfully better for having watched it — is not something any current recommendation system can measure.
I don't think this is malicious. Netflix genuinely wants you to enjoy what you watch, because enjoyment drives retention, which drives subscriptions. But "enjoy enough not to cancel" and "genuinely glad you spent that time" are subtly different bars, and the system is optimised for the first one.
After noticing the different thumbnails for Stranger Things, my partner and I started comparing our Netflix homepages side by side. The same show appeared on both — but in completely different positions, with different thumbnails, and surrounded by completely different other titles. We were looking at the same service's library through entirely different windows.
What struck me wasn't the technical achievement — I expected personalisation. What struck me was how accurately the thumbnails actually reflected our tastes. She got the character-focused, emotional thumbnails. I got the atmospheric, mystery-heavy ones. Neither of us had ever consciously described our preferences that way. The algorithm had inferred it from what we'd watched.
It was the most vivid illustration I've had that these systems know things about you that you don't know yourself. Which is impressive and slightly unsettling in roughly equal measure.
Next in the series: UPI Fraud Detection — how a system processing 14 billion transactions a month in India stops fraud in real time, without slowing down your payment.