Scoring Standards — How We Score Cookware
Every number on this site comes from one place and one process. Scores are computed offline in Python from aggregated Amazon review data (2023 vintage) and shipped as static, versioned bundles; the website and API only read and display them. Nothing is scored in the browser, and no score is hand-written.
The six dimensions
| # | Dimension | Weight | Direction | What it measures |
|---|---|---|---|---|
| 1 | Complaint Rate | 30% | lower is better | Share of reviews reporting defects (coating peeling, warping, sticking, etc.) |
| 2 | Durability | 25% | higher is better | Long-term performance signals from reviews written 1+ year after purchase |
| 3 | Review Consistency | 15% | higher is better | Rating variance and trend stability over time |
| 4 | Long-term Satisfaction | 15% | higher is better | Positive ratio among year-2+ reviews |
| 5 | Maintenance Ease | 10% | higher is better | Clean / rust / dishwasher / seasoning signals |
| 6 | Warranty Signals | 5% | higher is better | Warranty and guarantee mentions |
Rationale: common defects of cookware (coating peeling, uneven heating, and similar issues) account for the vast majority of negative reviews, so complaint rate and durability carry the highest combined weight (60%). Authentic functional praise and repurchase recommendations are auxiliary references (25% and 15% in the underlying keyword model) that round out the picture of real-world use.
Formula
overall_score = 0.30·complaint_rate_score
+ 0.25·durability_score
+ 0.15·review_consistency_score
+ 0.15·long_term_satisfaction_score
+ 0.10·maintenance_ease_score
+ 0.05·warranty_signals_score
Each dimension is normalised to 0–100. complaint_rate_score is inverted so that a higher value always means better. The score fields exposed by the API are complaint_rate_score, durability_score, review_consistency_score, long_term_satisfaction_score, maintenance_ease_score, warranty_signals_score, and overall_score.
Signals we look for
Positive signals (raise the relevant dimension): even heating, durable, easy to clean, good coating, scratch resistant.
Negative signals (lower the relevant dimension): coating peeling, hard to clean, uneven heating, warping, deformation.
Data sources
| Layer | Source |
|---|---|
| Reviews | UCSD Amazon Reviews 2023 (Home & Kitchen), aggregated |
| Product metadata | Amazon product metadata snapshot (2023) |
| Aggregation | cookware.db — product scores, problem prevalence, long-term trend, brand rollups |
| Publication | Static JSON bundles + REST/MCP API (data.amzreviewsdata.com, api.amzreviewsdata.com) |
Small-sample rule (enforced)
- Products and brands with fewer than 3 samples are marked
insufficient_dataand receive no score, percentage, or ranking. - We show raw review excerpts (if any) with an explicit “insufficient data” label instead.
- No-evidence products are down-weighted, never silently removed — an absence of evidence is not evidence of a defect.
Coverage (as of 2026-09-17)
We publish the coverage of our own scoring, not just the method, so you can judge how much of the category is actually measured:
| Layer | Scored | Above the small-sample threshold |
|---|---|---|
| Products | 43,093 | 21,482 (sufficient, sample ≥ 3) |
| Brand rollups | 3,166 | 669 |
| Underlying per-ASIN yearly rating rows | 2,720,045 | — |
Of the 1,186,539 products in the indexed catalog, 3.6% carry a six-dimension product score — the rest have no review evidence that meets the threshold and are shown without a score. The 21,611 products scored but marked insufficient are displayed with an explicit label rather than a ranking. Brand names are normalised from 9,299 raw spellings to 3,251 canonical brands before rollup, so CAROTE and Carote are one entity.
Disclosure
- Data vintage is 2023; prices and availability are snapshots, not real-time.
- We never distribute raw reviews. Only aggregates, counts, rates, and short representative quotes are returned.
brand_scoreis a 0–100 rollup over a brand’s products using the same six dimensions; it inherits the small-sample rule above.
Methodology version: 2026-09. Weights are defined in config/scoring_weights.json and applied by the offline scoring pipeline.
python3 scripts/generate_scoring_standards.py --all