Skip to main content

Cryptocurrencies and the Velocity of Money

Published onApr 05, 2021
Cryptocurrencies and the Velocity of Money


The velocity of money is central to the quantity theory of money, which relates it to the general price level. While the theory motivated countless empirical studies to include velocity as price determinant, few find a significant relationship in the short or medium run. Since the velocity of money is generally unobservable, these studies were limited to using proxy variables, leaving it unclear whether the lacking relationship refutes the theory or the proxies. Cryptocurrencies on public blockchains, however, visibly record all transactions, and thus allow one to measure—rather than approximate—velocity. This paper evaluates most suggested proxies for velocity and also proposes a novel measurement approach. We introduce velocity measures for UTXO-based cryptocurrencies, focused on the subset of the money supply effectively in use for the processing of transactions. Our approach thus explicitly addresses the hybrid use of cryptocurrencies as media of exchange and as stores of value, a major distinction in recently-proposed theoretical pricing models. We show that each of the velocity estimators is approximated best by the simple ratio of on-chain transaction volume to total coin supply. Moreover, “coin days destroyed,” if used as an approximation for velocity, shows considerable discrepancy from the other approaches.

1. Introduction

The velocity of money plays a key role in traditional monetary economics since having been popularized by [1] over a century ago. Broadly speaking, the velocity of money denotes the average number of transactions per monetary unit within a certain time period.1 In the quantity theory of money, velocity is related to the price level. While empirical studies frequently apply this concept to cryptocurrencies, surprisingly few find a significant relationship between velocity and prices. We take this discrepancy as occasion to evaluate current approaches to quantify the velocity of money for cryptocurrencies, and propose a novel one.

Until recently, meaningful measures for the velocity of cryptocurrencies did not exist, and most studies resorted to proxy variables.2 Recent years saw the first advances to measure—instead of approximate—the velocity of money. In [2] and [3], the quantity equation of money has first been considered to measure velocity as the ratio of transaction volume and money supply. In [2], however, this approach is modified to create a measure handling the change transactions in cryptocurrency systems. While [2] and later [4] focused on adjusting the transaction volume in the above ratio, we complement their approach by adjusting the money supply.

Money in effective circulation should be differentiated from money held for long-term investment or speculation. Not only does the total monetary aggregate contain technically dysfunctional money (e.g., burnt coins), a major portion of cryptocurrency is stored unused over long time periods (compare [5] or [4]). Economists like [1], [6], or [7] have argued to exclude such funds and focus on money in circulation. To our knowledge, [3] and [2] were the first to apply this distinction in theoretical cryptocurrency pricing models. Both link feedback effects from speculation and price levels to a reduction of coins in effective circulation. In [3], the velocity of money is explicitly defined as based on the component of coin supply in effective circulation. In this paper, we operationalize this definition for velocity measurement.

In implementing this concept, we make common implicit assumptions explicit. For example, the separation of money into hoarded or circulating depends on the choice of a time window. Tokens can be defined as circulating if moved within the last day, month, year, or any other period. The decision of [2] and [4] to define money in circulation as the total coin supply implies an infinite time window. The other extreme might be a very restrictive definition requiring coins to be moved within the period for which velocity is measured. As the optimal time-window might depend on the respective use case, we operationalize a velocity measure for UTXO-based3 cryptocurrencies as a function of the respective time-window.

Subsequently, we apply our approach to Bitcoin and compare a variety of potential proxy variables to measures characterizing the two extremes of the design space. Measuring the goodness of fit from a variety of perspectives, we show that the most common proxy-variable (coin days destroyed (CDD)4), in the vast majority of tests, shows higher approximation errors than the simple ratio of unadjusted, on-chain transaction volume and total coin supply as shown by a series of Model Confidence Set (MCS) tests. As the majority of research opted for CDD, our results might suggest a reason for the unexpectedly missing relation between velocity and prices in most studies.

Our implementation is based on the open-source blockchain parser BlockSci.5 The codebase to calculate the evaluated velocity measures for UTXO-based cryptocurrencies is reusable and will be openly available after publication. In summary, we offer three contributions to research on cryptocurrencies:

  • a review of approaches to quantify velocity;6

  • novel measures based on money in circulation; and

  • an evaluation of common approximation methods.

2. Literature review

In the early 20th century, [1][8] spawned extensive literature in monetary economics based on what he called the equation of exchange, in which velocity played a crucial role. Since this literature mostly is too specialized for applying it to cryptocurrencies, and is reviewed at length by [9], we restrict our review to the literature on the velocity of cryptocurrencies. Both theoretical pricing models and empirical studies of price determinants have addressed velocity.

Empirically, CDD is commonly used as a proxy variable in regressions of cryptocurrency return patterns. Based on the quantity equation, these studies expect a significant positive relationship between prices and their chosen proxy. While [10] and [11] confirm the hypothesis, more often it is rejected [12][13][14][15][16]. Following [1], [2] estimate velocity as the ratio of adjusted on-chain transaction volume to the total Bitcoin supply when modeling the Bitcoin price. Additionally they employ the ratio of off-chain transaction volume and coin supply (both denominated in USD) as a velocity estimator.

Theoretically, [3] use velocity as a central building block of their pricing model. They decompose the velocity of money into a part for monetary units used as media of exchange, and a part for those used as long-term investment. The paper does not specify, however, how this decomposition could be implemented. Our paper is the first to offer an operationalization for UTXO-based cryptocurrencies.

In [2], a measure of the velocity of Bitcoin that acknowledges the need for adjustments addressing the transaction volume generated by change transactions is presented. [4] adopt the same concept, but provide deeper insights into its technical configuration as a byproduct of introducing a new blockchain parser for UTXO-based cryptocurrencies.

Recognizing the need for a more precise method, [17] proposed a cryptocurrency’s turnover as a derivation of CDD. We compare this approach to the other methods and show that, compared to CDD, the measure is indeed closer to the velocity estimates in many tests.

3. Theoretical concepts of measures for the velocity of money

At its core, the velocity of money refers to the average number of turnovers per monetary unit within a period of time. This definition stems from the transaction form of the quantity theory of money as formalized by [1].7 The central equation of the theory equates the flows of real transactions, given by the scalar product Pp,Tp,\langle{P_{p}},{T_{p}}\rangle, of prices Pp,{P_{p}}, and transaction volumes Tp,{T_{p}}, to total money flows, equal to the product of the money supply Mp{M_{p}} and its velocity Vp,{V_{p}}, where p{p} denotes the time period considered. With nNn\in\mathbb{N} this amounts to

MpVp=Pp,Tp with Mp,VpR, and Pp,TpRn.\begin{aligned} %\label{eq:fisher} {M_{p}}{V_{p}}=\langle{P_{p}},{T_{p}}\rangle\ \text{with}\ {M_{p}}, {V_{p}}\in \mathbb{R},\ \text{and}\ {P_{p}},{T_{p}}\in \mathbb{R}^{n}. \end{aligned}(1)

