it is very difficult because there is many address owning to a single person and many transactions from single addresses
I read there is a blockparser to calculate it approximately but I couldn't make it work
thats why you dont try basing users based on bitcoin addresses.. but by factual info such as users signing up to services that give away home addresses. and then factor in an amount of people that wont give away home addresses, and add that on..
using blockchain addresses is just randomness used as just pattern recognition