How accurate this is, measured.
HumbleWorth is a filter, not an appraisal. The name was picked for a reason. This page is what happened when its auction estimates were scored against 2,812 auctions we watched close, including the parts that went badly.
- Better than random at the top of a list The top 10% by estimate held a quarter of every four-figure close
- 2.5x
- Of priced names within a factor of two Of the 550 it put a number above zero on, against the close
- 31%
- Of these names were estimated at $0 Their median close was $195, and 1 in 18 cleared $1,000
- 80%
- Identical answers on a repeat request Five ways of asking, no figure moved by a cent
- 100%
2,812 domains · 7 marketplaces · closes recorded 15 August 2026 to 20 August 2026 · model humbleworth/price-predict-v1
The short version
The estimates are not invented and they are not accurate. Both halves of that matter, so here is each one with the number attached.
They are not invented: the same domain returns the same three figures on every request, every time, and this page shows the test. They come from a model fitted on roughly three million reported sales, described in full on the methodology page.
They are also not accurate, in the sense most people mean by the word. Of the names this test gave an estimate above zero, 31% closed within a factor of two of that estimate. A tool that is wrong by more than 2x on two names in three is not telling you what a domain is worth.
What it does do is order a list. Sort a pile of names by the estimate and the top tenth of that pile held a quarter of every domain that closed above $1,000, about 2.5 times what the same slice would have caught at random. That is the whole claim. It tells you where to look first, and then you do the work.
What was measured
We already run an hourly record of live domain auctions, so the test writes itself: take every auction we watched close, ask the model for a figure on each name, and compare that against the last price it reached before the bidding stopped.
- Domains scored 2,812
- Auction listings behind them 3,573
- Marketplaces GoDaddy, Dynadot, Sav, DropCatch, NameJet, park.io and Catched
- Closes recorded 15 August 2026 to 20 August 2026
- Model humbleworth/price-predict-v1@a925db84
These are not dropped domains, whatever the shorthand suggests. Most of the record is expiry auctions: the owner did not renew, and the registrar is selling the name before it drops. A twentieth of it is somebody selling a name they still hold.
| Kind | Share | Median close |
|---|---|---|
| Expiry auction The owner did not renew. Sold by the registrar before it drops | 68% | $288 |
| Dropped or caught It reached the drop. A catcher or backorder service is selling it | 17% | $59 |
| Mixed NameJet, whose label does not separate the two | 10% | $115 |
| Private seller An owner listing a name they still hold. Nothing expired | 5% | $98 |
Four things about that sample decide what the numbers below can mean.
- Every close is an auction. Nothing here tests the marketplace or brokerage estimates, because a domain sold through a broker never appears in an auction feed and those prices are mostly private.
- It is the busy end of the market. The ingest asks every source for its most contested auctions first and stops, so this is the top of the secondary market rather than a random draw from it. The quiet long tail, where most inventory sits and nothing sells, is not represented.
- The close we record is a floor. It is the last price we observed, a median of about 10 minutes before the auction ended. A name that ran in the final minutes closed at or above the figure used here.
- One row per name. 761 of the listings were the same domain running at two venues at once, which is normal for a pending-delete .com. Those are folded together and scored against the higher close.
The raw output lives in the repository at reports/accuracy/backtest-2026-08-20.json, and npm run backtest regenerates it.
It sorts, it does not price
Nobody reads two thousand estimates to price one name. They read them to decide which twenty names to open. So the useful question is not how close each figure landed, it is this: if you sort a list by the estimate and work down from the top, how much of the money do you find?
Every score below is applied to the same 2,812 names. A lift of 1.0 means the ordering did nothing a coin could not.
| Sort the list by | Top 10% | Top 30% | Lift |
|---|---|---|---|
| Bid count on the live auction Beats every model, and only tells you once the crowd has arrived | 34% | 63% | 3.4x |
| HumbleWorth auction estimate Known before the auction opens | 25% | 38% | 2.5x |
| HumbleWorth brokerage estimate Holds its edge deeper into the list than the auction figure | 24% | 42% | 2.4x |
| The marketplace's own estimate GoDaddy on its listings, an Estibot appraisal on Dynadot’s | 19% | 35% | 1.9x |
| Shortest name first The obvious heuristic, and barely better than a coin | 11% | 23% | 1.1x |
Read the second row as the honest headline. A quarter of the four-figure closes sat in the top tenth of the list, which is worth having and is a long way from remarkable.
The first row is the one worth sitting with. Bid count beats every model here and it is not close. If you want to know which auction is going to end high, count the bidders. The catch is in the timing: a contested auction is contested because everybody else already found it, and by then the price reflects that. An estimate is worth something precisely because you can read it before the auction opens, on a list of names nobody has looked at yet.
How close the number itself gets
Badly, and this is where the estimate deserves the least trust. Of the 2,812 names, 550 were given an auction estimate above zero. Scoring those against what they actually closed at:
| Measure | Result |
|---|---|
| Closed within 2x of the estimate | 31% |
| Within 3x | 45% |
| Within 5x | 61% |
| Within 10x | 80% |
| Median close, divided by the estimate | 0.65 |
The median ratio of 0.65 says the typical name closed at about two thirds of its auction estimate, so the figure runs high on this population rather than drifting in both directions. One name in five landed outside a factor of ten.
Inside that same group the ordering holds up well. Among names the model priced above zero, the rank correlation with the closing price is 0.46, which is a genuinely useful signal. Across the full sample it is -0.07, which is nothing at all. The difference between those two numbers is the next section.
What a $0 estimate means
80% of the names in this sample came back with an auction estimate of $0. That is by design. The model was trained with two years of dropped domains counted as worthless, on the reasoning that a name nobody renewed is a name nobody wanted, and it is where the “Humble” in the name comes from.
It is also, on this evidence, the single biggest thing the tool gets wrong. Those 2,262 zero-rated names had a median close of $195. 34% of them closed above $500. On GoDaddy's auctions, 28% of the names rated $0 closed above $1,000, and the biggest was nictusa.com at $8,250.
So read a $0 the way it is meant: the model sees no auction demand it recognises. It is not a claim that the name is worthless, and it is wrong often enough that you should never drop a domain on the strength of it alone.
What a former website does to the price
There is a problem with the test itself, and it runs one way. Some of what closes at an expiry auction is not a bare name. It is a domain that carried a real website until recently, and it arrives with backlinks and search authority still attached. Those names attract a different kind of bidder, and the model has nothing to say about them. It reads the string. Nothing else.
GoDaddy is the only source that ships referring-domain data, and only on about half its rows, so this is a measurement on 247 names rather than the whole record. About a quarter of those arrived with a real link profile. Sorted into three bands, every column moves the same way.
| Band | Names | Median close | Closed over $1,000 | We rated $0 |
|---|---|---|---|---|
| Bare name Under 10 referring domains | 78 | $345 | 15% | 49% |
| Some links 10 to 49 referring domains | 106 | $407 | 25% | 60% |
| Carried a website 50 or more referring domains | 63 | $830 | 41% | 90% |
More links, higher close, and the model progressively stops having an opinion: it rates 49% of the bare names at zero and 90% of the linked ones. That is what a model which cannot see a backlink is going to do. The misses cluster there too. Of the 46 zero-rated names in this subset that closed above $1,000, 54% had a real link profile, against a 26% base rate in the same set.
The same thing shows up in what tracks these prices. SEMrush's authority score correlates 0.45 with the close on those rows and our auction estimate manages -0.05. That is an association rather than a proof of cause, and 247 rows from one marketplace cannot carry more than that. But it points at something the tool is not built to see.
Turn it around and the direction reverses. On bare names, the ones this model was actually built for, the top fifth of the list holds 50% of the four-figure sales against 12% on the linked ones. Of the 40 bare names it priced above zero, 48% landed within a factor of two, against 40% across all of GoDaddy's priced names. Forty names is a small number and the gap is a few points, so read that as a direction rather than a result.
None of which is an excuse. Somebody who ran a name through this tool and got a figure six times too low does not care that the gap was link equity. What it changes is the advice: if the domain you are looking at had a real site on it, this estimate is answering a smaller question than the one you are asking, and the number you need comes from the backlink and traffic data instead. That is the job the website estimate exists to do.
Where it runs backwards
The clearest single result in this test is evidence against the tool, so it gets its own table. Take Dynadot expired .com auctions, split them into five bands by what the model thought they were worth, and look at the last price each band reached.
| Brokerage estimate band | Median brokerage estimate | Median close | Median bids |
|---|---|---|---|
| Lowest fifth | $0 | $515 | 17 |
| Second | $12 | $614 | 18 |
| Middle | $56 | $545 | 15 |
| Fourth | $141 | $265 | 15 |
| Highest fifth | $1,057 | $61 | 15 |
One marketplace, one extension, 1,105 names, and the ordering is upside down. The fifth the model rated highest closed at a median of $61. The fifth it rated at nothing closed at $515.
The bid column is there to head off the obvious explanation. Every band drew much the same number of bidders, so this is not a case of the model liking the names that nobody turned up for. Similar crowds, eight times the money, and the model had them the wrong way round.
The reason is visible as soon as you read the names. A large share of the money in Dynadot's expired auctions is Chinese buyers bidding on pinyin and acronym .coms, and to a model built on English text those look like noise. It has no idea what they are.
| Domain | Closed at | Bids | Our estimate |
|---|---|---|---|
| gaokaogg.com Pinyin. Reads as noise to a model trained on English | $1,649 | 41 | $0 |
| cubiqfoods.com Brandable coinage, and 31 bidders disagreed with the $0 | $2,410 | 31 | $0 |
| lifeonshadylane.com Long, and the model reads length as weakness | $4,050 | 19 | $0 |
| portal-disney.com A trademark, which is a bidding war and a liability at once | $3,226 | 50 | $0 |
It fails in the other direction too, and that failure is cheaper but more embarrassing. These are names the model liked, listed in real auctions, that nobody wanted:
| Domain | Our estimate | Closed at | Bids |
|---|---|---|---|
| nextfocus.com Two clean English words, and nobody turned up | $1,505 | $2 | 2 |
| records.info A strong word on an extension nobody bids on | $1,464 | $3 | 3 |
| bowhealth.com Reads like a brand, sold for the price of a coffee | $224 | $2 | 2 |
The pattern in both tables is the same one. The model rewards a name for reading like English, and the auction market pays for demand. Those two things overlap often enough to be useful and diverge often enough to embarrass anyone who treats the estimate as a price.
Whether the same name gets the same number
This one has a clean answer. The complaint that the figures are invented has a testable version: ask twice, get two answers. So the same names went through the model five different ways and every figure was compared to the cent. The two trials that send one name per request use 60 names rather than 600, because 600 single-name round trips prove nothing the first 60 have not already settled.
| Asked | Names | Identical answers |
|---|---|---|
| The identical request, twice | 600 | 600 of 600 |
| The same names in reverse order | 600 | 600 of 600 |
| Batched in 25s instead of one batch | 600 | 600 of 600 |
| One name per request | 60 | 60 of 60 |
| The same names in upper case | 60 | 60 of 60 |
Nothing moved. This is not a language model being asked for an opinion, it is a fitted model returning the same output for the same input, so two people checking the same domain on the same day see the same three figures. That run writes its own report, kept at reports/accuracy/consistency-2026-08-20.json.
One input change does move the answer, and it is worth knowing about: www.example.com is a different string to the model than example.com, and it will happily return a different, usually higher, number for it. The site does not quietly strip the prefix, because www.com is itself a registered domain and silently valuing a name nobody asked about is worse than asking them to retype it. Enter the bare domain.
Against the other estimators
Two of the marketplaces publish somebody's appraisal beside every listing, which means the same names, on the same day, score us against them. GoDaddy ships its own valuation. Dynadot ships an Estibot appraisal.
Two comparisons, and they answer different questions. Ordering uses every name the marketplace priced, because a $0 is a valid last place and both scores can sort the same rows. Level uses only the names where both estimators named a figure above zero, because a ratio needs something to divide by.
| Compared with | Names | Their lift | Our lift |
|---|---|---|---|
| GoDaddy's own valuation GoDaddy auctions | 465 | 1.92x | 1.68x |
| Estibot, via Dynadot Dynadot auctions | 1,511 | 3.34x | 3.34x |
Nobody wins that one. On Dynadot's names Estibot and HumbleWorth are indistinguishable, and on GoDaddy's their own number is slightly ahead of ours. Every ordering here sits in the same modest band.
| Compared with | Names both priced | Their close ÷ estimate | Ours | Their share within 2x | Ours |
|---|---|---|---|---|---|
| GoDaddy's own valuation GoDaddy auctions | 146 | 0.13 | 1.59 | 7% | 40% |
| Estibot, via Dynadot Dynadot auctions | 153 | 0.03 | 0.75 | 5% | 29% |
On level the gap is wide. A ratio of 0.03 means the median name closed at roughly a thirtieth of what that appraisal said, and 0.13 means about an eighth. Ours sit near 1, which is the direct result of training against dropped domains rather than only against sales: the model has seen how often a name fetches nothing.
One caveat, and it cuts against us. Those rows are the ones where our model committed to a number, so it is the set we had an opinion about rather than a neutral sample. On the four names in five where we answer $0, we have no level to compare at all, and the section above is what that costs.
None of this is a claim to be the best estimator on the market. It is a claim that every estimator here is doing roughly the same modest job at ordering, that the published levels run far above what names fetch, and that anyone quoting any of these figures as a valuation is overstating what they have.
How to use it
Everything above collapses into a fairly short set of instructions.
- Use it on lists, not on names. One estimate on one domain is the weakest thing this tool produces. Run two thousand at once, sort by the estimate, and start at the top.
- Treat the figure as a position, not a price. A name estimated at $2,000 is worth opening before one estimated at $200. It is not worth $2,000.
- Never drop a name on a $0 alone. Nearly a third of the zero-rated GoDaddy names in this test closed above $1,000.
- Discount it heavily outside English. Pinyin, acronyms and non-English words are not something this model can read. The evidence for that here is one marketplace over five days, so treat it as a warning about a whole class of name rather than a measured figure.
- Ignore it on a name that carried a real site. If the domain had a working website with links pointing at it, the name-only figure is a floor and the real answer is in the backlink and traffic data. Use the website estimate for those.
- Check the names it surfaces. Comparable sales, history, and trademark exposure are all things the estimate knows nothing about. There is a guide to working out a real number and one on checking what a domain was before.
What this does not test
The limits of the study itself, which are as important as its results.
- The marketplace and brokerage estimates are unmeasured. Every close here is an auction. Testing the other two channels needs realised marketplace and broker sales, which are private and mostly unpublished, and we do not have them.
- It is one window, not a track record. These are auctions that closed over five days. It says what the model was worth on that inventory and it cannot speak to a quarter, or to a different mix of marketplaces.
- It only sees contested auctions. The names that never drew a bid are absent, which is the part of the market the model was specifically trained to treat as worthless.
- The link data covers one source and half its rows. Everything in the section on websites rests on 247 GoDaddy names where Majestic had a measurement. The other six marketplaces ship nothing comparable, so the same split cannot be checked across the rest of the record.
- Nothing here is a forecast. The training data ends in early 2024. Every figure describes how the market behaved, not where it is heading.
Scored 20 August 2026 against the auction record, and every figure on this page comes from that one run: the record grows hourly, so mixing two runs would describe a sample that never existed. The script is scripts/valuation-backtest.mjs and its output is kept at reports/accuracy/backtest-2026-08-20.json. If you have a domain that sold for a lot more or a lot less than the estimate said, send it over.
Read next
- How the estimates are calculated Methodology
- Working out what a domain is actually worth Estimates
- Recent closed auction results Live data