The scalar product on the right-hand side is referred to as the price sum. In this product, Pp=(Pp1,Pp2,,Ppn){P_{p}}=( {P_{p}}_{1},{P_{p}}_{2}, \cdots , {P_{p}}_{n} ) denotes a vector of prices Ppt{P_{p}}_t of transacted goods and services in transaction tt during period p.p. Transaction volumes Tp{T_{p}} are given in units of goods and services. They are conceptualized as the vector Tp=(Tp1,Tp2,,Tpn){T_{p}}=( {T_{p}}_{1},{T_{p}}_{2}, \cdots , {T_{p}}_{n} ) with volume Tpt{T_{p}}_t in transaction tt in period p.p. On the left-hand side, Mp{M_{p}} stands for the number of all units of money supply available in period p.{p}. Vp{V_{p}} denotes the velocity of money.8 While Tp,{T_{p}}, Vp,{V_{p}}, and Pp{P_{p}} are measured over a time period, Mp{M_{p}} is a point-in-time measure. To simplify, we assume the money supply is fixed during period p{p} and record it at the period’s beginning pstart.{p}_{\mathtt{start}}.

To develop an intuition for velocity Vp,{V_{p}}, it can be viewed as the weighted average number of turnovers of all monetary units (c.f. [9]). The weights are derived from sorting the units into groups gGpg\in{}{{\mathbb{G}}_{p}} with respect to their number of turnovers vpg{v_{p}}_g during period p.{p}. Velocity Vp{V_{p}} then is

Vp=gGp(vpgNpggGpNpg),\begin{aligned} %\label{eq:velo_concept} {V_{p}}= \sum_{g\in{{\mathbb{G}}_{p}}}% \Bigl(% {v_{p}}_g \cdot \frac{{N_{p}}_g}{\sum_{g\in{{\mathbb{G}}_{p}}} {N_{p}}_g}% \Bigr)% , \end{aligned}(2)

with Npg{N_{p}}_g monetary units in group gg in period p.p. Velocity thus is the sum of turnover numbers vpg,{v_{p}}_g, weighted by their respective fractions.9 While this definition is intuitive, it cannot be used to measure velocity in practice. Turnover numbers per monetary unit are neither recorded for fiat currencies, nor can they be inferred unambiguously for UTXO-based cryptocurrencies (compare Section 4). In practice, the velocity of money is thus backed out of Equation 1: Vp=Pp,Tp/Mp.V_{p}= \langle{P_{p}},{T_{p}}\rangle/{M_{p}}.

For cryptocurrencies, this appears a simple task, using on-chain transaction volume and total coin supply. However, due to their technical implementation, transaction volumes recorded on-chain are distorted. The next section therefore discusses the relevant subtleties of UTXO-based cryptocurrency systems.

4. UTXO-based cryptocurrencies

Bitcoin builds its transaction graph by chaining transaction outputs. This approach is followed by many altcoins, referred to as UTXO-based cryptocurrencies. UTXO refers to the “coins” that can be spent—unspent transaction outputs.10 Thus, UTXO-based cryptocurrencies record only transactions, in contrast to account-based cryptocurrencies which store a balance for each address on their blockchain. As an extensive exposition is provided by [18], we restrict ourselves to features relevant for calculating velocity measures.

UTXO-based cryptocurrency protocols ensure an ordered transaction history using a linked chain of so-called blocks (compare Figure 1). These blocks contain a hash (BlockHash) fingerprinting the information of all transactions recorded in the block, a timestamp (BlockTime), and the hash of the previous block (PrevBlockHash). This constellation of hashes and timestamps establishes pointers that are determining the order of blocks. The process of creating new blocks, called mining, creates new monetary units in so-called coinbase transactions. Creating blocks usually involves solving a computationally demanding puzzle (proof-of-work) or proving stake in the existing coin supply (proof-of-stake).

Figure 1: Blockchain and Transactions (adapted from Tschorsch and Scheuermann).

Florian Tschorsch and Björn Scheuermann. Bitcoin and beyond: A technical survey on decentralized digital currencies. IEEE Communications Surveys & Tutorials, 18(3):2084–2123, 2016.

Generally, transactions contain a hash as identifier (TxHash) as well as inputs and outputs. Coinbase transactions are exceptions as they include an output but no input. This effectively increases the amount of spendable outputs, and thus money, in the system. Inputs are recorded as links back to outputs of a previous transaction identified by an index (PrevTxHash). Outputs can be sent to addresses (Address) corresponding to public keys of an appropriately generated public–private key pair. Unspent previous outputs can be used as inputs only upon proving ownership (Signature). Generating this proof requires the private key belonging to the public key which received the output. Importantly, transaction inputs can only be spent as a whole. If a fraction of the input is to be retained, an additional output must be included which links to an address belonging to the spender. Such addresses are known as change addresses and we refer to the respective outputs as change outputs.

We refer to all outputs sent to an address controlled by the sender, following [4], as self-churn. Since the concept of user identities does not exist in UTXO-based cryptocurrencies, there is no direct way to clearly separate self-churn from outputs transferred to third parties (c.f. [19]). Moreover, no relation between elements of the set of inputs and those in the set of outputs of a transaction is determined. In other words, no technical link between individual outputs and inputs exists; unspent outputs are fully fungible. Therefore, velocity measures cannot be calculated by following “coins” or UTXOs through their transactions: due to splitting and rejoining within blocks there exists no “path” the money took.

5. Self-churn and Clustering

As discussed in the last section, by construction many cryptocurrency transactions contain outputs sending a fraction of the value back to the sender. Such change outputs, as well as other self-churn, ought to be excluded from transaction volume: “What is desired is the rate at which money is used for purchasing goods, not for making change [8].”

5.1 Transaction volume inflated by self-churn

While the transaction volume can, in principle, be calculated by accumulating the output values valOut(o){\mathtt{valOut}}(o)11 of all transactions tt recorded within period p,{p}, this yields an inflated aggregate Pp,Tp\langle{P_{p}}',{T_{p}}'\rangle when defined as

Pp,Tp=tTpoOtvalOut(o),\begin{aligned} \langle{P_{p}}',{T_{p}}'\rangle = \sum_{t\in{\mathbb{T}_{p}}}\sum_{o\in{\mathbb{O}}_\mathtt{t}} {\mathtt{valOut}}(o), \end{aligned}(3)

