Anime Rating DB Wiki

What is Anime Rating DB?

Anime Rating DB is an anime database mainly collecting and analyzing ratings from other anime websites, such as MyAnimeList, Anime News Network and Bangumi. Anime Rating DB also provides an "overall" rating for every recorded anime and ranks them from high to low. You can see the ranking list at the home page of Anime Rating DB.

Generally, Anime Rating DB is just a project for fun. I wrote this project out of interest and the very first version was released in January, 2021. Anime Rating DB does not have an official site now. It's running under my personal website. Of course, Anime Rating DB is non-commercial and is open freely to the public. What's more, the codes are open-source. (Check it out in "Appendix")

Finally, I have to point out that the data in Anime Rating DB MAY NOT BE RELIABLE. All data are automatically collected and updated. Due to technical reasons, the data may be outdated or mislinked. If you detected any mistake, you can open an issue on github or directly contact me through E-mail. My E-mail address is written on the footer.

How was the data collected?

Anime Rating DB is currently collecting data from ANN (Anime News Network), MAL (MyAnimeList) and BGM (Bangumi) automatically. I'm also considering AniDB, IMDb and other websites. That could be my future work. If you want to know more details about how the data was collected, you can visit Anime Rating DB on github or read my blog. Links are available in "Appendix".

Why these websites?

To make the results convincing, it's necessary to collect objective and reasonable ratings. All the websites mentioned above have a rating system used by large amount of users. For this reason, I believe their ratings are persuasive.

ANN and MAL are both famous websites in anime field. Bangumi is an anime website mainly for Chinese users. Anikore is an anime website mainly for Japanese users. English speakers may find them unfamiliar. But I think it's important to take more opinions into account. It's also interesting to see how Asian viewers and Western viewers think differently towards the same anime.

Is data collecting allowed?

Actually, many websites don't allow you to "download" their databases, such as AniDB and MAL. Of course, I only access their databases to collect very little infomation, such as anime titles and ratings, but I'm not sure if I'm breaching their rules. Considering the risk, I won't directly distribute the data I collected. However, since the codes are available on github, you can build up your own "Anime Rating DB" if you want. But in that case, I will not be responsible for what you do.

Also, if you are from the websites mentioned above and you think Anime Rating DB is violating your rules, you can contact me through E-mail. I will soon stop doing so.

Finally, Anime Rating DB provides no API right now and I would ask you not to parse the HTML for any purpose. This server has very limited ability to handle requests. If you want to extract data from Anime Rating DB, please use the codes or contact me.

How was the score calculated?

The scores displayed on the web page were calculated in a specific way. It can be generally concluded as: (1) re-calculate the scores from certain sites using bayesian estimation, (2) normalize the scores from different sites and then (3) calculate the arithmetic average of normalized scores. I'll briefly introduce the whole procedure in the following paragraphs. If you still want to know more details (such as, why is this algorithm reasonable?), you can refer to the blogs listed in "Appendix".

Still, any optimization of the algorithm is welcomed. If you believe you have a more reasonable way to calculate an "overall" rating, please open an issue on github or contact me to let me know. Statistics is not my major and I only know little about it, so I believe there may be a better way to calculate the scores.

Bayesian Estimation

Bayesian estimation is a better way for calculating ratings than arithmetic average. When the number of votes is too small, arithmetic average will be strongly influenced by voters' subjective bias. For an example, if there is only one vote for anime A and the score is 10, then the arithmetic average score for anime A will be 10. However, that's not a convincing score. By applying bayesian estimation method to score calculating, this problem will be well solved. For more mathematical details, please read the blogs listed in "Appendix". I only put the final formula here:

$$score_i = \frac{\sum_{j=1}^{10}{j\times n_j} + m\times \bar{s}}{m + \sum_{j=1}^{10}{n_j}}$$

$score_i$ is the final score of anime $i$ and $n_j$ denotes the number of people who gave $j$ points to anime $i$ ($j$ can be 1, 2, 3, ..., 10). $m$ is a given parameter, denotes the minimum number of votes required to get a calculated score. If an anime has less than $m$ votes, its score will be null. $\bar{s}$ is the mean score across the entire database.

Actually, the scores given by MAL and ANN are already calculated in this way (stated on their websites). However, I don't know how BGM calculated their scores. Fortunately, BGM and AniList gives you the rating details of each anime, so I am able to re-calculate the scores in bayesian method. Scores given by Anikore can also be re-calculated but the error may be large since I cannot get rating details. Consequently, only the scores given by BGM, AniList and Anikore will be re-calculated, which means the score I actually used may not be the same as displayed on the web page. Please notice that.

Normalize and Average

There is still a big problem left: the scale of rating. For an example, MAL has more than 10 animes over 9 points, but BGM has only 3. A more extreme example is, animes rated over 9 points are often considered as "masterpiece" on these websites, but animes with "only" 9 points on Bilibili are just ordinary ones. My hypothesis is: users of different websites give scores in different scales, which makes direct comparison between different websites unreasonable. However, a simple normalization should fix this problem. First, an overall $\mu$ (mean) and an overall $\sigma$ (standard deviation) of all scores mixed together will be computed. Then, for a certain website $i$, its own $\mu_i$ and $\sigma_i$ will be computed. Finally, scores from website $i$ will be normalized by:

$$normalized\ score=\frac{\sigma}{\sigma_i}(score-\mu_i)+\mu$$

After this, it can be assumed that now all scores are of the same scale. The "overall" score of a certain anime will be the arithmetic average of normalized scores from websites mentioned above.

Requirements for included anime

As you may notice, the ranking list here is somehow incomplete. Some remarkable works are not included. To make it clear, an anime must satisfy all following requirements to be included in the ranking list:

  • Has a page on MAL and BGM with clear infomation (image, air date, rating, etc.).
  • Has a page on at least 2 other websites mentioned above.
  • Must be one of the following types: TV / Movie / OVA.
  • Got more than 100 votes on at least 4 websites mentioned above.

It should be pointed that scores with less than 100 votes will still be displayed on the web page, but they did not contribute to the "overall" score.

However, there may be anime which satisfied all requirements but is still not included. If you found one, please open an issue on github or directly contact me. I'm happy to update the database manually.

What can I do here?

Anime Rating DB only provides a few services for now, and I will keep developing it. At this moment, you can:

  • Browse the ranking list to discover excellent works. The ranking list has many pages!
  • Find out how the anime you love is generally rated. Anime titles are provided in 3 languages.
  • Directly jump to detail pages on other websites via the links. Find out more about the anime!
  • Set filters and browse ranking lists of different types and years. Year range is also supported.

Remember that the "rating" of an anime is only for reference. A is rated higher than B does not mean that A is definitely better than B. Your own feeling is the most important thing. In a word, don't be too serious!