Methodology
How Gembook computes fair value, verdicts, and deal scores for PSA Pokemon cards.
1. Data Sources
Sold comps — We store recent completed sales matched to each card + PSA grade (and edition where we track it). Today most comps come from eBay sold listings (and aggregators that mirror them). We only keep sales we can tie to the exact asset — no mixing grades or random "Pokemon lot" sales into a single card's history.
PSA population ("pop") — Where available, we show how many copies PSA has graded at that grade. Pop comes from licensed/API sources that publish grade-level counts — not from guesses.
Live listings — Active asks are pulled from eBay (Browse API) and matched the same way as comps. We show the lowest relevant listings so you can compare ask to fair range.
What we don't do yet — We are not blending CGC/BGS, raw prices, or sealed-only markets into the same PSA-grade lane. Coverage is strongest where we have enough matched sales.
2. How Fair Value Is Computed
Think of fair value as a band, not one magic number.
- Window — We look at sales from roughly the last 90 days (when we have enough data).
- Clean the noise — Sold prices sometimes include weird outliers (wrong card, damaged fire sale, typo). We use a standard stats tool called IQR (interquartile range): we throw away extreme highs and lows so one bad sale doesn't drag the whole range.
- Recency matters — Newer sales count more than old ones — markets move. We weight recent comps higher so the band reflects what people are paying now, not three months ago.
- The band — After cleaning and weighting, we take the 25th–75th percentile of those prices. That becomes fair low and fair high. Most real sales for that card/grade should fall inside that band; the middle of the band is a reasonable "typical" price.
If we don't have enough clean sales (minimum threshold), we don't fake a range — we show that we're short on data.
3. How Confidence Is Scored
Confidence is HIGH, MEDIUM, or LOW based on how trustworthy the band is:
- HIGH — Plenty of recent sales, newest sale isn't ancient, and prices aren't all over the place (low spread).
- MEDIUM — Enough to use, but fewer sales or older last sale or noisier prices.
- LOW — Thin history or stale data. Treat the range as directional, not precise.
We'd rather say LOW than pretend we're sure.
4. How Verdicts Work
A verdict compares a specific ask (usually the best live listing we found) to the fair band:
- GREAT — Ask is clearly below the fair range.
- FAIR — Ask sits inside or just above the band — normal market.
- RICH — Ask is moderately above the band.
- AVOID — Ask is far above the band.
Verdicts are not investment advice — they're a sanity check against what similar cards actually sold for.
5. How Deal Scores Work (0–100)
The deal score is a single 0–100 number for a live listing, built from:
- Price vs fair band — Bigger discount vs the band → higher score.
- Listing freshness — Newer listings score a bit better (stale asks can be misleading).
- Shipping — All-in cost matters; free or cheap shipping helps the score.
If confidence in the fair band is LOW, we cap the score so we don't shout "amazing deal" on thin data.
6. Limitations & Honesty
- Single lane — We're built for PSA-graded Pokemon in the sets we cover. Other graders or raw cards need a different product.
- eBay-heavy — Most comps and listings are eBay-shaped; private sales and show floors aren't in the feed.
- Matching isn't perfect — We filter hard, but any automated match can miss edge cases. When in doubt, read the listing title and grade yourself.
- Pop isn't rarity by itself — High pop can still be expensive; low pop doesn't guarantee moon prices. Pop is context, not a price target.
- We refresh on a schedule — Fair value is a snapshot in time. Markets move; rerun pipelines and check recent sales on the card page.
We'd rather show ranges + confidence + evidence than a false sense of precision.
See it in action
Search any PSA Pokemon card and see fair value, verdict, and deal scores.
Search cards