ChasingFoilbetaEvery card, valued.
← Back to gallery

Methodology

beta
Not investment advice. ChasingFoil is a research and collecting tool. Price outlooks are statistical estimates from a model that is still in beta and will be wrong some of the time. Cards are collectibles, not securities — never buy or sell based solely on a number you see here.

Most card sites show you where a price has been. ChasingFoil also estimates where it might be headed — but only when we can show, on held-out history, that the estimate is meaningfully better than assuming “no change.” Each set’s chase card carries a free public outlook; the full board — every gate-cleared card, rated and ranked — lives in the Pro Screener.

What the model predicts — and for how long

For a card with enough price history, we forecast its forward return over the next 30 days — the percentage change from today’s price — and convert that back into a target price. The headline number is the median estimate; the range around it is a 90% confidence band.

Every rating is a short-hold call, not a long-term investment thesis. The predicted 30-day move maps to the rating you see:

  • · ≥ +15% → Strong Buy
  • · ≥ +5% → Buy
  • · −5% to +5% → Hold
  • · ≤ −5% → Reduce
  • · ≤ −15% → Sell

A practical example: brand-new sets often carry a wall of Reduce ratings. That isn’t the model disliking the cards — it has learned the post-release supply dip (prices peak at launch, then ease for several weeks while everyone opens product). If you want the card, that rating usually means waiting saves you money.

How it’s built

  • Model: a gradient-boosted tree ensemble (XGBoost) trained on over a million daily price observations across the catalog, using momentum, volatility, liquidity (recorded-sale counts), set age, rarity, finish, and character/artist features.
  • Market context: no card is predicted in isolation. The model also sees how the card’s set is moving and where the card sits inside it (the “laggard in a hot set” rotation pattern), plus how other printings of the same character are trending across sets.
  • Honest testing: we never test on the past we trained on. Models train on older dates and are scored on the most-recent window they have never seen — a temporal holdout, not a random split.
  • The bar to beat: a naïve “tomorrow looks like today” baseline. A forecast only counts as good if it beats that baseline on the holdout.
  • Confidence bands: the low–high range is calibrated with split-conformal prediction on validation residuals, so the band reflects how wrong the model has actually been for that price tier.

Why most cards don’t show a forecast

We gate every forecast by price tier and horizon. A cell (e.g. “$200+ cards, 30 days”) is only published if, on held-out data, it:

  • · beats the no-change baseline’s error by a clear margin,
  • · gets the direction (up vs. down) right more often than a coin flip, and
  • · has a large enough test sample to trust the result.

Cells that don’t clear the bar stay internal — we’d rather show nothing than show a number we can’t stand behind. That’s why a high-value chase card may carry a 30-day outlook while a mid-value one only qualifies at 60 days, or not yet at all.

What the model tag means

Every outlook is signed by the exact model that produced it — e.g. xgb_return v2026.06.09. xgb_return is the model family (an XGBoost ensemble predicting forward return); the version is the date its training snapshot was frozen. New versions train regularly, but a challenger only replaces the live model if it beats it on every published price tier in held-out testing — so the version you see has won a head-to-head against its predecessor. The tag is provenance: you always know which model made the call.

Graded values (raw vs PSA 10)

  • Source: graded prices are actual eBay sold medians per grade and grading company (PSA, CGC, BGS, TAG, SGC, ACE) — what slabs really change hands for, not asking prices.
  • Liquidity gating: a grade’s premium over raw is only asserted when there are enough recent sales to trust the median; thin or atypical data (e.g. one outlier sale, or listings that mix two different prints of the same number) is flagged and its premium suppressed rather than shown.
  • Graded outlooks: the 30-day PSA 9/10 estimate applies the raw model’s predicted move to the slab’s current sold value — a bridge until enough graded history accrues to train a dedicated graded model.

What “beta” means

Every published model carries a beta badge until it has accumulated 90 days of live, forward-looking accuracy — performance measured on dates that occurred after the model was frozen, not just on backtests. Until then, treat the outlooks as a preview.

Data & limits

  • Prices: raw prices are TCGplayer daily market medians (never seller asking prices); graded prices are eBay sold medians by grade.
  • Singles only: we deliberately do not track or promote sealed product (booster boxes, ETBs, packs). Cards, raw and graded — that’s the whole scope.
  • Shocks: the model learns from history and cannot anticipate reprints, bans, tournament results, or sudden hype.
  • Liquidity: thinly-traded cards have noisier prices and wider bands — read the range, not just the point.

Questions or spot something off? This page evolves with the model. Not investment advice. See what’s moving →