This post aims to set out some initial ideas and guiding thoughts for KPIs that both the MGRC and ZF could broadly use. ZIP 1014 requires us (the Zcash Foundation) to develop key performance indicators (KPIs) to support the MGRC and help focus its priorities and expectations of it. (This is written as âSHALL strive toâ in ZIP 1014, which is odd in terms of RFC-alese, since SHALL is binding but the âstrive toâ seems to make it more like a SHOULD. But I digress). Thereâs a good discussion to have about whether we should be the sole keepers of such KPIs or if this is something the MGRC or some other part of the community should provide. In any case we think starting this discussion and providing a minimum of KPIs is an important way the ZF can contribute. We have already been working at identifying performance goals for our own programs, such as Zebra and our other (non-MGRC) grants, so this is a good opportunity to continue. Also besides âdefining,â KPIs, we can likely help in conducting measurement and data collection.
Coming up with metrics is tricky but important. All of us participating in the Zcash ecosystem would likely agree in broad strokes about tasks that are likely to be helpful for Zcash â in a nutshell, âShielded adoptionâ is king â although we disagree on the relative prioritization (which is why the MGRC is tasked with judging this). Anything that makes Zcash more useful as a privacy-preserving financial infrastructure for public use falls in line with this. But metrics and KPIs will be especially important when it comes to evaluating the relative success of individual programs and deciding how and when to pivot or reallocate.
Itâs inherently difficult to come up with metrics for any project because of the gap between what we want to achieve versus what we can quantify and measure. Itâs well known Itâs common to overfit and optimize for metrics, even well designed ones. Cryptocurrency is especially difficult because we often aim to consider incentivized or malicious behavior. Even among cryptocurrencies, it may be even more difficult in Zcash since data collection efforts can easily work against the privacy-oriented goals in Zcash (this is something that Tor Project for example has grappled with and we can learn from).
Quantitative wishlist
To get started, here are a few quantitative goals that are desirable (all of them can be seen as forms of âshielded adoptionâ), but may not be directly quantifiable. Think of these like a wishlist for KPIs, that the KPIs we end up with may indirectly measure.
- Increased shielded transaction volume in Zcash. Weâre making public financial infrastructure to better society, so usage matters. Naturally, this is impossible to measure directly since shielded transactions are shielded. :zebrashades:
- Increased diversity of usage (usages from different regions/languages). Reaching a broader audience around the world improves our strength through decentralization and opens up additional opportunities for development and participation.
- Better public awareness of how to get the most effective privacy benefits. This includes not just using shielded transactions, but using them effectively, not just a quick trip and back from t-pool.
Quantities that we may be able to measure:
- Number of shielded transactions
We can count the number of shielded transactions Z2Z, Z2T, T2Z. For transaction volume, we can only directly track Z2T and T2Z. Both the shielded totals as well as the percentage of shielded vs transparent may be relevant to track.
A challenge is that shielded transactions may be gameable. It isnât hard to spam the blockchain full of shielded transactions, even for a very low cost when the fees are low. - Number of users (of Zebra, ZcashD, or wallets?)
We could aim to count the distinct users of Zcashd, Zebrad, or wallets. Itâs not possible to separate our individual users who run multiple nodes in a cloud. While we can measure the number of full nodes that accept incoming connections, itâs more difficult to count the number of clients.
For services that provide services, we could ask for their help in collecting tallies of the number of distinct users. - Nodes / services running (from network measurements)
- Software downloads
Software downloads is easy to track and to break down by reasons, widely used by other software projects (like mobile apps) and is related to number of users. - Social media / blogs etc, public communication from others
- Results of experiments/surveys geared towards ease of use (see below).
Keeping it simple. Our current thinking is that for MGRC as a whole, focusing on just the number of shielded transactions & percentage of shielded transactions may be a good enough KPIs to focus on. The others are complementary but may be helpful in more fine grained discussion of projects, since it will likely be challenging to determine what portion of success may be attributed to which projects.
Flexibility. Although a focus on shielded adoption KPIs can be a good way to determine a grant project is working well, it doesnât mean that the only worthwhile projects target these KPIs. We imagine that the MGRC may accept flexible narrative explanations to account for projects it finds valuable that donât fit into these. The SHOULD language of ZIP-1014 leaves room for this.
Why leave price out? We are (perhaps conspicuously) leaving price out of our metrics. Although price is easy to quantify, weâd expect it to correlate with others. One reason why is that price is not directly related to how useful it is â for example using Zcash for payments, exchanging between another currency and Zcash in between â does not matter to the price. It is also potential to be affected by opinions or actions of large players in the market, which we canât predict or account for.
Here are a couple of ideas of measurement activities we could carry out:
Measurement Proposal 1: Building up network measurement capabilities to inform KPIs related to software usage.
One of the difficulties is in measuring how much usage occurs, and where such usage occurs, because itâs by nature privacy preserving. This proposal is to take ideas from Tor Metrics. TTP frequently runs measurement campaigns that provide privacy preserving information about Tor usage. For example, it involves collecting peer information but sanitizing it to just the country level, no finer grained than that. We have overlap & connections to Tor Project we could use to get ideas on how to do this. We could include software built-in to Zebra & encourage similar features added to zcashd https://metrics.torproject.org/
We previously had a dashboard created by Jason Davies we may be able to revive. It would be great to have a dashboard for nodes, shielded transactions software and downloads for regions.
Measurement Proposal 2: Mark and recapture experiments for Z2Z.
Iâve been brainstorming an idea about a âMark and Recaptureâ campaign that might solve a couple of goals at once, including giving us something to measure about how usable Z2Z transactions & software are, might also improve usage/training goals of z2z transactions (like the earn campaign but not tied to an exchange). In a nutshell weâd give out small amounts of Zcash with instructions to perform a z2z transaction (say, to one of several charities w/ a view key) and get a small reward for doing so. As a complementary method, we could send voluntary/anonymous surveys to users whoâve signed up to collect additional info, such as which wallets they have used.