with oOpto\in{\mathbb{O}}_{{p}_t} as the set of all outputs of transaction tt in period p{p} and Tp{\mathbb{T}_{p}} the set of all transactions tt recorded within period p.p. Thus, this volume needs to be adjusted. Defining Oselfchurn{\mathbb{O}}^{{\mathtt{selfchurn}}} as the set of all self-churn outputs, the accumulated transaction volume from these outputs Op{O_{p}} can be obtained by summing the individual self-churn outputs cOselfchurnc \in {\mathbb{O}}^{{\mathtt{selfchurn}}} as

Op=tTpoOselfchurnvalOut(o).\begin{aligned} {O_{p}}= \sum_{t\in{\mathbb{T}_{p}}} \sum_{o\in{\mathbb{O}}^{{\mathtt{selfchurn}}}} {\mathtt{valOut}}(o). \end{aligned}(4)

Hence a corrected transaction volume can be calculated as Pp,Tp=Pp,TpOp\langle{P_{p}},{T_{p}}\rangle= \langle{P_{p}}',{T_{p}}'\rangle - {O_{p}}.

Note that in practice we only observe the above transaction volume in terms of monetary units rather than the full vector of prices and transacted units.

5.2 Adjustment heuristics to deflate transaction volumes

As discussed in Section 4, only addresses but no identities are recorded in the transaction ledger. This complicates the classifications of self-churn, needed to calculate adjusted (deflated) transaction volume. However, statistical properties have been used to classify outputs as likely belonging to the same individual user as the transactions inputs (compare [19]). While heuristics, such procedures are now commonly employed to create user clusters of addresses. Outputs are classified as self-churn if the cluster of their destination address equals the cluster of their input addresses.

As our empirical analysis builds on a blockchain parser proposed by [4], we follow their choice of heuristics. They employ one heuristic first proposed by [19] and one accounting for peeling chains. Peeling chains are transaction patterns where large unspent transaction outputs are split into smaller amounts in a chain of transactions. Upon manual inspection, [4] concluded that outputs created and spent within a relatively short time period often belong to the same user cluster. The heuristics used are thus:

  1. All inputs in a transaction stem presumably from one person.12

  2. Outputs created and spent within 4 blocks are classified as self-churn transactions.

6. Velocity based on total money supply

The quantity equation (Equation 1) requires a measure of the money supply Mp.{M_{p}}. To our knowledge, all prior work has employed the sum total of ever-mined coins as its measure. We denote this money-supply measure Mtotalp{{M_\mathtt{total}}_{p}} and calculate it at the beginning of each period p.p.13 In all common UTXO-based cryptocurrencies, it is a deterministic function of block height. Technically, Mtotalp{{M_\mathtt{total}}_{p}} can be calculated as the aggregate of outputs from the set of coinbase transactions TPcoinbase{\mathbb{T}^{\mathtt{coinbase}}_{\mathbb{P}}} belonging to the set P\mathbb{P} of all periods with a maximum block time smaller pstart{p}_{\mathtt{start}} and thus

Mtotalp=tTPcoinbasevalOut(o).\begin{aligned} {{M_\mathtt{total}}_{p}}= \sum_{t \in {\mathbb{T}^{\mathtt{coinbase}}_{\mathbb{P}}}} {\mathtt{valOut}}(o). \end{aligned}(5)

Based on the quantity equation (Equation 1), the simplest measure of velocity arises from dividing total transaction volume PpTp\langle {P_{p}}'{T_{p}}' \rangle by total coin supply Mtotalp,{{M_\mathtt{total}}_{p}}, which was described in [3] and adopted by [20]. Formally,

Vtrivmsrp=Pp,TpMtotalp.\begin{aligned} {{V_\mathtt{triv}^{\mathtt{msr}}}_{p}}= \frac{\langle{P_{p}}',{T_{p}}'\rangle}{{{M_\mathtt{total}}_{p}}}. \end{aligned}(6)

Vtrivmsrp{{V_\mathtt{triv}^{\mathtt{msr}}}_{p}} offers the advantages of providing a theoretically sound interpretation and extremely simple calculation. Moreover, data for calculating Vtrivmsrp{{V_\mathtt{triv}^{\mathtt{msr}}}_{p}} (raw on-chain transaction volume and total coin supply) are widely available.14 However, the result is biased: Self-churn transactions lead to an overestimation of transaction volume.

[2] and [4] propose a similar velocity measure. However, they clean the price sum from self-churn and get

Vtotalmsr=Pp,TpMtotalp.\begin{aligned} {V_\mathtt{total}^{\mathtt{msr}}}= \frac{\langle{P_{p}},{T_{p}}\rangle}{{{M_\mathtt{total}}_{p}}}. \end{aligned}(7)

In line with Section 3, both measures can interpreted as the turnover of coins during period p{p} averaged over the total coin supply.

7. Velocity of money in effective circulation

While these measures advanced quantifying the velocity of cryptocurrencies, they suffer from inaccuracy, as money supply is defined as “the aggregate of all monetary units ever issued” (Mtotalp{{M_\mathtt{total}}_{p}}). We therefore propose a measure based on the component of money that circulates effectively. Denoting this circulating amount Mcircp{{M_{\mathtt{circ}}}_{p}}, our measure yields

Vcircmsrp=Pp,TpMcircp.\begin{aligned} %\label{eq:vcirc_concept} {{V_{\mathtt{circ}}^{\mathtt{msr}}}_{p}}= \frac{\langle{P_{p}},{T_{p}}\rangle}{{{M_{\mathtt{circ}}}_{p}}}. \end{aligned}(8)

7.1 Formal derivation

