Skip to content

Methodology

How the Domain Quality Score works

Every score ships with a one-line explanation — but if you want the full recipe, it’s here. Weights, signal formulas, edge cases. No black box.

DQS is a weighted sum of interpretable signals. It’s not a model. We don’t train on sale data — we hand-pick signals that map to how domainers actually value names, tune the weights quarterly against reality, and ship the explanation next to the score so you can always argue with the output.

Authoritative scoring runs in our daily ingest (Python, services/scorer/). The /appraise on-demand scorer uses a TypeScript port with identical signals and weights — the only parity gap is dictionary frequency (lite uses a curated 600-word set; pipeline uses a full corpus).

Positive signals

weights sum to 100

Length

weight 15

How short the SLD is, on a curve.

3–5 chars: full value (1.0). 6 chars: 0.92. 7: 0.82. 8: 0.70. 9: 0.55. 10: 0.40. 11: 0.25. 12: 0.12. 13+: 0.04. Front-loads value in the 3–5 char range because that's where the market treats length as categorical.

TLD premium

weight 10

Premium level of the TLD the drop lands on.

.com: 1.00. .io: 0.82. .ai: 0.75. .co: 0.60. .app: 0.58. .dev: 0.52. .net: 0.50. .org: 0.42. .xyz: 0.25. .info: 0.15. Default for unknown TLDs: 0.20. We add TLDs to this table only when our comp data supports the specific multiplier.

Pronounceability

weight 12

Can a human say it out loud without spelling it?

Vowel-ratio peak at 40% vowels (natural English phonotactics). 3-consonant clusters fine; 4+ penalized. Catches gibberish like 'krxtfly' while rewarding real-word-shaped SLDs.

Dictionary

weight 10

Real English word in the SLD.

Uses log-scaled word frequency from a large English corpus. Stems for plurals (-s) and gerunds (-ing). 'shop', 'rails', 'summer' score high. The on-demand /appraise scorer uses a 600-word common-English set as a lite fallback (known ±5 point drift).

Keyword category

weight 6

Contains a term from a commercial-category vocabulary.

AI, crypto, finance, SaaS, ecommerce, health, real-estate term libraries. Low weight on its own — just a breadcrumb that the domain is adjacent to a buyer cohort.

Keyword intent

weight 16

Exact-match commercial phrase composed of category + modifier.

Fires when the SLD is 'category + intent-word' (aitools, cryptohub, medfinance) or 'category + category'. This is the heaviest positive signal because exact-match commercial-intent domains are what serious buyers actually pay for.

Wayback history

weight 13

Prior web-archive snapshots — built-in brand context.

0 snaps: 0. 1: 0.25. 10: 0.45. 50: 0.65. 200: 0.85. 500+: 1.00 (linear between points). A domain with 15 years of history carries context a blank-slate SLD doesn't — ships with link equity + brand familiarity.

Brandable bonus

weight 18

Short + pronounceable + no digits + no hyphens = a real brand candidate.

Tiered: length ≤7 + pronounceability ≥0.55 + no digits/hyphens + length score ≥0.8 → full 1.0 bonus. Length ≤9 + pronounceability ≥0.50 clean → 0.55 partial bonus. The single heaviest positive signal because brandability is the central buyer signal for investor-grade domains.

Penalties

subtract up to 55

Digits

weight 15

Proportion of digit characters in SLD.

Linear penalty to 30% digit density. Digits reduce resale value significantly unless they're semantically meaningful (3d, 24, 360).

Hyphens

weight 10

Hyphens anywhere in the SLD.

1 hyphen → ~0.5 penalty. 2 → ~0.95. 3+ → 1.0 hard penalty. Rare exception: compound words some markets tolerate ('co-op').

Excessive length

weight 10

SLD over 12 characters.

Zero below 12. Linear ramp to 1.0 at 20 chars. At that point the length-curve positive is already at its 0.04 floor; the penalty stacks it.

Spam pattern

weight 10

Matches a known spam substring OR ≥4 consecutive digits OR ≥2 hyphens AND ≥2 digits.

'viagra', 'casino', 'loans', 'bitcoin-mining', 'free-download', 'cheap-', '-cheap', 'backlinks', 'seo-pack'. Hard binary: hit fires full penalty.

Saturated suffix

weight 10

Ends in ~bot or ~ify on a recognizable category stem.

'cryptoify', 'gptbot', 'aibot' fire; 'spotify' doesn't (stem isn't a category term). Saturated suffixes are brand-risky even if keyword-rich.

The combiner

# Weighted sum, then clamp to 0–100.

positive = sum(signalval × positiveweight)

penalty = sum(penval × penaltyweight)

score = round(max(0, min(100, positive − penalty)))

# Hard rule: all-digit SLDs (1234.com) are effectively worthless for this audience → score = 0.

# Hard rule: saturated suffix suppresses keyword-intent (don’t reward 'cryptoify' for being category-adjacent).

Why the explanation matters

Every row in the drops feed ships with a sentence like “brand-ready shape with commercial finance intent and short”. We refuse to ship a bare number. If you can’t look at the score and explain it to a partner or client, the score is doing work you can’t defend. That’s a worse position than no score at all.

The explanation is template-built from the top three positive signals plus, if applicable, the heaviest penalty. Phrases are picked deterministically from a phrase library (same domain always gets the same sentence) so you can trust the wording to reflect the score, not invent narrative.

What DQS does NOT do

  • It does not estimate exact resale value. That lives on the dossier’s aftermarket panel — and only as a rough range, flagged as directional.
  • It does not predict auction price. Auction outcomes depend on who else is bidding that day. Nobody has a reliable model for that — we don’t pretend to.
  • It does not weight backlinks. We score structural quality, TLD premium, brand shape, and archival presence. SEO link-equity is a complementary axis fed by Majestic/Ahrefs — we surface Wayback history instead.
  • It does not “boost” domains we have a business interest in. DQS is computed before any registrar partnership or aftermarket attribution applies. Affiliate links are visibly labelled and never alter ranking.

Comparison

Why not use GoDaddy GoValue / Estibot?

Both return a single-number appraisal from an ML model. Both are opaque. Neither ships a per-signal breakdown or an explanation, and the industry-wide joke about them is that any serious domainer prices their opinion at ~10× the quoted number. They exist because nothing better does. DQS is a discovery filter for “is this drop worth the next 15 minutes of my research” — not a valuation. If you want a number to haggle against, treat DQS as an input to your own judgment, not a replacement for it.