11
4 Comments

reddit's algorithm is simpler than you think and here's exactly how to work with it (not against it)

hey indie hackers

everyone treats reddit's algorithm like it's some mysterious black box

"why did this post blow up but that one died?"

"how does reddit decide what to show?"

"is the algorithm against me?"

spent the last 2 months reverse engineering it

posted 100+ times across different subreddits

tracked every metric obsessively

talked to mods who understand the backend

here's what i figured out:

reddit's algorithm is actually pretty simple

but everyone misunderstands how it works

the biggest misconception

what people think:

"upvotes are all that matter"

more upvotes = more visibility

the reality:

upvotes are only ONE factor

and not even the most important one

what actually matters (in order):

early engagement velocity

comment activity

upvote ratio (upvotes vs downvotes)

subreddit-specific signals

account trust score

time decay

let me break down each one

factor 1: early engagement velocity (most important)

this is the #1 factor nobody talks about

how it works:

reddit measures how FAST you get engagement

not just how MUCH

example:

post A: 50 upvotes in first 30 minutes

post B: 50 upvotes over 6 hours

post A will rank WAY higher

even though both have same total upvotes

the velocity windows:

0-30 minutes: critical

if you get 5-10 upvotes here, algorithm boosts you

if you get 0-2 upvotes, you're buried

30-60 minutes: important

momentum from first 30 min either accelerates or dies

need another 5-10 upvotes to keep going

1-3 hours: make or break

if you're trending up, algorithm keeps pushing

if you're flat, you're done

after 3 hours:

basically determined if you'll hit front page or die

why this matters:

posting time isn't about "when most people are online"

it's about "when will you get FAST early engagement"

sometimes posting when fewer people online is better

because less competition for attention

how i use this:

i post when my target audience is most likely to engage QUICKLY

not when most people browse

example:

r/Entrepreneur: i post 6-7am EST

not peak hours (8-10am)

why? less competition, early birds engage fast

builds velocity before everyone else wakes up

factor 2: comment activity (underrated)

comments matter MORE than upvotes for visibility

why comments are weighted heavily:

upvotes are passive (one click)

comments require effort (typing, thinking)

comments = stronger engagement signal

the algorithm looks at:

comment velocity:

3 comments in first 10 minutes > 10 comments over 2 hours

comment depth:

replies to comments (discussion threads)

shows people are actually engaged

unique commenters:

10 different people commenting > 1 person commenting 10 times

OP responses:

if you respond to comments, algorithm sees it as active discussion

boosts visibility

what i discovered:

posts with high comment-to-upvote ratio rank better

typical ratio: 1 comment per 10-15 upvotes

high engagement ratio: 1 comment per 5-8 upvotes

example:

post with 100 upvotes, 7 comments = decent

post with 100 upvotes, 18 comments = excellent

second one gets boosted more

how to influence this:

end your post with specific questions

not "what do you think?"

but "which of these 3 approaches would you take?"

specific questions drive specific comments

factor 3: upvote ratio (the hidden killer)

reddit shows this as a percentage

usually 85%-95% for good posts

but here's what people miss:

downvotes hurt more than upvotes help

the math:

getting 100 upvotes and 5 downvotes = 95% ratio = great

getting 100 upvotes and 20 downvotes = 83% ratio = algorithm suppresses you

why downvotes are weighted heavily:

reddit assumes downvotes mean:

spam

low quality

rule violation

community doesn't want this

even if you have net positive votes

high downvote % kills your visibility

what triggers downvotes:

in title:

obvious clickbait

"you won't believe this"

all caps

excessive punctuation!!!

in content:

pure self-promotion

asking for upvotes

being controversial for no reason

attacking other users

in timing:

reposting recent content

posting same thing in many subs simultaneously

people notice and downvote

how to minimize downvotes:

don't be polarizing unless necessary

provide clear value upfront

follow subreddit culture

don't ask for upvotes/engagement directly

my approach:

i track upvote ratio on every post

if it drops below 90%, i analyze why

adjust future posts accordingly

factor 4: subreddit-specific signals

each subreddit has custom algorithm weights

what this means:

r/Entrepreneur might weight comments heavily

r/SideProject might weight images/media

r/startups might weight account age

examples i've found:

r/Entrepreneur:

heavily weights discussion/engagement

posts with 50+ comments rank better than posts with more upvotes but fewer comments

r/SaaS:

weights link clicks and external engagement

posts driving traffic to demos/products rank higher

