Every number on Pokeforecast has a source behind it. This page explains where the data comes from, how often it updates, and what each figure should and should not be used for.
The goal is simple. We want collectors to understand the market without pretending the data is perfect. Card prices move, listings get weird, sales data can be thin, and grading numbers only tell part of the story. Pokeforecast is built to make those numbers easier to read, not to turn them into guarantees.
If something looks wrong, tell us. Bad data gets fixed faster when someone points directly at the issue.
Where the Prices Come From
Raw card prices come from TCGplayer through TCGCSV’s daily mirror of TCGplayer’s public market feed. That data is the backbone of Pokeforecast. It powers set values, the market index, price history, raw card values, and the raw cost basis used in grading calculations.
TCGplayer Market Price is TCGplayer’s estimate of what a card has recently sold for on its platform. It is not an offer. It is not a buylist price. It is not what a shop will pay you if you walk in with the card today.
What makes it useful is consistency. Because it is a public daily reading from the same marketplace, it gives us a steady way to track movement over time.
Per condition prices, graded sale prices, eBay sales volume, and population data come from PokemonPriceTracker. Those numbers are explained in more detail below.
Prices refresh daily. Individual card pages refresh on a seven day cycle and can also be refreshed on demand.
How far back the data goes: Our daily price history starts on May 19, 2026. Anything before that is not in the current Pokeforecast dataset.
That is why you may see 30 day and 90 day changes on set pages, but not yearly changes yet. The history gets deeper by one day every day, and we are also working on pulling older pricing data from TCGplayer’s public archives.
Condition Prices
The TCGplayer Prices table on each card page shows values from Near Mint through Damaged for that specific printing.
Before September 2026, Pokeforecast estimated condition prices from the Near Mint price using fixed market ratios. Those figures were marked as estimates. Condition pricing now uses real per condition figures published by the marketplace.
If a card still shows estimated condition values, that usually means the page has not been refreshed yet.
Near Mint is the default price used across the site unless a page clearly says otherwise. That matters because condition changes the value of a card quickly, especially for older cards where the gap between Near Mint and played copies can be significant.
Graded Card Prices
The graded prices grid shows completed eBay sales by grade over the last 90 days. Each price also shows the number of sales behind it, because the sample size matters.
These are real completed sales. They are not modeled from the raw price, and they are not asking prices from active listings. A grade with two sales behind it should not be trusted the same way as a grade with hundreds of sales behind it.
That is why the sale count is shown under every figure.
There is one important limitation. Our source identifies grades by reading eBay listing titles, and premium designations are not separated from standard grades. A CGC Pristine 10 is counted as a CGC 10. A BGS Black Label is counted as a BGS 10.
Those premium grades can sell for much more than a normal 10. On cards where those sales exist, the 10 tier can be pulled upward by copies that are much harder to earn than a standard gem mint card.
We would rather explain that clearly than quietly publish a blended number and let collectors assume it means something cleaner than it does.
Raw eBay sales are shown separately from graded sales above the grid. Those are ungraded copies sold on eBay in whatever condition the seller shipped. That number will not always match the TCGplayer Near Mint price because they are two different marketplaces, two different pricing methods, and often two different condition pools.
Population Data
Population counts come from GemRate and cover PSA, BGS, CGC, and SGC.
Gem rate shows the share of a card’s graded population sitting at 10. That includes CGC Pristine and BGS Perfect where those grades exist.
Some newer grading companies, like TAG, may appear in sales data but not in population reports. That means a card can show TAG sale prices without showing a TAG population count.
Population data is useful, but it should not be treated as your personal chance of getting a 10. People usually submit cards they already believe have a strong shot at grading well. That makes published gem rates much higher than what a random raw copy would likely achieve.
Use population data to understand how many high grade copies exist. Do not use it as a promise that your copy will hit the same grade.
Grading ROI
Grading ROI compares what a card is worth raw against what it sells for graded.
The raw cost comes from the current Near Mint TCGplayer price. The graded value comes from real eBay sold prices for that grade. Grading fees are configurable and are applied on top of the raw card cost.
The key limitation is that Pokeforecast shows what each grade sells for, not your odds of earning that grade.
Population data is the closest available guide, but even that can be optimistic because submitted cards are not random. A strong grading ROI should be treated as a reason to inspect the card more closely. It should not be treated as an expected return.
This matters most with vintage. A raw vintage card may show excellent upside in PSA 10, but raw vintage reaches PSA 10 at very low rates. “Grade it” should mean “this card may be worth assessing,” not “send it without thinking.”
Market Movers
Market Movers ranks the biggest price changes over 7 and 30 days.
That sounds simple, but raw percentage change can be misleading. A card moving from 25 cents to $2 looks huge as a percentage, but that does not always mean there is a real market trend behind it. Thin data can make a card look like it exploded when really there were only one or two strange price points.
The filters exist to keep that from taking over the list.
Both the starting price and ending price must be at least $5. Percentage swings on penny cards are usually not useful.
Each endpoint is based on a median, not one random day. “Now” uses the median over the last five days. “Then” uses the median within three days of the target date.
There must be at least two price points in each band. Without that, there is no reliable median to use.
The card must also be priced on at least half the days in the window. This is our liquidity check. A card that only gets priced twice a month cannot produce a clean trend.
Moves above 300% are removed as likely data artifacts. Almost all of them are.
Some cards that pass the filters still have thin pricing behind them, or mostly trade as graded copies. Those are marked with a dagger so you know to read the move carefully.
The result is a shorter, quieter list than an unfiltered movers page. That is intentional. A list that highlights a 900% move on two data points might look exciting, but it is usually wrong.
Liquidity Score
Every card on Market Movers has a Liquidity Score from zero to ten. It answers one simple question: how much should you trust the move?
A card can pass every filter and still be a weak signal. A 240% move on a card that only had a price on eight days out of thirty is not the same as an 18% move on a card selling forty copies a week. Before the Liquidity Score, those two moves could look the same on the page. They are not.
The score is built from four inputs.
Coverage makes up 35% of the score. This looks at how many days in the window the card had a price at all. The more consistent the pricing history, the stronger the signal.
Sales volume makes up 35% of the score. This looks at how many copies sell each week on eBay. A card selling five copies a week counts as fully liquid for this part of the score. This is one of the pieces most price tools miss because sales counts are not included in the TCGplayer feed.
There is one important exception. If we have no sales data for a card at all, which is common with older cards, that missing data is not automatically counted against it. That weight is spread across the other inputs instead. A card we know is selling nothing gets a zero here. A card with no available sales record is treated differently.
Price points make up 20% of the score. This looks at how many readings sit behind the weaker side of the move. A change backed by more price points is more useful than a change built on one or two thin readings.
Graded dominance is a 10% penalty. This applies when a card has at least as many graded sales as days with a raw price. The percentage move shown on the page is based on raw pricing, so if most of the card’s market is happening in slabs, the raw move may only represent a small part of the actual market.
Read a score of 7 or higher as a deep market. A score from 4 to 7 is moderate. Anything under 4 is thin.
A thin score does not mean the move is wrong. It means the move is built on limited data, and you should check the card more closely before acting on it.
The weights are intentionally simple. A more complicated model would make the score look more precise than the inputs really allow. The point is not to perfectly rank two strong cards against each other. The point is to separate solid moves from thin ones.
That makes the Movers list shorter and less dramatic than an unfiltered version. That is deliberate. A 900% move on a card with two data points might look exciting, but it is usually not useful.
Most Traded Cards
Most Traded ranks cards by how many copies sell each week on eBay across raw and graded copies.
This is different from Market Movers. Movers tells you what changed in price. Most Traded tells you what is actually changing hands.
A card can sit at the same price for weeks while hundreds of copies sell. Another card can jump 40% because two copies sold higher than expected. Those are very different markets.
Sales volume comes from eBay, averaged over 30 days and shown as a weekly number. Using a full month helps keep one busy weekend from pushing a card to the top for the wrong reason.
The price shown next to each card is the TCGplayer Near Mint price, not an eBay average.
Cards under $5 are excluded because bulk cards can trade constantly without telling you much about real collector demand.
When several cards have the same weekly sales figure, the card with more total money moving ranks higher.
Set Values
The Master Set Value on a set page adds up the current Near Mint price for every card in that set, including reverse holos and secret rares.
The line underneath tells you how many cards in the set actually have a price. That part matters. A total built from 150 priced cards out of 200 is not the same as a total built from the full set.
The 30 day and 90 day changes only compare cards that had prices on both dates. Without that filter, the numbers would be misleading. If a card enters the data halfway through the window, the set could look like it gained value even if no card actually moved. Cards entering or leaving the data are left out of both sides of the comparison.
We also skip days where fewer than half of a set’s cards were priced. That way, a gap in the source data does not show up as a fake drop or spike in the set’s percentage change.
Market Index
The Pokeforecast Market Index tracks the aggregate value of English cards priced on TCGplayer. It is rebuilt daily.
Cards under $1 are excluded so penny cards do not dominate the count. Cards above $10,000 are excluded by default because those are often placeholder asking prices rather than real market readings.
That filter exists for a reason. In August 2026, one card entered the data at exactly $100,000 and moved the index 22% in a single day by itself. That kind of listing does not represent the market, so it should not be allowed to control the index.
A day with fewer than 5,000 priced cards is treated as a source data gap and is not published as a valid reading.
The index measures the market Pokeforecast can see, which means English cards actively priced on TCGplayer. It is a thermometer for that part of the hobby. It is not a full valuation of the entire Pokémon card market.
Price Predictions
Pokeforecast predictions are generated from a card’s own price history.
They are estimates of where the current trend points. They are not guarantees of what a card will be worth.
That distinction matters because card prices can change for reasons no model can see ahead of time. A reprint can hit. A tournament result can move a playable card. A set can rotate. A creator can make a card go viral. A sealed product can restock. A collector trend can disappear as quickly as it started.
A prediction should be one input in your decision, not the whole decision.
The Card Scanner
The card scanner uses image recognition to match your photo against the card database. It works best when the whole card is in frame, the lighting is even, and there is no glare across the holo surface.
Misidentifications can happen, especially when two printings look nearly identical and only differ by a small set symbol, stamp, or number.
Always check the set and card number before trusting the price. If the scanner is not confident, use the match options to choose the correct printing. Once the card is corrected, the price, condition options, and grading numbers update with it.
What We Do Not Track
Pokeforecast does not track every sale in the hobby.
Sales outside eBay and TCGplayer are not included. That means auction results from Fanatics Collect, Goldin, PWCC, Heritage, and other auction houses are not part of the card page data. Record setting sales often happen through those venues, which is why a card can sell for a massive number and still not show that sale on Pokeforecast.
Premium grade designations are not separated into their own tiers. CGC Pristine 10s and BGS Black Labels can be included in the broader 10 category, as explained in the graded prices section.
Sealed product condition is not split into separate condition tiers. Sealed is treated as one price.
Non English cards are only covered where we list them directly. Japanese cards are included where available and are marked as JP.
That start date applies to every historical number on Pokeforecast, not just set changes. If a figure depends on price history, May 19, 2026 is the earliest point currently available in our data.
That is worth saying publicly because it explains why some longer term numbers do not appear yet.
It is also the clearest reason to run the TCGCSV backfill when there is time. Extending the historical data would improve Market Movers, the Market Index, and set pages all at once.
Corrections
If you see a wrong price, a missing variant, a card that will not scan, or a number that looks impossible, send it to us.
Please include the card page URL and what you expected to see. The more specific the report is, the faster we can check it and fix the issue.
