HACKER Q&A
📣 nassimslab2

Why is making a good recommendation system for YouTube hard?


YouTube has been criticized for their recommendation algorithm which can often time recommend the same thing over and over.

This got me thinking about what makes it that hard to build a good recommendation system?

On my side, I'm currently working on a new way to do so. I called it Channel Tree. The goal is to start out with a list of YouTube channels provided by the user.

Then my software will go look for the channel section of each channels to look for other channels there. This has the effect of building a deep tree of different channels related to each other through the channel section. The user will only have to specify how many layers of the tree he would like to have so the algorithm can stop there.

Finally, you'll only have to look at the tree and look out for channels that may seem interesting based on who's the parent in the tree.


  👤 ignoranceprior Accepted Answer ✓
It's possible that YouTube's current recommendation algorithm actually is close to optimal for maximizing watch time / ad revenue, even if it isn't optimal for finding videos related to ones you've watched already.

I would assume that Google has tried various tweaks to their algorithm and that it is the way it is for a reason.


👤 cameldrv
You can make a great recommendation algorithm, certainly better than YouTube's, if you use a different criteria for success. YouTube's criteria is to recommend whatever causes you to watch a lot of YouTube.

It could be that most people's goal in life is not to watch the maximum amount of YouTube.

One thing I've wanted since I saw a prototype Joe Edelman made for Chrome, is after a video is played, prompt the user for a rating, and a reason for the rating. Joe had a taxonomy of human values for this, but it could also be a freeform tag based system.

Then when you go to YouTube next time, you say that the reason you're at YouTube is to "increase my knowledge of machine learning." Or maybe it's Friday evening and you just want to "make me laugh."

Most people probably won't pick "make me outraged or scared.", but that does give good engagement metrics...


👤 DanBC
1) Someone says "look at this idiot" and sends me a link to a video. I watch it, and reply to the person "yep, the person in the video is an idiot". The video website has no option for me to say "don't show me any more of this kind of stuff".

2) COPPA means youtube doesn't allow under 13s to have an account. But those children want to use the like and subscribe and notification bell. This means that youtube gets all of my viewing and all of my child's view, but can't tell the difference.

3) There's no way to tell youtube what I like. I watch tiny channels doing original songs and covers. Youtube thinks that's music, and so pushes general chart shit at me. Or it thinks it's some genre of music and pushes huge channels that are roughly that genre at me. I have no way of telling YT that it's the small channels with fewer than 1000 / 10000 subs that I want to see.


👤 axegon_
I'm unsure how popular or unpopular opinion this is, but I've been very happy with the current recommendation algorithm. Sure, every now and then something stupid pops up, like today it recommended me the channel of a software engineer where all his videos are of him complaining about his employers, family and how he has it more difficult than anyone. But beyond those hiccups, I've found great channels, videos and even music. I could be the exception but idk...

👤 aphextron
Recommendation algorithms themselves are the problem. It's a net negative. They encourage you to turn your brain off and follow wherever they take you. When you do this with your own thoughts, we consider that a form of mental illness. The inability to engage in executive control over where your mind wanders, resulting in endless chasing of tangents without any purpose is practically the definition of schizophrenia. Yet this is precisely what recommendation algorithms encourage. Better to step back, think about the things that interest you and you actually care about, then directly search for those, with perhaps keyword tagging related videos displayed at most.

👤 jasode
>Then my software will go look for the channel section of each channels to look for other channels there. This has the effect of building a deep tree of different channels related to each other through the channel section. The user will only have to specify how many layers of the tree he would like to have so the algorithm can stop there.

Your proposed algorithm wouldn't work for me because the majority of the good videos I'm exposed to in education/science come from channels that are not listed in the channel sections of my subscribed list.

E.g., here's a channel about machine learning that doesn't list any other channels: https://www.youtube.com/c/YannicKilcher/channels

Here's another machine learning channel that doesn't reference any other AI channels: https://www.youtube.com/c/K%C3%A1rolyZsolnai/channels

Neither of the above channels reference each other but both have videos that are relevant to my interests.

Because the Youtube algorithm didn't depend on building a "channel tree" from whitelisted channel listings, it can suggest quality videos from both of those channels that your algorithm would miss.


👤 mgraczyk
I'm a huge fan of the Youtube recommendation algorithm, and I find it works extremely well for me.

Also as a person working on recommendation algorithms at a large competitor, I would say Youtube does a pretty good job overall.


