Rating system in CritiqueBrainz

Tags: #<Tag:0x00007f0507e33fb0> #<Tag:0x00007f0507e33e48> #<Tag:0x00007f0507e33d08> #<Tag:0x00007f0507e33bc8>


Since the early days of CritiqueBrainz people were asking to be able to put a rating on their reviews. You can just write a number in the text, but that’s not going to be used anywhere in the UI. Original proposal (https://tickets.metabrainz.org/browse/CB-4) was to integrate CB with the 5-star rating system that we already have in MusicBrainz.

After multiple attempts to do this integration we couldn’t find a good solution to the synchronisation problem. You could make a review for release group and put a rating on it, which will be sent to MusicBrainz for storage. There is, however, no good way to know if you change that rating later in MusicBrainz to sync these changes with CB. Another issue is that you might not want to change the rating that is associated with your review at all, since text of a review and a rating that you put with it are inseparable from each other.

Later we started considering moving the rating system entirely to CritiqueBrainz, since it seems like the right place for this kind of data. This would also be convenient in cases where entities for reviews come from a place other than MusicBrainz, like BookBrainz for book reviews. There are two problems with completely moving the ratings to CB:

  1. Not all entities that are currently rateable in MusicBrainz can be reviewed on CritiqueBrainz, so there’s no way to associate a review with them.
  2. This migration would most likely take a significant amount of time.

It would still be nice to have a way to put a simple 5-start rating on reviews without having to do all the difficult migration work. This would be a first step, but still very useful.

The main ticket for the rating system is CB-244. The description I provided above should give you an overview of what our idea is. There’s a bit more information in that ticket and ones that are linked to it.

We’d like to hear what you think about having ratings in CritiqueBrainz. Feel free to share you ideas, suggestions, concerns. You can comment on this topic or in JIRA.

Notes from #MetaBrainz Meeting 2017-03-06

@reosarevok also proposed to implement a more flexible rating system than just “5 stars”. Details are at https://tickets.metabrainz.org/browse/CB-248. I think it would be very nice to have something like this too.


Having rating stars on MusicBrainz has always felt a bit out of place, so it would make sense to move these to CritiqueBrainz. Which entries can be rated on MusicBrainz but not reviewed on CritiqueBrainz?

It would be nice to have more flexible ratings, but in the end they are linear scales anyway aren’t they? Whether you prefer to rate things one to five stars, from F to A, one to ten or 1% to 100% is a personal preference, for both the reviewer and readers of reviews. I think it would be logical to store ratings internally from 1 to 100 and display it according to people’s own preference. That would make average ratings possible too.

I also like the idea of having more than one rating for an entity, like sound quality and performance quality for music, or acoustics and facilities for places, just to name a few options.


Having a new field in the review editor like radio button:

  • This is a (rather) positive review (:thumbsup:) or
  • This is a (rather) negative review (:thumbsdown:)

Would be linked to the review and would be enough to my taste, eventually.


Unless I’d changed my ways and read the documentation, I’d take the thumb up to mean that someone approved of the review. Not that the review itself was positive about it’s subject.
I might be led towards knowledge by a mouse-over explanation. But probably I’d miss that, confident that I already know what a thumb means.


This is what is happening under the hood, by the way. The stars correspond to 20/40/60/80/100. You can set intermediate values such as 31 through the web service, but not through the MB UI.


I don’t have a horse in this race, but I’d be in favour of a 0-100 rating on a review as a “basic mode”, with the ability to switch to a “detailed mode” where multiple named 0-100 ratings can be specified (and the UI would automatically show an average of those as “the” rating for the teview).