Bitcoin - stock to flow model

crypt∞li
9 min readApr 30, 2020

This article will give you a short insight about the stock to flow model of Bitcoin. It will explain what the stock to flow ratio is and how to create an example model based on Bitcoin’s price history, other raw data and calculated data. A summary of the obtained model’s output and a conclusion regarding further price speculation in the future including a more conservative example model for price will be given.

Note: This article is inspired by Twitter user PlanB’s Medium article Modeling Bitcoin’s Value with Scarcity.

What is the stock to flow ratio?

The stock of a commodity is the total circulating amount of said commodity. The flow of a commodity is the amount of newly produced units of said commodity within a year. As a result, the stock to flow ratio is the stock number divided by the flow number.

What is the stock to flow model?

The model’s approach is, that there exists a correlation between the market capitalization of a commodity and the stock to flow ratio of said commodity. This means that once the model is set up by using historical data of price, stock and flow of the commodity an estimation of the price in the future can be made based on the found correlation and the input of a stock to flow ratio number.

What kind of data is needed to set up a model for Bitcoin?

First, a time frame for the different data points in the model has to be decided on. In this example, data points are used from within September 2011 and April 2020. The accuracy of the model is dependent on the amount of data points. The use of more data points results in a more accurate model. In this example, the data points will contain data from the 15th day of a month. Therefore, the model will span from September 15th, 2011 to April 15th, 2020 and include 104 data points.

For each data point the following data will be needed:

Stock: The current* circulating supply.

Flow: The extrapolated yearly emission based on the current* block reward.

Price: The current* daily close of BTC’s USD price on Bitstamp exchange.

Market capitalization: The product of the obtained stock and price (s.a.).

(*current: individual value at respective day)

What work has to be done with these data?

An excel sheet gets created containing rows for all dates (each 15th of the month) and columns for price, block reward, supply, corrected supply, stock to flow ratio and market capitalization. Prices are obtained from the daily closes at Bitstamp, block rewards are known because of the known date of the genesis block and previous block reward halvings. The correct supply can either be obtained by historical snapshots or as a product of theoretical supply and a correction factor. The starting date for the ongoing calculations related to time represents the date of the first Bitcoin block (genesis block) in 2009.

raw data (price, block reward) and calculated data (supply, corr. supply, stock to flow ratio, market cap)

Note: The corrected supply is higher than the theoretical supply because the hash rate of Bitcoin’s network has only grown since its beginning and difficulty is adjusting with a delay. Therefore, the real flow of Bitcoin is higher than the theoretical flow extrapolated from the block reward. As a result of this, the flow is higher, the stock grows faster, and halvings occur sooner than in theory.

(Theoretical Flow = Block Reward * 6 * 24 * 365 , corr. fact.: 1.04)

Setting up a market capitalization vs. stock to flow ratio chart

After all data has been obtained and calculated, a graph of the market capitalization’s logarithm versus the stock to flow ratio’s logarithm can be set up. Then, a linear regression is applied to the data set and the function of the curve can be obtained. Based on this function, a value for future market capitalization based on a specific stock to flow ratio in the future can be estimated. Since stock and flow can be roughly estimated for any date in the future, a value for the stock to flow ratio corresponding to said date (x-axis) can be put into the function of the curve. As a result, the market capitalization (y-axis) can be calculated from this function. Finally, the future model price can be calculated because the total stock at said date can be estimated (future value equals market capitalization derived from the function divided by circulating supply). In below’s example, Bitcoin’s future value equals roughly $65k at a stock to flow ratio of roughly 58 mid May 2022.

ln(market capitalization) versus ln(stock to flow ratio) chart

The graph above is already indirectly describing the (estimated) price versus time, since the logarithm of market capitalization increases with price and logarithm of stock to flow ratio increases with time. However, another graph can be set up to directly show the correlation of (estimated) price and time.

Setting up a price versus date chart

How does this work? A graph is set up plotting the Bitcoin price versus the date. Now, two data sets are imported into the graph. First, the data set obtained by Bitstamp’s price history. Each data point consists of a price (daily close) and a date (15th day of a month). The estimated data point in the future (this time: price and date instead of market capitalization and stock to flow ratio) can be put into the graph as well. Second, a model price resulting from above’s function is calculated for each date. Remember when the model price for one specific date was calculated in the future? Now, the model price is calculated for each historical date in the past, present and future using this exact same function (the model price is a back calculation based on each known stock to flow ratio, the derived market capitalization from the function and the known/modeled stock at each date). The model price continuously rises within one halving cycle (stock grows slowly) and sharply rises from the end of one cycle to the beginning of the next cycle (flow decreases sharply).

BTC price versus date chart

Summary

