Sealed Analytics
Loading…

Is this sealed box fairly priced?

That is the one question this dashboard answers. It tracks sealed Pokémon TCG products — booster boxes, Elite Trainer Boxes and bundles — and weighs what each one costs against the set value behind it: what a complete set of the cards inside is worth. Prices and set values come from Cardmarket and refresh automatically every day, so every number carries a dated price history behind it.

How to read it

1Value, not price

A €180 box is neither cheap nor expensive on its own. Divide the set value by the price of one booster and you get SV/Booster — how many times a booster's price the whole set is worth. That single figure compares a €58 bundle with a €400 box directly.

2Age moves the bar

Sealed product tends to lose value density as it ages, so a three-year-old box and a three-month-old one can't be judged against the same number. The dashboard fits a line through every tracked product — value density against age — and measures each one against its own age.

3The verdict

Read that expectation back into euros and you get the fair price: what this product would cost trading like its same-age peers. The board says which side of it you're on, in words — Under fair price, Fair — no edge, Overpriced for age — and how far to trust the fit.

See how it reads a product

Value, not price — and age moves the barSample

Every product plotted by value density against age. The line is what's normal for each age — below it is a deal.

BoxETBBundle
The verdict — actual price vs. fair priceSample

Read that expectation back into euros and track it over time. Under the fair-price line is a buying window.

Actual priceFair price for its age
When to buy — spot the dipsSample

30-day price change by set. The biggest dips down from a peak are a possible buying window.

What a free account unlocks

Fair price
the € it should cost for its age
Buy / avoid verdict
in plain words
Sell signals
when a product looks overvalued
Price history
every tracked snapshot
Portfolio & Profit & Loss
value holdings, realised & unrealised
Transaction log
your buy/sell history, exportable
Price alerts
buy-below targets
News feed
Pokémon TCG, investing & business headlines

A sample of what's tracked

The three most recently released sets, with the raw figures behind every verdict. Fair price and the verdict itself aren't shown here — both are read off a fit across the whole catalogue's ages, so three sets can't produce the same answer the board would. Sign in and every product carries them, along with its price history, buy and sell signals, and a portfolio.

Showing the 3 most recent sets · free account · prices in EUR.

Is this sealed box fairly priced?

Analysis answers it product by product, and opens on the closest thing to a straight answer: which of your tracked products are currently under their fair price.

At a glance

Your tracked dataset in four numbers. What each one means is in What the numbers mean, below.

Products Tracked
31
Box · ETB · Bundle · Pack
Top Score (Age-Weighted)
—
—
Best Value / Booster
—
—
Newest Release
—
—

Where to go

Every tracked product with its fair price and a one-line verdict, plus the evidence behind them — value per booster, age vs value, price history and momentum. Click any product to open its drill-down, with a what-if sandbox scoped to it.

What you actually hold: unrealised and realised profit and loss against your cost basis, a full buy/sell transaction log with CSV export, value over time, where you are over-concentrated, and price alerts on a euro target or on the fair price.

Manage the tracked set: add new products with their Cardmarket ids, resolve ids and sync the catalogue so the daily job can price them, lock a price by hand where the market is too thin to read, and export a backup workbook.

How to read it

How the data stays fresh

1Automatic

A daily Supabase job pulls each tracked product's price and set value from Cardmarket and writes a new snapshot. Fair prices, verdicts and alerts recompute on their own — no hand entry.

2Curate

In Data Entry you add new products with their Cardmarket ids, run Resolve ids → Sync catalog so the job can price them, and lock a price by hand for a thin-market product the auto-price reads badly. Save to the cloud to apply.

3Fallback

If cloud sync is ever unavailable the dashboard falls back to the committed pokemon_data.xlsx — and says so under the header. Export any time for an off-repo backup.

Latest news

Pokémon TCG, investing & business — headlines link out to the source. Fetched daily; only the headline, source and link are stored.

Type
Era

Right now

Where to start

Age Threshold 1.0yr ⓘ

01 — The Board

