Reddit rising vs hot sort: which one actually moves traffic
Reddit's rising sort is a ratio of upvotes to impressions, not a score-and-decay function. For small subs, that changes which post wins.
Most operators tune their posts for the hot sort and never look at rising. That instinct is wrong on small and mid subs, where rising routinely surfaces posts that hot is still buffering against six hours of older content. Rising is not a softer version of hot. It runs a different formula on a different cache, and it rewards a different kind of post. This is the decode of when to chase each, with the algorithmic reasoning underneath.
What is the actual difference between Reddit's hot and rising sorts?
Hot and rising answer different questions. Hot answers: which posts have accumulated the most score, adjusted for age. Rising answers: which posts are converting attention into upvotes right now. The first is a stock measurement, the second is a flow measurement, and the practical consequence is that they reward different behavior.
The hot formula, visible in the archived _sorts.pyx source, is sign(score) * log10(max(|score|, 1)) + (seconds_since_epoch / 45000). The 45,000-second divisor is a 12.5-hour half-life on the timestamp term. The rising formula in rising.py is float(link._ups) / max(count, 1), where count is the post's impression count over a recent window, with a hard filter excluding anything with _ups <= 1. There is no decay, no log, and no downvote term. Same site, two different ranking philosophies.
How does Reddit's rising algorithm actually work?
Rising is a normalized upvote-per-impression score, cached for 90 seconds, and re-sorted per subreddit so the top rising post in r/SaaS scores 1.0 inside its own sub even if a post in r/AskReddit has 100× the absolute ratio.
Reading the archived source, the steps are mechanical. Reddit pulls every link with at least two upvotes from a recent counter table, divides its upvotes by its impression count, sorts the result, and then per-subreddit normalizes each score against the top rising score in that sub. The normalized_rising function caches for 90 seconds via g.gencache and merges per-sub heaps so the rising tab you load is a snapshot less than two minutes old. Signals runs an aged Reddit account marketplace plus an editorial network for AI brand mentions across Reddit, Quora, Product Hunt, and Threads, and the rising tab is the surface most of our subreddit-test campaigns are tuned against because the per-sub normalization makes ratio moves cheap to engineer.
Two things follow from the formula. First, rising does not punish a small absolute upvote count; it punishes a low conversion rate. A post with 6 upvotes and 40 impressions outranks a post with 30 upvotes and 800 impressions. Second, downvotes do not move rising. Only the upvote numerator changes, which is why a controversial post can sit on rising and hot at the same time even when its hot rank is collapsing.
Why does hot punish small subreddits and rising reward them?
Hot is a volume game and small subs cannot generate the volume. Inside the log10 term, going from 1 to 10 upvotes is the same score jump as 10 to 100 or 100 to 1,000. A post that needs to clear r/AskReddit's top of hot must accumulate roughly 1,000 upvotes in its first 12.5 hours to outrank a 100-upvote post one half-life behind it. On a 5,000-subscriber sub where the average concurrent reader count sits at 30, that volume target is structurally impossible. The post will still earn its slot on rising hours before it ever lands on hot, because rising only needs a high upvote-per-impression ratio against a small impression denominator.
Per Reddit's content recommendations help article, the default community sort is hot. That default works for the top 200 subs and quietly fails everywhere else. Rising is where small-sub momentum lives.
When should an operator optimize for rising over hot?
Optimize for rising when the subreddit is under roughly 100,000 subscribers, when the post is highly contextual to that sub (not crossposted), or when the goal is to be discovered by power users and mods before the broader subscriber base scrolls past. The first 30 to 90 minutes are decisive because the rising cache window is short and post impressions accumulate fast once any default-sort viewer touches the post.
Optimize for hot when the post is on a 500,000+ subscriber sub where rising volume is so high that a slot on rising lasts under 10 minutes, or when the goal is sub-internal feed dominance over hours, not minutes. The largest subs have rising tabs that recycle every few minutes; a single hour on hot delivers more sustained eyeballs there than 12 rising slots that flash and disappear.
Hot
Score-and-decay ranking with a 12.5-hour timestamp half-life. Rewards absolute upvote volume. Default sort on community pages. Best for posts that need to dominate a large sub's feed for hours.
log10(score) + t/45000Rising
Ratio ranking with a 90-second cache, normalized per subreddit, excluding posts with one or zero upvotes. Rewards conversion rate, not volume. Best for small-sub launches and posts that need to be seen by mods and power users before the broader sub.
upvotes / impressionsNew
Pure reverse-chronological. No score input. Power users sort by new to find content before the herd. Useful for diagnosing whether a post landed at all when it never reaches hot or rising.
submission timestampThe rising operator playbook for small and mid subs
Targeting rising is mostly about controlling the impression denominator while you stack the upvote numerator. Five tactics that work in 2026:
Submit when the sub is quiet, not peak. Off-peak posts accumulate fewer impressions in the first 30 minutes, which means your upvote-per-impression ratio rises faster. Quiet-hour posts on r/SaaS regularly land on rising with 4 to 6 upvotes that would never move hot. Per-sub timing data lives in our Reddit marketing guide.
Avoid crossposts inside the first hour. Crossposts spike impressions in the parent sub via Reddit's crosspost preview, which dilutes your ratio. Hold crossposts until the post is already on hot.
Seed comments instead of upvotes for the first 10 minutes. Comments do not change the rising ratio directly, but they keep readers on the post longer, which Reddit's recommendation layer reads as engagement and which improves comment-sort visibility downstream. The drip-versus-blast logic for upvotes is in Reddit upvote timing: why drip beats blast.
Respect the
_ups > 1floor. A post sitting at one upvote is invisible to rising. The lift from one to two upvotes is the most important vote on the post; it puts the post into the rising candidate pool. Schedule the second upvote inside the first 5 minutes.Track ratio, not just score. When auditing post performance, log impression count alongside upvotes (visible in Post Insights for OP). A 6-upvote post with 40 impressions is a winner on rising; a 30-upvote post with 800 impressions is a loser there. The score-versus-velocity context that hot rewards is decoded further in Reddit algorithm explained, and the velocity-to-hot thresholds live in How many Reddit upvotes do you need to hit hot.
What changed about rising after the API pricing changes?
The algorithm did not change. Reddit's June 2023 API pricing changes locked down third-party data and killed Pushshift access; the archived rising.py source still reflects the working formula because Reddit's internal sort logic does not require the public API. What did change is the external tooling that used to surface rising candidates. The old "fastest-rising subreddits" trackers and several third-party analytics tools either shut down or moved to paid tiers; current options like Create and Grow's growth tracker and Subriff fill part of that gap, but operators have to do more first-party tracking via the /r/{subreddit}/rising.json endpoint and Post Insights.
Frequently asked questions
Is rising the same as new on Reddit?
No. New is pure reverse-chronological with no score input. Rising filters out anything with _ups <= 1 and ranks by upvotes-per-impression. A brand-new post with zero upvotes shows on new immediately; the same post needs at least two upvotes plus a competitive ratio to appear on rising.
How long does a post stay on the rising tab?
The rising cache rebuilds roughly every 90 seconds per the rising.py source. On large subs, a slot can last under 10 minutes because new posts with higher ratios keep displacing the leader. On small subs, a top rising slot can persist for an hour or more if no competing post crosses the ratio threshold.
Do downvotes affect the rising sort?
No. The rising formula uses link._ups, not score. Downvotes do not subtract from the numerator. This is the opposite of hot, where downvotes shrink the log10(score) term directly. A controversial post can sit on rising even while its hot rank collapses under heavy downvote pressure.
Why doesn't my post appear on rising even with upvotes?
Two common causes. First, the post has high impressions relative to upvotes; rising ranks ratio, not absolute count. Second, the sub's top rising post has a far higher ratio, so per-sub normalization pushes your normalized score below the visible cutoff. Check /r/{subreddit}/rising.json to see the live rank, not just the web UI.
Should a SaaS launch target hot or rising on r/SaaS?
Rising first, then hot. r/SaaS sits around 300,000 subscribers, low enough that rising is reachable on a quiet-hour submission with 5 to 8 well-timed upvotes. Mods and power users sort r/SaaS by rising specifically to find pre-Hot launches. Once the post crosses 30 to 40 upvotes inside the first hour, the score will start to lift hot on its own.
Does the rising algorithm count comments?
Not in the ranking formula. The cached rising.py score is upvotes divided by impressions. Comments matter indirectly because they keep visitors on the post longer, which raises the chance an impression converts to an upvote, but they do not enter the formula directly.
:::