Skip to content

How ranking works

The whole formula, every multiplier, and a worked example you can check against a real listing.

Last updated 20 August 2026

The formula

score = ( Σ vote_weight
        + 2.0 × verified_comments
        + 0.5 × ln(1 + outbound_clicks)
        + 1.5 × reviews_with_text )
        × quality_multiplier      // 0.7 .. 1.3 from listing completeness
        × freshness_decay         // 1 / (1 + hours/24)^1.4

Four things add up, then two things scale the total. Votes are the biggest term but not the only one, which is deliberate: a listing that collects votes and nothing else ranks below one that also gets clicked and reviewed.

What each term is doing

Σ vote_weight, not a count. Every vote is worth between 0 and 3 depending on who cast it; the table below is the whole rule.

2.0 × verified_comments, a comment from an account we have verified is worth two votes, because it costs more to produce than a click.

0.5 × ln(1 + outbound_clicks), logarithmic on purpose. Clicks measure genuine interest, but a listing with 10,000 clicks is not a hundred times better than one with 100.

1.5 × reviews_with_text, a rating with no words attached counts for nothing here. Text is the part that cannot be farmed cheaply.

quality_multiplier (0.7–1.3), listing completeness. A filled-in listing with real screenshots and dated pricing beats a name and a URL.

freshness_decay. The curve below. It is why the leaderboard is a leaderboard and not an archive of whatever launched first.

Vote weight, in full

ConditionMultiplierWhy
Base1.0Every vote starts here.
Voter streak ≥ 14 days×2.0Someone who shows up daily for two weeks is not a burner account.
Identity-verified voter×1.5A GitHub identity is expensive to fake at scale.
Account < 7 days old×0.3The cheapest vote ring is a hundred accounts made this morning.
IP cluster or suspicious referrer×0.1Damped silently. We do not tell a ring which of its votes stopped counting.
Above 15 votes/day from one account0Past this point it is not browsing.
Ceilingcap 3.0No vote can be worth more than three.

The freshness curve

0h24h48h72h96h1.00.50.0

A score keeps all of its value at the moment it is earned, about 37% of it a day later, and about 14% after three days. Nothing ever reaches zero, so a genuinely exceptional launch stays visible. It just has to be genuinely exceptional.

The first six hours are shuffled

For the first six hours of a launch day, listings appear in a deterministic random order and ranks are hidden. Without it, whoever is awake at 08:00 UTC wins by accident, and everyone learns to game the clock instead of the product. After six hours the page flips to score order and ranks appear.

What invalidates a vote, and how to report a ring

Votes from a single IP cluster, from accounts created in a burst, or arriving from a referrer we have seen used for vote-buying are damped to a tenth of their weight. This happens silently and we do not notify the account, because a manipulation system that reports its own detections is a manipulation system that teaches people how to evade it.

If you think a listing is being manipulated, tell us. We look at every report, and the outcome of an upheld one is that the votes stop counting, not that we quietly move the listing down, which would be the same problem in the other direction.

Related

Link policy

What we do sell, stated first and without hedging.

Pricing

Every price, and the four things money still cannot buy.

Verification

What a Verified mark proves, and what it does not.