6

The post feedback tool for 10k+ users is pretty interesting, but it's hard to find underrated gems and problematic questions using it because they're lost in a sea of answers with feedback.

Would it be possible to get a "questions-only" filter (and I suppose an "answers-only" filter, if you're into that sort of thing)?

0

1 Answer 1

1

While we have to be happy the postfeedback tool works again, we don't have to expect new features to it in the next 6 to 8 weeks. To overcome this period I've created this SEDE query that creates the overview, overrated and underrated tabs in the tool with a filter on questions.

It is three queries in one so you have to cycle through the Result sets (click on the 1/3). First is overview, second is underrated and third is overrated. The query itself is nothing more then using the data that is available in the postfeedback table. Joining on postid with the posts table gives the posttypeid where a 1 indicates a question.

-- postfeedback overview
select case when p.posttypeid = 1 then 'Question' else 'Answer' end [Question/Answer] 
     , case when isanonymous = 1 then 'Anonymous' else 'Registered' end [Type]
     , count(*) total
     , sum(case when votetypeid = 2 then 1 else 0 end) upvotes
     , sum(case when votetypeid = 3 then 1 else 0 end) downvotes
from postfeedback pf
inner join posts p on p.id = pf.postid
group by p.posttypeid,isanonymous
order by posttypeid, isanonymous

-- overrated questions
select postid as [Post Link]
     , p.creationdate
     , max(pf.creationdate) [last feedback]
     , sum(case when votetypeid = 2 then 1 else 0 end) [up]
     , sum(case when votetypeid = 3 then -1 else 0 end) [down]
     , sum(case when votetypeid = 2 then 1 else 0 end) 
     + sum(case when votetypeid = 3 then -1 else 0 end) [score]
from postfeedback pf
inner join posts p on p.id = pf.postid
where 
-- negative feedback
pf.postid in (
  select distinct postid
  from postfeedback 
  where votetypeid = 3 
) 
and
-- not voted for a year
pf.postid not in (
  select postid
  from votes 
  where creationdate > dateadd(yy, -1, getdate())
  and votetypeid in (2,3) 
)
and p.posttypeid = 1 -- Q
group by postid, p.creationdate
order by sum(case when votetypeid = 2 then 1 else 0 end) 
       + sum(case when votetypeid = 3 then -1 else 0 end) 

-- underrated questions
select postid as [Post Link]
     , p.creationdate
     , max(pf.creationdate) [last feedback]
     , sum(case when votetypeid = 2 then 1 else 0 end) [up]
     , sum(case when votetypeid = 3 then -1 else 0 end) [down]
     , sum(case when votetypeid = 2 then 1 else 0 end) 
     + sum(case when votetypeid = 3 then -1 else 0 end) [score]
from postfeedback pf
inner join posts p on p.id = pf.postid
where 
-- positive feedback
pf.postid in (
  select distinct postid
  from postfeedback 
  where votetypeid = 2 
) 
and
-- not voted for a year
pf.postid not in (
  select postid
  from votes 
  where creationdate > dateadd(yy, -1, getdate())
  and votetypeid in (2,3) 
)
and p.posttypeid = 1 -- Q
group by postid, p.creationdate
order by sum(case when votetypeid = 2 then 1 else 0 end) 
       + sum(case when votetypeid = 3 then -1 else 0 end) desc

When run today this is what your result on MSE will look like:

overview underrated overrated

Keep in mind SEDE is only update once a week, on Sunday morning. Do give the awesome tutorial a try and say "Hi!" in chat

You must log in to answer this question.