This puppy never gets old and I came across Metcalfe’s law (that the value of a network is proportional to the square of the nodes/users in the network) being mentioned again regarding Bitcoin on CNBC with a Hedge Fund Guru Tom Lee forecasting $25,000 price for Bitcoin! (He used the Bitcoin adoption rate vs Gold argument). However, I thought his passing comments on Metcalfe’s law having a ~90% correlation with Bitcoin price was worth testing out to see if it (or any other combination of factors) had any credible predictive forecasting power.
A quick and dirty multivariate regression of Bitcoin price against the following variables were performed to see if any combination had higher predictive power as potential proxies for number of “users” in the “Bitcoin network” (i.e. the nodes in Metcalfe’s law). Daily data between Dec 31 2011 to Oct 22 2017 were taken from Blockchain.info
- Daily Transaction value in USD (TV_USD)
- Daily Transaction value in BTC (TV_BTC)
- Daily Number of Transactions (Num_Trans)
as well as their transformations:
4. Daily Transaction value in USD SQUARED (TV_USD_SQ)
5. Daily Transaction value in BTC SQUARED (TV_BTC_SQ)
6. Daily Number of Transactions SQUARED (Num_Trans_SQ)
Some Quick Plots
Visually there does seem to be fairly good correlation between transaction volume measured in USD vs actual Bitcoin price but not so much for other variables:
Initial Regression Results
Lots of numbers! The F values in the ANOVA table indicate that all the variables are significant in the overall model and the Adjusted R-squared explains a high~ 93% of the variance in Bitcoin price. However, the F-value for TV_BTC clearly stands out. Further analysis shows that TV_USD alone can explain ~86% of the variability in BTC price:
Where R-Squared provides a measure of the strength of our predictor variables (ie. the proportion of the variability explained by the model). And the overall F-Statistic provides a measure whether R-squared is statistically significant or not for that model.
After further testing and analyzing residual plots, a more simplified model using a combination of Transaction value in USD (TV_USD) and also TV_USD_SQUARED was adopted:
Bitcoin price = a function of (TV_USD) + (TV_USD_SQ) + intercept
And further regression on this new revised model gives:
Regression results show fairly low standard errors, and t-values implying our coefficients are significant, and also a high F- Statistic and R-squared of 0.8952 (our model reduced model still explains ~90% of the variability in Bitcoin price).
And for those that like analyzing residual charts:
- The Residuals vs Fitted plot (top left) – a fairly decent fit but there are also signs of hetroskedasticity (ie. increasing variance of residuals around the fitted value)
- The Normal QQ (Quantile-Quantile) plot (top right) – our residuals clearly don’t follow a normal distribution and suggests we have a “fat tail” (leptokurtic) distribution.
- The Scale-Location plot (bottom left) – shows standardized residuals over a range of fitted values (Bitcoin price) and indicates that our residuals have increasing variance across the range (vs normal regression assumption of uniform variance).
- The Residuals vs Leverage plot (bottom right) – shows the influence/leverage that certain indicated outliers (observation 1021 in our case) would have on the overall prediction results if excluded. Observation 1021 actually occurred on August 2 2017 when Bitcoin Cash was launched and likely caused a spike in transaction value/volume.
For now, there’s no need for consider any other transforms to the regression variables (normalizing the coefficients, log transforms, Box-Cox or otherwise) given that the main aim here is for simple forecasting rather than coercing our model into “normality”. Since we only care for a simple fit of this model, and hetroskedasticity (increasing variance of our residuals) in of itself does not bias our coefficient estimates – it only affects the standard errors.
Hence, our final model is:
where 90% confidence intervals on the coefficients and intercept are:
Conclusions and Prediction time!
It’s probably best to use the above equation such that you can get a sense of where Bitcoin’s price could be once a certain transaction value level has been reached.
For example: if USD daily transaction value hits a new peak of USD2 billion (ie. exceeding its peak of USD 1.8billion back in late July 2017), then plugging that into the equation above gives an estimate that Bitcoin could be at 6281 with 90% confidence that the price could be in the range: 5044 ~ 7517 as given by our model.
In summary, this exercise was meant to be a quick analysis into Metcalfe’s law using transaction data as a proxy for users (nodes) and there does seem to be some value in using Metcalfe’s law applied to the Bitcoin network. But as a forecasting tool for Bitcoin price it is probably best used as a gauge to see if the estimated price is deviating too much from its transaction volume predictors. And there are lots of caveats to this calculation including analyzing and adding other potential predictors. There’s also the causality argument of whether a spike in transaction volumes causes a spike in price or vice versa, as well as the “normality assumptions” underlying a regression, and the possible impact of that 1 outlier (#1021).
Additional Note (1):
The recent hard fork of Bitcoin Gold has caused the daily USD transaction value of Bitcoin to hit a new peak of USD2.4billion on Oct 23rd 2017 (which is ~30% above the previous peak!). Clearly this is an outlier event caused by investors moving out their Bitcoin from exchanges to hold their private keys, and possibly also due to arbitrage unwinding of Bitcoin holdings from speculators who just wanted to take part in the free Bitcoin Gold “airdrop dividends”! But if Bitcoin were to hit USD2.4billion in daily transaction values under normal circumstances, then our model suggests that Bitcoin price could be trading around 7034!
Additional Note (2):
By popular request, a table and chart of the forecasted Bitcoin price with 90% confidence intervals over a range of Transaction Values in USD.