8

How can I determine the percentage of users who actively answer questions in any given Stack Exchange forum?

By active, I mean have answered at least one question within the last 12 months, regardless of whether their answer was selected or upvoted.

I'm as much interested in how I can find the answer myself as I am in the actual answer.

New contributor
DV82XL is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • 4
    You can find the answer using SEDE, the Stack Exchange Data Explorer. – Luuklag Jan 12 at 15:48
  • 5
    Check out the SEDE tutorial – VLAZ Jan 12 at 15:49
8

Using SEDE, the following query gives the desired results:

SELECT COUNT(*) As AnsweringUsers
FROM (
  SELECT COUNT(*) AS AnswerCount
  FROM Users
  LEFT JOIN Posts
  ON Users.Id = Posts.OwnerUserId
  WHERE Posts.PostTypeId = 2
  AND Posts.CreationDate >= DATEADD(month, -12, CURRENT_TIMESTAMP)
  GROUP BY Users.Id
  HAVING Count(*) > 0
) AS X;

A query for total users shows 13,764,888. However, as @VLAZ suggested, many of those users are stale and have not logged on in years. It makes more sense to consider only active users. For simplicity, I used Users.LastAccessDate, which includes any login within the query window. Here's the query for active users in the last 12 months:

SELECT COUNT(*) As ActiveUsers
FROM Users
WHERE Users.LastAccessDate >= DATEADD(month, -12, CURRENT_TIMESTAMP);

Here are the results for Stack Overflow on Jan 13, 2020.

EDIT: I made a mistake in my previous post. The SQL query did not filter on PostTypeId=2, so those results are for % of users who posted anything. Here are the correct results with updated SQL query.

Users Who Answered

Query Window Users Answered Active Users % of Active Users % of Total Users
Last 12 months 529,224 5,019,518 10.5% 3.8%
Last 6 months 297,102 3,558,794 8.3% 2.2%
Last 3 months 163,368 2,729,044 6.0% 1.2%
Last 1 month 59,831 1,925,073 3.1% 0.4%

Users Who Posted

Query Window Users Posted Active Users % of Active Users % of Total Users
Last 12 months 1,210,741 5,019,518 24.1% 8.8%
Last 6 months 691,999 3,558,794 19.4% 5.0%
Last 3 months 391715 2729044 14.4% 2.8%
Last 1 month 153,814 1,925,073 8.0% 1.1%
New contributor
DV82XL is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • 3
    It might be useful to only check "active" accounts. Although, I'm not exactly sure how that would be formulated. I don't think SEDE gives thorough information for user activity but you can at least consider users who have commented, posted, and cast votes. You can choose the timeframe for that. The idea is that many accounts are abandoned for one reason or another, so counting them as "not answering" might not be very useful, since they aren't doing anything and likely haven't logged in for many years. – VLAZ Jan 13 at 9:20
  • 1
    Good suggestion @VLAZ. I'll update my query to look for users with LastAccessDate within the last 12 months. – DV82XL Jan 13 at 15:42
6

The answer to these sort of questions can be found using the Stack Exchange Data Explorer.

Here is one example:

Users answering more than 3 questions per week this past year on Stack Overflow

Changing that to one per week gives 70-85 thousand users, with the peak during May 2020, or approximately 0.55% of the users (out of 14 million) are that active.

  • 1
    Did you see a dip? – new QOpenGLWidget Jan 12 at 16:16
  • 1
    From 13 to 12 in the past year, on 3 answers per week, isn't really a very noticeable dip; which could easily be counteracted by many new users engaging actively and only answering 2 questions per week. – Rob Jan 12 at 17:00

You must log in to answer this question.

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