284 upvotes, 5 direct replies (showing 5)
For the past month I've collected data about how the score (upvotes - downvotes) and karma of individual posts change over time. As[1] you may[2] know, one[3] upvote doesn't[4] necessarily increase your karma by one, the amount of karma you get per upvote decreases as the score of your post increases.
___ #Data collection
I used Python and PRAW[5] to grab the IDs of newly made posts and collected their score and the author's link karma approximately every six minutes. The script dropped posts from its collection if the score increased too slowly (the rate varied by subreddit, on some subs it worked to drop posts scoring less than one upvote a minute, while for r/askreddit the rate was more like one upvote every eight minutes)
3: https://www.reddit.com/r/dataisbeautiful/comments/asjpjx/the_rate_of_karma_inflation_oc/
5: https://praw.readthedocs.io/en/latest/
To avoid contamination from other posts, the script also stopped looking at a post if the author had made another post in the last 24 hours.
In some cases the script grabbed posts that had already accumulated some upvotes. When this happened I removed posts where (minimum score)-1 was less than 0.001 x (maximum score); e.g. all posts with a min. score of one were accepted, but a post with a min. score of two needed to end up with at least 1,000 points to be included in the analysis, and so on. I then adjusted the initial karma of these posts by 0.7 x (minimum score - 1) to approximate how much karma these posts would have given their authors before the script saw them.
I also removed posts that gained more karma than upvotes, which I believe was caused by the script returning an incorrect value for the author's initial karma.
I analyzed the data in R and plotted them using ggplot.
The twelve subreddits named in the graph were chosen as either having more than two posts scoring greater than 50k, or more than six posts scoring greater than 10k.
The time taken to reach 10k and the karma gained for 10k points is an approximation based on the two data points for each post with scores closest to 10k. I assumed that the rate of karma and point gain for this interval was approximately linear. Illustration here[6]. ___
6: https://i.imgur.com/HgNykA4.png
For (some) individual posts, the Michaelis–Menten equation used here[7] is a good approximation of the relationship between upvotes and karma. E.g. for the highest scoring post in the data set (from r/gifs) the relationship between score and karma can be modeled as **karma = (8804 x score) / (6848 + score)** ; graph here[8] (nls, df=46,R^(2)=0.998,p<0.001).
8: https://i.imgur.com/UZvkVpS.png
For other subs, or when looking at groups of posts, this model underestimates karma for scores between ~10k and ~50k, and overestimates karma for scores greater than ~50k, see r/pics graph here[9]. As can also be seen in that graph, the rate at which some posts gain karma **increases** at large scores (possibly due to it taking longer for Reddit to update karma than post scores, I would welcome any other explanations).
9: https://i.imgur.com/Ax40Xvy.png
r/memes has the worst karma/score ratio of any of the high scoring subs:
┌──┬────────────────────┬────────���──────────────────────────────────────────┬──┐ │ │ Subreddit │ Average max. karma for posts with > 50k points │ │ ╞══╪════════════════════╪═══════════════════════════════════════════════════╪══╡ │ │ Interestingasfuck │ 8135.150 │ │ ├──┼────────────────────┼───────────────────────────────────────────────────┼──┤ │ │ Todayilearned │ 7991.700 │ │ ├──┼────────────────────┼────────────────��──────────────────────────────────┼──┤ │ │ Australia │ 7914 │ │ ├──┼────────────────────┼───────────────────────────────────────────────────┼──┤ │ │ Gifs │ 7864.600 │ │ ├──┼────────────────────┼───────────────────────────────────────────────────┼──┤ │ │ Pics │ 7847.600 │ │ ├──┼────────────────────┼───────────────────────────────────────────────────┼──┤ │ │ Aww │ 7634.780 │ │ ├──┼────────────────────┼───────────────────────────────────────────────────┼──┤ │ │ AskReddit │ 7609.500 │ │ ├──┼────────────────────┼───────────────────────────────────────────────────┼──┤ │ │ Rareinsults │ 7591.850 │ │ ├──┼────────────────────┼─────────────────────────────────���─────────────────┼──┤ │ │ NatureIsFuckingLit │ 7451.500 │ │ ├──┼────────────────────┼───────────────────────────────────────────────────┼──┤ │ │ Funny │ 7404.400 │ │ ├──┼────────────────────┼───────────────────────────────────────────────────┼──┤ │ │ HistoryMemes │ 7368.200 │ │ ├──┼────────────────────┼─────────────────────────────────────────��─────────┼──┤ │ │ Gaming │ 7350.980 │ │ ├──┼────────────────────┼───────────────────────────────────────────────────┼──┤ │ │ Me_irl │ 7281.250 │ │ ├──┼────────────────────┼───────────────────────────────────────────────────┼──┤ │ │ PrequelMemes │ 7125.300 │ │ ├──┼────────────────────┼───────────────────────────────────────────────────┼──┤ │ │ Memes │ 5845 │ │ └──┴────────────────────┴───────────────────────────────────────────────────┴──┘
A post that reaches 10k points in five hours will give around 250 to 500 more karma than a post that reaches 10k in ten hours. The average amount of karma and the rate of karma decrease depend on what subreddit you post to.
┌──┬────────────────────┬─────────���─┬───────┬────────────┬──┐ │ │ Subreddit │ Slope^(*) │ R^(2) │ p value │ │ ╞══╪════════════════════╪═══════════╪═══════╪════════════╪══╡ │ │ HistoryMemes │ -32.180 │ 0.110 │ p>0.1 │ │ ├──┼────────────────────┼───────────┼───────┼────────────┼──┤ │ │ Science │ -28.470 │ 0.130 │ p>0.1 │ │ ├──┼────────────────────┼───────────┼───────┼────────────┼──┤ │ │ Funny │ -47.710 │ 0.220 │ p<0.001 │ │ ├──┼────────────────────┼──���────────┼───────┼────────────┼──┤ │ │ Gaming │ -87.230 │ 0.240 │ p<0.05 │ │ ├──┼────────────────────┼───────────┼───────┼────────────┼──┤ │ │ Pcmasterrace │ -89.290 │ 0.260 │ p=0.0601 │ │ ├──┼────────────────────┼───────────┼───────┼────────────┼──┤ │ │ Aww │ -62.540 │ 0.320 │ p<0.01 │ │ ├──┼────────────────────┼───────────┼───────┼────────────┼──┤ │ │ Memes │ -51.170 │ 0.370 │ p<0.001 │ │ ├──┼────────────────���───┼───────────┼───────┼────────────┼──┤ │ │ Me_irl │ -107.220 │ 0.390 │ p<0.01 │ │ ├──┼────────────────────┼───────────┼───────┼────────────┼──┤ │ │ Pics │ -42.110 │ 0.430 │ p<0.001 │ │ ├──┼────────────────────┼───────────┼───────┼────────────┼──┤ │ │ NatureIsFuckingLit │ -103.090 │ 0.470 │ p<0.01 │ │ ├──┼────────────────────┼───────────┼───────┼────────────┼──┤ │ │ ShitPostCrusaders │ -74.460 │ 0.520 │ p<0.001 │ │ ├──┼─────────���──────────┼───────────┼───────┼────────────┼──┤ │ │ PrequelMemes │ -67.780 │ 0.560 │ p<0.001 │ │ ├──┼────────────────────┼───────────┼───────┼────────────┼──┤ │ │ Interestingasfuck │ -90.790 │ 0.580 │ p<0.001 │ │ └──┴────────────────────┴───────────┴───────┴────────────┴──┘
^^(*) ^(Karma/hour. These values are different depending on what score you're looking at. This table represents the karma gained for posts with 10k points)
___
Things I also looked at that didn't affect karma, at least noticeably:
Here's[10] another way of visualizing the data
The full data set can be downloaded here[11]
10: https://i.imgur.com/hY6LzsJ.png
11: https://drive.google.com/open?id=1rzwfN-PogWv1GjW9UslE_Z4KrrUktzUD
Comment by AmazingStarDust at 10/02/2020 at 09:12 UTC
42 upvotes, 1 direct replies
That's awesome!
Are you a data scientist?
Comment by [deleted] at 10/02/2020 at 15:32 UTC
3 upvotes, 0 direct replies
This is really cool! It's always refreshing to see posts that can be backed up with some heavy logic that really forces you to think. Great job!
Comment by the_timps at 10/02/2020 at 12:22 UTC
9 upvotes, 0 direct replies
The faster you get upvoted, the more karma you get
This is how it's intended to work.
After a period of time, the upvotes don't give karma anymore.
And the upvote count isn't "real". The numbers are approximate and display differently for each user, either up or down by a certain amount. This vote fuzzing is to stop bots from knowing if their vote was successful or not.
Comment by Xenc at 10/02/2020 at 15:42 UTC
1 upvotes, 0 direct replies
This is beyond science. 👏
Comment by JobyDuck at 14/07/2020 at 12:35 UTC
1 upvotes, 0 direct replies
This is an incredible analysis. Thank you for being you.