GRating Rebalancer - calibre GUI plugin
This plugin takes Goodreads rating data from the GRating plugin and converts it into library-relative scores.
Instead of treating Goodreads ratings as absolute values, GRating Rebalancer compares books against the ratings in your own calibre library and writes a normalized percentile score to a custom column. It is intended for people who already use GRating and want a more useful way to compare ratings across books, authors, genres, and series.
Features
- Reads GRating's `grrating` and `grvotes` identifiers.
- Writes a raw library percentile score from `0.0` to `100.0`.
- Optional second Rating output field.
- Rating output can be percentile, decimal, custom range, or calibre star rating.
- Optional series-position correction to reduce later-book rating inflation.
- Locked percentile maps for stable scoring over time.
- Optional separate locked maps per calibre library.
- Distribution shaping: Uniform, Bell curve, Positive skew, and J-Curve.
- Debug diagnostics available from Ctrl+Shift clicking the toolbar icon.
Requirements
- calibre 5.0 or later.
- The GRating plugin, with Goodreads ratings/votes already stored as `grrating` and `grvotes` identifiers.
- A numeric custom column for the main Output field.
Installation
1. Download the attached `GRating-Rebalancer.zip`(or get it from the
GitHub repository).
2. In calibre, go to Preferences -> Plugins -> Load plugin from file.
3. Select the zip file.
4. Restart calibre.
5. Configure the plugin from Preferences -> Plugins, or from the plugin menu.
Basic setup
Create a custom column for the Output score, preferably a floating-point number column. Configure GRating Rebalancer to write to that column.
The Output field always receives the raw library-relative percentile. If you also want a shaped or star-style rating, configure the optional Rating field separately.
Important notes
This plugin writes metadata to selected books, so I recommend testing it on a small selection first.
The plugin does not write to `grrating` or `grvotes`; those are treated as read-only inputs.
Version history
1.0.0
- Initial release.
Bug reports, feedback, and suggestions are welcome in this thread.