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 15How 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 10Premium 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 12Can 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 10Real 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 6Contains 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 16Exact-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 13Prior 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 18Short + 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 15Proportion 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 10Hyphens 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 10SLD 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 10Matches 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 10Ends 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.