Skip to content
Castbase

4 min readCastbase

How Castbase values diecast

The exact method behind every price on this site — what counts as evidence, how condition is normalised, how outliers are rejected, and when we admit we don't know.

methodvaluationmarket data

Every valuation on Castbase is a number we can show our working for. This page is that working.

What counts as evidence

Three sources, in strict order of preference:

  1. Completed sales on Castbase. A buyer and a seller each independently confirmed that the item and the cash changed hands. This is the only source that earns high confidence.
  2. Member-reported purchase prices. What people said they paid. Used only when no sales exist, and capped at low confidence forever — it is self-reported, and retail or friend prices systematically understate resale value.
  3. A curator's reference price. A hand-entered figure, used only when there is nothing else at all.

What is not used: asking prices, active listings, external marketplaces, auction watch counts. An item listed at RM 500 that nobody buys is not worth RM 500, and treating it as evidence is how price guides end up describing a market that does not exist.

Normalising for condition

A sealed carded copy and a loose, played-with one are the same casting in very different states. Averaging their prices produces a number that describes neither.

So every observed price is first converted to what the same casting would fetch at a reference state of mint, carded, using two multipliers:

ConditionMultiplier
Mint1.00
Near mint0.88
Good0.70
Fair0.48
Poor0.25
PackagingMultiplier
Carded / sealed1.00
Opened box0.78
Loose0.55

The two multiply together. A good, loose copy is held at 0.70 × 0.55 = 0.385 of reference — so if one sells for RM 19.25, that implies a reference value of RM 50.

When you look at your own item, the process runs backwards: the reference median is multiplied back down by your copy's own state. That is why two members owning "the same car" see different numbers, and why they should.

These multipliers are deliberately conservative starting values. Once enough sales exist across every condition bucket, they get re-fitted from the real data rather than left as constants.

Rejecting outliers

Collectible prices are long-tailed, and people mistype. An extra zero turns RM 25 into RM 250, and a naive mean happily believes it.

Castbase uses a modified z-score built on the median absolute deviation. The reason for MAD rather than standard deviation is specific: a standard deviation is itself inflated by the outlier you are trying to detect, so an extreme value partly hides itself. The median absolute deviation is not moved by it.

Observations more than 3.5 modified z-scores from the median are dropped. Samples of fewer than four are left completely alone — with three datapoints there is no distribution to call anything an outlier against.

Recency weighting

The headline median is weighted so that recent sales count for more, on a 120-day half-life: a sale from four months ago carries half the weight of one from today, a sale from eight months ago a quarter.

The spread figures — the 25th percentile, 75th percentile, low and high — are deliberately not weighted. The headline should track where the market is now; the range should still describe the whole market you might actually encounter.

Confidence

DatapointsConfidence
0None
1–2Low
3–9Fair
10+High

Confidence gates what the site is willing to say. A listing only shows an "above/below market" comparison when the underlying valuation is fair or better. The public "most valuable" and "biggest movers" tables exclude anything below fair. A number resting on one sale is shown, but labelled as resting on one sale.

Trend

The 90-day trend compares the median of the last 90 days against the 90 days before that. It is only calculated when both windows contain at least two sales. One sale on either side produces a percentage that looks precise and means nothing, so we show a dash instead.

What this method gets wrong

Worth stating plainly:

  • Thin markets. Most castings have few or no sales. The engine says so rather than guessing, but that means a lot of dashes early on.
  • Regional variation. A Klang Valley price and a Kuching price are pooled together. With cash-on-delivery settlement, distance genuinely affects what a thing sells for.
  • Grading is self-assessed. One member's "near mint" is another's "good". The condition hints on every form exist to narrow this, but it stays a real source of noise.
  • Variations get conflated when a submission is matched to a close-but-not-identical catalog entry. This is why the curator queue matters, and why creating a duplicate entry is treated as the more dangerous mistake — splitting a casting's history weakens two valuations at once.

The short version

Castbase would rather show you a dash than a confident-looking number it cannot defend.

Put it into practice

Log what you own and Castbase tracks its value for you, from real completed sales.

Start your collection