It has been ages since I have had time to write a blog post. Last week, I decided to get my act together and start again. Of course the cold and wet summer in the UK also helps a bit. I have accumulated a lot of material and experience since my last post. Today, I will start with an idea that I first published at Open World Forum 2011, which marries the idea of a Sales Funnel with software adoption in open source communities. It then extends that model to the progression of a potential user of your software, to becoming a user and possibly a developer in your project. I will also show how the funnel can be used as a health dashboard for your community and as a community management tool.
Key Constituencies in an Open Source Community
Industry Segment: It helps to understand what industry segments your project is a part of. For Xen.org it is virtualization and cloud, for MySQL and PostgreSQL it is databases, etc. Why should people in a project care? A common project goal is to grow the project’s user base. Being known by as many people and vendors in your industry helps achive that goal. You will be in even better shape, when seen in a positive light.
Interested People care about the industry segment you are in and follow the news for your project regulalry. In other words, they care enough about your project to follow what is going on. People in this group may not necessarily be users (there may not be an immediate need to use your software). Their main goal is to keep themselves informed.
Users: These are direct users of your software or project. I tend to also include users of commercial software that builds on top of your project, as long as they know they use your software. This is not necessarily a given: for example AWS is built on top of the Xen hypervisor, but a large number of AWS users will not know that they use Xen. It frequently makes sense to group users by the level of engagement users give to stake-holders within and ourside of your community.
Developers are individuals (and companies) that develop the software in your project. Typically these are also users.
People progress from the outer circle to the inner. At each step, there will be factors that influence progression. For example:
- How well is the project known
- News and social media activity about the project
- How easy it is to get started
- How easy it is to overcome difficulties and to get support
- How vibrant and active is the developer community
This is all very well understood by most open source practitioners. But it is sometimes difficult to explain all this in a simple model that can be easily understood by your manager or people whose support you need. In fact, having had difficulties getting funding for activities I wanted to start, led me to search for an effective tool to pitch my ideas. I found that there were no off-the-shelf solutions, but realized that communites can be described as funnels; albeit funnels with a difference to say a sales funnel.
The Community Funnel
The way I think about the funnel model is as a permeable and flexible membrane (or sieve) in the shape of a funnel. People travel through the funnel and drop out at various stages. As people travel through the funnel they assume roles which relate to typical activities and behaviours. This gives us one view of the Community Funnel.
Then there are factors which lead to people dropping out of the funnel and other factors which keep them in. In other words: different areas of the funnel may have different permeability. Usually it is possible to indirectly (or directly) measure the permeability of the funnel boundary. It is also possible to take action to reduce (or increase) permeability for sections of the funnel.
In software adoption and particularly FOSS adption, a crucial stage of recruiting users is the trial of your software. Say, it is hard to find your download page, there are few useful instructions on how to get started or the software doesn’t work, a prospective user typically will give up and won’t return. A bad experience means my funnel is more permeable in the trial stage than a good experience. By improving the trial experience more people will progress to the next stage.
The diagram above shows some example factors that affect the permeability of the funnel boundary. As an aside, the shape of the funnel (or rate of drop-outs at different stages) is controlled by the permeability of the boundary at different locations and the size of the mouth.
The goal of a community leader or manager is to reduce the permeability of the boundary and thus keep more people progressing down the funnel.
Constructing a Funnel for my Community
At this stage it is worth noting that not all communities have the same goal. Typical goals for open source communities are:
- Increase user base
- Build a vibrant and diverse developer base
- Secure the long-term future of the project
- Upsell services or software to my users
The goal of a community influences the roles people assume, what they typically do, what they care about and thus the factors that keep people in the funnel. As a community leader or manager, it should be possible to create a community funnel that reflects the goal of the community, the roles people assume as they travel down the funnel, their typical activities as well as factors that influence the permeability of the boundary. I will leave it up to the reader to test this and share ideas. I have tested this for the community goals listed above and believe that the model is flexible for most communities.
Metrics and Funnels
The Community Funnel Model is also extremely useful as a visualization tool. Open source community leaders usually measure a number of metrics, such as
- Media and press coverage
- Social media buzz
- Website visits
- Comments on a blog
- Downloads and upgrades
- Number of conversations (answered and unanswered) on fora, mailing lists, etc.
Such metrics can be mapped to a section on the funnel boundary. I usually set myself goals for these metrics and apply a simple traffic light scheme: red (bad), yellow (ok), green (good). I then map visualize select metrics on the boundary of the funnel, in effect using the funnel as a visual dashboard.
Going one step further, metrics related to the effectiveness of community activities and programs can also be displayed in the funnel using the traffic light approach.
When I started to work for Xen.org, lack of good documentation and the capability to find documentation was an issue that was frequently raised on mailing lists. To address this, we improved the infrastructure to make it easier to contribute and find documentation (by moving to MediaWiki) and started a monthly Documentation Day. This is a monthly on-line meeting where the majority of developers and many interested users get together and fix documentation. I can measure the effectiveness of Documentation Day by
- Attendance on the day itself
- The number of changes/additions made to the wiki on the day itself
- The number changes/additions made to the wiki overall
- The views and users of the wiki
Placing community health metrics as well as indicators for community activities onto the Community Funnel, gives me an excellent overview of how well my community is doing.
The Community Funnel as a Community Management Tool
Generally, I found that the funnel analogy is extremely useful in many circumstances. It has been particularly powerful in the following circumstances:
- Assess the health of my community: the funnel serves as a model for my community and a health dashboard in one diagram. Combining these two is very powerful.
- To communicate the importance of my community and the need to increased spending on certain activities. The funnel model is intuitively understood by most people. Due to the popularity of sales funnels in sales and marketing, a pitch for funds involving the community funnel, makes your pitch more easily understood by decision makers.
- The funnel analogy is also extremely useful to help me prioritize what to focus on by providing insights which are otherwise easy to miss: typically issues on the mouth (left) of the funnel lead to more people dropping out early. Fixing issues on the left affects more of your community over time and has thus a larger impact. Because the progression of people along the funnel takes time, issues at the mouth take longer to have a positive impact. For that reason you may want to focus on the left first. Other insights can be clusters of issues in one area of the funnel. Of course these are oversimplifications: but they help put things into perspective and provide a thought framework. A concrete example where this is useful, would be the question of whether a community should first fix issues with software adoption or a developer governance issue. If both solutions take similar effort, it is more advisable to fix adoption issue first. Even though this is clear to most community leaders, the funnel analogy can help explain your thinking better to others.
My personal experience shows that the Community Funnel is extremely useful for …
- visualizing the health of your community
- explaining how you manage a community to stake-holders in your community
- making pitches to get extra funding
- planning changes and evolving a community
I would be very interested to hear other views, get feedback and comments. And of course I hope that some of my ideas will help your project and community.