As a DevTool company, building a community around your product can be greatly beneficial. Not only does it provide a way to get feedback and collaborate with your users, but it can also help you to build an unfair competitive advantage that is hard to replicate. A well-engaged community can become a growth engine for your product, bringing in new users and contributors at a low cost.
But building an engaged developer community is not a walk in the park. Traditional marketing usually fails for developers, and this holds the same for traditional community engagement methods. In this blog, we will explore why you should care about community engagement, how to measure it, and 10 approaches that tend to work well to keep it up.
Why you should care about community engagement
As with any growth motion, community-led growth consists of the four central pillars of growth: acquisition, activation, conversion, and retention. Community engagement has a significant impact on the activation and retention rate, which in turn have a big impact on your product growth.
Let’s try to understand how exactly an engaged community can improve your activation and retention rates.
A lot of open issues, pull requests, contributors, discussions, and other activities on GitHub can help a developer understand what your product is about
An active Discord or Slack community, for example, can quickly answer developer’s questions about technical limitations, common use cases, best practices, etc.
User-generated content on platforms like DEV and Hacker News can also lead to other developers getting a better sense of your product
Active Discord, Slack, or StackOverflow communities can quickly address a developer’s technical issues and provide support once they are users of the product.
Active contributors can encourage and educate a developer to make their first contribution, create a plugin, or an extension for a product, etc.
The sharing of ideas and discussions amongst community members can create a general sense of belonging and binding to a product beyond the actual product use case.
How to measure community engagement
Now that we better understand the importance of engagement, let’s take a look at how you can measure it.
One way to measure engagement is to calculate an engagement rate. It is hard to define an exact formula for engagement rate, but in general, it can be seen as a function of several variables:
Number of likes, shares, and impressions
How often developers participate in conversations, office hours, events, hackathons, etc.
Frequency and quality of users interacting with each other
Frequency and quality of users interacting with your team members
Quantity and quality of contributions
Of course, this list is not exhaustive. There are plenty of other metrics which can contribute to an engagement rate.
Still, if we want to have a numerical measure of engagement rate, the general approach is to calculate the ratio of “engaged” members to all members across all channels.
While the formula for engagement rate is straightforward, in general this approach has several drawbacks:
It heavily depends on a definition of an engaged member
It doesn’t take relativity into account - e.g how one member engaged compared to everyone else
It is not granular - you can’t calculate engagement rate for each user individually
It doesn’t take into account activities happened in the past
Given these drawbacks we at crowd.dev decided to take another approach and measure engagement for every member individually using engagement levels.
Engagement level, as opposed to engagement rate, is calculated for each member individually based on his or her actions. We have a predefined score for each type of action - 2 points for a GitHub star, 6 points for sending a message on Discord, and so on (a full list of actions with scores is here).
Then we compute an average activity score for a given month, taking into account how far back in time these activities occurred. Because the time component is controlled by a discount rate, activities that occurred in the past have less impact than those that occur now.
Let’s use an example to demonstrate how it works. A member received 7, 6, and 5 activity scores in November, December, and January, respectively. Let’s also define the discount rate as d = 0.9. Then, the member's activity score as of the end of January would be:
Using this formula, we calculate the activity score for each individual member and divide all members into ten groups based on their activity score. The top three groups with the highest scores are the most engaged and receive the Ultra engagement level. Levels such as Fan, Engaged, Quiet, and Silent are assigned to other groups.
This method allows us to assess one member's engagement in the context of all other members. Here you can click through a demo of crowd.dev to see engagement levels in action ⬇️
How to boost engagement in a developer community
Now that we understand what engagement is and how to measure it (at least approximately) we can talk about different ways to increase it.
Obviously, there are numerous ways to increase engagement. Here we list 10 most impactful engagement activities, in no particular order:
Improve community onboarding: New members frequently do not know where to ask questions, how to contribute, and so on. Make their first interaction with your community as easy as possible by providing community guidelines, contributing guides, and a "safe space" for them to ask any questions, and they will be much more likely to participate.
Communicate actively: Make sure to keep your community up to date on what's going on with your project. Share any new developments, upcoming features, or other relevant information. This will keep your community informed and interested in your project. Do it on a variety of platforms.
Encourage participation: One of the most effective ways to keep your community engaged is to provide opportunities for participation in your development process. This could include bug reporting, feature requests, contributing code, or creating small plugins/addons. The more ways your community can participate in your project, the more invested they will be in it. It should be as simple as possible to contribute to your project.
Host events: Hosting events such as webinars, hackathons, or office hours can help bring your community together and keep them engaged. These events can help to build a sense of community around your project while also providing opportunities for networking and learning.
Recognize contributions: Recognize and appreciate the contributions of your community members. Give credit where credit is due, and make a point of thanking others for their contributions. It could take the form of swag, newsletter or website mentions, and so on. This will encourage more people to participate.
Be transparent: Maintain open and transparent communication about the development process and the project's roadmap. Share your decision-making process, progress, metrics and any obstacles. This will assist the community in better understanding and supporting the project.
Create relavent content: Provide members with content that is relevant to them and that they are likely to engage with, use, and share. This could be a blog post, tutorial, video or a side project.
Respond quickly: Keeping time to respond as low as possible is very important. The faster a member sees value from being in the community, the more likely he will come back regularly and be engaged.
Use language that encourages response: Avoiding yes/no dead-end answers, always try to respond with additional information or a follow up question. Show interest in what your members have to say.
Be open to other topics: have channels/places where the community can talk about topics other than your product (difference between product-led and community-led approach). For example, create a channel where members can show their projects or discuss recent industry news.
It doesn't look as good when only one or two people from the team answer all the questions in the community (e.g. your community manager or DevRel), unless of course you are a 2-person team. At crowd.dev, we believe community building is a team effort and encourage everyone to be active participants in community activities. On the one hand, it helps everyone on the team to be on the same page about what's going on in the community, and on the other builds trust between community members and our team.
Increasing engagement is a long process that requires the consistent implementation of many of the aforementioned steps. As with any growth endeavor, there are usually a lot of low-hanging fruits in the onboarding stage.
An engaged community is a great foundation for a community-led growth strategy. Active community members can really help you to improve activation and retention rates for new users. Defining and measuring engagement might be challenging, but crowd.dev makes it easy for you. You can get started for free.
Once you measure engagement, there are multiple things you can do to improve it. We suggest starting with community onboarding for new members, as it might bring a few quick wins.