What: every tracked product, ranked three ways — switch with the Value / Relative / Momentum toggle. Value is the headline board (verdict, fair price, weighted score); Relative ranks by how far each product sits above or below the expected-value-for-age line; Momentum ranks by recent price action and drawdown from peak. How to read: on the Value lens the line under each name is the verdict — the plain-language answer, synthesising the gap to fair price, the drawdown from peak and the set-value trend. Fair Price is what this product would cost if it traded like its same-age peers; the confidence word beside that column says how much to trust it, and explains the method when you tap it. A marks a possible buy signal — price fell while set value held. Filter with the Type pills; the Sort menu reorders the Value lens. SV/Booster and the other column terms are defined in section 03 below, and on the Welcome tab.

The Board

31 products

Swipe the table sideways for more →

Product = buy signal Type Price Fair Price Set Value Per Booster SV/Booster Age (yr) Wtd. Score

02 — Age vs Value

What: every product plotted by age (horizontal) against SV/Booster (vertical — Set Value as a multiple of one booster's cost, higher = better value). The dashed line is the expected value for a given age. How to read: points above the line are better value than typical for their age; points below are worse — the higher above the line, the better the bargain.

Age vs Set Value / Booster

All products

03 — Price History

What: tracked price over time — add several products, or switch to Sets or Eras to compare whole releases or whole eras (a rolled-up line is the average price per booster of its members). How to read: a falling line means it's getting cheaper; with a single product the set value is overlaid too, so you can pair a price dip with a steady set value to spot a buying window. Click a legend entry to hide that line.

Price History

04 — Trend Over Time

What: SV/Booster over time — add several products to compare, or switch to Sets or Eras to weigh whole releases or whole eras head to head (a rolled-up line is the average SV/Booster of its members). How to read: a rising line (▲) means the set is worth more relative to a booster's cost (better value); because it's a multiple of booster cost, every product type — box, ETB, bundle or single pack — is directly comparable. Click a legend entry to hide that line.

Set Value / Booster — Trend Over Time

Your Portfolio

What: what your holdings are worth now, and how that value has moved. How to read: the summary totals your current value and unrealised profit & loss (cost basis vs. each product's latest tracked price); the chart plots your current holdings valued at every tracked snapshot against your flat cost basis — the gap between the lines is your gain (above cost) or loss (below). Values current quantities back across history; purchase dates aren't tracked. Private to your account, saved automatically.

Portfolio

Shown in your chosen currency

Holdings

What: the products you hold, and adding or correcting them. How to read: Add tops up a holding and blends the cost basis to a weighted average; use the button on a row to correct the exact quantity or cost. Each card shows its current value and unrealised profit & loss. Private to your account, saved automatically.

Concentration & Rebalance

What: how your holdings are spread across sets, release years and product types — and, when you're over-exposed, which under-fair-price products in areas you underweight would diversify you. How to read: a bar near full means a large share of your value rides on one bucket (red = over-exposed); the shortlist points the next euro at good-value buys that spread the risk. Derived live from your holdings — nothing saved.

Price Alerts

What: buy targets for the products you're watching — a fixed € price, or a % below fair price that recomputes automatically as the age fit moves. How to read: when a product's latest tracked price falls to or below the target it's flagged here and with a on the Analysis board. Private to your account, saved automatically.

Price Alerts

no alerts
Product Type Now / unit Target Status

Transaction Log

What: every buy and sell in one chronological history, newest first. How to read: a sell line shows its realised profit & loss (sale price − cost basis); a buy line shows its unrealised mark-to-market against the latest price. Holdings that predate the log show one opening line reconstructed from the current position. Only the most recent transactions show by default — expand for the full history, or export the whole ledger as CSV. Private to your account, saved automatically.

Transaction Log

no transactions
No transactions yet — buying or selling a holding records it here.

Monthly Price Update

Enter the latest Price and Set Value for each product
↵ Enter jumps down the column · paste a copied column to fill it at once
Set value reference: getmint.app/sets ↗
— / — filled
CM ID Exp ID Promo IDsseparate multiple with commas Product Type Packs Last Price (€) Last Set Value (€) New Price (€) New Set Value (€)

Snapshot Label

Label shown on chart axes (e.g. "2026-05-04")
Auto-filled with today's date — edit if needed

Add New Product

Summary
Product Name
Type
Packs (only for COLLECTION — pack count)
Release Date
Initial Price (€)
Initial Set Value (€)
Cardmarket URL (optional)
Cardmarket product ID (optional — for auto-ingestion)
Cardmarket expansion ID (optional — for Set Value)