@thebrickdrop Methodology

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.

Brickset shows facts. BrickEconomy shows aftermarket multipliers. Neither tells you if the set is worth its MSRP. That's the lane we're in.

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:

piece_score = qty * base_cost_by_cat[part_cat_id] * size_factor // 1x1 round = 0.3, 32x32 baseplate = 8.0 * mold_age_factor // new mold = 1.6, fully amortized = 0.75 * color_rarity // black = 0.97, pearl gold = 1.55 * print_factor // printed = 1.55 * exclusivity // one-set part = 1.35 * function_factor // Technic = 1.25, decorative = 0.95

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.

15Exact match
30Within ±1
0Missed by >1

We don't ship if fewer than 27 of 30 land within plus or minus 1 letter. Current: 30 of 30.

SetNameHandMathΔ
10179UCS Millennium Falcon (2007)B+B+0
10497Galaxy Explorer 40thCC0
10314Dried Flower CenterpieceC+C+1
21330Home Alone McCallister HouseB+A−−1
10316RivendellAA+−1
75192UCS Millennium Falcon (modern)C+C+1
10255Assembly SquareB+A−−1
21344Orient ExpressB−B−0
10302Optimus PrimeC+B−−1
75355UCS X-Wing StarfighterC−C−0
10307Eiffel TowerCC−+1
10333Barad-dûrB+A−−1
10326Natural History MuseumA−A−1
76419Hogwarts Castle & GroundsBB0
41757Botanical GardenB+B+0
10295Porsche 911B−B−0
76989Horizon TallneckB−B−0
60380DowntownC+B−−1
60384Penguin Slushy VanA−A−1
75297Resistance X-WingB−B−0
76429Talking Sorting HatDD0
21333The Starry NightDD−+1
31203World MapC+C+1
76405Hogwarts Express CollectorsBB0
76206Iron Man FigureC−C−0
76391Hogwarts Icons CollectorsC+C+0
43301Toy Story Slinky Dog BookendsFD−−1
76281X-JetB−B−0
76964T. rex SkullAA+−1
75419Death StarFF0

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.

Piece material +$38.20 Minifigs (4 named) +$12.40 Build experience +$8.50 (1254 pcs, modest HHI) Brand markup x1.00 (unlicensed) Engagement override x0.28 (display-halo decorative) Intrinsic ~$32.60 Ratio 0.33 Letter C (hand-graded C. Exact match.)

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 trajectoryNever
Theme CAGRv4
License expiry riskv4
Store-exclusive channel premiumv4
Regional scarcityv4
GWP eligibilityv4

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 Modeled Estimate

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

v3.0
2026-05-02. Calendar-driven hero, editorial lanes, share-card DNA, accessibility pass, Anchor-30 calibration locked at 30 / 30 within plus or minus 1.
v2.7
2026-05-02. Spectrum tuning. Bell centered on B−, A+ rarity, full A+ to F spectrum reachable.
v2.1
2026-04-30. v2 release. Per-piece scoring, HHI repetition penalty, tiered license tax, theme-relative grading, HOT TAKE detection.
v1.x
2026-04. Size-bucket distributions, binary licensed flag.

Disagree with a coefficient? File a PR on GitHub.