How a Hoshino price is made.
Our sources, the arithmetic behind every number, every rule that makes us publish nothing at all, and the limits we already know about. The figures on this page are measured from the live database, not typed in by hand.
Data methodology summary
Hoshino is a price-intelligence service for collectible trading cards. Every number on the site is computed from transaction records held in our own database: confirmed sales, sales reconstructed from a listing’s own lifecycle, live asking prices, and price-guide points a marketplace publishes itself. Each record is labelled with which of those it is, and links back to where it came from.
A card’s value at a given grade is the recency-weighted median of that grade’s own observations, after duplicate records are collapsed and statistical outliers are removed. Prices are only ever compared inside one grade tier and one printing — a PSA 10 against a PSA 10, a 1st Edition against a 1st Edition — and are never averaged across them. When a grade holds fewer than three usable observations, or the surviving numbers contradict each other, we publish no price for it and say so on the page.
Coverage is uneven, and the real shares are stated further down: most cards in the catalogue carry a published guide price, far fewer carry confirmed sales. Nothing on this site is investment advice.
Where the data comes from
Every venue below has written at least one record into the database. These are live counts, not targets and not a roadmap.
| Venue | Region | What we take from it | Records |
|---|---|---|---|
| PokéPriceTracker | North America | Confirmed sale | 414,354 |
| TCGplayer | North America | Published guide | 282,281 |
| eBay (US) | North America | Confirmed sale | 67,879 |
| PokéPriceTracker | North America | Published guide | 50,808 |
| Snkrdunk | Japan | Confirmed sale | 48,077 |
| Mercari Japan | Japan | Confirmed sale | 42,585 |
| Yahoo! Japan Auctions | Japan | Confirmed sale | 27,213 |
| Cardmarket | Europe | Published guide | 19,844 |
| eBay UK | Europe | Confirmed sale | 5,983 |
| PSA APR | North America | Confirmed sale | 5,393 |
| magi | Japan | Reconstructed sale | 5,089 |
| eBay AU | Other | Confirmed sale | 4,790 |
| Fanatics Collect | North America | Confirmed sale | 4,683 |
| Cardrush | Japan | Reconstructed sale | 4,253 |
| Yahoo! Japan Auctions | Japan | Reconstructed sale | 3,775 |
| Goldin | North America | Confirmed sale | 2,602 |
| Whatnot | North America | Reconstructed sale | 2,430 |
| eBay CA | North America | Confirmed sale | 2,362 |
| eBay (US) | North America | Reconstructed sale | 2,219 |
| Tradera | Europe | Confirmed sale | 2,216 |
| Snkrdunk | Japan | Reconstructed sale | 2,035 |
| Carousell | Southeast Asia | Reconstructed sale | 1,486 |
| Ruten (TW) | Taiwan | Reconstructed sale | 1,212 |
| Bunjang | Korea | Reconstructed sale | 1,197 |
| PriceCharting | North America | Confirmed sale | 1,045 |
| eBay ES | Europe | Reconstructed sale | 597 |
| Mercari Japan | Japan | Reconstructed sale | 578 |
| eBay (eurozone) | Europe | Confirmed sale | 560 |
| eBay AU | Other | Reconstructed sale | 502 |
| Snkrdunk | Japan | sold_bucketed | 498 |
| eBay IT | Europe | Reconstructed sale | 460 |
| eBay CA | North America | Reconstructed sale | 440 |
| MySlabs | North America | Confirmed sale | 325 |
| eBay UK | Europe | Reconstructed sale | 278 |
| Alt | North America | Confirmed sale | 170 |
| eBay DE | Europe | Reconstructed sale | 140 |
| Vinted | Europe | Reconstructed sale | 123 |
| PWCC | North America | Confirmed sale | 104 |
| Pristine Auction | North America | Confirmed sale | 101 |
| Catawiki | Europe | Confirmed sale | 75 |
| Robert Edward Auctions | North America | Confirmed sale | 59 |
| PSA APR | North America | Aggregated auction result | 50 |
| eBay FR | Europe | Reconstructed sale | 43 |
| Joongonara | Korea | Reconstructed sale | 35 |
| Carousell MY | Southeast Asia | Reconstructed sale | 29 |
| Yahoo! TW Auctions | Taiwan | Reconstructed sale | 24 |
| Carousell HK | Southeast Asia | Reconstructed sale | 19 |
| Carousell PH | Southeast Asia | Reconstructed sale | 11 |
| Carousell | Southeast Asia | Confirmed sale | 4 |
| Carousell ID | Southeast Asia | Reconstructed sale | 2 |
| Dewu / POIZON | China | Confirmed sale | 2 |
| Xianyu / Goofish | China | Confirmed sale | 2 |
| Auctions (US) | North America | Confirmed sale | 1 |
| Bunjang | Korea | Confirmed sale | 1 |
| magi | Japan | Confirmed sale | 1 |
| Ruten (TW) | Taiwan | Confirmed sale | 1 |
| Shopee SG | Southeast Asia | Confirmed sale | 1 |
| Whatnot | North America | Confirmed sale | 1 |
29 of these entries carry confirmed sales; the rest carry reconstructed sales or a published guide point. A venue appears here only once it holds data — nothing in the table is aspirational.
We publish the venues and their regions. We do not publish how each feed is obtained or kept running: that is operating detail, it helps nobody price a card, and it is not the part you are being asked to trust.
What each number means
Different things can put a price on a card. We never let one masquerade as another, and the label travels with the number everywhere it appears.
And a separate question: what the date means
A date can mean two things. On most venues it is when the sale happened. On some it is the day we recorded it, because the venue publishes a price and no date at all — so the date we hold is an upper bound on when the card actually sold, never a later one, sometimes earlier by days.
Measured live: 42,582 of our 42,585 Mercari Japan sales carry a date equal to the day we recorded them, because that venue publishes a price and never a date.
We label those records rather than let a collection date pass for a sale date, and we will not tell you a price moved over a window when part of what separates its two ends is when we happened to look. The price is real either way; only the timing is uncertain.
How a price is computed
One card, one grade tier, one printing. Everything below runs on that slice and nothing else.
- Confirmed prices only, already in dollars. The calculation reads the US-dollar transaction price of each record and nothing else. Live asking prices never enter it — an ask is what somebody wants, not what anybody paid.
- Duplicates collapse to one observation. Records sharing a venue, a sale day and a price are one observation, however many times a feed re-wrote them. Re-ingesting the same sale six hundred times must not look like depth, so depth counts unique observations only.
- Outliers are rejected. With four or more observations we apply a Tukey fence at 1.5× the interquartile range; with three we drop anything more than two standard deviations from the mean. We never prune a sample below two survivors — over-pruning a small genuine sample is its own kind of distortion.
- Recent trades count for more. Each surviving observation is weighted by age on an exponential curve with a 45-day half-life: something 45 days old carries half the weight of something from today. The weight is floored at 0.05 so an old observation still registers instead of vanishing, and an observation with no usable date is weighted at that floor.
- The value is the recency-weighted median. Not a mean, which one unusual trade drags; not the last price, which is a sample of one.
- The band says how sure we are. The low and high are weighted quantiles of the same observations — the 15th and 85th percentiles normally, widened to the 5th and 95th when the sample is thin or scattered. Thin means fewer than five distinct observations; scattered means an interquartile range more than half the median. On a single observation the band opens to ±25% rather than claiming a precision one data point cannot support.
The same arithmetic runs for every card, every grade and every venue. There is no per-card override and no editorial hand on any number.
When we publish nothing
A dash on this site means we do not hold enough clean data to price something honestly. These are the rules that produce one. Every one of them costs us a number we could otherwise have shown.
- One grade tier, compared to itself. Every price, trend and cross-market comparison sits inside a single tier: PSA 10 against PSA 10, raw against raw. We never average across grades or across graders, and we never publish one blended “card price” that hides which tier it came from. A raw copy whose condition we cannot confirm is marked unknown, and unknown never pairs with anything — not even with another unknown.
- A graded price needs three observations, and confidence. A graded tier is published only with at least three distinct confirmed observations surviving the outlier fence, and only when that sample is not flagged low-confidence. Reconstructed and guide records never count toward the minimum.
- A graded price below the raw price abstains. A slab that appears to be worth less than the ungraded card is a contaminated sample, not a market fact, so we withhold it.
- An inverted grader chain abstains entirely. If a grader’s surviving grades invert — a lower grade priced at or above a higher one — we drop that grader’s whole ladder for that card and show the raw market only. Publishing the two rungs that happen to look right is not an option when we know one of them is wrong.
- Printings are separate markets. A 1st Edition, a Shadowless or a No Rarity copy shares a card record with the ordinary print but trades at a multiple of it. They are held apart and never blended, and a record whose printing cannot be confirmed is quarantined rather than averaged in.
- Suspect records are excluded before anything is computed. Every record is screened and flagged:
outlier(an extreme robust z-score against the trimmed median),single_venue_spike(a lone high print on one venue with no corroboration anywhere else),guide_mismatch(a published guide point far out of line with the card’s own confirmed prices — the signature of a wrong-product mapping) andprintrun_mismatch. A flagged record is excluded from every price on the site. - A cross-market comparison needs real depth on both sides. We publish a gap between two markets only when each side rests on at least two genuine confirmed observations, and only when the two are plausibly the same card: past roughly three times, the difference is a different printing or a different tier, not money on the table. In that case we still show both prices — what we withhold is the conclusion.
- A cost we do not hold abstains rather than guesses. An auction house whose buyer’s premium we do not hold is shown as “premium not modeled”, never as an implied zero. A currency we hold no exchange rate for makes the record abstain instead of being treated one-for-one with the dollar.
Right now 78,056 records carry a flag and are excluded from every price we publish: outlier 33,049 · grade_unknown_outlier 23,242 · pooled_tier 12,890 · single_venue_spike 3,242 · bad_unit 2,507 · guide_mismatch 1,728 · fanout_bind 788 · printrun_mismatch 383 · tos_withdrawn 227.
A further 8,569 records are held out of the priced dataset entirely, 4,676 of them because the printing could not be confirmed — quarantined rather than deleted, so the decision stays auditable.
What this data cannot do
The weaknesses, stated by us. If one of them bears on a decision you are about to make, it should change the decision.
- Coverage is uneven, and thinnest where it matters most. Most of the catalogue is covered by a published guide point. Confirmed sales are far rarer, and the depth a graded price requires — three or more at one tier — is rarer still. The figures above are the live shares. A card outside them shows a dash, and the dash is the honest answer.
- Some timing is an upper bound, not a fact. Where a venue publishes no sale date, the date we hold is the day we recorded it. Those records are sound on price and unreliable on exact timing, and we do not build a “moved this much this week” claim on top of them.
- Grade odds only exist where population data does. We hold population data for PSA (18,949 cards), CGC (13,757 cards), BGS (7,022 cards), SGC (5,567 cards), BGS BL (1,001 cards). We hold none for TAG (153 recorded sales) or ARS (117 recorded sales). We can price those slabs, because they sell in public and we record the sales — but pricing a slab and knowing the odds of receiving one are different things, and we will not offer a grading route to a grader whose outcomes we cannot measure. Where population data is missing, the grading tool falls back to a stated conservative assumption and refuses to publish a blended expected value on top of it.
- Thin markets move on one trade. A median over a handful of observations is exactly that. One unusual result can shift it materially, which is why the published band widens rather than narrows when the sample is small — and why a wide band should be read as the warning it is.
- Currency is converted once, when the record is written. A transaction in yen or euros is converted to dollars at the rate held on the day we recorded it, and is not restated afterwards. Over a long window, part of what a cross-border difference shows is the exchange rate at the time, not only the card.
- Fees and tax rates are researched figures with a date on them. Grader fees, auction buyer’s premiums and import-tax rates are published headline figures we researched and dated — a modelling default, not a live quote. Houses run category and lot-size tiers, waive or discount them, and add shipping and payment surcharges we deliberately do not fold in. Re-verify any of them before relying on the number.
Not investment advice
Nothing on Hoshino is investment advice, and no number here is a promise about what anything will be worth.
Figures on this page measured from the live database on 2026-09-19.