👤 NikolaeVarius
I have no idea why people complain about the recommendation engine that much. I either ignore it or if there is something particularly stupid, I say stop recommending. I stick to my subbed videos, and I dont have to care.

I just think its trendy to hate on things even when it gives you tools to tweak its behavior


👤 squeaky-clean
How does your recommendation algorithm idea handle channels that have no other channels listed in their Channels Section? How does it handle suggesting small or new youtubers who likely don't have themselves in anyone else's Channels Section?

I just did a small random sampling of my own subscriptions, and I'd say about 30% or more have no channels listed in their Channels Section. And of the ones that do, it's all much larger youtuber's in their own circles that I'm usually already aware of.


👤 tracer4201
I’m not an ML expert, but my understanding is that a model is going to spit out a list of recommendations — each with a score. As you design your model, you need to figure out what it is your optimizing for.

I understand your approach to be more of a heuristic - build a tree like structure by traversing through the channels for each channel.

If I’m interested in A, how do you determine where to start traversal in this tree? And how do you pick out a set of recommendations and rank them?

I have a cursory understanding of ML. In addition to finding the relevant entities, you need to rank them.

An important question is, “what are you optimizing for?” For YouTube, presumably they want to optimize for watch time. If they want to suggest ads, that model might want to optimize for maximizing revenue. I’m going on a tangent here, but when we say “YouTube’s recommendations are bad” we should keep in mind YouTube might be optimizing for revenue... which isn’t the same as optimizing for seconds watched or optimizing for clicks.


👤 wizardforhire
Garbage in equals garbage out.

The foundational error I feel is trying to capitalize on peoples attention as opposed to aiding in the public good.

Sure when youtube and like services were starting out it was the wild west and all about gaining users and creating traction, however that was a long time ago. We now know where that party was headed and how it ended, and it almost ended society!

At this point any improvements I feel should be focused on minimizing damage and maximizing the public good.

This is the antithesis of anticipating interests as that approach has failed to deliver and even worse has only served to exacerbate echo chambers and divide populations.

Better to gauge interests and make suggestions from a large and vetted list of diverse sources as a primary ingredient of a larger cake of suggestions with actual user defined interest suggestions being the subtle and minimal spice.


👤 robotnikman
I would say it was good at one point. They used to just recommend videos based on whatever tags the video had, or the title and description.

This lead to much more relevant results than what it does now it seems, especially when looking for more niche topics.


👤 bobbydreamer
Sometimes I thank yt as it's not like tiktok. Tiktok gets you hooked for hours and aditiction starts the next day.

Now a days notifications are irrelevant and comment you posted gets a notification and start searching what you actually posted. Those are hard to find.

YT is imperfect I am fine with that.

What I hate is though l, when a video gets deleted from your playlist, they should have courtesy to say the video title what got deleted. It just blindly says, video is deleted, it is restricted in your country amd I have no clue what video was that.


👤 pavel_lishin
> On my side, I'm currently working on a new way to do so. I called it Channel Tree. The goal is to start out with a list of YouTube channels provided by the user.

Feedback from someone who is vaguely disappointed in YouTube's recommendation algorithm: I don't love every video by a given channel. Which videos I specifically enjoyed watching matter quite a bit.


👤 stickfigure
The recommendation algorithm is fine. The problem is that angry, toxic people (the kind that spit bile on HN) love to click on angry, toxic videos. Your youtube suggestions are a reflection of your mind. Youtube isn't therapy.

👤 dboreham
Depends on the definition of "good". The question's assumption is that it's "good for the viewer/user". YouTube isn't necessarily focused on that definition of good.

👤 vfinn
The system should be configurable imo. You should be able to adjust parameters for how far-fetched suggestions you would get and whether you'd like to see videos you have already watched, and so on.

👤 xenocyon
Start backwards: what metric of "goodness" are you using? Then, once you have a goal in mind, you can decide on the best way to get there.

👤 ausbah
like others have said, the goal of the YouTube algorithm is to get people to watch YouTube. this set of incentives is similar but still very different than maximizing "worthwhile" content (however you may define that)

👤 mistermann
Do you have a page setup for this project yet (or even an email) where you can take suggestions about features and ideas? Fixing the many obvious shortcomings of the YouTube platform seems like one of the biggest no-brainer projects out there, so much low hanging fruit for the picking.

👤 markus_zhang
Define "Good". It could be different for everyone.

👤 freen
It’s an actively adversarial environment.