Mean Expertise Contribution (MEC) in a tag

2

Please login or register to vote for this query.

(click on this box to dismiss)

スタック・オーバーフローMeta

プログラマーと熱狂的なプログラマーのためのサイトに関する質問と回答

-- http://yangjiera.github.io/home/works/umap2014_experts.pdf

declare @tag_debate float = (
  select avg(1.0*AnswerCount)
  from Posts q
       join PostTags on q.Id = PostId
       join Tags t on TagId = t.Id
  where TagName = '##tag##'
);

/* The paper reported 2.27+/-1.74 as the average number of answers to 
   C# questions. I tried using that number, but it didn't radically 
   change the results. */
--declare @tag_debate float = 2.27;

with answers as (
  select a.OwnerUserId UserId,
         1.0/rank() over (partition by q.Id order by a.Score desc) utility,
         1.0*q.AnswerCount debatableness,
         1.0/rank() over (partition by q.Id order by a.Score desc) *
         q.AnswerCount/@tag_debate EC
  from Posts q
       join Posts a on q.Id = a.ParentId
       join PostTags on q.Id = PostId
       join Tags t on TagId = t.Id
  where TagName = '##tag##' --and q.Id = 9929585
),

user_MEC as (
  select UserId as [User Link],
         sum(EC)/count(*) MEC,
         avg(utility) AU, 
         avg(debatableness) D,
         @tag_debate D_avg_t,
         count(*) Q_u_t
  from answers
  group by UserId  
)

select *
from user_MEC
where MEC >= 1
      /* I don't get the right number of MEC >= 1 users. Limiting it to 
          people who ask  2 or more questions helps get us close. Perhaps 
          the rest of the discreptancy comes from using Sept. 2013 data? */
      and Q_u_t >= 2
order by MEC desc

Enter Parameters

Options:
Switch to main site
loading Hold tight while we fetch your results