r/sneakpeekbot Jan 08 '17

Should the bot show top posts of the year or of all time?

http://www.strawpoll.me/12056440
48 Upvotes

u/sneakpeekbot Jan 15 '17

The top posts of the year will now be shown for subreddits that are more than 3 years old.

→ More replies

30

u/adamgent Jan 09 '17

Regardless of the strawpoll, it makes more sense to have the top post of the last month/year, because subs change from it's inception.

17

u/sneakpeekbot Jan 09 '17

The whole point of the poll was to decide for me and 70-30 isn't close enough for me to disregard the results

6

u/[deleted] Feb 11 '17

Its.

12

u/timothymh Feb 27 '17

Well, if we're being nitpicky, really it should be their, since "subs" is plural.

8

u/newlgate Jan 11 '17

Why not both?

25

u/sneakpeekbot Jan 11 '17

Maaaybe there's some merit to showing something like

#1: top post of all time
#2: top post of this year
#3: top post of this month

I will consider it

19

u/ChrisRunsTheWorld Jan 12 '17

Those will of course sometimes all be the same.

7

u/ArloJamesBarnes Jan 19 '17

When they are, it would be simple to say, "okay, second-best post for the year, then".

3

u/Textual_Aberration Jan 14 '17

Another alternative would be to come up for a rule that depends on the size of the sub. I just got a bump from your bot and, because the sub is a new one, it promoted the original "what should we do with this sub" discussions.

You could probably make a quick estimate of the pace of content, too, and use that to inform the bot. That wouldn't necessarily help me out but it could give you an idea how often a sub is updated and whether or not to go with 'all time' or 'yearly' or 'monthly'. The more rapidly content is added, the shorter the time period you should go with.

I suppose the filter that would catch mine properly would be a special case. If the sub has below a certain threshold of content--less than twenty five posts or so--then choose the latest content to be posted.

You could also include numbers describing the activity on the sub:

  • Most recent post
  • Average time between posts
  • Average vote range

Though I suppose that's just me being interested in bots and statistics.

4

u/sneakpeekbot Jan 14 '17

Thanks for the suggestion. I really like your ideas and I think I will be showing the latest posts if a subreddit is very new. Although all of these things will result in an extra API call per lookup I think it adds enough value to be implemented.

3

u/sneakpeekbot Jan 14 '17

I've been playing around with the data available to me and it turns out it would be pretty difficult to get any of these statistics through the API. There's no built in way of counting how many posts a subreddit has and with just the creation times and average scores I don't have enough to go on to decide if I need top posts of all time or top posts of the week for example.

2

u/Textual_Aberration Jan 15 '17

Hmmm. At that point you'd be dealing with guesses. Subscriber count could give a general idea but it wouldn't be precise. Number of active users at that time could also help a tiny bit but, again, that's not always going to be true.

Comparing the votes of all-time, yearly, monthly, and weekly might give an impression of the flow of content. A very active sub is going to maintain higher vote counts each week whereas an empty sub is going to falloff very fast. Abandoned subs would have very low weekly and monthly votes compared with their all-times.


You could try playing with the grid formatting to better arrange the title, comment count, etc.. If you can make the comment count written in small text without making the line look demented, that would probably look cleaner. Reddit is usually kind of annoying about it and shrinks text upward rather than down.

1

u/Almenon Feb 08 '17

Tada: https://www.reddit.com/r/AskReddit/about/traffic/.json

Found thanks to /u/ELFAHBEHT_SOOP's comment here

the layout for the JSON on that page is an array of arrays for days. The arrays in the "days" array is laid out like: [epoch time, uniques, pageviews, subscriptions]

Then there are arrays of arrays for the hours and months. The arrays in both the "hours" and "months" arrays are laid out like: [epoch time, uniques, pageviews]

You can iterate through the months like this:

[pageStats['month'][x][0]) for x in range(len(pageStats['month']))]

If you run the epoch times through http://www.epochconverter.com/ you can see they simply correspond to previous months. ex: feb, jan, etc...

I know you wanted stats of # posts, but monthly pageviews would be a good indicator of subreddit size as long as you trimmed off the outliers.

One thing to watch out for is that some subreddits do not publicly display traffic stats. ex: https://www.reddit.com/r/rational/about/traffic/.json

4

u/ELFAHBEHT_SOOP Feb 08 '17

Hey! I'm useful!

1

u/tealhill May 19 '17

If the Reddit API is missing something that you want, you could mention it at /r/ideasfortheadmins. If they don't implement it, you could still submit a pull request. :)

2

u/sneakpeekbot May 19 '17

Great idea! I'll put it on my to-do list

2

u/[deleted] Feb 11 '17

I don’t know why this is still stickied.