The ranking algorithm
The Hot ranking is a modified Hacker News score. This page is the source of truth: the formula, the inputs, and a changelog of any parameter change.
The formula
For a post or comment with a vote score S and age in hours t:
rank_score = (max(S − 1, 0) ^ p) / ((t + 2) ^ g) × multipliers Defaults: p = 0.8 (score exponent), g = 1.5 (gravity). Both are tunable
per environment without a code change.
Every vote counts as ±1. We don't weight votes by trust tier or anything else — one account, one vote.
Multipliers
The base score is then multiplied by, in order:
- Soft-hide: 0.5× when a moderator marks a post low-quality but not removable. Post stays visible, ranks lower.
- Duplicate-warned: 0.6× when the post tripped a near-duplicate fingerprint and was kept anyway.
- Brigade dampening: 0.5× while a dampening flag is active, set when sudden vote velocity from a single referrer trips the detector.
Comments use the same formula and exponents but skip every multiplier. Only score and age feed the comment rank.
When ranks are recomputed
For items under 24 hours old, rank_score is recomputed inline on every vote. From 24
hours to 7 days, items are recomputed by a scheduled job; after 7 days the score is frozen.
Parameter changelog
Any change to the formula, exponents, or multipliers is logged here.
- 2026-05-07 — Initial implementation.