Methodology

Data & Methodology

Market data: seven TCGs · Editorial coverage: Lorcana, One Piece, Riftbound — beta-game coverage expanding.

How InkSight's prices, indexes, Deck Lab, and Pack Lab actually work across all seven games we cover — Disney Lorcana, One Piece, Riftbound, Star Wars Unlimited, Gundam, Digimon and Fusion World. What the numbers mean, where they come from, and what they don't claim to be.

Platform-wide pricing pipeline

InkSight runs the same price pipeline for all seven games it covers. A daily build script pulls that game's TCGplayer category from the public tcgcsv.com mirror, reading every set group's products and prices in parallel. For each card it keeps the listing's lowest current ask and TCGplayer's Market Price (falling back to mid-price only when market price is absent) — never fabricating an ask from a market figure or vice versa. A card only enters the catalog if it has at least one of the two. Sealed product (booster boxes and cases) is tracked separately, keyed by set and product type.

Every snapshot ships a machine-checkable source block recording that prices, catalog data, and images all came from TCGplayer via TCGCSV — the honesty is enforced in the data itself, not just described here.

Per-game data sources

Disney Lorcana
TCGplayer category 71, via TCGCSV. Ink colors, set names, and rarities come from TCGplayer's own extended product data. Gameplay stats and rules text (cost, strength, willpower, lore, classifications, keywords, card text) come from Lorcast — used for Lorcana rules text and stats only, never for prices.
One Piece Card Game
TCGplayer category 68, via TCGCSV. Gameplay fields (cost, counter, power, life, card type) are read directly from TCGplayer's extended product data — there is no second gameplay-data source for One Piece. Sealed vs. single classification and print-treatment (alt art, manga, SP, parallel, etc.) are parsed from the product name by a documented precedence order, never guessed.
Riftbound
TCGplayer category 89, via TCGCSV. Same pipeline as every other game we cover: prices, catalog, and images all originate from TCGplayer.
Star Wars: Unlimited
TCGplayer category 79, via TCGCSV. Same pipeline as every other game we cover: prices, catalog fields, and images all originate from TCGplayer, with no second gameplay-data source.
Gundam Card Game
TCGplayer category 86, via TCGCSV. Same pipeline as every other game we cover: prices, catalog fields, and images all originate from TCGplayer, with no second gameplay-data source.
Digimon Card Game
TCGplayer category 63, via TCGCSV. Same pipeline as every other game we cover: prices, catalog fields, and images all originate from TCGplayer, with no second gameplay-data source.
Dragon Ball Super: Fusion World
TCGplayer category 80, via TCGCSV. Same pipeline as every other game we cover: prices, catalog fields, and images all originate from TCGplayer, with no second gameplay-data source.

Across all seven games, prices, catalog fields, and card images are TCGplayer-sourced through TCGCSV — the same pipeline, the same trust boundary. Lorcast is the one exception, and it supplies Lorcana rules text and stats only.

Refresh schedule

Each game's dataset rebuilds daily and every card's confidence tier, 24-hour change, and rolling history stats are recomputed from the stored price history in the same nightly pass. Most price-bearing pages show a "prices updated daily" stamp; live pages also expose a data-freshness indicator.

Market Price vs. Lowest Ask

TCGplayer Market Price
TCGplayer's own rolling/blended midpoint reflecting recent transaction activity. This is the primary, trusted value — it's what ranks Most Valuable lists, set/index totals, and rarity-tier stats, and it's the headline number shown wherever a single card price appears.
Lowest Ask
The lowest current TCGplayer listing (normal/non-foil printing) at snapshot time — a listing price, not a confirmed sale. It's shown as a secondary comparison value everywhere a card price appears, and it's what Deck Lab and Pack Lab use to price individual cards going into a deck or a pull, since those tools are pricing "what would it cost to buy this card today," not "what's this card's blended value."
Thin-market / listing-outlier flag
Raised when Lowest Ask sits well above Market Price (a single optimistic listing, not a market move) — treat the ask as a data point to verify, not fair value.

Confidence model & the minimum-evidence gate

Every priced card is classified into one of five confidence tiers by a single shared classifier used everywhere on the site — rankings, set pages, card pages, Deck Lab, and Pack Lab all read the same conf field rather than each inventing their own threshold:

Presale
The card's set has a wide-release date in the future. Its price is a preorder ask, not a market price yet.
Outlier
Thin history combined with a price that's wildly out of line with peers of the same set/rarity (5×+ the peer median, or ≥$2,500 with under 7 days of history), or a price that's blown past its own 7-day trailing median by 3× or more. A second pass also flags parked listings: an ask with 14+ recorded snapshots and zero price movement that sits in the top 50 highest-priced cards for that game, or any ask that's 5×+ its own market price.
Thin
Fewer than 5 days of price history, or the ask diverges from market by more than 60%. A flat, never-moving ask outside the top 50 also lands here rather than being hidden.
Moderate
5–13 days of history, or 30–60% ask/market divergence, or a price more than 2× its own 7-day trailing median.
Verified
14+ days of history, ask/market divergence at or under 30%, and price at or under 2× its own 7-day trailing median.

This minimum-evidence gate is what keeps rankings honest: presale and outlier tiers are excluded from Most Valuable lists, Movers, set/index totals, and Deck Lab's card pool everywhere on the site. Thin and moderate cards are still shown — just badged — because hiding a real price is its own kind of dishonesty; a fabricated confidence score would be worse.

