I’d like to share some thoughts in regards to start collecting metrics. Especially I would like to write about the Why? we need to collect metrics and finish with a more concrete plans we have in Marketing team regarding this.
Also sorry for the long post, but I think it was time to write all of this down somewhere.
Why?
For every work we do we want to know if we are making any impact.
In marketing team we are asking ourselves the same question. “Are we working on the right things?”, “Is what we did, made the expected impact?”. And we would like to answer this questions.
For that reason we plan to start collecting metrics from different parts of the community and bringing them to one place where we could discuss them.
The big plan
We could go wild and start collecting all sorts of metrics, but - as anything in life - there are limits to what we can do in the time we have available. For this reason it is important to know what we want to measure and focus on collecting metrics that would prove/disprove/monitor our plans.
What we are looking for how is the adoption of Nix going.
So what metrics would we need to measure the adoption of Nix? How would we know where in the adoption process are we?
1. The discovery phase
If you write the smartest piece of code and not talk about it, the adoption is less likely to happen. Any effort, that marketing team will do to share the word about Nix, is important to measure the impact it had.
Metrics that we need to collect and that will measure how good we are at the discovery phase are:
- Google search trends
- Social media impressions
- Visits to the landing page
What we are going to look is a corelation between growing (I hope) number of mentions of Nix/NixOS and see if that translates to increase in visits to the nixos.org landing page.
To improve our current situation in this phase the plan is to:
Improve the website and messaging
Some time ago we started working on a redesign of the website and slightly changing the messaging around on the website. That was only a start of the journey.
We are hoping to improve even further on messaging and give landing page a special care. While I’d like to elaborate more on this topic I promise to come back to it in my next post.
Increase presence on social platforms
When good things happen we should have a way to tell people about it. We need to create a space on social media platforms where we could share our story. But that doesn’t happen over night, it requires care and diligence.
While we would like to be on as many platforms as we can, we are aware of the massive amount of work this will take. We would not like to rely on one man heoism (that leads to burnouts), but rather create a process where managing social platforms is manageble.
For now plan is to gradually add Nix to different platforms, starting with Twitter and adding LinkedIn along the way. Once we ensure that the process is manageble we will also look into other platforms.
2. The user phase
The next phase we should monitor is the user phase. This is where some developer goes from “I heard about Nix” to “I’m using Nix”.
To know if the user base of Nix/NixOS is growing we plan to collect the following metrics:
- Matrix (number of members, messages)
- Discord (number of members, messages, voice chat hours)
- Discourse (number of members, members with > 0 hours read time, posts&topics, total days visited)
- cache.nixos.org usage
- search.nixos.org (number of queries from elasticsearch)
- Website statictics on learning materials
The plan to improve this phase is to:
- create short summaries about things that are going in Nix community (video release announcements, revive weekly newsletter, …)
- work on better learning materials. Which should also be a topic to talk about on its own. Once we have some more concrete plans I promise to write about this as well.
3. The contibution phase
The contribution phase is when a user of Nix becomes a contributor. This phase is important to ensue the future of Nix/NixOS.
The metrics we plan to gather are mostly to fetch from GitHub. We plan to collect:
- Contributors (anyone who has authored a commit that’s been merged to master)
- Recent contributors (anyone who has authored a commit in the last 30 days)
- Merged PRs
- Comments
- Stars
- Forks
Conclusion
I think it goes without saying that we will NOT be collecting any personal data in and will be open about the data we collected. Anybody should be able to make a story from the collected data.
The above plan is just the initial draft of the work that we plan to work on at Marketing team. If you think we missed some important metrics or something is not covered by our metrics but it should be we would love to hear you opinion in the comments bellow.
There is a lot of work ahead of us and if you feel like you could I’d welcome you to join the Marketing team matrix channel where we will organize who works on what.
The more technical part of the plan is to use the existing Prometheus and Grafana instance to import and graph all the collected metrics. But this is something to write about next time.
Thank you for you patience and I hope I didn’t do to many typos this time