r/SideProject:

weights media (images, videos)

posts with screenshots/demos rank better than text-only

r/AskReddit:

purely comment-driven

upvotes matter less than comment count

how to find subreddit weights:

analyze top posts from past month

compare upvotes vs comments vs media

see which factor correlates with ranking

what i track:

spreadsheet for each target subreddit

columns: upvotes, comments, ratio, media, rank

find patterns over 20-30 posts

factor 5: account trust score (invisible but critical)

reddit tracks a "trust score" for each account

never shows it to you

but it affects everything

what builds trust:

account age:

older accounts = more trusted

new accounts = heavily scrutinized

karma history:

consistent karma growth = good

sudden spikes = suspicious

posting pattern:

regular activity = trusted

long gaps then sudden activity = spam signal

subreddit participation:

active in community before posting = trusted

only posting, never commenting = spam

report history:

never reported = good

multiple reports = permanent penalty

how this affects you:

high trust account:

posts go live immediately

less likely to trigger automod

given benefit of doubt by algorithm

low trust account:

posts may be shadow-filtered

require mod approval

algorithm suppresses by default

how to build trust:

spend 2-3 weeks commenting before posting

accumulate karma gradually

participate in multiple subreddits

never get reported/banned

my experience:

first account: banned 3 times, low trust forever

second account: slow build, now posts go live immediately

trust score persists and affects everything

factor 6: time decay (the inevitable slide)

all posts decay over time

even viral ones

the decay curve:

0-6 hours: rapid growth potential

algorithm actively pushing if engagement is good

6-24 hours: peak plateau

maximum visibility reached

starts to decline

24-48 hours: steep drop

algorithm prioritizes newer content

your post slides down

48+ hours: residual traffic only

mostly from google/external links

reddit's algorithm barely shows it

exceptions:

stickied posts: don't decay (mod pinned)

evergreen in small subs: slower decay

high comment activity: extends visibility

external traffic: brings it back up temporarily

what this means:

timing matters less than you think for WHEN to post

matters more for HOW LONG your post stays visible

if you get early engagement, you get 24-48 hours of visibility

if you don't, you get 2-4 hours

how the algorithm actually works (simplified)

here's my understanding of the flow:

step 1: initial filter (0-5 minutes)

automod checks:

account karma

account age

banned word list

link domains

posting frequency

pass: post goes live

fail: removed or held for mod approval

step 2: early engagement test (5-30 minutes)

algorithm shows to small audience

measures:

upvote velocity

comment velocity

downvote ratio

good signals: boost to wider audience

bad signals: suppress, show to fewer people

step 3: expansion phase (30 minutes - 3 hours)

if passing early test:

shown in more users' feeds

shown in "rising"

potential for subreddit front page

if failing:

buried in "new"

never reaches most users

step 4: peak or decay (3-24 hours)

based on continued engagement:

keep rising → subreddit front page → reddit front page

or

plateau → slow decay → buried

step 5: long tail (24+ hours)

mostly external traffic (google, links)

reddit's algorithm moves on to newer content

the timing myths vs reality

myth: "post at 8-10am EST"

reality:

that's when most people browse

also when most people POST

huge competition

your post can get buried by volume

what actually works:

post when your AUDIENCE is online

but BEFORE most others post

less competition = faster early engagement

my data:

r/Entrepreneur:

conventional wisdom: 8-10am EST

my best results: 6-7am EST

why: early engaged users, less competition

r/SaaS:

conventional wisdom: weekday mornings

my best results: tuesday 2-4pm EST

why: less posting volume, engaged audience

r/SideProject:

conventional wisdom: weekday evenings

my best results: saturday mornings

why: makers browsing projects, relaxed engagement

the engagement hacks that work with the algorithm

hack 1: seed initial engagement

share post in relevant discord/slack

get 3-5 early upvotes/comments from real users

NOT vote manipulation

just legitimate early signal

triggers algorithm's velocity detection

hack 2: respond to every comment immediately

you comment = bump in algorithm

shows active discussion

keeps post "fresh"

set timer, check every 15 minutes for first 2 hours

hack 3: cross-post strategically

post in main subreddit first

wait 2-3 hours

cross-post to related subreddit

drives comments back to original

boosts original post's engagement

hack 4: edit with updates

after 1-2 hours, add update at bottom

"EDIT: thanks for the feedback! here's additional context..."

doesn't reset algorithm

but can drive new comments

new comments = continued visibility

hack 5: controversial takes (risky)

