Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 158 Stack Exchange communities.

What is meta?
Here's how it works:
  1. Any Stack Exchange user can ask a question
  2. The community provides support, votes on ideas, and reports bugs
  3. Your voice helps shape the way Stack Exchange operates

I was wondering what the diversity of knowledge of SO users would be like. It seems like an interesting research idea to see how many people have responded only to questions in a very narrow field, and how many others have broader knowledge and can contribute useful answers in more diverse fields.

This could be done using tags: first cluster the tags according to how often each pair of tags shows up at the same question (a user that knows both ASP and shouldn't be considered a 'diverse' person, so this should be factored out first), and then counting in how many different clusters that this user has contributed a good answer (with 'good' being defined as the assigned answer, or just an upvoted one, or ...). You could assign badges based on this, or just write an interesting blog post...

share|improve this question
This is what the Generalist badge was supposed to be, methinks. – Matthew Jones Nov 5 '09 at 20:55

You can do this, I believe, with the public database. It does sound like an interesting research topic, to measure each person's breadth vs depth ratio, then plotting it with other measures.

I think everyone would be interested in seeing what, if any, correlation there is between breadth/depth and reputation.

share|improve this answer
up vote 2 down vote accepted

OK, I've had a stab at trying this on the last (October 2009) public data set. I've ignored the SU and SF parts of the dump. The idea is to count how many of SO's questions you could conceivably answer, given your proficiency in each of the tags of that question.

First I've scored all answers each user has given. 20 points go to it being the accepted answer, another 80 points are distributed over all answers to a question in relation to the answer's votes. This is not exactly the same as the reputation earned for that answer, since popular questions get a lot more up-votes to their answers, but in this analysis this isn't really worth much more than a good answer to an unpopular question.

The points for all your answers are distributed over the tags with which the question is tagged. This gives each user a number of points for all tags. These points are converted into a "proficiency" that user has for this tag: proficiency = 1 - exp(-points / 500). So 1000 points (10 very good answers) gets you to 86%, more points will asymptotically get you to 100%.

At this point you can compute the average proficiency over all tags for each user, see this graph for the average tag proficiency versus reputation (for users with reputation > 1000).

The next step is to compute the question proficiency. This is done, for each question and each user, by taking the geometric average of this user's tag proficiencies over all tags that this question is tagged with. This can again be averaged (arithmetically), yielding the user's question proficiency which is a measure for how many of the site's questions he/she could answer. This graph plots average question proficiency versus reputation. Note that this last one is a fairly heavy query (~1 second per user), so it could more feasible to base an actual implementation on tag proficiency only (see also this graph of tag vs. question proficiency), although this would overvalue knowledge of topics SO doesn't care much about.

Analysing the question proficiency vs. reputation graph, we see that both are clearly related (if you answer enough questions, you're bound to have covered most of the tags). Still, some users reach a posible threshold value of 20% question proficiency at a reputation of only 10,000; while others couldn't get there even at 60,000 reps. (Shall I insert userids here? ;-)

All comments are welcome...

share|improve this answer

The Generalist Badge (not yet implemented) is supposed to cover this.

share|improve this answer
Do I hear an echo? :) – Matthew Jones Nov 5 '09 at 21:12
@Matthew Jones: What are you talking about? – George Stocker Nov 5 '09 at 21:30
@Matthew Jones; Oh wait, I see it now. I had the page open before you made that comment, I just didn't get around to answering it until after you commented. – George Stocker Nov 5 '09 at 21:31

You must log in to answer this question.

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