Plans
Charizard 1st Edition Shadowless PSA 10
Charizard 1st Edition ShadowlessBASPSA 10$400,92211.1%
Aerodactyl ex Holo PSA 10
Aerodactyl ex HoloESSPSA 10$4,0650.0%
Dark Charizard 1st Edition PSA 9
Dark Charizard 1st EditionTROPSA 9$2,5132.2%
Mega Charizard X ex Holo PSA 10
Mega Charizard X ex HoloPHFPSA 10$2,1050.0%
Suicune 1st Edition PSA 9
Suicune 1st EditionNRVPSA 9$1,90521.4%
Charizard Unlimited PSA 8
Charizard UnlimitedBASPSA 8$1,2840.8%
Blaine's Arcanine 1st Edition PSA 9
Blaine's Arcanine 1st EditionGYCPSA 9$1,1556.4%
Espeon Holo PSA 8
Espeon HoloAQPPSA 8$1,1050.1%
Houndoom 1st Edition PSA 8
Houndoom 1st EditionNRVPSA 8$1,04222.1%
Misty's Gyarados 1st Edition PSA 9
Misty's Gyarados 1st EditionGYCPSA 9$8851.9%
Slowking Holo PSA 9
Slowking HoloNEOPSA 9$8774.5%
Crobat Holo PSA 9
Crobat HoloSKRPSA 9$8464.2%
Snorlax Holo PSA 9
Snorlax HoloJUNPSA 9$7922.0%
Charmander Holo PSA 10
Charmander HoloMEWPSA 10$6650.2%
Dark Charizard Holo PSA 8
Dark Charizard HoloTROPSA 8$5263.5%
Charmeleon Holo PSA 10
Charmeleon HoloMEWPSA 10$5120.5%
Blaine's Moltres 1st Edition PSA 8
Blaine's Moltres 1st EditionGYHPSA 8$5013.4%
Giovanni's Gyarados Holo PSA 9
Giovanni's Gyarados HoloGYCPSA 9$4200.8%
Sabrina's Alakazam 1st Edition PSA 8
Sabrina's Alakazam 1st EditionGYCPSA 8$4093.7%
Dark Machamp 1st Edition PSA 9
Dark Machamp 1st EditionTROPSA 9$3625.3%
Mew ex Holo PSA 10
Mew ex HoloMEWPSA 10$3292.6%
Meganium Holo PSA 9
Meganium HoloNEOPSA 9$3280.3%
Dragonite Holo PSA 8
Dragonite HoloFOSPSA 8$3083.3%
Machamp 1st Edition Shadowless PSA 9
Machamp 1st Edition ShadowlessBASPSA 9$3046.8%

Index Methodology

Fair value tells you what one copy is worth and market cap tells you what all the copies are worth, but neither answers the question a serious collector actually asks: how is the market moving? TCGBerg indices are cap-weighted, evidence-dampened benchmarks built to answer it. Each one tracks a whole set or a single print run within a set, at one grade tier or as a composite across tiers. They are denominated in points, base 100 at inception, so a level of 138 reads directly as up 38% since that index began. The level moves only with the value of its constituents: population growth and membership changes are absorbed into a divisor, the same mechanism major equity indices use, so they never create an artificial jump. This page covers construction, maintenance, and limitations.

Maintained by the TCGBerg research team · Last updated August 20, 2026

Construction

Indices are derived from the data rather than curated by hand. Each one is defined by two things:

Scope. Either a whole set, or a print run within a set (1st Edition Shadowless across all the cards in Base Set, for example). Print runs are discovered systematically by grouping printings on their attributes, so there is no set-specific logic anywhere: a newly onboarded set gets its full family of indices automatically.

Grade variant. Either a single grade tier, or the composite. The composite spans PSA 7 through 10, which is deliberately narrower than the PSA 6 through 10 range fair value covers: grade 6 is a thin, erratic tier on most cards and including it added noise to a benchmark without adding signal.

The level is the aggregate value of the constituents divided by a divisor, and the divisor exists so that the level reflects price movement and nothing else. On the first date an index has enough eligible constituents to be meaningful, the divisor is set so the level starts at exactly 100. Everything after that is relative to that inception point.

Eligibility and Weighting

An atom is eligible to be a constituent when it has a fair value for the date, a non-zero graded population, and it matches the index's scope and grade filter. That is the whole test.

Sales evidence is deliberately not an eligibility gate. Filtering on it would churn membership in and out as scores fluctuate week to week, which would make the index a record of our own data quality rather than of the market. Instead, every eligible atom is included and weighted by its market cap, dampened by its sales evidence: an atom whose fair value we trust contributes close to its full cap, while a noisy one contributes proportionally less. The dampening is gentle by design, so well-evidenced atoms pass through nearly unchanged and thinly evidenced ones are quietened rather than silenced. Nothing is ever excluded outright for being uncertain.

An index only publishes once it has enough eligible constituents to be statistically meaningful; below that threshold it pauses rather than print a level that a single card could swing. And an atom that loses eligibility is not yanked the moment it disappears: a single missing date never removes anything, only ineligibility sustained over a buffer period does, and the removal lands at the next scheduled rebalance.

