How we price
Every number on this site is a median of real sold comps for one card at one grade. This page is the whole method, including the cases where we refuse to publish anything.
The estimator
The median of qualifying sales, not the mean. One mis-keyed listing at ten times the going rate moves a mean and barely touches a median, and on the volumes this hobby trades at that difference decides whether a number is usable.
Prices are keyed by card × grade. A PSA 10 and a raw copy of the same card are different assets with different markets, and we never average them into one figure. Parallels are separate cards in our catalogue, so a Gold /10 is never priced off the base.
The window
A rolling 45 days. Long enough that a quiet fortnight does not empty the sample, short enough that a number still describes the market you are in rather than the one last quarter.
The two gates
A price is published only when it clears both. When it does not, we say so in place of a number — the refusal is the product working, not a missing feature.
- Liquidity — at least 5 sales in the window. Below that we show “no price we can stand behind yet” and the sale count. Four sales can look like a market and be four people who happened to agree.
- Dispersion — the middle half within 1.6×. We compare the 75th percentile to the 25th. Above 1.6 we publish a range and no single number, because a point estimate would imply a precision the sales do not contain.
We use the interquartile range, not high ÷ low, so one surviving oddity cannot flip an otherwise tight card into a range.
What we exclude, and why you can see it
Every card page lists the excluded sales with a reason next to each. A number you cannot audit is an assertion; the exclusion list is the argument for the median.
- Flagged outliers — shill bids, mislistings, wrong-grade entries, wash trades.
- Unmatched sales — where we could not tie the listing to this exact card with confidence.
- Non-USD sales — we record no capture-time exchange rate for them, so converting would mean inventing one.
Currency
Medians are computed in USD and converted once, at read time, at the rate shown beneath every price with the date we read it. Converting each sale at its own historical rate and then taking a median would fold currency movement into what looks like a card price move — the rupiah drifting would read as the market drifting.
Freshness
Every price carries the date of its most recent qualifying sale. Past 8 days it is badged stale and loses the live indicator. We would rather show an old number honestly labelled than a fresh-looking one that is not.
Where the sales come from
We name the actual vendor behind each quote rather than the marketplace the data originally came from — the source line says who we buy it from, because that is what you would need to check our work.
- The Card API — eBay sold data.
- CardSight — graded sales.
The weekly index
Entity indices chain week to week on the median of per-card ratios, so a change in which cards happened to trade cannot masquerade as a price move — the failure that makes naive basket averages swing on composition alone.
- An entity needs 5 sales in a period, and 3 matched cards across both periods, before any move publishes.
- An index chart appears only from 8 weekly points. Below that we show coverage instead — three weeks cannot describe a trend.
What we do not do
- We never show an asking price inside a sold-price component. A listing is what someone hopes for; a comp is what someone paid.
- We never pool grades to manufacture a number for a card that has not traded at the grade you are looking at.
- We never fill a gap by estimating. If the sales are not there, the page says so.
Found something that looks wrong? That is worth knowing — tell us and we will check the comps behind it.