How to define monthly engaged users in an online community?

The most tricky nuance with this metric is to define an engaged user. Usually users vary from those who take one action per month to others who take thousands of actions in the same period of time. They all are engaged but to a different degree. For a community to function correctly it is critical to have all those users. To have a good representation of the health, we must measure users with different levels of engagement separately.

Here is one of the ways to split the users by the level of their engagement.

  1. Visitors. The number of unique people who visit the site.

  2. Active users. Users who visit the site and take any action.

  3. Casual contributors. Users who create a piece of content or do something else that is equal to a minimal valuable contribution.

  4. Engaged contributors. 10x contribution of a casual contributor (i.e. users who have contributed 10+ pieces of content)

  5. Core contributors. 10x contribution of an engaged contributor (i.e users who have contributed 100+ pieces of content).

The rule of thumb of dividing users into different engagement levels is if the contribution of two users differs by an order of magnitude they should go to different groups. You can check your split by adding up the number of contributed actions of all users of the same level and then comparing the sums between the levels. The total sum of contributed actions on each level should not differ from the others by more than 10 times.

Please note that for different time ranges you may need different thresholds to split the users into engagement groups. 1-10-100 are great thresholds to group users within one month. They may not be suitable to group users within one year. To choose the right thresholds, consider how many actions you expect a user to do per day at a given level, then multiply by the number of days in the grouping period. In the case of 1-10-100 for grouping by month, the expected contribution for a user per day is 1/30, 1/3 and 3 activities per day, respectively.

Thus, we can extend the definition of a healthy community. A healthy community is a community where there are users with different levels of engagement, the total sum of contributed actions for all engagement groups is approximately equal and each group gains new members to the same extent or more than it loses them.


This is a fragment of a draft of the book “Lessons Learned While Working On Stack Overflow”. Read the full book on kindle or the paperback version.