The Continuous Divisor

The fundamental rule: population growth must not inflate an index. If a grading company slabs 500 more copies of a card this month, the market has not become more valuable in the sense an index should report; there is simply more of it counted. Only price action should move the level.

So each day, before computing the level, the engine checks whether any constituent's population has changed. When it has, it works out what the aggregate would have been under the previous populations, compares that with the aggregate under the new ones, and rescales the divisor by the difference. The level is identical either side of the change; what the change does is redistribute the constituents' weights, which affects future moves rather than the current level.

The same mechanism handles membership. When constituents are added or removed at a rebalance, the divisor is adjusted so the level is unchanged at the moment of the change. This is the standard continuous-divisor approach the major equity indices use for exactly the same reason.

Every index page exposes its rebalance log: the divisor before and after, the change in aggregate value, and the exact constituents added and removed. The series is auditable and replayable rather than something you have to take on trust.

Rebalances

On a scheduled cadence, currently weekly, the constituent universe of every index is re-evaluated:
  - Print runs are re-discovered from current data, so newly onboarded sets and printings join automatically.
  - Eligibility is re-checked for every atom in the index's potential universe.
  - Newly eligible atoms are added; atoms whose ineligibility has persisted through the buffer period are removed.
  - The divisor is adjusted so the level is continuous across the change, and the event is recorded with its full diff.

Most rebalances change very little: a handful of additions or removals and a fractional divisor move. The weekly cadence is a deliberate middle ground. Rebalancing on every tick would churn membership on temporary data droughts; waiting months would leave a newly tracked card outside its index long after it should have joined.

Two Guards On What Gets Published

Two mechanisms can stop an index printing a value, and both exist because the alternative is publishing a number that is arithmetically defensible and obviously wrong to a reader.

An implausible one-day move is withheld, not published. If an index's level would move beyond a ceiling calibrated from the observed behaviour of clean index history, the engine treats it as a data artifact rather than a market event and publishes nothing for that date. A genuine market does not double overnight; a broken input can. We would rather show a gap than a spike that later has to be explained away.

A long gap re-seeds rather than chains. If an index has not published for an extended period, its old divisor is no longer meaningful, because the fair values underneath it have moved on. Resuming would chain a stale divisor onto current values and produce a nonsensical level. Instead the index re-seeds at 100 and starts a fresh comparison from that point.

Both are visible: an index that pauses shows a gap in its series rather than an interpolated line.

Limitations

Known limitations of the current index family:
  - Single-grader scope. Published indices are PSA-based. BGS and CGC populations are tracked but their atoms carry no fair value yet, so they cannot be constituents. Cross-grader indices wait on that.
  - Half grades are excluded. Half-grade sales inform fair values at the parsing level but do not form their own atoms in the index engine.
  - Composites span PSA 7 to 10, not the full PSA 6 to 10 fair-value range.
  - No concentration caps. A single dominant card can carry a large share of its index, which is a faithful reflection of how the market is distributed but does mean some indices are effectively tracking one or two cards. Capped variants are a possible future addition.
  - Historical population is not reconstructed. Index history inherits the market cap layer's use of the latest known population reading for past dates, which biases old absolute levels slightly upward. Relative moves are unaffected.
  - No raw indices. There is no population analog for ungraded cards, so there is no honest way to weight a raw index yet.
  - Levels are inception-relative. Each index starts at 100 on its own inception date, so two indices with different inception dates are not directly comparable as levels, only as percentage moves over a shared window.

Frequently asked

Why cap-weight instead of equal-weight?
Cap weighting reflects market-implied importance: the cards the market values most contribute most. Equal weighting would give a bulk common the same say as a Charizard, producing a benchmark that does not describe how value is actually distributed in the set it claims to track.
How does sales evidence affect the index?
Each constituent's market cap is dampened according to its sales evidence before it is weighted, so a well-evidenced card contributes close to its full cap and a noisy one contributes meaningfully less. Nothing is excluded for thin evidence, because a hard cutoff would churn membership as scores drift across it.
What is the divisor for?
It isolates the level from everything that is not price action. Population growth and membership changes rescale the divisor so the level is continuous through the event, and afterwards only fair-value moves change it. It is the same mechanism the major equity indices use when a company joins or leaves.
Why did an index pause or skip a day?
Three reasons, all deliberate. It had too few eligible constituents to be meaningful that day. Or its level would have moved implausibly far in one step, so the value was withheld as a likely data artifact. Or it had been dormant long enough that resuming meant re-seeding at 100 rather than chaining a stale divisor.What it should never be is a jump caused by population or membership changing, since those are divisor-absorbed and logged.
How often do rebalances change much?
Rarely. Most scheduled rebalances see zero to a few constituent changes and a fractional divisor move. Every event is listed on the index page with the constituents added and removed and the divisor before and after.
Can I see the historical level series?
Yes. Each index page charts its level history since inception alongside its current constituents and its rebalance log, so you can see both where the index has been and exactly what has been in it.