6

I wanted to run a weekly, 1-hour event, and initially set the time, somewhat haphazardly, to my lunch hour, 9:00pm UTC (as I expected to be alone in participation at first anyway).

However, several users indicated interest, and one user expressed not being able to participate because 9:00pm UTC meant 2:30am IST (India Standard Time; and I imagine we have a lot of SO users there).

When is the ideal time to hold a 1-hour chat room event, to accommodate the most SO users?

Of course, this depends on the type(s) of users one wishes to attract. For example, for my event, I'd be ecstatic to learn

  • which hour on a typical weekday has the most activity from users with >3k rep, or
  • which hour on a typical weekday has the most moderation activity,

as these would correlate best to the type(s) of users I wish to attract.

* However one defines "activity"—whether "votes cast per hour" or "pages visited per hour," I have a feeling the results of most definitions would correlate well enough to determine an hour that's most likely to work well.

I might attempt to write some Stack Exchange Data Explorer queries, but besides that my T-SQL isn't too great, I'm under the impression that these kinds of entire-site-wide/entire-user-wide queries are likely to time out. Perhaps though there'll be ways to restrict the queries enough to produce meaningful results.

4
  • what-is-the-best-time-to-ask-questions
    – juergen d
    Commented Nov 23, 2013 at 19:44
  • 1
    @juergend - Thanks! That definitely helps. Though, the data's from 2009, Stack Overflow's first year. It'd be nice to see some updated data. Also, can we keep this question open at least until I get a chance to write and try some SEDE queries? Again, my knowledge of SQL is practically non-existent, so I'm going to be a little slow. Commented Nov 23, 2013 at 19:48
  • 1
    You might not want to hold your event at the time of the most activity, as that is very likely to be the time that most people are actively trying to solve their immediate programming problems, i.e. working! Commented Nov 25, 2013 at 1:07
  • @MichaelHampton - I agree! That's one of the reasons I was skeptical about using posts as a metric—I think it might work better to measure strictly moderation activity, i.e. the time when people are moderating queues and probably not working very hard :-) I'm about to answer my own question with a query based on measuring suggested edit approvals and rejections. Commented Nov 25, 2013 at 1:39

3 Answers 3

6

Here's a query that counts the number of 3k+ users active on any given hour (ignoring the day) since '2013-10-01'.

Here's the same query, but distinguishing activity based on the day.

These queries are largely unoptimized - they're just the first way of doing it that came to mind. There could be plenty of ways of getting more in-depth results - feel free to extend it appropriately, I just provided the basic query.

The results show that the ideal time is largely focussed around 15:00 - 16:00 (UTC apparently), but the deviation in the intervals around that interval is not too great.

By just changing the ORDER BY, I get a nice little graph:

(x-axis is hour, y-axis is number of users)

1
  • Excellent answer, thanks! Already +1'ed yesterday. I'm still trying to cook up a query that might be more precise to my aims (e.g. counting moderation activity of some sort, rather than posts and comments), and I'll likely post my results later today. Commented Nov 24, 2013 at 23:50
5

tl;dr

1:30pm UTC to 2:30pm UTC might be the ideal time to hold a chat room event centered around moderation activity. (See the conclusion for a more qualified answer.)


Background

To make the event widely to users who review the close votes queue, an ideal solution might have come from being able to query for data on close vote reviews. However, that data isn't yet available, though possibly underway (see @Emracool's request and @Shog9's proposal). Data on close and reopen votes seemed a promising proxy, but I found not only that full timestamps weren't available on the Votes table, but also that this data stopped being available after June 25th, 2013 (due to internal refactoring).

So, what to use as a metric on activity?

@juergend, @rene, and @Dukeling all proposed some nice answers—measuring activity based on posts. @Dukeling also grouped his results by distinct users, which I thought was an insightful addition, since I'm looking to maximize exposure to active users, not just the busiest active users. I wasn't convinced though, about basing the metric on posts. Like @Dukeling commented himself, for example, higher rep users probably don't ask as many questions; and personally, while I agreed that answers and comments were good indicators of activity, I wasn't sure they'd correlate as well to moderation activity.

Suggested Edits

What about suggested edits (approvals and rejections)? After all, the suggested edits queue is the most popular of the queues (next to the close votes one), and it's strictly a moderation activity. Here's a plot of suggested edits approvals and rejections in 10-minute buckets:

SELECT
  Time,
  COUNT(*) Activity
FROM
(
  SELECT
    UserId,
    DATEADD(mi, DATEPART(hh, v.CreationDate)*60
      + DATEPART(mi, v.CreationDate)/30*30, 0) AS Time
  FROM SuggestedEditVotes v
  INNER JOIN Users ON Users.Id = v.UserId
  WHERE Users.Reputation >= 3000
) X
GROUP BY Time
ORDER BY Time

Suggested edits: approvals and rejections by >3k rep users per 30-minute window:

enter image description here

Interesting! Using suggested edits activity as a proxy for moderation activity, it appears the busiest window of time for moderation is between approximately 9:00am UTC and 2:00pm UTC!

At least two further adjustments can be made.