To see how excluding hoarded money relates to the quantity theory, expand the sum in Equation 2 and differentiate the set of all monetary units treated as investment, hh, from its complement GpGp{h}{{\mathbb{G}}'_{p}}\coloneqq{{\mathbb{G}}_{p}}\setminus\{h\}:

4Vtotalp = vphNph(Nph+gGpNpg)  + gGpvpgNpg(Nph+gGpNpg).\begin{aligned} {4} {{V_\mathtt{total}}_{p}} \ & = &\ & {v_{p}}_h \frac{ {N_{p}}_h }{ \bigl( {N_{p}}_h+\sum_{g\in{{\mathbb{G}}'_{p}}} {N_{p}}_g \bigr) }\\ \ & \ + &\ & \sum_{g\in{{\mathbb{G}}'_{p}}} {v_{p}}_g \frac{ {N_{p}}_g }{ \bigl( {N_{p}}_h+\sum_{g\in{{\mathbb{G}}'_{p}}} {N_{p}}_g \bigr) }. \end{aligned}(9)

By definition, hh encompasses only non-transferred units, and thus vph=0{v_{p}}_h=0 in period p.p. Consequently

Vcircp=gGpvpgNpggGpNpg.\begin{aligned} %\label{eq:disentangle_vcirc} {{V_{\mathtt{circ}}}_{p}} = \sum_{g\in{{\mathbb{G}}'_{p}}} {v_{p}}_g \frac{{N_{p}}_g}{\sum_{g\in{{\mathbb{G}}'_{p}}} {N_{p}}_g }. \end{aligned}(10)

Hence, the measure can be interpreted as the average number of turnovers of units effectively circulating in period p.p. Dropping non-circulating money in Equation 10 amounts to an adjustment of the money supply Mp{M_{p}} in the quantity equation (Equation 1).

7.2 Theoretical basis and practical considerations

An advantage of basing velocity on money in effective circulation is higher information content. To begin with, it is questionable whether Vtrivmsr{V_\mathtt{triv}^{\mathtt{msr}}} and Vtotalmsr{V_\mathtt{total}^{\mathtt{msr}}} capture more information than transaction volumes Pp,Tp,\langle{P_{p}},{T_{p}}\rangle, respectively Pp,Tp.\langle{P_{p}}',{T_{p}}'\rangle. After all, for most UTXO-based cryptocurrencies, money supply is just a simple function of block height.15 Thus, the two former measures appear very close to merely scaled versions of their price-sums.

Moreover, the total coin supply used in Vtrivmsr{V_\mathtt{triv}^{\mathtt{msr}}} and Vtotalmsr{V_\mathtt{total}^{\mathtt{msr}}} includes money that is technical dysfunctional (e.g., burnt coins). Yet, coins held unused as storage of wealth16 or speculation17 also do not fulfill one of the key functions of money: use as medium of exchange.

Furthermore, the amount of money frozen in speculative investments might not be neutral to money flows or prices. Since the beginnings of monetary economics, currency speculation has been associated with patterns in price levels. In [21] and [22], the illiquid component is considered a reservoir for neutralizing demand shocks and excluded from the money supply. For [7] and [6], hoarded money, as destroyed money, is leakage which must be compensated to stabilize the price level. [1] associates the rise in market prices for one of the early fiat U.S. banknotes with a relation of speculation and circulating money as well: “speculation acted as a regulator of the quantity of money.”

Our proposed measure captures precisely this velocity of money in effective circulation. This perspective is already present in current theoretical research on cryptocurrency prices. For instance, the model of [3] distinguishes demand for transactions from demand for rational speculation. When using the quantity equation, they deduct coins bought and held as speculative investment. Their modified quantity equation relates the exchange rate between fiat and cryptocurrency SpS_{{p}} to the velocity of cryptocurrency in effective circulation Vcircp{{V_{\mathtt{circ}}}_{p}} and the volume of transactions Tp{T_{p}}^{\ast} denominated in units of cryptocurrency as

Sp=Tp/VcircpMcircp.\begin{aligned} S_{{p}} = \frac{{T_{p}}^{\ast} / {{V_{\mathtt{circ}}}_{p}}}{{{M_{\mathtt{circ}}}_{p}}}. \end{aligned}(11)

The speculators in the model purchase cryptocurrency units if traded prices lie below their risk-adjusted, discounted expected future price. With increasing aggregate speculative positions, the risk of marginal speculative investments rises, lowering the price speculators are willing to pay. On the other hand, higher speculative positions imply reduced Mcircp{{M_{\mathtt{circ}}}_{p}} and increase current price according to their modified quantity equation. A similar relation between money in circulation and speculation is modelled in [2] as well.

Hence, implicitly or explicitly theoretical research already employs velocity based on circulating money rather than the total money supply. We close the gap in empirical research by operationalizing the circulation-based velocity measure for UTXO-based cryptocurrencies.

8. Novel measures of velocity of money in effective circulation

Based on the concept of velocity of money in effective circulation as clarified in the last section, we now propose algorithms to calculate velocity for UTXO-based cryptocurrencies.

8.1 Determining money in circulation

Conceptually, a monetary unit has circulated in a period if and only if it has been used as a medium of exchange. Therefore, first a time window must be specified with respect to which monetary units are to be classified as circulating or not. Money is referred to as circulating if it has been moved economically within the last day, month, year, or generally any time period w{w} covering [wstart,wend].[{w}_{\mathtt{start}}, {w}_{\mathtt{end}}].

To identify the fraction of the money supply which circulated within w{w}, we step through every transaction recorded in period w.w. Transactions spending outputs generated before w,{w}, as well as outputs from coinbase transactions (seignorage), have the interpretation of bringing an amount into circulation that corresponds to the value of spent outputs. All inputs referring to UTXOs generated within period w,w, on the other hand, re-spend money which has already been counted as circulating.18

Note that we define the time window w{w} within which spent coins are considered as circulating distinct from the period p{p} for which the velocity measure is calculated, [pstart,pend].[{p}_{\mathtt{start}}, {p}_{{\mathtt{end}}}]. This distinction can be parametrized via a maximum length {\ell} of the look-back window w{w}, where wstart=pstart{w}_{\mathtt{start}}= {p}_{\mathtt{start}}- {\ell} and wend=pend.{w}_{\mathtt{end}}= {p}_{\mathtt{end}}.

The approach as characterized so far, however, does not account for two technical properties of UTXO-based cryptocurrencies: First, transactions always spend prior transaction outputs in full. Second, there exists no attribution of individual outputs to the inputs of a transaction; thus it remains undefined which input corresponds to which output(s).

The first property raises the question of how to deal with transactions which send back change: Should the sum of all inputs be considered in circulation, as technically all was transferred—or should only the fraction sent to third parties be considered? We analyze both choices, naming the first the whole-bill approach (WBA) and the second the moved-coin approach (MCA). They are visualized in Figure 2. The moved-coin approach considers only output Out1\mathsf{Out_1} of transaction TxC\mathsf{Tx_C} as circulating, not the change output. This approach captures the net economic value transferred to a third party. The WBA classifies the whole input of transaction TxC\mathsf{Tx_C} as circulating. This approach captures the amount of money that has technically been moved; it can also be interpreted as revealed to be available for transactions.

In the MCA, the sum of inputs is counted as circulating only net of change outputs. However, due to the second property of UTXO blockchains ambiguous constellations can occur: If for a given transaction one input was generated within and one before w{w}, it remains unspecified which one corresponds to the change output.

Transaction TxF\mathsf{Tx_F} in Figure 2 illustrates the point. It has two inputs: Inp1\mathsf{Inp_1} originated before period w{w} and Inp2\mathsf{Inp_2} originated within w{w}. If only amounts sent to third parties matter, it remains unclear which of the two inputs funded the change output. For Inp1\mathsf{Inp_1}, the transaction would not increase money in circulation. In contrast, if Inp2\mathsf{Inp_2} funded the change output, the transaction would increase the amount in circulation by Inp1\mathsf{Inp_1}.

Figure 2: An example of a transaction chain.

To resolve the ambiguity, an assignment rule between transaction inputs and outputs is required. We consider both endpoints on the spectrum of the age of the input assigned to the change transaction and thus differentiate between “last-in-first-out”(LIFO), where oldest inputs get assigned to outputs first, and “first-in-first-out” (FIFO), where it is the other way around.

Naturally, with the WBA this differentiation is void. Hence, we have three definitions of money in circulation, each a function of the activity window length {\ell}: Money in circulation for period w{w} adopting the WBA (McircWbap[]{{M_{\mathtt{circWba}}}_{{p}[{\ell}]}}), and both the MCA with the LIFO rule (McircMcaLifop[]{{M_{\mathtt{circMcaLifo}}}_{{p}[{\ell}]}}) and the MCA with the FIFO rule (McircMcaFifop[]).({{M_{\mathtt{circMcaFifo}}}_{{p}[{\ell}]}}).

8.2 Definition of velocity measures

Based on the above definitions of money in circulation, three variations of velocity can be calculated in accordance with Equation 8—one per money aggregate. All measures capture the average number of peer-to-peer coin turnovers of effectively-circulating monetary units in period p.p. They concur in capturing on-chain liquidity; they differ with regard to definitions of circulating monetary units and assignment rules linking transaction inputs to outputs. The first measure is based on McircWbap{{M_{\mathtt{circWba}}}_{p}} and simply calculated as

VcircWbamsrp[]=Pp,TpMcircWbamsrp[].\begin{aligned} %\label{equ:VCircWbEstPWl} {{V_{\mathtt{circWba}}^{\mathtt{msr}}}_{{p}[{\ell}]}}= \frac{\langle{P_{p}},{T_{p}}\rangle}{{{M_{\mathtt{circWba}}^{\mathtt{msr}}}_{{p}[{\ell}]}}}. \end{aligned}(12)

VcircWbap{{V_{\mathtt{circWba}}}_{p}} is recommended if a conservative measurement of coin turnover is sought or additional assumptions about how to link inputs to outputs should be avoided. The second and third measures are based on McircMcaFifop[]{{M_{\mathtt{circMcaFifo}}}_{{p}[{\ell}]}} and McircMcaLifop[],{{M_{\mathtt{circMcaLifo}}}_{{p}[{\ell}]}}, respectively:

VcircMcaFifomsrp[]=Pp,TpMcircMcaFifomsrp[],\begin{aligned} %\label{equ:VCircMfEstPWl} {{V_{\mathtt{circMcaFifo}}^{\mathtt{msr}}}_{{p}[{\ell}]}}= \frac{\langle{P_{p}},{T_{p}}\rangle}{{{M_{\mathtt{circMcaFifo}}^{\mathtt{msr}}}_{{p}[{\ell}]}}}, \\ \end{aligned}(13)
VcircMcaLifomsrp[]=Pp,TpMcircMcaLifomsrp[].\begin{aligned} %\label{equ:VCircMfEstPWl} {{V_{\mathtt{circMcaLifo}}^{\mathtt{msr}}}_{{p}[{\ell}]}}= \frac{\langle{P_{p}},{T_{p}}\rangle}{{{M_{\mathtt{circMcaLifo}}^{\mathtt{msr}}}_{{p}[{\ell}]}}}.% %\label{equ:VCircMlEstPWl} \end{aligned}(14)

VcircMcaFifomsrp{{V_{\mathtt{circMcaFifo}}^{\mathtt{msr}}}_{p}} and VcircMcaLifomsrp{{V_{\mathtt{circMcaLifo}}^{\mathtt{msr}}}_{p}} are more stringent on the definition of money in circulation. Their monetary aggregates do not count “touched” funds, but only amounts transferred to somebody other than the sender. However, this comes at the cost of the additional assumption with respect to the assignment rule between transaction inputs and outputs.

8.3 Algorithmic implementation

Having defined three velocity measures, we now detail our technical approach and the implementation.

Money in circulation under the WBA is measured as in Algorithm 1. For every period w{w}, we loop over all transactions tTwt\in{\mathbb{T}_{w}} and add their inputs to circulating money if they either reference outputs from coinbase transactions, denoted by genByCoinbase(i){\mathtt{genByCoinbase}}(i), or outputs with timestamps dateGen(i){\mathtt{dateGen}}(i) before the first timestamp wstart{w}_{\mathtt{start}} of period w.w.

Algorithm 1

Measuring money in circulation under the MCA is depicted in Algorithm 2. As in Algorithm 1, for time window w{w} we loop over all transactions tTwt\in{\mathbb{T}_{w}} and add inputs based on the same core condition (compare lines 2-13 of Algorithm 2 and lines 1-6 of Algorithm 1). This time, however, only those inputs are regarded for further counting, which add up to the amount sent to third parties. Therefore, the calculated amount of money in circulation per transaction can be less than or equal to the amount sent to third parties, but never more. The order of inputs to consider is determined by the LIFO or FIFO principle. For every transaction tt in time window w,w, the amount sent to third parties is determined net of self-churn as valOuttoOthers(t)=oOtvalOut(o){\mathtt{valOut}}^{\mathtt{toOthers}}(t) = \sum_{o\in{}{\mathbb{O}}'_{t}} {\mathtt{valOut}}(o) where Ot{\mathbb{O}}'_{t} denotes non-self-churn outputs of transaction t.t. If all outputs are identified as self-churn, valOuttoOthers(t)=0{\mathtt{valOut}}^{\mathtt{toOthers}}(t) = 0 and the algorithm continues with the next transaction. If valOuttoOthers(t)>0,{\mathtt{valOut}}^{\mathtt{toOthers}}(t) > 0, the algorithm collects input values in a vector Itsort;{\mathbb{I}^{\mathtt{sort}}_{t}}; they are sorted in either ascending (LIFO) or descending (FIFO) order with regard to the timestamp when the UTXOs were generated. Then, looping over inputs i,i, input values valInp(i){\mathtt{valInp}}(i) are added to McircMcap[](t){{M_{\mathtt{circMca}}}_{{p}[{\ell}]}}(t) if they meet the core condition (compare line 17 of Algorithm 2) introduced in line 6 of Algorithm 1.19 However, one additional condition applies: If the last added input would increase the summand McircMcap[](t){{M_{\mathtt{circMca}}}_{{p}[{\ell}]}}(t) beyond the value of outputs sent to third parties valOuttoOthers(t),{\mathtt{valOut}}^{\mathtt{toOthers}}(t), we only add up to the latter amount.

Algorithm 2

8.4 Manipulation potential

One important concern with any measure of economic activity asks, how amenable is it to manipulation? In the case of velocity, the question is specifically asking whether the measure can be inflated by a single agent (or a small group) of limited means. After all, one proxy variable for velocity has been designed as a manipulation-proof alternative to turnover (see Section 9.1.1). How easy would it be to create fake velocity in order to inflate our measures?

Indeed, no direct technical impossibility prevents generating transactions affecting Equation 12Equation 14. Nonetheless, there exist reasonably tight limits to the manipulation potential of our measures, in particular compared to trading volumes on exchanges.

First and foremost, calculating our measure on on-chain transactions puts an upper limit to fake transfers. First, a fake transaction needs to be committed to the blockchain, and thus can be repeated only once per block time. As long as the manipulator is not the miner confirming the next block (a random and unlikely outcome even for large pools), the on-chain settlement is also costly, incurring fees.

Second, the manipulator must fully fund her fake transactions: she cannot send more than she owns once per block. The question then turns to how she should structure the fake transfers. Send the entire amount in a single transaction, or split it up into as many as can fit into a block? In the latter case, the fees rise. In the former, should she minimize or maximize the number of outputs? If she maximizes, the fees rise again, and she quickly fragments her wealth across a diverging multitude of wallets, reducing the funds available in each for the next round (block) of manipulation.

In this context it is critical that we follow the literature in clustering user addresses: As long as the clustering works, the manipulator cannot combine her funds ever again, lest she would be deconspired as a single agent and all her fake transactions disregarded. It follows that her strategy minimizes the number of outputs, generating a chain of fresh addresses across which a large sum, tied up in the manipulation, traverses indefinitely to make-believe “newcomers.” This, however, matches peeling transactions, which we also exclude. She would thus need to break frequently enough in order to escape this classification, slowing her manipulation further.

In sum, manipulation attempts are both technically elaborate and relatively straightforward to detect and exclude in the future. We thus do not consider manipulation a serious concern for our current results, nor for our measures.

9. Benchmarking popular velocity proxies on the Bitcoin blockchain

Equipped with our proposed velocity measures that are calculated on a level of detail of each output in each transaction in each block on the blockchain, we can now use these measures to empirically assess the quality of popular proxies for velocity.

To this end, we first review the most common proxies in Section 9.1, then implement the proposed estimators to calculate velocity measures for Bitcoin in Section 9.2, and finally run tests in Section 9.3 to evaluate the goodness of fit of the proxies with regard to the measures.

9.1.1 Coin Days Destroyed

Since turnover can be gamed via repeated transfers of an agent to herself,20 the CDD measure was introduced as a manipulation-proof alternative on in 2011.21 For each input, coin days refer to the product of its monetary value and the number of days “since it was last spent” (i.e. how many days the funding output had remained a UTXO). CDD then is defined as the sum of coin days over all transactions within a period p{p}:

Vcddapp ⁣p=tTpcdd(t),\begin{aligned} {{V^{{\mathtt{app}}}_{\mathtt{cdd}}}_{\!{p}}}= \sum_{t\in{\mathbb{T}_{p}}} \mathtt{cdd}(t), \end{aligned}(15)


cdd(t)=iItΔ(i)valInp(i)\begin{aligned} \mathtt{cdd}(t) = \sum_{i\in{\mathbb{I}_{\mathtt{t}}}} \Delta(i) \cdot {\mathtt{valInp}}(i) \end{aligned}(16)

with Δ(i)\Delta(i) denoting the number of days since the respective input originated as output (or coinbase transaction) in a prior block, and valInp(i){\mathtt{valInp}}(i) the value of input ii of transaction tt in period p.p.

The CDD measure puts larger weight on the reactivation of long-dormant coins compared to ones frequently spun, a feature clearly differing from the concept of velocity.

9.1.2 Turnover based on dormancy

In [17], a proxy for velocity, aiming at “the average number of times the actively used [coins] can be expected to turn over,” was proposed. While named “turnover” in [17], this is not to be confused with the classical turnover that refers to the simple sum total of transacted amounts within a period p{p}:

Vturnoverappp=tTpiItvalInp(i).\begin{aligned} {{V^{{\mathtt{app}}}_{\mathtt{turnover}}}_{{p}}}= \sum_{t\in{\mathbb{T}_{p}}} \sum_{i\in{\mathbb{I}_{\mathtt{t}}}} {\mathtt{valInp}}(i). \end{aligned}(17)

In contrast, the measure in [17] is constructed as the inverse of average dormancy dormp\mathtt{dorm}_{p} multiplied by the time period, where dormancy amounts to CDD scaled by the sum of inputs spent during the period p{p} (c.f. [17]):

Vturnappp=1dormpδ,\begin{aligned} % {{V^{{\mathtt{app}}}_{\mathtt{turn}}}_{{p}}}= \frac{1}{\mathtt{dorm}_{p}} \cdot \delta, \end{aligned}(18)


dormp=Vcddapp ⁣ptTpiItvalInp(i).\begin{aligned} % \mathtt{dorm}_{p}= \frac{{{V^{{\mathtt{app}}}_{\mathtt{cdd}}}_{\!{p}}}}{\sum_{t\in{\mathbb{T}_{p}}} \sum_{i\in{\mathbb{I}_{\mathtt{t}}}} {\mathtt{valInp}}(i)}. \end{aligned}(19)

Here δ\delta refers to the length of the period for which turnover is calculated. To illustrate the concept, assume the coins spent today stayed unused on average for six hours before their transaction. Hence, circulating coins are turned over 24h6h=4\frac{24h}{6h} = 4 times per day on average. Dormancy-based turnover, however, remains an approximation depending on transactions distributed homogeneously over time.

9.2 Data sources and calculations

We collect a dataset spanning from June 2013 until June 2019, starting with the rise of the first cryptocurrency exchanges and thus reliable trading data.

For the proxy variables, we tap existing sources as far as possible. CDD data is gathered via API from Blockwatch,22 trading data taken from CoinMarketCap.23

To calculate the velocity measures, however, access to the atomic units of cryptocurrency transactions is needed. We rely on the open-source blockchain parser BlockSci introduced by [4]. We also provide the code of our paper at In replicating the clustering approach of [4] (see Section 5.2), in order to mitigate the amount and effect of false positives, we exclude one unreasonably large cluster with over 297 million addresses.24

We calculate our velocity measures based on a time window for money in active circulation {\ell} equal to period p=1 day{p}= 1 \text{ day}.25 Therefore, a coin is in circulation if it is transferred at least once within the day for which velocity is computed. This daily measure can be interpreted as average turnover of monetary units which are part of the daily circulating money supply. While our choice for the window {\ell} within which moved coins are considered actively in circulation is short, this allows us to flesh out the difference between velocity based on the total money supply and our proposed measures based on circulating supply most clearly. Moreover, since [4] provide results with an implicitly26 infinite ,{\ell}, we provide evidence on the opposite endpoint on the spectrum. Naturally, neither the BlockSci parser nor our approach are restricted to these choices and can be extended both to other time windows and other UTXO-based cryptocurrencies.

Table 1 shows descriptive statistics for the proxies and the measures. Vcddapp{V^{{\mathtt{app}}}_{\mathtt{cdd}}} denotes CDD in million coin days, while Vturnapp{V^{{\mathtt{app}}}_{\mathtt{turn}}} denotes active turnover in expected on-chain coin transfers. For both proxy variables, means exceed medians, suggesting outliers in the skewed distribution. According to Vtrivmsr,{V_\mathtt{triv}^{\mathtt{msr}}}, a monetary unit of the total coin supply is turned over 0.11 times on average, while the more sophisticated measure Vtotalmsr{V_\mathtt{total}^{\mathtt{msr}}} results in turnover of 0.09. The difference stems from the deflated transaction volume used by Vtotalmsr{V_\mathtt{total}^{\mathtt{msr}}} being strictly lower then the inflated one (see Section 5). According to the measure VcircWbamsr,{V_{\mathtt{circWba}}^{\mathtt{msr}}}, which is based on the WBA, coins in effective circulation during the day reach turnover of around 5.83. Assuming the clustering heuristics work well, coin transfers correspond to peer-to-peer hops. Accordingly, VcircWbamsr{V_{\mathtt{circWba}}^{\mathtt{msr}}} estimates that monetary units in circulation change owners 5.83 times per day, while VcircMcaFifomsr{V_{\mathtt{circMcaFifo}}^{\mathtt{msr}}} and VcircMcaLifomsr{V_{\mathtt{circMcaLifo}}^{\mathtt{msr}}} give an estimate of around 6.09 peer-to-peer hops. The reason for the higher turnover estimate is the more conservative operationalization of the concept of being in circulation (see Section 8.3).

Table 1: Descriptives for velocity proxies and measures with p==1p = \ell = 1 day for 2013-06-01 to 2019-06-01.

The different levels can be disentangled by looking at the components of the velocity measures. Figure 3a exemplarily shows this for the components of Vtotalmsr{V_\mathtt{total}^{\mathtt{msr}}} and VcircWbamsr.{V_{\mathtt{circWba}}^{\mathtt{msr}}}. While Mtotal{M_\mathtt{total}} increases steadily over time, the subset of coins transacted at least once per day, with an average 1.5% of the total supply, is minuscule but volatile in comparison.27 The deflated on-chain transaction volume varies widely—clearly always below total supply, yet above the supply in circulation. While the volatility in the transaction volume feeds fully into Vtotalmsr,{V_\mathtt{total}^{\mathtt{msr}}}, for VcircWbamsr{V_{\mathtt{circWba}}^{\mathtt{msr}}} the relation is less obvious. In Figure 3b, the components’ co-variation with bitcoin price indicates that not only deflated on-chain transaction volume Vol\mathtt{Vol}, but also the monetary aggregates are positively correlated with price changes. Somewhat surprising, however, the velocity measures show a slightly negative correlation with prices.

Figure 3: Descriptives for velocity proxies and measures with p==1p = \ell = 1 day for 2013-06-01 to 2019-06-01.

Comparing maxima and minima across time series, as Table 1 shows, requires scaling. We use two methods: normalization and standardization. Normalization is based on the usual Xnorm=(XXmin)/(XmaxXmin)[0,1].X^{norm} = (X-X_{min})/(X_{max}-X_{min})\in[0, 1]. Standardization is based on Z-scores Xstand=Xμ(X)σ(X),X^{stand} = \frac{X-\mu(X)}{\sigma(X)}, with mean μ()\mu(\cdot) and standard deviation σ().\sigma(\cdot). Both are sensitive to outliers (c.f. [23]), so we truncate at 10 standard deviations around the mean.28 Figure 4 shows the time series of proxy variables for velocity. The scaling leads to a visible difference, relevant when comparing proxies to measurement results. A first indication of the quality of the proxy variables is their diversity. Not only spikes, but also general trends, vary across methods. Figure 5 depicts the different velocity measures. Differences across measures are smaller; highs and lows correspond more. The next section provides quantitative evidence.

Figure 4: Time series plots for proxy-variables.

Figure 5: Time series plots for volatility measures with p==1p = \ell = 1 day.

9.3 Assessing the goodness of fit of the proxies

We now turn to evaluating the proxy variables for velocity based on our estimated measures. In so doing, we include the trivial velocity measure Vtrivmsr{V_\mathtt{triv}^{\mathtt{msr}}} in the set of proxies, as it is calculated on very high-level inputs (raw on-chain transaction volume and total coin supply) that are similarly easy to obtain as CDD or turnover.

In order to evaluate the quality of proxy variables perfectly, the “true” velocity ought to be known. At the same time, we have proposed three novel measures, in addition to those suggested by [2] and [4]. We do not view this a contradiction: after all, the measures capture different concepts of velocity. Ours, for example, address the velocity of money in circulation. Therefore, we do not horserace all proxies against one benchmark, but rather evaluate the goodness of fit of the proxy variables with any of the measures. We do, however, take the position that the measures are more precise estimators of “true velocity” (its respective concepts) than the proxies, and thus evaluate the latter in terms of their fit to the former.

Perhaps surprisingly, the results do not vary qualitatively much across different measurement approaches.

9.3.1 Approximation errors

A common approach assesses approximation errors by comparing mean squared errors (MSE) or mean absolute errors (MAE). MSE, by squaring them, punishes large deviations more rigorously than the linear MAE. We provide both, not only to the standardized and normalized time series, but also on their first differences. This is motivated, as in econometric studies like those in Section 2, by doubts about the stationarity of the time series.

Table 2 shows that the above transformations differ in their assessment of the goodness of fit of approximation methods. When judging by the normalized but undifferenced dataset, turnover Vturnapp{V^{{\mathtt{app}}}_{\mathtt{turn}}} (as alternatively defined by [17]) achieves the lowest error in approximating velocity measures based on effectively-circulating money supply. However, for all other constellations we find that the trivial measure Vtrivmsr{V_\mathtt{triv}^{\mathtt{msr}}} provides the closest fit to all ways to measure velocity.

Table 2: Mean absolute error for normalized data of approximation methods compared to measurement methods with p==1p = \ell = 1 day. Proxy-variables in 1 % Model Confidence Set marked by .\dagger.

9.3.2 Model confidence set test

To understand if the approximation methods indeed differ significantly, we perform Model Confidence Set (MCS) tests. [24] introduced MCS tests to measure the performance of forecasting methods, but they are applicable more generally. The method uses equivalence tests and an elimination procedure to determine which set of models significantly outperforms the rest of the models. For an intuitive understanding of the test, one might think of a set MM of models (here, the different approximation methods). The models are indexed using i and j1,..,m.i \text{ and } j \in 1,..,m. When comparing model ii to a benchmark, for each period p{p} model ii leads to loss functions Lip=L(Vpmsr,Vipapp),L_{i {p}} = L(V^{{\mathtt{msr}}}_{p}, V^{{\mathtt{app}}}_{i {p}}), where VpmsrV^{{\mathtt{msr}}}_{p} denotes the benchmark velocity measure and VipappV^{{\mathtt{app}}}_{i {p}} the approximation method i.i.

To compare the performance of the models in MM, relative performance metrics dijpd_{ij {p}} are defined as

dijp=LipLjp\begin{aligned} d_{ij {p}} = L_{i {p}} - L_{j {p}} \end{aligned}

for all i,jMi,j \in M where iji \neq j. We use absolute and squared errors for the loss function LL, so that it takes the forms

dijp=VpmsrVipappVpmsrVjpapp\begin{aligned} d_{ij {p}} = \bigl| V^{{\mathtt{msr}}}_{p} - V^{{\mathtt{app}}}_{i {p}} \bigr| - \bigl| V^{{\mathtt{msr}}}_{p} - V^{{\mathtt{app}}}_{j {p}} \bigr| \end{aligned}


dijp=(VpmsrVipapp)2(VpmsrVjpapp)2\begin{aligned} d_{ij {p}} = \bigl( V^{{\mathtt{msr}}}_{p} - V^{{\mathtt{app}}}_{i {p}} \bigr)^{2} - \bigl( V^{{\mathtt{msr}}}_{p} - V^{{\mathtt{app}}}_{j {p}} \bigr)^{2} \end{aligned}


The relative performance of model ii compared to all other models then is

di=1m1jMidij,\begin{aligned} d_{i \boldsymbol{\cdot}} = \frac{1}{m-1} \sum_{j \in M \setminus i} d_{ij}, \end{aligned}

with i=1,...,m.i = 1,...,m. The null hypothesis states

H0M:E(di)=0, iM.\begin{aligned} H_{0M}: E(d_{i \boldsymbol{\cdot}}) = 0,\ \forall i \in M. \end{aligned}

If it can be rejected for set MM, there exist models in the set that are significantly outperforming the remaining ones. The above equivalence test is then re-iterated after elimination of the worst-performing model(s) until the null hypothesis cannot be rejected. For details, see [24].

Table 2 displays the MCS tests’ results, denoting significance at the 1% level with \dag. Results for the differenced dataset are clear: the MCS tests select, even at the tight 1 % significance levels, a single winning approximation method for each constellation. This evidence confirms Section 9.3.1 at high significance levels. Vtrivmsr{V_\mathtt{triv}^{\mathtt{msr}}} is the single best element of the 1%-MCS for all constellations. For the normalized undifferenced dataset, the turnover Vturnapp{V^{{\mathtt{app}}}_{\mathtt{turn}}} is the single best proxy for velocity based on circulating money for all but one of the constellations. If velocity is measured as Vtotalmsr{V_\mathtt{total}^{\mathtt{msr}}}, however, the trivial measure Vtrivmsr{V_\mathtt{triv}^{\mathtt{msr}}} again performs significantly better than all other proxies. In summary, MCS tests mostly support the trivial measure Vtrivmsr{V_\mathtt{triv}^{\mathtt{msr}}}. Only in cases with time trends and less focus on outliers than on smaller changes might turnover be the better choice. Again, Vcddapp,{V^{{\mathtt{app}}}_{\mathtt{cdd}}}, the most common proxy, is significantly outperformed in all constellations.

9.3.3 Mincer-Zarnowitz regressions

The Mincer-Zarnowitz (MZ) approach regresses estimates on the benchmark in simple ordinary-least-squares regressions [25]. In order to avoid spurious regression results, we only use the first differences of the standardized and normalized series. The regression structure for proxy ii can be expressed as:

ΔVipmsr=αi+βiΔVipapp+uip.\begin{aligned} \Delta V^{{\mathtt{msr}}}_{i {p}} = \alpha_{i} + \beta_{i} \Delta V^{{\mathtt{app}}}_{i {p}} + u_{i {p}}. \end{aligned}

An ideal proxy would yield an intercept of 0 and a β\beta equal to 1 with an adjusted R2R^{2} of 1. The results of the MZ regressions in Table 3 confirm the simple ratio of inflated on-chain transaction volume to total coin supply Vtrivmsr{V_\mathtt{triv}^{\mathtt{msr}}} as superior. This simple ratio yields an adjusted R2R^{2} between 0.34 and 0.53; other proxies’ R2R^{2} is much lower for all measurement methods of velocity. While for none of the approximations did a significant intercept indicates bias, the slope coefficients β\beta for most constellations are significant and positive. Furthermore, with respect to the β\beta coefficients, Vtrivmsr{V_\mathtt{triv}^{\mathtt{msr}}} performs best. The latter shows coefficients between 0.99 and 1.07 for normalized and between 0.78 and 0.8 for standardized data.

Table 3: Model Confidence Set regressions for standardized and normalized approximation and measurement data with p==1p = \ell = 1 day.

The MZ regressions are in line with the evidence in prior sections. Again, the trivial measure approximates the more sophisticated velocity measures better than the two commonly used proxy variables.

10. Conclusion

We analyzed approaches quantifying the velocity of money for cryptocurrencies; moreover, we introduced novel measurement methods based on money in effective circulation.

Our implementation shows that velocity as a function of the period within which money is considered as effectively circulating can be more informative than prior velocity measures. Our results also raise questions for future research: Is velocity for certain time spans more related to price? If so, can such a relationship be exploited in the construction of stablecoins (c.f. [26])? What is the effect of including off-chain transactions?

In addition, we analyze goodness of fit for common velocity approximations. In most tests we find that the common proxy variable coin days destroyed delivers higher approximation errors than the simple ratio of unadjusted, on-chain transaction volume to total coin supply.

On a broader scale, by publishing our code we hope to foster research on the economic properties of cryptocurrencies.


A. Summary of on-chain velocity measures and proxy-variables

Table 4: Summary of on-chain velocity measures and proxy-variables.

B. Descriptives of the entirety of raw data

Table 5: Basic descriptive statistics based on Bitcoin data from 01.06.2013 to 01.06.2019 with p==1p = \ell = 1 day. Variables marked by "∗" are scaled down by factor 1,000,000.

C. Descriptives of the normalized proxy-variables and measurements

Table 6: Basic descriptive statistics based on normalized velocity measurement and approximation data from 01.06.2013 to 01.06.2019 with p==1p = \ell = 1 day.

D. Descriptives of the standardized proxy-variables and measurements

Table 7: Basic descriptive statistics based on standardized velocity measurement and approximation data from 01.06.2013 to 01.06.2019 with p==1p = \ell = 1 day.

E. Correlations of the entirety of raw data

Table 8: Correlations based on Bitcoin data from 01.06.2013 to 01.06.2019 with p==1p = \ell = 1 day.

No comments here
Why not start the discussion?