Valuation accuracy
Market context: TGGI 108.87 ▲0.01% · 2026-11-03 · the index
Every valuation site says it is accurate. Almost none publishes a number that could embarrass it. This page is that number: how far our estimates are from real Fragment sale prices, measured on sales the model never saw, with the sample size and a 95% interval next to every figure. Where we are bad, it says so. These are statistics, not promises.
Statistics, not promises: a backtest is not a forecast, an estimate is not a price, and a good month is not a guarantee.
Three rules govern this page
- Out of sample only. A number measured on the data the model was tuned on is not evidence. We report it separately, labelled in-sample, and never as the headline.
- A figure is published only when it is precise enough to be useful. A share becomes a headline only when its 95% interval is at most 10 percentage points wide. Otherwise it is labelled preliminary and shown with its n.
- Nothing is backfilled. If a number gets worse, it changes here, with a date.
The short version
| Question | Answer | Sample | Label |
|---|---|---|---|
| How far off is a gift valuation, typically? | median error 16.7% (95% CI 16.7–19.8%) | 999 sales | headline |
| How often is a gift estimate within ±20%? | 58.0% (54.9–61.0%) | 999 | headline |
| How far off is a username valuation, typically? | median error 28.2% (21.8–42.8%) | 170 sales | preliminary |
| How often is a username estimate within ±20%? | 37.1% (30.2–44.5%) | 170 | headline |
| What does the live forward record say? | 9 settled, 141 open — below our threshold of 30 | — | not published |
If you read only one line: we are a floor-and-comparable model, not an oracle. Under 10 GRAM we are closest (12.5% median error); above 100 GRAM we are often far too low, and we say why below.
Gifts: 16.7% median error, and a bias above 10 GRAM
What was measured. 5,834 real paid Fragment sales across 102 collections, collected 2026-10-31. Each sale is estimated using only sales that happened strictly before it, with the item itself excluded. The floor used is the one our scan published the day before, never the day of the sale. Scored window: 2026-10-20 .. 2026-10-31. Parameters were chosen on data up to 2026-10-25 and then scored once on the holdout, 2026-10-26 .. 2026-10-31.
The honest view. In 31% of scored sales the sale price was within 0.5% of the day-before floor and the next day's floor was higher or had fewer listings. In those rows the “floor” was almost certainly the sold gift's own asking price. The live site excludes the item's own listing, so those rows flatter the floor-based centre. The tables below drop them — that is the conservative view, and the one we headline.
By price tier — the most useful table on the page
| Tier | n | Median error | Bias | Within ±20% | Label |
|---|---|---|---|---|---|
| <10 GRAM | 662 | 12.5% (11.1–14.3%) | 0% | 69.6% | headline |
| 10–100 GRAM | 306 | 34.4% (30–40%) | −25% | 35.3% | headline |
| 100+ GRAM | 31 | 73% (37–78%) | −67% | 32.3% | preliminary |
Read the bias column literally: above 10 GRAM our floor-based centre is systematically below what single gifts actually sell for. A gift at 199 GRAM with a rare backdrop is not worth the collection floor, and our model knows it is missing that. Until a hedonic upgrade ships, treat any estimate above 10 GRAM as a lower bound with a wide top, and the 100+ tier as an order of magnitude rather than a price.
The number we refuse to headline
If we keep the rows where the floor was probably the item's own ask, the median error drops to 1.35% (n = 1,453). It looks spectacular. It is an artefact of measuring a price against itself. It stays in the backtest file for transparency and will not appear in a headline, an ad or a pitch.
Usernames: 28.2%, and the correction we already published
Our public model changelog used to say “median error 5.2%” for usernames. That figure is in-sample: it was measured on the last 90 days of sales, which is exactly the window the model parameters were tuned on. It is not evidence of future accuracy, and it has been replaced on /how-we-value with a dated note. The honest measurement is the window the model never saw: median error 28.2% (95% CI 21.8–42.8%), n = 170, 37.1% within ±20% (30.2–44.5%). The figure is preliminary: the interval is wider than 10 points.
A 12.2× range means: for a handle we value at 100 GRAM, the honest 80% range spans roughly 29 to 350. That is not a useful range, so we do not show a calibrated range for usernames. A wider range is not more honest; it is the same guess wearing a costume. Username estimates stay as they are, with the range we can defend, and the method runs in shadow mode pending forward evidence.
Sub-segments on the holdout, because an average hides the failure
| Segment | n | Median error | Note |
|---|---|---|---|
| Word-like handles | 99 | 50% (40.0–58.5%) | the weakest segment by far |
| 4-letter handles | 45 | 19.2% (15.4–20.1%) | bias +13.7% (we over-estimate) |
What the live forward record says (nothing, yet)
Every day we freeze a stratified sample of our own estimates and compare each one with the real sale price when the item sells. Today: 9 settled, 141 open. Our rule is that the live number appears only after 30 estimates have settled, so the page shows a counter, not a percentage — and it will keep showing a counter until the sample is large enough to mean something. The live file is public: /data/valuation-accuracy.json. We could publish a number from 9 sales. It would move by tens of percentage points with each new sale. That is not accuracy reporting; that is noise with a decimal point.
What the hunt record shows, and why it is not an accuracy number
As of 2026-11-02: 35 hunts older than 24 hours — 17 gifts, 7 fixed-price usernames, 11 username auctions. Outcomes: 17 sold, 9 still listed, 9 unknown.
- Gift hunts that sold, sold at the asking price. In 6 of 6 cases the sale price was at or just below the alert price (median ratio 1.00; range 0.91–1.00). The alert was a genuine below-floor listing; the buyer simply paid the ask.
- On those same 6 sales our estimate was a median 25.3% above the realised price (range +19.2% to +34.6%). Our estimate was not validated by the sale — it was capped by it.
- Username auctions are worse. Across 11 settled auctions our estimate was a median 3.06× the final price. These are short, pattern-like handles where the class model has almost no comparable evidence; the auction found the real price and it was a third of ours.
The caveat that makes these numbers nearly useless as accuracy measures: hunts are a selected sample — items that were already listed below our estimate. Selection guarantees that realised prices cluster at or under the estimate, so this record can show you what happened to the items we flagged, but it cannot tell you how accurate the model is in general. Only the backtest above and the forward record can do that.
What this page does not claim
- Not a forecast. An estimate is a statement about comparable sales, not about what your item will fetch next week.
- Not a promise. In-sample numbers are not a promise, a backtest is not a promise, and a good month is not a promise. The only thing we commit to is publishing the number when it gets worse.
- Not a price. We do not set prices, we do not buy, and we do not guarantee a buyer at any level.
- Not the whole market. Every sale here is from Fragment. Getgems, Portals, Tonnel and MRKT quote different floors for the same collection: on 2026-11-02, across 102 collections listed on both Fragment and Portals, the median difference was −14.2% (Portals cheaper) and 47 collections differed by 15% or more. A Fragment-based estimate is a Fragment-based estimate.
- Not audited by a third party. The code, the data and the method are ours. We publish the method, the sample sizes and the intervals so you can check the reasoning rather than trust a logo.
How to check us
- Backtest: rolling-origin walk-forward on real Fragment sales, no leakage, parameters frozen before the holdout, bootstrap intervals on medians and Wilson intervals on shares. Run 2026-10-31, method v2.
- Live accuracy file: /data/valuation-accuracy.json — settled, open, window and the model changelog, machine-readable.
- Track record: /track-record and /track-record.json — every hunt with its Fragment link, so any outcome can be checked at the source.
- Method: /how-we-value for gift and username valuation, and /index for the market index.
- Corrections: dated, never silent. The 5.2% → 28.2% username correction is already live on /how-we-value with its dated note; this page repeats it rather than burying it.
Questions
Is 16.7% a good median error?
It is honest, not good. It means half of our gift estimates are closer than 16.7% and half are further. Under 10 GRAM we are at 12.5%; above 100 GRAM at 73% (n = 31, preliminary). Anyone quoting a single accuracy number without tiers is hiding the top of the market.
Why do you drop rows from your own backtest?
Because in 31% of scored sales the day-before floor was almost certainly the sold item's own asking price, so the estimate was measured against itself. Keeping them would give a 1.35% median error that flatters the model. We publish both and headline the conservative one.
Do you guarantee a valuation?
No. An estimate is a statement about comparable sales, not a promise. We do not set prices, we do not buy, and we do not guarantee a buyer at any level.
Where can I see the raw numbers?
The live accuracy file is /data/valuation-accuracy.json, the hunt record is /track-record.json, and the daily floor dataset is CC BY 4.0 with a DOI: 10.5281/zenodo.23897620.
Backtest run: 2026-10-31 · Live record read: 2026-11-02 · Page: 2026-11-03