Valuation & screener rules, per game

These numbers are read from one registry (src/lib/market-rules.json) by both the code that filters the data and this page, so a rule and its description cannot drift apart. Primary valuation everywhere is Market Value (TCGplayer Market Price); the secondary comparison is Buy Now Reference (Lowest Ask).

GameScreener windowMarket Price floorMove guardrailHistory requiredWide-spread flag
Disney Lorcana30-day average$2±50%15+ snapshots1.5×
One Piece7-day median$2±50%no minimum1.5×
Riftbound7-day median$2±50%no minimum1.5×
Star Wars: Unlimited7-day median$2±50%no minimum1.5×
Gundam Card Game7-day median$2±50%no minimum1.5×
Digimon Card Game7-day median$2±50%no minimum1.5×
Dragon Ball Super: Fusion World7-day median$2±50%no minimum1.5×

Ranking tiers — the implemented rule

One function classifies every card for every game (public/market-eligibility.js, shared by the build and the browser). Each card lands in exactly one tier; standard and collector-grail never overlap.

GameObservations requiredGrail price floorGrail spread ratio
Disney Lorcana3$1500
One Piece3$1500
Riftbound3$500
Star Wars: Unlimited3$500
Gundam Card Game3$500
Digimon Card Game3$500
Dragon Ball Super: Fusion World3$1000

Accessory / non-card detection uses these patterns, verbatim from the shared engine: name ((?:energy|don!!?|memory|life)\s*marker|\bmarker\s*(?:set|pack)\b|\btoken\b|\bcounter\b|\bdice\b|\bdie\s*set\b|\bcoin\b|\bplaymat\b|\bplay\s*mat\b|\bsleeve|\bdeck\s*box\b|\bdeck\s*case\b|\bcard\s*case\b|\bstorage\b|\bbinder\b|\bportfolio\b|\bpin\b|\bacrylic\b|\bstandee\b|\bscore\s*card\b|\brule\s*book\b|\brulebook\b), set (energy\s*marker|accessor|supplies|playmat|sleeve|marker). Serialized detection uses (serial\s*(?:number|numbered|#)|\bserialized\b|\btrophy\b|\b1\s*of\s*1\b|one\s*of\s*one|\bone\s*of\s*\d+\b|\b\d+\s*of\s*\d+\s*\)|\bnumbered\s*to\b|world(?:s)?\s*champion(?:ship)?\s*(?:trophy|prize)|prize\s*wall); event-prize suffixes use (champion|finalist|participation|competitor|grand\s*prix|\bcup\b|top\s*\d+|winner|playoff|regional|nationals?|championship|invitational|store\s*champ|ultimate\s*cup|treasure\s*cup).

Standard rankings therefore exclude presale prices, listing outliers, serialized / event-prize printings, collector grails, accessories and non-card products, asks an extraordinary distance from Market Price, cards with no Market Price yet.

Wide market spread — the lowest ask is well above Market Price; often a thin market, not a change in value.

Market indexes & ranking inclusion

Set and rarity indexes on the Market pages rank by TCGplayer Market Price (falling back to Lowest Ask only when market price is missing). Rankings and index totals exclude presale and outlier tier cards so a placeholder preorder price or a single parked listing can't distort a headline number.

Indexes and rankings are descriptive snapshots of current data, not investment advice or a prediction.

Deck Lab

Deck Lab builds a legal 60-card shell for any two-ink (or two-color) pairing from that game's daily priced card pool — presale and outlier cards are excluded from the pool entirely. Building is archetype-driven, not price-driven:

The four budget tiers change which cards are eligible, not how the deck is assembled:

Every card and price comes from that day's TCGplayer feed. Outputs are heuristic starter shells — a sensible launching point to tune, not a tournament-validated list. Deck legality changes as formats rotate; verify current rules before buying for competitive play.

Pack Lab

Pack Lab is a simulator — it opens virtual booster packs using modeled pull-rate weights per game, and computes pack/box expected value against that day's TCGplayer prices. No real cards are produced or shipped.

No real cards are produced or shipped. Pack Lab is for entertainment, value-comparison ("would I be better off buying the singles?"), and learning what a sealed box can look like. It is not a gambling product, a loot-box service, or a substitute for buying real product.

Presale handling

A set's presale/released status is derived from its release date, not set by hand. A card is classified presale automatically whenever today's date is before its set's wide-release date, and it automatically becomes eligible for normal, confidence-gated pricing the moment that release date passes — no manual step flips the switch.

Collection & watchlist synchronization

Your collection and watchlist are stored in your browser's localStorage by default and work with no account — localStorage is the source of truth on your device. If you create an optional account and sign in, that local data is pushed to a cloud copy and merged back down on future sign-ins across devices, so the cloud copy is a best-effort mirror, not a replacement for the local copy. Clearing your browser's site data removes the local copy; signing back in restores it from the cloud if you'd previously synced. See our Privacy Policy for what's stored.

What we don't do

Disclaimer

InkSight is provided for informational purposes only. Card prices are volatile, can move materially within a single day, and may lag the daily market between snapshots. Nothing on InkSight is financial, investment, or trading advice — treat every number as a starting point for your own judgement, not a guarantee. InkSight does not buy, sell, grade, or appraise cards on your behalf.

Methodology last reviewed: .