I have roughly 27k total Stack Exchange rep between all sites. I notice that when I follow or commit to an Area 51 proposal, I'm usually one of the highest on it when sorted by user reputation.

My question is, how might one go about finding their rank of Stack Exchange rep? We can do it individually per site, but that's not what I'm looking for exactly.

I have considered something like... pulling a data.stackexchange query of all users with 10k+ rep on each site (just assuming there's not people with 8k rep on four different sites to sneak under the radar) and compiling a list that way, but that is a lot of work and isn't guaranteed to be accurate. And from what I can tell, the data query tool is not capable of hitting multiple databases.

What are my options to solve this incredibly not important problem?

  • It seems like it should appear in the leagues – Michael Mrozek Nov 17 '11 at 19:22
  • You can do cross-site queries, but being able to join a user cross-site is difficult due to lack of account association information. – Tim Stone Nov 17 '11 at 19:27
  • @michael That was my first thought too. – corsiKa Nov 17 '11 at 19:30
  • @Tim Stone - that's a good point. And you can't rely on names either, since they change across sites and who knows how many people call themselves "Jon Skeet" (legitimately or not). (Actually I bet you could know if you did the query but... anywho) – corsiKa Nov 17 '11 at 19:31
  • I've been considering a way to make that more practical, but that's a bit of a back-burner thing at the moment. – Tim Stone Nov 17 '11 at 19:32

At the moment I think your best option is to narrow your scope, and query each site individually. It's a pain, but there's no other easy way since not everyone is on Area51 (if they were, you could just scrape that).

Similar to http://stackathlon.appspot.com/ you should consider only those users with X reputation or higher and set up your queries to ignore user accounts on sites where the users have less than X reputation.

For instance, you might set X to 10k, as you will find hundreds of people with over 10k just on stack overflow alone. You will miss people who have 9k on many sites, but they will still rank very low on the scale, and it wasn't too long ago that jeff mentioned in a comment that there are actually relatively few people who get over 1k on more than a few sites (as an example, see the above linked stackathlon site).

Now you have to connect accounts. Take one person, scrape their accounts page for the URLs to their other site's accounts, and remove their other accounts from your list (so you don't do it multiple times for the same person). At the same time collect their rep from sites they also participate in, but weren't over X. This way you will have complete rep points for everyone who was on the list, and their account associations.

You should be able to rank everyone at this point.

Again, you'll have missed someone if they have 5k points on 50+ sites, but that is rare enough that it's not likely to change even if you set X to 1k and collected most of the active stack exchange users. But you could scrape all the account pages at the 1k and up level if you wanted. It would just take a long time since the system isn't scraper friendly. Unfortunately this information does not appear to be accessible via the data exchange.

You must log in to answer this question.

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