algorithm weights engagement over agreement

controversial posts get comments (even negative ones)

more comments = more visibility

BUT increases downvotes too

use sparingly

what kills your post (algorithm death sentences)

death sentence 1: slow start

0-2 upvotes in first 30 minutes

algorithm has decided: not interesting

no recovery possible

death sentence 2: high downvote ratio early

if you get 3 upvotes and 2 downvotes in first hour

60% ratio

algorithm buries you permanently

death sentence 3: no comments

50 upvotes, 1 comment

algorithm sees: passive interest only

won't boost further

death sentence 4: shadow-filtered account

if your account has low trust

posts may not even show to most users

you'll see it live

but algorithm suppresses it

death sentence 5: posting same content rapidly

post in 5 subreddits within 10 minutes

algorithm detects spam pattern

suppresses all of them

how to diagnose why your post failed

check 1: upvote velocity

did you get 5+ upvotes in first 30 min?

no → timing or content hook failed

check 2: upvote ratio

is it below 85%?

yes → something is triggering downvotes

check 3: comments

did you get 3+ comments in first hour?

no → content didn't engage discussion

check 4: subreddit fit

compare to top posts in that subreddit

does yours match the format/tone?

no → cultural mismatch

check 5: account status

are your other recent posts performing normally?

no → account may be shadow-suppressed

what i built based on this

understanding the algorithm changed how i built redchecker

feature 1: velocity tracker

tracks your first-hour engagement

alerts if you're below threshold

suggests if you should repost later

feature 2: engagement predictor

analyzes your post before publishing

predicts likely upvote velocity

estimates comment activity

feature 3: optimal timing finder

analyzes when YOUR posts get best early engagement

not generic best times

YOUR specific patterns

feature 4: algorithm health check

monitors your account's posting performance

detects if you're being shadow-suppressed

suggests recovery actions

the actual strategy i use now

before posting:

check optimal time for that subreddit (my data, not generic)

ensure post has discussion-driving question

verify upvote ratio likely to be high (no controversial elements)

confirm account is in good standing

0-30 minutes after posting:

respond to every single comment

add thoughtful replies (not just "thanks")

monitor upvote velocity

if below 5 upvotes, analyze what's wrong

30 minutes - 2 hours:

continue responding to comments

check upvote ratio

if ratio dropping, identify what's triggering downvotes

add edit with clarifications if needed

2-6 hours:

less frequent comment checking

respond to new comments within 30 min

track if post is rising or plateauing

6+ hours:

occasional comment responses

let algorithm do its thing

analyze performance for future posts

tracking what matters

metrics i track for every post:

upvotes at 30min, 1hr, 3hr, 24hr

comments at same intervals

upvote ratio throughout

time to first comment

time to 5th upvote

peak ranking in subreddit

external traffic driven

what i've learned:

posts that get 5+ upvotes in first 30 min: 85% success rate

posts that get 10+ comments in first 2 hours: 92% success rate

posts with 90%+ upvote ratio: 3x more visibility

success = function of early velocity + engagement quality

questions for you

1. have you noticed these patterns?

fast start = better performance

slow start = death

2. do you track your posting metrics?

or just post and hope?

3. what's your average upvote velocity?

how many upvotes in first hour?

if you want help

built all this tracking into redchecker

velocity monitoring

engagement prediction

optimal timing per subreddit

algorithm health checks

lifetime deal: $59 (ending soon)

monthly: code "IN26" for 50% off

redchecker.io

final thought

reddit's algorithm isn't magic

it's measuring engagement signals

early velocity matters most

comments matter more than upvotes

trust score affects everything

once you understand the system

you can work with it instead of against it

stop guessing

start tracking

optimize based on data

that's how you win

-musha

posted to Icon for redchecker.io
redchecker.io
  1. 1

    Did you notice meaningful difference across subreddit types?

  2. 1

    I never thought a wall of logs would be so cool to scroll through. ~

    When we see the raw checks, failures, retries and timestamps, it feels very real versus polished dashboards. There were times when simply examining the logs conveyed more about user behavior than any dashboard I’d used.

    There is something reassuring about how messy and alive it looks. Like it’s possible to see the system thinking as it happens.

    It is strangely convincing to “show your work” view.

  3. 1

    Now it makes sense why some of my reddit posts got viral and some didn't !

  4. 1

    This resonates a lot.

    In your experience, what’s the biggest mistake founders make when they first try to “work with” Reddit instead of against it?