Replicando a consulta por trás de 'tópicos sem resposta'

Olá!

Estou tentando entender qual a porcentagem de novos tópicos em uma determinada categoria que não receberam resposta na primeira semana e qual a porcentagem que foram resolvidos na primeira semana. Aqui está minha consulta:

-- [params]
-- string :start_date = 2021-10-06
-- string :end_date = 2021-10-12

WITH solved_topics as
(SELECT
    t.created_at::DATE,
    t.id,
    count(distinct case when u.action_type=15 and u.created_at < (t.created_at + INTERVAL '1 week') and u.target_topic_id=t.id then 1 ELSE NULL END) as solves,
    count(distinct case when p.created_at < (t.created_at + INTERVAL '1 week') and p.topic_id=t.id and p.post_number>1 then 1 ELSE NULL END) as responses
from topics t
join user_actions as u
    on u.target_topic_id = t.id
join posts as p
    on p.topic_id = t.id
where t.created_at BETWEEN :start_date AND :end_date
AND t.user_id > 0
AND p.deleted_at is NULL 
AND t.category_id is NOT NULL 
group by t.created_at::DATE, t.id)

SELECT
    st.created_at as date,
    count(distinct st.id) as "Number of New Topics",
    sum(st.solves)::INT as "# Solved within a week",
    round(sum(st.solves)/count(distinct st.id), 2) as "% Solved",
    (count(distinct st.id) - sum(st.responses))::INT as "Topics with No Response in First Week",
    round((count(distinct st.id) - sum(st.responses))/count(distinct st.id), 2) as "% with No Response in First Week"
  
    from solved_topics as st
group by date
order by date asc

Tenho certeza de que existem maneiras mais elegantes de fazer isso, mas verifiquei manualmente várias datas e esses números são consistentes com o que vejo ao examinar tópicos individuais.

Eu presumiria que, para qualquer dia na semana passada, o relatório encontrado em /admin/reports/topics_with_no_response deveria mostrar o mesmo número de tópicos sem resposta. Na maioria dos casos, isso acontece; mas em outros casos, ele mostra mais tópicos sem resposta do que os que obtenho na minha consulta.

Alguma ideia do porquê isso possa estar acontecendo? Existe uma maneira de ver a consulta que gera o relatório “Tópicos sem resposta” para que eu possa comparar?

Obrigado desde já!

Quando comparei os tópicos do relatório sem resposta com uma análise da lista de tópicos, notei que o número no relatório é maior e concluí que ele conta como sem resposta os tópicos que têm apenas respostas do autor da postagem original.
Não posso afirmar com certeza que este é o motivo da diferença que você notou, pois não pude verificar, já que sua consulta não traz os números atuais, apenas os números “após 1 semana”. E eu não sou tão bom em SQL.