Proposal for a more accurate rating averages

Joined
Mar 4, 2018
Messages
6
Hi, I would like to propose an improved rating averaging system, by incorporating the number of rating into account. Why is this important? Consider a scenario of 2 manga, Case A: a 5 star rated manga (with only 1 rating) versus Case B: a 4.9 star rated manga (with 100 ratings). I would prefer the later case to be higher up in sorting.

I am not good with Math, but a few google search later I found the following link: https://fulmicoton.com/posts/bayesian_rating/

As additional info, mangaupdates.com is also using this method, as potential source of info on how to do it.

Thanks in advance, this feature would help people like me who tend to sort by star while trying to find new manga to be read
 
Miku best girl
Admin
Joined
May 29, 2012
Messages
1,441
I do plan to do this, but haven't found the best way to do it. Bayesian average would be ideal, but some of the constants required need to be determined, and I have no idea how...
 
Joined
Jun 9, 2018
Messages
10
I know I'm not really helping, but I also wish this would be implemented somewhat soon. For now sorting by rating isn't ideal to say the least with many titles being 10.00 and rated by <10 people. You have to go through several pages of titles to get through the "rigged" 10.00 titles.
 
Joined
Mar 4, 2018
Messages
6
Hi, coming back to this since I finally had time to perform some readings on this issue. Found a few links that I think shows some good approximation method, summarized below:

Full code at https://jsfiddle.net/sakamoto_lipur/hc2dufvx/4/

I believe you just need to calculate the average number of votes and average overall ratings once (or maybe yearly if needed) and just re-use them since a few new votes wont change them much.


Code:
			// js code as follows
			// let assume item is an array of ratings for one manga, e.g. rating list = 4, 4 & 5 (rating system 1 to 5)
			

			let item = [4, 4, 5]
			let this_num_votes = item.length
			let this_rating = average_array(item)
			let limit = Math.max(3, avg_num_votes())	//ensure at least strength greater than 3, in case too many item has only 1 rating, might want to play around with the min number

			let weight = this_num_votes / (this_num_votes + limit)
			let weighted_rating = weight * this_rating + (1 - weight) * avg_ratings()

reference #1: https://stats.stackexchange.com/questions/15979/how-to-find-confidence-intervals-for-ratings/16035
reference #2: http://thebroth.com/blog/118/bayesian-rating.html

edit: change code URL,
feedback is highly welcomed
 

aej

Joined
Jan 26, 2018
Messages
89
Mangaupdates does exactly this. They primarily use the Bayesian rating, but they also include the 'true' Average rating. But what I love the most is that they include a histogram of the ratings, so you can see how many people rated 10, 9, 8, etc. It would be awesome if you could also implement this!
Ef1blfC.png
 
Joined
Nov 19, 2018
Messages
27
Damn that original link was a long winded way to say "add a few mediocre reviews to balance it out"

Best way to explain it imo would be to scroll down to the page just before comments. There you can see he just added 5x 3 star reviews to both of original book examples.

Why not just copy it over, add more blank voters for more aggressive downgrading, just change the vote value to 6 seeing as manga rarely go below that. It would also bump up manga that receive low reviews as firsts
 
Dex-chan lover
Joined
Jul 4, 2018
Messages
5,102
This isn't really related but, in my opinion, no rating system is perfect because said system depends entirely on humans - an imperfect being.

Say a manga would be rated highly by demographic A, but that manga is placed in demographic B. That manga wouldn't be rated as highly because it is in the wrong demographic.

We can't really show this manga to all demographics because in reality people wouldn't spend their time on it if they think it wouldn't be worth it. If only demographic A knew that this manga is ripe for them and that demographic B knew to stay away, the manga would have a supreme rating.

So in reality, the highest rated stuffs are not truly the best but rather how many of the right demographic they are able to reach and how many of the wrong demographic they can keep away from rating. In a way, this in itself is a paradox: the more people they reach, the more likely to reach the wrong people who would give it a bad rating, but the more likely it os to reach the right people who would give it a high rating as well.
 
Joined
Nov 19, 2018
Messages
27
That is very true and thus we can only do our best in tagging manga in the right genres. Some demographics may also have lower standards than others so psychological manga ratings do not directly compare to ecchi manga ratings, but that is impossible to overcome.

But it is still not a reason for why a manga with 1 or 2 reviews should be allowed to have a higher rating than those with thousands simply because the rating balance is skewed due to the low number of reviewers.
 
Joined
Mar 4, 2018
Messages
6
@DANDAN_THE_DANDAN, that's true, recommendation system is one of the big research area at big tech company such as Netflix, Apple, Amazon, Google etc. Some focus to do this via machine learning methodology by trying to predict your "demographic" or trend based on your reading list or other relevant stats.

Having said that, I have come to find that generally, browsing via bayesian ratings sorted list have been pretty great on sites such as mangaupdates, in a way to shorten my time to finding new things to read. The rating will surely not be exact to my taste but they tend to coincide more often than not, and thus the reason for this suggestion. While this is by no way perfect yet, it is what I believe to be an improvement to the current system.
 

Users who are viewing this thread

Top