This is a repost from my blog
Periodically people make the claim of over 2 million active users for OpenStreetMap, but what this mean? This is the total number of accounts, including those who never edited, those who left long ago, spammers, and actual active contributors.
The closest metric to a standard is active users over the last 30 days. Although we can't get that number, we can look at the changeset dump and analyze it with ChangesetMD and some SQL.
The SQL is fairly simple.
SELECT COUNT(DISTINCT user_id) AS active_users, date::date
JOIN generate_series('2007-01-01'::timestamp, '2015-12-31'::timestamp, '1 day') AS d(date)
ON (created_at <= d.date AND created_at > d.date - '30 days'::interval)
GROUP BY date
ORDER BY date ASC;
OpenStreetMap was around before 2007, but the way data was stored was different so changeset dumps aren't reliable that far back.
Taking the resulting file and a bit of gnuplot magic gives us a graph.
There's been a steady upwards trend with strong seasonal variations. This makes sense, since mapping is an outdoors activity.
Why does this matter? Besides accuracy, it's important to be using a meaningful number when looking at growth.
Another reason is comparing with any other membership numbers. We want the OpenStreetMap Foundation to be representative of OSM contributors, but we need to measure that against a realistic number. The OSMF has 700 members, or 2-3% of OSM contributors. This could use improvement, but is in the normal range for foundations. If we incorrectly measured against the total number we'd get 0.03%, an absurdly wrong number.