How to Calculate Your Trading Card Collection's ROI
Most collectors can tell you what a card is worth today. Far fewer can tell you what they actually paid for it, or whether the whole collection is up or down. ROI (return on investment) closes that gap — it turns "I think this is worth more now" into an actual number.
The basic formula
ROI on a single card is simple in principle:
ROI % = (Current value − Purchase price) / Purchase price × 100
A card bought for €20 that's now worth €35 has a ROI of +75%. The hard part isn't the math — it's keeping the purchase price attached to every single card you own, across however many years you've been collecting. Most people don't, because there's no natural place to write it down. A spreadsheet works until you have a few hundred cards across multiple sets and two different games; at that point updating prices by hand becomes a part-time job nobody signed up for.
What you actually need to track
To compute ROI honestly, per card, you need:
- Purchase price — what you paid, not what a price guide said it was worth at the time
- Current market value — a live price, not a number you remember from six months ago
- Grading status — a PSA 10 and a raw copy of the same card are not the same asset
- Purchase date — useful context, even if it doesn't enter the formula directly
The purchase price is the one people skip most often, usually because they add the card first and mean to fill in the price "later." Later rarely comes. If you're setting up any kind of tracking system, make the purchase price a required field from the first card you add, not an optional one you'll backfill.
Live prices vs. price guides
A common mistake is anchoring current value to a price guide figure looked up once, then never updated. Card markets move — sometimes slowly, sometimes in a single weekend after a set rotation or a reprint announcement. For ROI to mean anything, "current value" has to come from an actual live market, not a snapshot from whenever you last checked. In Grail, current value is pulled from TCGPlayer (USD, US market) and Cardmarket (EUR, EU market) — the two largest secondary markets for both Pokémon TCG and One Piece Card Game — and refreshed automatically, not manually re-entered.
Grading changes the equation
A raw card and a graded one are effectively different assets with different price curves. A PSA 10 Charizard doesn't track the raw ungraded price 1:1 — grading adds both a real cost (submission fees, time) and a real premium (population reports, buyer confidence) that raw pricing data doesn't capture. Automated market data for graded cards is much less standardized than for raw cards, which is why most tracking tools — Grail included, today — handle graded cards differently: you record the grading company (PSA, BGS, CGC), the grade, and a manual market value you set yourself, rather than relying on an automated feed. It's more effort, but it's honest — a fabricated "estimated" graded price is worse than no price at all.
Portfolio-level ROI vs. per-card ROI
Per-card ROI tells you which single pulls or purchases performed best. Portfolio-level ROI tells you something different and arguably more useful: whether the collection as a whole is a good store of value, after accounting for the cards that dropped alongside the ones that mooned. A collection can have three cards up 200% and still be net-negative if the other 40 cards quietly lost half their value. Looking only at your best performers is a selection bias that flatters your decisions — the number that matters is the aggregate.
This is also where a daily price history earns its keep, rather than a single before/after snapshot. A chart that only shows "then" and "now" hides how you got there — whether the value climbed steadily or spiked once and has been declining since. Grail keeps a daily snapshot of every wallet's value specifically so that history is real, not reconstructed after the fact from today's price.
The takeaway
ROI on a card collection is only as good as the data behind it: real purchase prices, live market values, and a distinction between raw and graded. Get those three right and the number tells you something true about your collecting decisions — not just how much your best pull happened to be worth today.
