Repository: Anarios/return-youtube-dislike

Issue #330: Discussion: Algorithm
Created: 2021-12-16T10:44:50Z
As I understand it, right now this extension generates the dislike count on a video like this:

Retrieve cached dislike ratio from last time that video was scraped. Linearly extrapolate dislikes from current likes.
Actual dislikes may continue to be retrieved for certain creators' videos  if they opt-in to share stats from creator studio.

 

If not, and the video is not in cache (e.g. it's new) then dislikes = f( likes / views ) where f() is some scaling function tuned according to a selection of known videos.
In future, users of this extension or others will be able to vote in a community maintained database



Apparently the extension uses community like: dislike ratio from its users and scales this up to match the number of total likes a video has (see #330 (comment))

I see a few potential limitations with each of these sources of data:

Linearly extrapolating ignores changes to voting over time - e.g. if an old tutorial with good ratings has since been shown to introduce a security vulnerability, it may start receiving dislikes but this would not be reflected if just extrapolating historic values.
For current content creators sharing stats; this assumes voting behaviour won't change after totals are hidden - I think if dislikes aren't shown then a video will probably receive fewer of them, so maybe trusting the raw stats won't match the sentiment as well as it used to, I'm not sure. Certainly disliking to inform others will be less effective and maybe therefore done less.
The likes:views ratio is more a measure of engagement than sentiment - over in the long discussion here: elliotwaite/thumbnail-rating-bar-for-youtube#50 we found something like a music video where people play it in the background has very little engagement and would appear "bad", whereas some viral but low quality cooking video has much higher engagement (likes:views) even if likes:dislikes were pretty poor. It seems like max( f(likes/views), g(likes/comments) ) helps balance out the engagement factor.
A community maintained database suffers from small sample size and bias (do you trust the opinions of users of this extension more than anyone else? Will they be representative of a typical youtube viewer?)

I think therefore it would be good to have some insight about how the backend works in theory and a place for more suggestions and discussion. Some statistical analysis of the historic dataset to find correlations between many factors, not just likes and views, would probably help identify a good heuristic for predicting dislike counts. If there are many complex edge cases then this may require a machine learning approach on data like video length, content, channel  - all of which may predict dislikes.m Left field options like comment sentiment analysis have also been voiced, but simpler the better IMO.

Duplicate issue #334: (Feature Request): Separate Youtube's likes & dislikes from the extension likes & dislikes
Created: 2021-12-17T08:15:58Z
Extension or Userscript?
Both
Request or suggest a new feature!
Current Issue with the extension
Currently videos with high like-to-dislike ratios fall into two categories.

The video has a high like-to-dislike ratio because it's a really good video
The video has a high like-to-dislike ratio did not have it's dislikes scrapped and now has an artificially high number of likes to dislikes (this is the unfortunate more common case from my experience)

Solution
Separate the likes and dislikes from youtube from the likes and dislikes gathered through the extension.
This will allow users to easily identify the cause for a video having a high like-to-dislike ratio.
Why this is important
The main purpose of having a dislike button is to ultimately determine whether watching a video is a good time investment, which is done by looking at the like-to-dislike ratio. However, because videos can have an artificially high like-to-dislike ratio due to not having its dislikes scrapped, quite often it becomes impossible to differentiate the bad videos from the good without significant time investment. Thus undermining the ultimate purpose of this extension.
Ways to implement this!
No response
Can you work on this?

 Yes
 No

Closing comment (2021-12-28T02:39:56Z): it could even just be in the tool-tip when you hover over the ratio bar

I second this. It would be helpful to see the breakdown in a detailed view.
Here is a possible example: (edit: corrected math; assuming 1% user base)

Also, I think this issue is related to #330. I believe this is a possible solution / improvement.
EDIT: It's already a work in progress: #297 (comment)