Hi, I’m wondering how many go players are here on OGS? I mean ones that play at least 1 game per week

You can see from this api that there are 173369 “ranked” players (players that aren’t provisional): https://online-go.com/api/v1/players?ordering=-rating&numProvisional__lt=1

As for active users I haven’t found a way to find out

I counted about 100672 games in one week (based on a three month average). Quite a nice and round number. It’s almost exactly 10 games per minute.

I think estimating this is quite difficult though… If you pick random games, then about 10~20% of them are played by bots, which have a huge contribution to the whole stack. You’re far more likely to encounter a very active player than a rather inactive one. I took an average of about 10 players, which gave me 110 games per player.

Looking at random players to see if they played the last week or not is also not viable, since you’re far more likely to pick a player who has left long ago, than a player who is active now.

Finally counting the number of players in the last X games and extrapolating that to a week is not a good estimate, since many people play multiple games in rapid succession.

One way to do it, is to take a sample right now of people who are playing games at the moment and look back at a later time to see how much of these people are still there.

Here’s an example of Matt Parker trying to estimate the number of statisticians at a conference:

At 2018-10-21 13:56:13 there were 8758 active players.

As criteria, I used at least 1 ranked game ended every week over the past 4 weeks.

It’s a great measure, but it might be very conservative, since many correspondence players will not finish a game per week.

I guess it’s pretty much a measure of *live/blitz* players.

I’ll rerun my script if you give me

- peridoe_length (should be convertible to secs, so no month, year, …)
- number_of_periods
- games_per_period

My database doesn’t distinguish between blitz/live/correspondence no board size.

I swear flovo has a script for literally everything imaginable… and probably even a few unimaginable things

As I said above, I’m pretty sure the script won’t give an accurate result without some statistical magic.

That’s a pretty harsh criteria. I couldn’t fit that rule because I skipped a week

Also do you have the api db backed up locally?

Can you explain how this estimates the number of players?

We might have 10 players, each who plays another player for an hour each day, and yet at any given time there would only be 2 people playing “at the moment”.

Yeah, it doesn’t work realistically, since you need to assume your population mixes uniformly in between measurements, and since people won’t suddenly start playing in the middle of the night or during work hours, it’s not really a uniform chance that you encounter a player at a given time

If it were, though:

Let’s make it bit larger, then it’s more realistic. If there’s 2400 people each playing one hour a day, then you expect ‘at a random moment’ to see 100 people playing, so you tag, say, 10 of them. Then, a random time later, you measure again, and you see another 100 people, and you take 10 of them, then you should expect 1/24 of them is already tagged. Doing this often will give an estimate that gets quite accurate.

It’s how people do things like track bird populations, or tigers or so. The problem is that you rely on them mingling, which is not completely reliable in nature, and definitely not in people’s go schedules.