select
to_char(date_trunc('month', u.created_at), 'YYYY Mon') "Join Date",
cast(sum(case
when first_post_created_at-u.created_at <= interval '30 days'
then 1.0
else 0.0
end) /count(*) as float) "Contribution Rate"
from users u
join user_stats s
on u.id = s.user_id
where u.created_at > '2004-10-01T00:00:00.000Z'
group by date_trunc('month', u.created_at)
order by date_trunc('month', u.created_at)
これは College Confidential にとって役立ちました。なぜなら、非常に明白な周期的なパターンがあるからです。高校生は 11 月にアプリケーションについて考え始め、3 月までに決定を得て、夏の間はアプリケーションプロセスを忘れます。すべてのコミュニティがそのような規則性を持っているわけではありません。