Rankquant normalized wine ratings
69,234 wines scored with the Rankquant per-reviewer normalization method, derived from a Vivino review corpus of 31,331,335 reviews by 5,020,101 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/wines.json — the complete ranked table, JSON array of row objects (27.7 MB)
- /datasets/wines.meta.json — provenance and the scoring parameters used for this export
- /wines/ — the same data, browsable, one page per wine
Provenance
| Rows in the catalog | 69,234 wines |
|---|---|
| Review source | Vivino |
| Source reviews | 31,331,335 |
| Source reviewers | 5,020,101 |
| Score schema | dual-track-v1 |
| Minimum reviewers to qualify | 3 |
| Data generated | 2026-05-28 |
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/wines/<slug>/. |
| name | Display title of the wine. |
| 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. |
| wineId | Upstream source identifier for the wine. |
| winery | Producer name. |
| year | Vintage year. |
| type | Style: red, white, sparkling, rosé or dessert. |
| region | Wine region. |
| country | Country of production. |
Reviewer counts describe Rankquant’s own sample: n1 is the reviewers whose ratings vary enough to be calibrated, n2 the broader pool. Vivino’s own star average and rating count are not published — they are collected as scrape-health diagnostics and stop at the warehouse.
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].