Rankquant normalized book ratings
5,285 books scored with the Rankquant per-reviewer normalization method, derived from a Goodreads / Amazon review corpus of 104,061 reviews by 70,562 reviewers. Each reviewer is re-centred against their own rating distribution before aggregation, so a percentile reflects relative standing rather than a raw star average. Every row carries the z-normalized percentile, the unadjusted raw-average percentile it is measured against, and a sample-size-adjusted percentile, each also recomputed within the row's peer cohort. JSON, CC BY 4.0.
Download
- /datasets/books.json — the complete ranked table, JSON array of row objects (1.9 MB)
- /datasets/books.meta.json — provenance and the scoring parameters used for this export
- /books/ — the same data, browsable, one page per book
Provenance
| Rows in the catalog | 5,285 books |
|---|---|
| Review source | Goodreads / Amazon |
| Source reviews | 104,061 |
| Source reviewers | 70,562 |
| Score schema | dual-track-v1 |
| Minimum reviewers to qualify | 3 |
| Data generated | 2026-07-10 |
Columns
Every row in index.json carries these fields. Percentiles run 0–100, where 100 is the top of the catalog.
| Field | Definition |
|---|---|
| slug | URL-safe identifier; resolves to https://rankquant.com/books/<slug>/. |
| name | Display title of the book. |
| score1 | 0–100. Percentile of the mean per-reviewer z-score, taken across reviewers whose own rating distribution has a standard deviation above zero. The headline Rankquant score: each reviewer is re-centred on their own scale before aggregation. |
| score1Cohort | score1 recomputed within the row's peer cohort instead of against the whole catalog. |
| score2 | 0–100. Percentile of the plain arithmetic mean rating over reviewers with two or more reviews. Unadjusted — it applies no correction of any kind, and exists as the baseline score1 is measured against. |
| score2Cohort | score2 recomputed within the row's peer cohort. |
| score3 | 0–100. Percentile of mean_z × n/(n + 53): the same reviewer-normalized mean behind score1, pulled toward the corpus average in proportion to how thin the sample is. A row keeps the fraction n/(n+53) of its measured distance from the mean. Shrinkage arithmetic — no model is fitted and nothing is inferred. |
| score3Cohort | score3 recomputed within the row's peer cohort. |
| n1 | Count of reviewers with a non-zero rating standard deviation who contribute to score1 and score3. |
| n2 | Count of reviewers with two or more reviews who contribute to score2. |
| isbn | ISBN-10 of the edition scored. |
| author | Author name. |
| year | Publication year of the edition. |
| ageGroup | Intended readership band, e.g. Adult or Young Adult. |
Method
Each reviewer is re-centred against their own rating distribution before anything is aggregated, so a percentile reports relative standing inside a peer set rather than a raw star average. The full derivation, including every constant, is published at /methodology/. The sample-size adjustment behind score3 is shrinkage arithmetic — a row keeps the fraction n/(n+53) of its measured distance from the corpus average. Nothing is fitted or inferred.
Licence and reuse
Licensed under CC BY 4.0. Republish, cite, or remix with attribution to Rankquant and a link to this page. Questions about bulk access or a different export format: [email protected].