Hi David,
You could take a look at Community Analytics or DiscourseMetrics which do a lot of these things for you.
Happy to answer any questions about the former, since – disclaimer – I built that Community Analytics one with a friend of mine.
And I’m pretty sure @DiscourseMetrics.com is happy to answer any questions about … DiscourseMetrics ![]()