Is there any statistics/diagram that shows and compares the number of MO users in the course of time?
SEDE contains some data about users - so one should be able to find out at least some information. I have tried to create at least some queries - I hope that somebody with better knowledge of SQL might come up with some better suggestions.
Number of active users
I think that it is probably more interesting (and more useful) to look at active users rather than all users. Number of all users will, for example, include spambots or users who registered here and never did anything else. The question is, what does it mean that a user is active - I have tried using "posting at least one comment" or "creating at least one post" as a proxy.
I will reuse the queries from another answer:
- How many users created at least one post in the given month or in the given year.
- How many users posted at least one comment in the given month or in the given year.
It is worth mentioning that users with sufficient reputation have access to site analytics where they can see traffic - statistics about visits and page views. A screenshot from 2017 can be seen in another answer here on meta.
Number of all users
Here are queries showing how many accounts were created per month and per year. (I will explicitly mention that the users who have deleted their accounts in the meantime are not counted here.)
We probably want to see the total number of users who created their accounts until the given date.
- This query should show the total number of accounts created per month and per year.
- As another attempt I tried to take rene's query from an answer on Meta Stack Exchange and to modify it to count users: How can I get stats for the total number of questions and answers posted so far vs. time? This is what I get if I use 30 days and 365 days as the increment in that query.
- If users' ids were assigned consecutively from 1 to the most recent user, we could simply look at the maximum of userid. But this does not really work - as you can see in the queries showing the maxima and the minima per month and per year. I do not have some better explanation for the jumps in this graph other than they might be caused by merging accounts (where an older account might suddenly get higher user id if it was merged with a newer account.) For this reason, it might be better to look at the minima. Still, this will be an overestimate - as the id's are probably not necessarily consecutive. Here is a post mentioning this issue for the ids of posts: What are these mysterious gaps in the progression of post id?
Here are some related posts:
- The number of on line users at a given moment on MathOverflow Meta
- User retention rates on MathOverflow on MathOverflow Meta
- How to count the number of active users on SO or other SE communities? on Meta Stack Exchange
2$\begingroup$ I will admit that I am a bit curious about the spike in 2021 - any other year has less than 25k created accounts, this year has almost 280k. Most likely we'll never know. $\endgroup$ Jan 31 at 14:22
4$\begingroup$ Any anomaly for 2021 is likely due to COVID. $\endgroup$ Jan 31 at 14:31
8$\begingroup$ @MartinSleziak The spike in new user accounts in 2021 is due to a huge influx of spam profiles created in this time. $\endgroup$– Stefan Kohl ModJan 31 at 14:38
1$\begingroup$ @StefanKohl I will admit that spammers could be a possibility - actually that only one I was able to think of. OTOH if I check number of spam posts, that one doesn't seem to be higher in 2021. $\endgroup$ Jan 31 at 14:46
8$\begingroup$ @MartinSleziak The peak was due to profile spammers, i.e., accounts which didn't post. At some point, the interest of profile spammers in MO dropped again, and the massive influx was over. $\endgroup$– Stefan Kohl ModJan 31 at 16:16
7$\begingroup$ @StefanKohl Looking here on meta, these questions - related to spam in users' profiles - are indeed from 2021: Influx of ridiculous number of spam users – what to do? and Filtering out the Autobiographer badge from "Recent Badges". $\endgroup$ Jan 31 at 16:20
2$\begingroup$ Thank you very much and +1 Martin for your very interesting and informative answer $\endgroup$ Feb 3 at 10:36