0 - 100
A single number between 0 and 100. Higher is better. The score is clamped at both ends so corrupted inputs never push it out of range.
Every host on RackList carries a score between 0 and 100. This page lists every rule that feeds into it, the points each rule grants, and the safeguards that keep the score honest.
A single number between 0 and 100. Higher is better. The score is clamped at both ends so corrupted inputs never push it out of range.
Five independent axes graded out of 20 each, summed, then adjusted with bonuses and malus. No single axis can carry the whole score.
Every threshold and weight on this page is read directly from the calculator code - we cannot publish a number we are not using.
overall = seniority + reviews + compliance + responsiveness + value
+ sum(bonuses)
- sum(maluses)
overall = clamp(overall, 0, 100)
Each axis is bounded to [0, 20], and the final score is clamped to [0, 100]. The clamp catches corrupted upstream data (a 6.0 average rating, a 150% response rate) before it can leak into the displayed number.
Each axis is graded out of 20 and works on its own data. They are summed without weighting - we want every axis to matter equally to the final score.
Years since the host's founded_at, on a non-linear ladder. Older hosts earn more, but the curve flattens past 15 years so a 30-year incumbent does not crush newer entrants.
| Rule | Condition | Points |
|---|---|---|
| 15+ years | founded_at is 15 years ago or older | 20 |
| 10 - 14 years | founded_at is between 10 and 15 years ago | 18 |
| 5 - 9 years | founded_at is between 5 and 10 years ago | 15 |
| 2 - 4 years | founded_at is between 2 and 5 years ago | 10 |
| 1 - 2 years | founded_at is between 1 and 2 years ago | 5 |
| Under 1 year | founded_at is set but less than a year ago | 2 |
Linear projection of the average rating onto 0-20, gated by a confidence cap that scales with sample size and time-decayed so recent reviews count more.
| Rule | Condition | Points |
|---|---|---|
| Average projection | score = (avg_rating - 1) / 4 × 20 with avg clamped to [1, 5] | formula |
| Full confidence cap | 10 or more approved reviews | 20 |
| Mid confidence cap | Between 3 and 9 approved reviews | 16 |
| Low confidence cap | Fewer than 3 approved reviews - a single five-star review cannot pin the axis at maximum | 8 |
| Time decay | Each review is weighted by exp(-age_days / 365); 6-month-old review ≈ 0.5, 5-year-old review ≈ 0 | weighted |
Eight checklist items on profile completeness and legal disclosure. Each item is small on purpose: no single field grants a runaway advantage.
| Rule | Condition | Points |
|---|---|---|
| Claimed listing | A verified host owner has claimed the listing | 5 |
| Legal identifier verified | An operator confirmed the SIREN/SIRET against the registry | 3 |
| Legal identifier declared | A SIREN or SIRET is set | 2 |
| Description (≥ 50 chars) | Listing description has at least 50 characters | 2 |
| Founded date | founded_at is set | 2 |
| At least one category | Host is linked to at least one category | 2 |
| Logo | A logo file is attached | 1 |
| Website | A website URL is set | 1 |
| Legal form | The legal form field is filled (SAS, SARL, Ltd, etc.) | 1 |
| Language | A primary language is set on the listing | 1 |
Rate of approved reviews that received a host response, weighted by reply speed. Stale replies count for less, neglecting reviews scores zero.
| Rule | Condition | Points |
|---|---|---|
| Formula | score = clamp(rate, 0..100) / 100 × 20 × speed_factor | formula |
| Fast factor (×1.0) | Median first-reply time ≤ 24 hours | 1 |
| Medium factor (×0.8) | Median first-reply time between 24 hours and 72 hours | 0.8 |
| Slow factor (×0.6) | Median first-reply time between 72 hours and 7 days | 0.6 |
| Very slow factor (×0.4) | Median first-reply time greater than 7 days | 0.4 |
| Unknown timing fallback (×0.8) | Rate present but no timing data - never grants the full multiplier | 0.8 |
Catalogue depth (product count), price transparency (share of products with a public price) and category diversity. Each capped so stuffing cannot run away.
| Rule | Condition | Points |
|---|---|---|
| Catalogue tier 10+ | Host lists 10 or more active products | 14 |
| Catalogue tier 7-9 | Host lists between 7 and 9 active products | 12 |
| Catalogue tier 4-6 | Host lists between 4 and 6 active products | 8 |
| Catalogue tier 1-3 | Host lists between 1 and 3 active products | 4 |
| Price transparency | Up to +4 proportional to the share of active products with a public price | 4 |
| Category diversity (3+) | Active products span at least 3 distinct categories | 2 |
| Category diversity (2) | Active products span exactly 2 distinct categories | 1 |
Points added when the host goes beyond the baseline.
| Rule | Condition | Points |
|---|---|---|
| Veteran (10+ years) | founded_at is 10 years ago or older | +3 |
| Verified legal identifier | Operator confirmed the host's SIREN/SIRET against the official registry | +3 |
| Claimed by owner | The listing has been claimed by its verified owner | +2 |
| Complete profile | Compliance axis maxed at 20/20 | +2 |
| Rich catalogue | 10 or more active products AND at least one approved review | +2 |
| Verified ASN | Operator confirmed the host's declared ASN(s) against PeeringDB/RIPEstat | +2 |
| Platform tenure (5+ years) | Host has been on RackList for at least 5 years | +2 |
| Platform tenure (2 - 5 years) | Host has been on RackList for at least 2 years (but less than 5) | +1 |
Points removed when the host falls short on signals readers rely on.
| Rule | Condition | Points |
|---|---|---|
| No products listed | No active product is attached to the host | -5 |
| No legal identifier disclosed | Neither SIREN nor SIRET is set - the comparator cannot tell who legally stands behind the listing | -4 |
| Severely incomplete profile | Compliance axis below 5/20 | -3 |
| Aggressive pricing | More than half of the host priced products sit below 30% of their category median | -2 |
| No description | The description field is empty | -2 |
The rules above are useless if a single dishonest host can game them. The score carries six guard rails baked into the calculator code.
A single five-star review cannot top the reviews axis. The axis is capped at 8/20 below 3 reviews and at 16/20 below 10. A host needs at least 10 independent approved reviews to reach the maximum.
Each approved review is weighted by exp(-age_days / 365). A host coasting on five-year-old praise cannot mask a recent drop in quality.
A 100% response rate alone does not give 20/20. The rate is multiplied by a speed factor that decays from ×1.0 (under 24h) to ×0.4 (over 7 days), so a quarterly cron of "thanks!" replies scores 8/20, not 20.
Whenever a host edits its SIREN, SIRET or declared ASN(s), the listing is automatically flipped back to PENDING_REVIEW and the verified_at timestamps are cleared. An operator must re-audit before publication resumes.
The rich-catalog bonus only fires when the host has both 10+ products AND at least one approved review. Listing throwaway products without user validation no longer grants any point.
When a majority of a host priced products sit below 30% of their category median, the aggressive-pricing malus fires. A single entry-tier offer never triggers it - we need a pattern, not a deal.
A score is also defined by what it refuses to consider. The rules below are out of scope on purpose, and they will stay out unless the policy changes publicly.