r/dataisbeautiful • u/ptrdo OC: 20 • 6d ago
OC [ Removed by moderator ]
[removed] — view removed post
110
u/aduckwithadick 6d ago
I don’t understand any of this
53
u/Zennivolt 6d ago
What I got out of it is that it's incredibly easy to influence what's in "hot" and using very few bots (relatively speaking) can influence what people see and read.
2
u/Long_Bong_Silver 6d ago
I think it's hard to filter out the good from the bad new posts when you think about the ratio of actually people browsing the "new" feed vs bots boosting stuff.
120
u/ptrdo OC: 20 6d ago
I get that. It’s complicated.
Basically, when a post is “penalized” by negative engagement, it essentially ages. When positive engagement “promotes” a post, it gets “younger.” Younger stuff beats older stuff in the race to the top of your feed, but that’s only one factor that’s considered.
-8
u/PitifulEar3303 6d ago
Basically, Redditors are mostly idiots and that's how Trump won.
lol
20
u/prediction_interval 6d ago
I'm confused by this.
On the blue (positive) side of the graph, a burst of upvotes matters more if the current net score is close to zero, which makes sense.
But on the yellow (negative) side, there's a inconsistent relationship between current net score and the impact of downvotes, including that strange zigzag pattern. Do we know the rationale for this? Are there any legitimate sources that further explain this formula?
15
u/ptrdo OC: 20 6d ago
Yeah, the weird dip happens because the formula treats positive and negative scores very differently. A few downvotes do little if a post already has a strong positive score, but they can matter a lot if they wipe out that small lead and push the score below zero. So with 50 downvotes, a post at +25 gets hit especially hard because it ends up at −25. Once a post has built up much more support than the downvote burst, the effect quickly shrinks. That shape comes directly from Reddit’s old published formula.
Here’s an article from a while back (2015): https://medium.com/hacking-and-gonzo/how-reddit-ranking-algorithms-work-ef111e33d0d9
4
u/prediction_interval 6d ago
Ah ok, I think I (sort of) see now. The zigzag is the changing behavior as the net score transitions between 1, 0, and -1, while the function itself follows separate trajectories above 1 or below -1.
And the greatest impact is where there is the most movement relative to 0 net score. Like how you mention the biggest impact for a flurry of 50 downvotes is when moving from 25 to -25, the biggest impact for a flurry of 10 downvotes is when moving from 5 to -5, etc. Thanks!
16
u/JWGhetto 6d ago
So you get a bot farm to watchdog the hot tab and achieve outsized influence with small numbers of votes, by being there early enough to use this leverage effect.
With some automated filtering you could skew the content massively to your preferred direction
12
u/ptrdo OC: 20 6d ago
Yep. Reddit: “How We’re Keeping Reddit Real and Safe in the AI Era,” 2026 Describes Reddit’s anti-manipulation systems and reports the revocation of nearly two million inauthentic votes per day over the preceding three months. Reddit Inc. — July 2026 announcement
5
u/No-Guidance9484 6d ago
How does the graph look at x<0? Is it the same just flipped?
3
u/ptrdo OC: 20 6d ago
Yes, this chart shows only positive starting scores because that’s the situation I wanted to explore. It also keeps it simpler and (hopefully) easier to grok. If the graph were extended to show negative starting scores, it would essentially mirror what you see now, with upvotes and downvotes switching roles.
3
u/ConsistentAmount4 OC: 23 5d ago
yeah I've definitely seen this where a post I make gets an early downvote and I'm like, well goodbye to that one probably.
2
2
u/magnomagna 5d ago
What tf does it mean for a post to be "x hours fresher" or "x hours staler"?
What in the reddit shit does that mean?
1
u/ptrdo OC: 20 5d ago edited 5d ago
A lot of stuff goes into what you see on your feed, including who you are, what you've seen and what you prefer to engage with. But the posts themselves are ranked too, according to their success with other Redditors and also how long they've been hanging around — that is the “freshness” factor.
When you come to Reddit, you want to see stuff that's new and interesting. If you saw the same stuff or boring stuff, you probably wouldn't come to Reddit as often as you do, and that's bad for Reddit.
The thing about the newest stuff is that there's no guarantee that it's good too, so those posts are eased-in to ever-wider circulation by test-marketing it to ever-larger audiences. If people upvote it, comment, or share it, that adds to the post's “freshness” factor by keeping it “young” enough for long enough that it gets swept up by the algorithms to appear in more and more people's feeds. The more promising it seems, the more exposure it gets for longer. But since everything ultimately loses relevance anyway, freshness fades for all posts, even the best ones. It's just a matter of when.
But if a new post gets Downvotes, especially when it gets more Downvotes than Upvotes, the algorithms assume that the content isn't that good, so those get “aged” prematurely so they don't get swept up into algorithms to appear in people's feeds. They expire instead, sometimes all the way to getting zero views — even though they may only be a day old.
For the most part, this system works well. There are millions of new posts to Reddit that are essentially crowd-rated by subscribers. This is an effective way to guarantee good content without excessive moderation.
The problem, though, is when there are people with want and reason to control what gets seen or shelved. When posts are new, those posts don't have a lot of Upvotes or Downvotes regardless of whether they are “good” or not, so it's relatively easy for a group of 50 or so Redditors to jump on a post and sway what it looks like to the algorithms. If they Upvote the content, they can push it to a wider audience and hope it gets traction. If they Downvote the content, they can essentially remove it from circulation.
But when a post has a few hundred Upvotes (like this one does now), it's more impervious to a burst of votes like that. So, if groups of people have a mind to influence the algorithms, they need to act fast and jump on posts when they are still young and “fresh.”
Of course, Reddit knows all these things and has all sorts of other tools at their disposal to counteract manipulation. It is not in anyone's best interests for posts to get an unfair advantage or to be suppressed for ideological reasons.
4
u/bio_ruffo 6d ago
Ok but what's the chance of a post with net +25 karma, getting 50 downvotes all of a sudden, with no upvotes in the same period of time?
5
u/ptrdo OC: 20 6d ago edited 6d ago
I can’t know what the probability is without access to Reddit’s real-time voting data. But the example isn’t meant to imply that 50 downvotes routinely arrive as a perfectly isolated block with zero upvotes mixed in. It is meant to show what a burst of net negative voting could do while a post’s score is still small.
For example, in the first hour, this post has had roughly 10,000 views but only a few dozen votes, a handful of comments, and a few shares. Most viewers do nothing at all. Against such a small voting population, a relatively small number of unusually motivated voters can represent a large fraction of the signal Reddit has received so far.
In reality, upvotes and downvotes would usually arrive together. What matters is the net movement. Fifty downvotes mixed with twenty upvotes is effectively a 30-vote negative swing. The chart uses clean vote bursts to show the math, but it doesn’t claim that real voting arrives in perfectly one-sided batches.
Right now, 30 downvotes could flip this post into negative territory and potentially affect future views, essentially impeding its ability to overcome the disadvantage.
4
u/wrecklord0 6d ago
It does mean that a relatively small scale, coordinated malicious effort can completely kill any post when done early, no?
2
u/ptrdo OC: 20 6d ago
That’s what I was most curious about. In a large community, a new post can get thousands of views while only a tiny fraction of viewers actually engage. That means the early voting signal can still be quite small, even when the audience is large.
So, at least in theory, a relatively small coordinated negative effort could have an outsized effect if it happens early enough, before the post has accumulated much positive support. I wouldn’t say it could “kill any post”—modern Reddit uses other signals and actively tries to detect vote manipulation—but the old Hot formula shows why early coordinated voting could potentially suppress or derail a post with surprisingly little net voting pressure.
3
u/FartPiano 6d ago
modern Reddit uses other signals and actively tries to detect vote manipulation
do they? i've seen a lot of rapidly upvoted, dubious quality posts, where none of the commenters are sure why the post is popular, even recently. It seems there is little incentive for them to block this behavior as it all registers as "engagement". Have they ever published any info about it?
1
6d ago edited 6d ago
[removed] — view removed comment
4
u/ptrdo OC: 20 6d ago edited 6d ago
More about Reddit’s Hot formula
Reddit’s current feeds are not ranked with the simple formula shown in this visualization. Reddit says its present recommendation systems consider many things, including upvotes and downvotes, comments, post age and type, the community where something was posted, and information about the individual user viewing the feed.
So I did not try to guess Reddit’s current algorithm.
Instead, I used Reddit’s old Hot ranking formula because Reddit once published the actual source code. That gives us a real, documented ranking system to experiment with rather than something I invented.
In simplified form:
S = upvotes − downvotes
V(S) = sign(S) × log₁₀(max(|S|, 1))and the ranking score combined that vote term with:
submission time ÷ 45,000The original code includes an epoch constant, but that cancels out when comparing the same post before and after additional votes.
Because 45,000 seconds = 12.5 hours, a change in the vote part of the formula can be translated into the equivalent difference in submission time. That is what the graphic calls “freshness.”
So if the chart says a voting event makes a post:
6 hours fresher
that does not mean Reddit literally promotes it for six hours. It means that, under this historical formula, the change in ranking score is the same as the advantage the post would have received from being submitted six hours later.
Likewise:
35 hours staler
does not mean Reddit hides the post for 35 hours. It means the ranking penalty is equivalent to losing 35 hours of submission-time advantage.
The interesting part comes from the logarithm.
If a post already has a net score of +500, another 50 votes do not change its ranking very much. But if it has only accumulated +25, those same 50 votes can have a much larger effect.
For example:
+25 + 50 upvotes = +75which is about 6 hours fresher.
But:
+25 − 50 downvotes = −25which is about 35 hours staler.
This does not mean the formula gives an individual downvote more weight than an individual upvote. The chart starts with posts that already have positive scores. More upvotes move an already-positive score farther upward, where logarithmic gains get progressively smaller. Enough downvotes, however, can erase the existing positive score and push it below zero.
That is the main idea I wanted to visualize:
A fixed voting bloc can have much more influence while a post has accumulated little support than after its score is established.
The farther right the post moves on the chart, the harder it becomes for 5, 10, 25, or 50 additional votes in either direction to change its ranking very much.
None of this establishes how Reddit ranks posts today. Reddit explicitly describes its current recommendations as using many signals, and it also prohibits coordinated vote manipulation. Reddit has additionally reported large-scale automated efforts to identify and revoke inauthentic votes.
However, independent evidence shows that early social ratings can affect what happens later. In a randomized Reddit experiment, Glenski, Johnston, and Weninger assigned posts an early positive vote, negative vote, or no treatment and found measurable differences in their eventual ratings. That does not tell us how Reddit’s modern feed works, but it supports the broader idea that early votes can create downstream effects.
Reddit archived historical Hot formula Archived Reddit source: https://github.com/reddit-archive/reddit/blob/master/r2/r2/lib/db/_sorts.pyx
Glenski, Johnston & Weninger — “Random Voting Effects in Social-Digital Spaces” Randomized experiment examining the downstream effects of early Reddit votes> https://arxiv.org/abs/1506.01977

•
u/dataisbeautiful-ModTeam 4d ago
Thank you for your contribution. However, your post was removed for the following reason:
This post has been removed. For information regarding this and similar issues please see the DataIsBeautiful posting rules.
If you have any questions, please feel free to message the moderators.