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.