Compare First
Yesterday I wired the rating slice and the re-ranking that sits on top of it. Today I built Top Picks, the row on the homepage meant to show what a user likes most.
Why have a Top Picks row at all? The obvious version is to sort a user’s ratings and show the highest ones. I did not build that, because it hands a user back a list they already know. They rated those shows. They remember.
What it should do instead is tell a user something about their own taste they had not noticed. Think about what it tells me when a user rates Breaking Bad a 4.5/5. Almost nothing. There are probably a lot of people who rate Breaking Bad highly. Now think about what it means when a user rates The Simpsons a 4.5/5. That is a real signal, because the world is more divided on it. Same stars, very different information.
So how it works: Top Picks does not necessarily rank a user’s top ratings. It ranks the gap between a user’s rating and everyone else’s. In the demo catalog I rated both of those shows 4.5, and they split. The Simpsons came out at plus 0.50, Breaking Bad at plus 0.03, because the world already had Breaking Bad at 4.47. Game of Thrones led the row at plus 0.77. A 3.0 on Westworld did not appear at all, because lukewarm should never headline.
The comparison needs something to compare against. Once at least three other people have rated a show, the baseline is the TVLens average with the user’s own rating taken out, so a user’s own opinion never sets the bar it has to clear. Below that, it falls back to the TMDb score. Right now I am the only person in the database, so every show takes the fallback, and lift reads as how much more I liked something than the world did.
One thing I want to be clear about: this is not a leaderboard. Other people’s shows never appear in Top Picks, and TVLens never puts the global number on the screen. It is a yardstick, not a scoreboard.
I also fixed something small that was bothering me. A show in Top Picks was also appearing in Recently Added. Now a show shows up in one row on the homepage, never two.
The test suite grew from 68 to 74. The six new tests exist to make sure the ranking is lift and not stars, that the floor holds, and that this never quietly turns into a leaderboard.
A rating on its own does not tell you much. It only becomes information once you know what everyone else thought. That means Top Picks gets more honest as more people show up and the baselines stop being borrowed from TMDb. For now it is measuring me against the world, which is still a better answer than handing me back the list I already made.