How we grade.
Every grade on this site answers one question. Is this LEGO set worth its MSRP? Not aftermarket. Not what a flipper will pay you in two years. The number on the box, against what you actually get in the box.
02TL;DR
Five dimensions per set. Per-piece intrinsic value across the actual Rebrickable inventory: physical size, mold age, color rarity, print, exclusivity, function. Build engagement via repetition penalty (HHI). Minifig value by named figure. Brand markup tiered by license. Receipts forgiveness at low prices. The final letter comes from the value-to-price ratio, normalised against the median for the set's theme. Then we test it against 30 hand-graded anchor sets and ship only if we land 27 of 30 within plus or minus one letter.
03Why per-piece, not $/piece
Price-per-piece is the LEGO community's go-to metric. It is deeply misleading. The World Map has 11,695 pieces and a PPP of $0.021. Best deal ever, the spreadsheet says. But around 9,000 of those pieces are 1x1 round tiles. Building it is mostly a mosaic. The intrinsic value per piece is closer to $0.005, which means PPP overstates the set's value by 4x.
The grader scores each piece individually. A printed canopy on a UCS X-Wing is worth 50x what a 1x1 round tile is worth. We sum those scores instead of pretending all pieces are equal.
04The formula
For each piece in the inventory:
Sum every piece. Add minifig value (per named figure, named figures weighted higher than generics). Apply HHI repetition penalty (capped at minus 30 percent). Apply build experience multiplier per-set. Apply brand markup (tiered: Star Wars 1.18x, Marvel 1.13x, LOTR / HP 1.12x, Disney 1.10x, Mid-tier 1.07x, Unlicensed 1.00x). Apply price-floor forgiveness for sub-$25 sets ("you really can't go wrong with a $10 City set").
Ratio = (intrinsic value / price / brand markup). Map to a letter.
05Anchor-30 calibration
The centerpiece. Thirty sets across the value spectrum, hand-graded by Seth. The math has to land within one letter of those grades or we don't ship the change. tests/calibration.test.mjs enforces this. Run on every commit.
We don't ship if fewer than 27 of 30 land within plus or minus 1 letter. Current: 30 of 30.
| Set | Name | Hand | Math | Δ |
|---|---|---|---|---|
| 10179 | UCS Millennium Falcon (2007) | B+ | B+ | 0 |
| 10497 | Galaxy Explorer 40th | C | C | 0 |
| 10314 | Dried Flower Centerpiece | C+ | C | +1 |
| 21330 | Home Alone McCallister House | B+ | A− | −1 |
| 10316 | Rivendell | A | A+ | −1 |
| 75192 | UCS Millennium Falcon (modern) | C+ | C | +1 |
| 10255 | Assembly Square | B+ | A− | −1 |
| 21344 | Orient Express | B− | B− | 0 |
| 10302 | Optimus Prime | C+ | B− | −1 |
| 75355 | UCS X-Wing Starfighter | C− | C− | 0 |
| 10307 | Eiffel Tower | C | C− | +1 |
| 10333 | Barad-dûr | B+ | A− | −1 |
| 10326 | Natural History Museum | A− | A | −1 |
| 76419 | Hogwarts Castle & Grounds | B | B | 0 |
| 41757 | Botanical Garden | B+ | B+ | 0 |
| 10295 | Porsche 911 | B− | B− | 0 |
| 76989 | Horizon Tallneck | B− | B− | 0 |
| 60380 | Downtown | C+ | B− | −1 |
| 60384 | Penguin Slushy Van | A− | A | −1 |
| 75297 | Resistance X-Wing | B− | B− | 0 |
| 76429 | Talking Sorting Hat | D | D | 0 |
| 21333 | The Starry Night | D | D− | +1 |
| 31203 | World Map | C+ | C | +1 |
| 76405 | Hogwarts Express Collectors | B | B | 0 |
| 76206 | Iron Man Figure | C− | C− | 0 |
| 76391 | Hogwarts Icons Collectors | C+ | C+ | 0 |
| 43301 | Toy Story Slinky Dog Bookends | F | D− | −1 |
| 76281 | X-Jet | B− | B− | 0 |
| 76964 | T. rex Skull | A | A+ | −1 |
| 75419 | Death Star | F | F | 0 |
Yellow rows are within tolerance (1 letter off). Zero rows are exact matches. Anchor table source of truth: docs/superpowers/specs/2026-05-12-anchor-30-hand-grades.md.
06Worked example: 10497 Galaxy Explorer
Galaxy Explorer 40th Anniversary C
$99.99 MSRP, 1,254 pieces, Icons / Space, retired late 2023.
The set carries 40th-anniversary nostalgia, not engineering. The math reads through the halo and lands the same letter Seth's hand gave it.
07What we don't grade
Bounded humility. Listing what's outside the grade keeps the grade honest about what's inside it.
| Aftermarket trajectory | Never |
| Theme CAGR | v4 |
| License expiry risk | v4 |
| Store-exclusive channel premium | v4 |
| Regional scarcity | v4 |
| GWP eligibility | v4 |
Aftermarket is "never" because the entire publication exists to not be that. Brickset and BrickEconomy own that lane. The others are reasonable future work; we won't ship them until they pass their own anchor calibration.
08Confidence + HOT TAKE
Three data-quality markers appear on the grade depending on what the page knows about the set.
Verified means the math ran on the actual Rebrickable parts list. Modeled means the v3 piece-distribution heuristic ran (no parts inventory yet). Estimate means we only had piece count + price (rumored sets, missing data).
The HOT TAKE banner
When the math disagrees with the community consensus (Brickset rating mapped to a letter) by 1.5 letter steps or more, the verdict ships with a HOT TAKE banner. Threshold auto-tunes during the bake to enforce a hard cap of 15 percent of the catalog. Scarce by design. If everything is hot, nothing is.
09Changelog + open source
Disagree with a coefficient? File a PR on GitHub.