First, while doing some related research, I noticed a pattern: not only are there distinct slumps in moderation activity over the weekends, but hour-by-hour shapes on the weekend look different, too:

SELECT TOP 30
  CAST(CreationDate AS DATE) AS Date,
  MAX(Count(*)) OVER(PARTITION BY CAST(CreationDate AS DATE)) as Activity
FROM SuggestedEditVotes
GROUP BY CAST(CreationDate AS DATE)
ORDER BY Date DESC

Suggested edits: approvals and rejections per day:

enter image description here

Code omitted due to length. See query here.

Suggested edits: approvals and rejections by >3k rep users per 30-minute window:

enter image description here

So, first, let's filter out the weekend data, since I only plan to run my event on weekdays:

Suggested edits: approvals and rejections by >3k rep users per 30-minute window (weekdays):

enter image description here

Second, as @Dukeling first demonstrated, let's count distinct users, rather than distinct actions:

Distinct >3k rep users approving and rejecting suggested edits per 30-minute window (weekdays):

enter image description here

The queries are available here and here, respectively.

Conclusion

Analyzing only weekdays and the actions of users with >3k rep, it appears that

  • 11:30 UTC to 12:30 UTC sees the greatest number of suggested edits approvals/rejections.
  • 13:30 UTC to 14:30 UTC sees the greatest number of users approving/rejecting suggested edits.

Using suggested edits approvals and rejections as a proxy for moderation activity, these times seem ideal for holding a chat room event centered around moderation activity.

5
  • Are you sure that "Suggested Edits" is a good proxy for moderator activity? I notice the Suggested Edit queue is often empty; so you may be measuring low-quality post volume or edit volume more than moderator volume... You may simply be measuring the time when the highest number of ESL speakers ask questions.
    – Flimzy
    Commented Nov 25, 2013 at 13:37
  • @Flimzy - I'm not sure—there may be no good estimators until Stack Exchange releases data on close votes reviews. However, my line of thinking was that users moderating the suggested edit queue were at least moderating, i.e. they were all visiting the reviews page (where the close votes reviews are visible), and thus suggested edits may serve as a better proxy than posts (questions, answers, and comments). That said, though the creation of a suggested edit may be indicative of a low-quality post, the votes (approvals and rejections) are made solely through the review queue. Commented Nov 25, 2013 at 13:43
  • I understand your line of reasoning; I just think it breaks down due to the relatively low volume of edits relative to the number of available moderators. I rarely if ever see more than maybe 25 suggested edits in queue, and quite often I see 0.
    – Flimzy
    Commented Nov 25, 2013 at 13:57
  • 1
    @Flimzy - You definitely have a point. Alas, I don't know at this time—I suppose we'll know when we get to query data on close votes reviews. For now, I need some metric, and for some reason I trust one based on suggested edits more than one based on questions, answers, and comments. I appreciate your skepticism and will follow up if/when I think of a way to test your thoughts. Commented Nov 25, 2013 at 14:03
  • 1
    Good luck with your chat event :)
    – Flimzy
    Commented Nov 25, 2013 at 14:33
3

Based on this query only looking at new questions

select top 1 * 
from 
(
select datename(dw,creationdate) as dayofweek
, datepART(hh,creationdate) as hour
, count(*) as numofposts
from posts
where id > 15000000 -- limit due to timeouts
and posttypeid = 1 -- only questions
-- and creationdate > '2013-10-01' -- last month rougly
group by   datename(dw, creationdate)
, datepart(hh, creationdate)
) as t
order by 3 desc

the outcome is: 'Thursday' from 15:00 to 15:59 (I assume that is GMT/UTC...)

9
  • I think using both id > 15000000 and creationdate > '2013-10-01' is redundant. Don't posts with an ID > some post's ID, also have a creationdate later than that post? Commented Nov 23, 2013 at 21:18
  • 1
    I think it is rather UTC time.
    – juergen d
    Commented Nov 23, 2013 at 21:33
  • @juergend - Is there a difference between GMT and UTC? Commented Nov 23, 2013 at 21:37
  • No there is not. Just looked it up. Interesting :)
    – juergen d
    Commented Nov 23, 2013 at 21:42
  • @Dukeling You're right but I kept getting timeouts and I wondered if the creationdate maybe lacked an index so I added the id hoping the query plan would choose an index, which it did...
    – rene Mod
    Commented Nov 23, 2013 at 21:53
  • creationdate doesn't have an index, but id does have one (i.e. you can just query on id). Commented Nov 23, 2013 at 21:56
  • Some concerns: (1) Why only questions? (or is it just performance concerns?) Some high-rep users post very few questions. (2) You're not taking user ID into account - users who post a lot of content can taint the results. Commented Nov 24, 2013 at 0:02
  • Only questions was indeed due to performance (I got timeouts). I saw juergen d his query (he deleted his answer though) also take votes into account which is also a good idea. I was trying another query to indeed have a unique visitors count per day but that didn't fly quick enough but I see you managed that nicely!
    – rene Mod
    Commented Nov 24, 2013 at 13:15
  • Thanks for this code, @rene! It was a very useful starting point—I'm now trying to build some queries that are more specific to moderation activities. Commented Nov 24, 2013 at 23:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .