Skip to main content
Transparency

How the RackList Score works

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.

Score range

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.

Composition

5 axes

Five independent axes graded out of 20 each, summed, then adjusted with bonuses and malus. No single axis can carry the whole score.

Transparency

100%

Every threshold and weight on this page is read directly from the calculator code - we cannot publish a number we are not using.

The formula

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.

The five axes

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.

Seniority (0 - 20)

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.

0 - 20
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

Reviews (0 - 20)

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.

0 - 20
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

Compliance (0 - 20)

Eight checklist items on profile completeness and legal disclosure. Each item is small on purpose: no single field grants a runaway advantage.

0 - 20
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

Responsiveness (0 - 20)

Rate of approved reviews that received a host response, weighted by reply speed. Stale replies count for less, neglecting reviews scores zero.

0 - 20
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

Value (0 - 20)

Catalogue depth (product count), price transparency (share of products with a public price) and category diversity. Each capped so stuffing cannot run away.

0 - 20
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

Bonuses (+)

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

Maluses (-)

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

Anti-manipulation safeguards

The rules above are useless if a single dishonest host can game them. The score carries six guard rails baked into the calculator code.

Sample-size confidence cap

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.

Time-weighted reviews

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.

Reply-speed multiplier

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.

Mandatory re-moderation

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.

Catalogue stuffing block

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.

Aggressive pricing detection

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.

What the algorithm never does

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.

  • No money buys score. There is no "boost my listing" feature and no plan modifies the algorithm. Paid features (when they exist) buy visibility clearly labelled as sponsored, never points.
  • No black-box model. The whole algorithm fits in five PHP files; the page you are reading is generated from them. Anyone can audit the formula.
  • No silent change. Every threshold update lands in a commit on the public repository, and this page picks it up on the next request. We cannot quietly retune the score.
  • No discrimination by entity type. We label whether a host is a company, a sole trader or a non-profit for readers to factor in - but we do not give points based on which one.