Developer Activity
Definition
The development activity of a project is done in its public GitHub repositories. The work done in private repositories is hidden from the public and cannot be tracked. In Crypto, a lot of the work is done in public repositories, so this metric is available for many projects.
A developer's time is a relatively expensive resource (especially in Crypto), so high development activity implies that:
- The project is serious about its business proposition
- The project will likely ship new features in the future
- It's less likely that the project is just an exit scam
Simply put, Development Activity can be used to gauge a project's commitment to creating a working product, and continuously polishing and upgrading its features.
Note: Only development work done in public github repositories can be tracked. Work done in private/unknown repositories or public repositories outside github won't be counted.
Access
Measuring Unit
Development Activity metrics are measured in number of events.
When developers work they encapsulate their code changes in commits. When a repository page like this is opened in github one of the first things shown is the number of commits.
One naturally would think that counting commits is an accurate approximation of development activity. A lot of the data aggregators track the number of Github commits, an unfortunate solution that returns skewed data.
Why skewed?
There are a lot of projects that 'fork' (copy everything up until this moment) other blockchains' source code and make small changes on top of it. The process of forking inherits all commits, but that are other people's commits. This is not work done by the team that makes the fork. In this case pure commit counting would result in high dev activity of the forking party, too.
We measure dev activity in a different way.
At Santiment, we implemented a more reliable approach -- tracking the number of Github events that the project generates. Pushing a commit generates an event, but there are also many other activities that generate an event:
- Creating an Issue
- Creating a Pull Request
- Commenting an issue/Pull Request
- Forking/starring/watching a repository
- many others.
Our custom method dramatically improves both accuracy and serviceability of
Github data. The reason is that the process of forking a repository generates
just a single ForkEvent
instead creating an event for every commit that gets
inherited.
At the time of writing this the bitcoin repository has around 23.4k commits and Bitoin SV repository has around 15.8k commits. Let's take a look at the events counting approach:
Bitcoin:
Bitcoin SV:
We observe that Bitcoin has a high development activity all the time with the highest value reaching 98. Meanwhile Bitcoin SV has 0 dev activity most of the time with a spike of just 1.4.
If you want to learn more about the difference - and the benefits of our bespoke approach - I highly suggest this piece by Valentin, our CTO.
Data Type
Change Metrics
Frequency
Latency
Development Activity Data Latency
Development Activity Metric
The 'pure' development activity. It excludes events that are not development related like:
- Comments on issues
- Issues created and closed
- Creating of forks
- Comments on commits
- People following an issue
- Downloading releases
- Watching a repository
- Project management events
This allows to better compare projects that use github for issue tracking and projects that do not use github for issue tracking. If such events are not excluded then the second project could have inflated activity just by discussion what they are going to build without actually building it.
- Available For - All assets with known github organization
- Latency - From 1 to 6 hours
- Min Interval - 5 minutes
- Access - free
Github Activity Metric
The total github activity - it counts all events. It is always equal or bigger than the dev activity.
- Available For - All assets with known github organization
- Latency - From 1 to 6 hours
- Min Interval - 5 minutes
- Access - free
As a Trading Strategy
While not common, Dev Activity can also be used as a novel trading strategy. A few months back, we tested a portfolio of only the top ERC20 projects by dev activity, refreshed each month.
We backtested the strategy from August 2017 to October 2018. The portfolio
1 turned a profit, but
didn't beat hodling BTC overall.
However, our portfolio was also more volatile than hodling over time, registering significantly larger tops in January and May of 2018. If you were to sell at one of those intersections instead, our Github portfolio would in fact be the winner.
As a custom metric, dev activity can help you understand a project's dedication to its product, and in turn - its end users.
Available Assets
Available for these assets
Note: All metrics are available for the same set of assets.
SanAPI
The metrics are available under the dev_activity
and github_activity
names.
1 2 3 4 5 6 7 8 9 10 11 12 13
{ getMetric(metric: "dev_activity") { timeseriesData( slug: "santiment" from: "2020-01-13T00:00:00Z" to: "2020-01-18T00:00:00Z" interval: "1d" ) { datetime value } } }
1 2 3 4 5 6 7 8 9 10 11 12 13
{ getMetric(metric: "github_activity") { timeseriesData( slug: "santiment" from: "2020-01-13T00:00:00Z" to: "2020-01-18T00:00:00Z" interval: "1d" ) { datetime value } } }