How to calculate engagement rate for Discourse?

Hey Discourse community! :blob_wave:

We’ve been using the discourse community for quite some time now and it’s been an amazing experience :star_struck:

However, I’ve always wondered how engagement for discourse is calculated. On the Admin dashboard, we have access to metrics like posts, topics, signups, pageviews, etc. There’s more under the reports section too.

If I were to calculate the engagement rate for our community, would the formula be:

Posts + Topics + Sign ups + reactions / Total no. of users

Let me know if there’s another method to find this.



There is an awesome documentation where you can find reference how to calculated these reports:



This explains the report section.
What I wanted to know how does one know the engagement rate? For example, posts on Linkedln have this method:

Dividing post interactions by your total number of followers or by the number of post impressions.

Twitter has something similar.

(Likes + Retweets + Quotes + Replies) divided by the number of tweets, then by the total number of followers, then multiplied by 100

I’m not sure what to use to calculate for discourse :sweat_smile:

1 Like

Hi Shawn,

On the Admin Dashboard Reports, Discourse considers a user “engaged” for the day if they take one of the following actions during the day:

  • Like a Post
  • Create a new topic
  • Reply to an existing post
  • Send a private message

Discourse doesn’t have any built in reports for showing an “Engagement Rate” statistic, so if you’re interested in this type of stat, you would need to first decide how you want to calculate this. You could then create a Discourse Data Explorer to pull the required data from Discourse and perform the calculation.

There are quite a few existing queries on the What cool data explorer queries have you come up with? topic, so you might find it helpful to reference these queries when creating your “Engagement Rate” query. :slightly_smiling_face:


It would be helpful to have an official Engagement Rate.

It could be applied in two ways:

  1. for users
    • Trust Levels do this of course but aren’t very granular
    • Perhaps a score based on TL?? e.g. user is new, just read 3 posts = 0.3. Highly engaged and well on the way to Membership = 2.7
  2. for posts / topics / categories
    • such as what LinkedIn etc do

Thank you!

I’ll be considering this formula for now:

Though the engagement rate come up to 60-70%, that’s too high! We were able to find out the benchmark since the rates go up and down.

But yes, an engagement rate section in the admin dashboard would be nice thing to have :smile:

I can probably help here – I designed the dashboard as it currently stands. Can you explain the background for me? What do you need this number for?

If it is to keep an ongoing health check, then I’d recommend using the DAU/MAU metric.

Heyo Hawk!

In my case, I use the engagement rate to find out what kinds of activity did well. This also helps me to figure out what content works/does not work.

For example, since there’s an activity every day, maybe on day 2 or day 3 there was higher activity due to a trending topic. That means engagement was higher for these 2 days with X%.

In this case, I’d have to look at raw stats like page views, posts (dashboard) or topic stats (Likes, comments, views). It would be better if I had something like a consolidated metric to represent this data better.