Now, after the explanation and visual representation of these two graphs has been given the picture is coming together. First, suitable data points have to be determined and data to be obtained (raw data). Additional data has to be calculated/modeled based on those raw data. Second, a linear regression has to be performed to show whether there is some correlation of the data and to produce the regression function based on the data. After these steps and a look at the first diagram, we already see whether a correlation is existent and how the price is depending on the stock to flow ratio. Finally, the historic and calculated/modeled data is transformed in order to create a (model) price - date chart. Here, we can directly see each halving cycle’s mean value based on the model and how the historical data has been under or over performing it until today.

Conclusion

Technically, it is fairly simple to set up Bitcoin stock to flow model charts and estimate Bitcoin’s future value for different scenarios (different time intervals, exchange data, etc.) using a basic excel sheet once the theory and approach of calculations has been understood. Based on our model, we can estimate a mean value of $65k in the next halving cycle (next four years). Bitcoin’s price history has shown that the model price was always under and over performed in each previous cycle. This indicates, that we may even see a Bitcoin price of $100k if the model proves itself to stay valid during this cycle.

Going much further into the future (more bygone halvings, higher stock to flow ratio) some ridiculously high model prices of bitcoin would be obtained. Therefore, I personally would expect the Bitcoin price to first under perform the model price at some point in the (near) future and eventually reach a ceiling / level out. A mathematical function value can grow to infinity - the resources on our planet are finite (crude material for mining hardware, energy for electricity, etc.). At some point the hash rate (and therefore mining cost) of Bitcoin would not be able to keep up with the model’s price and a vast difference of spot price versus mining cost would result in a sell off by miners until a healthy equilibrium is reached again - unless Bitcoin is currency of the universe and all hardware/electricity is used for mining Bitcoin not only on Earth but also on other colonialized planets.

extrapolation of world’s electricity percentage used for mining Bitcoin in the future

The table above shows the current status of the Bitcoin PoW network in the first row. The mining cost is always assumed to be half of model price right after halving. The mining costs per day is the cost of mining one Bitcoin times the daily emission of Bitcoin. This is the amount of money that gets spent daily on electricity for mining. Today, roughly 0.25% of the world’s electricity is used for mining Bitcoin. During the upcoming cycle (’20-’24) this number would increase to 1.42% if the model stayed valid. In the following cycle (’24-’28) the number would already increase to 9.57% - a highly unlikely scenario but it goes even further. During the cycle from 2028 to 2032 an enormous ratio of 58.9% world’s electricity would have to be put into mining Bitcoin to sustain the model price. Finally, during the cycle from 2032 to 2036 there would not be enough electricity on the entire planet to sustain the model price of Bitcoin anymore .

General assumption: A ratio of spot price to mining cost higher than two is not sustainable in the long term. As a result, a decrease of spot price and/or increase of hash power put towards mining will occur until a healthy ratio is reached again. This assumption is considered to be legitimate since the stock to flow model was originally set up for gold in which case the ratio of gold spot price to gold mining cost is normally not higher than two.

Conservative price model based on miner adoption

A more conservative model price can be derived by doing a back calculation based on a roughly estimated number of today’s world’s electricity percentage used for mining Bitcoin in the future and the general assumption of a healthy ratio of spot price to mining cost like stated above for gold. The assumption for this model is that a significant amount of Bitcoin’s value lies within the amount of hardware and electricity put towards mining daily.

model price based on estimation of world’s electricity percentage used for mining Bitcoin in the future

Therefore, a plausible increase of the world’s electricity amount put towards Bitcoin mining during the next few cycles is estimated and set first. The percentages in the rightest column are manually set. A mean mining cost of $4,000 (roughly half of today’s spot price) per Bitcoin is set as well. Based on these set numbers and the known flow of Bitcoin in the future, a future mining price can be calculated for each cycle. Then, a model price is derived by multiplying the calculated mining cost by two. It took Bitcoin’s network three cycles to claim 0.25% of the world’s electricity for mining, which is less than a 0.1% increase per cycle. In this scenario, the percentage increases 0.25% into the next cycle and another 0.5% per future cycle. Therefore, a total of 2% of the world’s electricity would be used for mining Bitcoin in 2032. The set parameters and calculation approach would result in a Bitcoin spot price of roughly $1 million within the 2032–2036 cycle. In the upcoming cycle, a spot price of $32k can be estimated based on a ratio of 0.5% world’s electricity put towards mining.

In comparison, PlanB’s model price ranges from $55k to $288k within the next cycle depending on the used model. Those spot prices would imply the ratio of world’s electricity used for mining Bitcoin ranging from 0.86% to 4.5% within the next four years - assumption: the hypothesis of a sustainable spot price to mining cost ratio similar to gold stays valid. While the lower boundary value seems quite unlikely but possible the higher boundary value seems highly unlikely.

--

--