Bitcoin and Stock to Flow

An oversimplification of a seemingly reasonable concept sold on bamboozling (wrong) statistics, data mining and confirmation bias

“Everyone then who hears these words of mine and does them will be like a wise man who built his house on the rock. And the rain fell, and the floods came, and the winds blew and beat on that house, but it did not fall, because it had been founded on the rock. And everyone who hears these words of mine and does not do them will be like a foolish man who built his house on the sand. And the rain fell, and the floods came, and the winds blew and beat against that house, and it fell, and great was the fall of it.” — Matthew 7:24–27

NB This is not financial advice. The information in this article is for educational and entertainment purposes only. Please ensure you consult with a qualified financial advisor before you make any decisions.

If you enjoyed my article, please hold down the clap button and don’t forget to subscribe. It really helps.

In this article I will show you why stock to flow is nothing but a flight of fancy — a fairytale or a fantasy bolstered by emotional support from irrational actors, a lack of broad-scale mathematical knowledge and proof by verbosity. In this article, I will create a completely fallacious model that performs statistically MUCH better than S2F or S2FX. The model will still be WRONG. The point of this article is NOT to create a new model, but merely to highlight that quantitative modelling like this is a fools errand.

A house built on sand

Stock to flow is the ratio of the circulating supply aka “stock” to the number of coins produced in a year by mining aka “flow”.

There are three primary components to the stock to flow ideology:

  1. It has been argued (really, quite eloquently) that this ratio is a surrogate of scarcity.
  2. It has also been argued that this scarcity is the primary causative agent in Bitcoin’s unprecedented parabolic rise to a one trillion dollar market cap.
  3. Furthermore, it has been argued that since the future distribution of mining production and circulating supply of Bitcoin is known, then this ratio can be used to estimate the future value of Bitcoin.

The first argument — that stock to flow is a measure of scarcity — this is disputed in its entirety. Eg

The second argument — that stock to flow has been the primary causative agent to Bitcoins epic non stop bull run, is disputed.

The third argument — that the future value of Bitcoin can be determined by the stock to flow ratio is also, disputed.

To understand the argument for #2, we must re-visit what the original author of the stock to flow model did to identify what he thought was a significant relationship

The author (100trillionUSD or PlanB) then goes on to create a simple Ordinary Least Squares regression of price against s2f. The regression itself had many issues — it did not meet certain assumptions required for such a model (known as the Gauss-Markov assumptions). It was proven time and time again to be heavily influenced by something called autocorrelation (essentially, the previous price point was influencing the next, “fooling” the model into thinking the s2f variable was estimating the price correctly.

All of these bamboozling statistical arguments have been made before. The author tried to get around this by creating a new model — the S2FX or “cross-asset” S2F model. But let’s put a pin in that for now — we will revisit later on.

For now — lets take a look at the simple problem. Bitcoin supply increases according to a decreasing production schedule (known as the halving). This means the s2f ratio is always increasing. There are many things that increase over time. The simplest of which, is time itself.

To illustrate the fallacy of bamboozling statistics (more formally known as argumentum verbosium — proof by verbosity): Let’s invent a new ratio. The ratio I propose is the whitepaper to first block mined ratio. i.e. the ratio of the days since the whitepaper was released to the days since 3 jan 2009 (eg dayssincejan32009/dayssinceoct312008 ). For reference, I will shorten to WP2Rel ratio.

First, let’s compare the models using basic regression. S2F regression gives us

which is similar to PlanB’s original model (this is now including up to date data, thus the small changes in the coefficient).

Looks ok, right? well not really since we get a massive indication of autocorrelation

The Breusch-Godfrey test tells us that there is ZERO chance there is no autocorrelation.

Now let us try the proposed ratio model. I have included some interaction terms to control for noise.

As you can see, we have a better R2, however let us also check autocorrelation

Unfortunately, it is still present.

Luckily, we can use Prais-Winsten regression to improve autocorrelation. This adds an autoregressive term to the model.

First, lets try and fix the s2f model

Well, that took care of the autocorrelation (as expressed by the DW statistic) however, the s2f variable is no longer significant! Also, the r2 is 0.

This indicates that after accounting for autocorrelation the s2f model explains none of the variance in the price.

Ok, lets try the new model

As you can see after accounting for the autocorrelation the ratio is still significant, the interaction is still significant, and the r2, whilst not very high, is still high enough to be useful.

The AICs of the two prais models are: s2f: 111.4064 v new model: 79.30696. The lower the AIC the better the model.

This new model looks like this on a chart. Here we can see the price has remained within the 95% confidence intervals for all but the massive bull run peaks (giving a potential indicator of an overheated market! /s) Also we can see the model is less bullish than S2F, giving us only 1m by 2024 or thereabouts.

What you should notice (and you should take note of for any model) is the width of the spread of the confidence interval. It spans two orders of magnitude for prices in the future. It is actually larger than this for S2F, but the autocorrelation artificially shrinks the standard error in that model.

To make this model yourself, the formula is

PriceUSD = exp(103.3138*W2RelRatio +2.16e-07*days_since_jan3_2009*days_since_oct31_2008–95.77052+U(t). and U(t) = 0.9060885*U(t-1)+e(t) where e(t) is the residual (as in the difference between the predicted and actual) at t.

And the rain fell, and the floods came…

Am I saying we should use this to estimate tops and bottoms? HELL NO. Is that clear enough? This is an ENTIRELY fallacious model, with a ratio I just made up out of thin air, that performs significantly better statistically than S2F.

This model, like all models built on the past price action, are prone to out of the ordinary events. For example — The US adopting Bitcoin as the reserve currency. Apple buying 10% of the supply. These things are not captured in the price history — the price history is a history of knowledge growth from essentially what amounts to the actions of a few extreme outliers of society to the actions of society as a whole.

There is simply no amount of data mining or statistical manipulation that can be done quantitate the collective future actions of the sum of a population of individuals.



You may have heard of another bamboozling word called “cointegration” — to be read “co-int-e-gration”. Some eager author (*/slap self) identified early on that if you run the cointegration tests on S2F and price you identify a significant relationship (you may have heard of the drunk and his dog, or the rubber band etc). However, this is being fooled by statistics. Pulling statistical wool over your eyes. Cointegration is where two stochastic time series respond to each *other*. S2F is a deterministic variable (Bitcoin supply curve is fixed) and as such cointegration tests cannot be used — they are irrelevant. S2F cannot react to price! Furthermore, once again that pesky autocorrelation — it kills the cointegration tests once its accounted for anyway.

The way PlanB addressed this was to create the S2FX or cross asset model. The cross asset model makes some random assumptions about phases of bitcoins life, groups these together arbitrarily and extrapolates a regression line. To improve on the supposed estimation, PlanB included some assets other than Bitcoin — such as gold, silver and real estate. The line through the clusters of the phases seemed to pass through these other assets as well. Huzzah the model is fixed! Well, not exactly.

The cross asset model relies on a few assumptions:

  1. clustering in phases (i.e. the idea that there are “phases” to bitcoins life. This is entirely arbitrary of course. Anyone can run say a kmeans clustering analysis and come up with something similar, however the issue is the same as for the time series — s2f goes up and price goes up (and so do many other things, again such as time)
  2. A few data points. Even if we accept the first assumption, there are still less than 7 data points all up. An insignificant number of data points to garner any substantial statistical information (someone once calculated the spread of predicted results for phase 5 — between 60k and 1.4m — essentially no better than what most people would hazard a guess at without any statistical knowledge)
  3. Arbitrarily clustered figures for the other assets. Gold, real estate, silver — are arbitrarily clustered according to PlanB’s secretive “genetic” algorithm.
  4. The other issue is S2F in Bitcoin IS a time series. It doesn’t matter how many different transformations you take or data mining techniques you apply, nothing can remove the fact that as time passes, S2F increases. Indeed, S2F itself could be a substitute for time in such a model.

The problem with the first assumption — ITS ENTIRELY ARBITRARY! From PlanB’s article:

The chart below shows the monthly BTC S2F and price data points used in the original S2F model. One can visually identify four clusters.

These four clusters could indeed indicate phase transitions.

Last time I checked — “eyeballing the chart” was not a scientifically valid way of determining something. It is an easy way to get lost in something called “confirmation bias”. Confirmation bias is when we have an idea we believe in so we ONLY look for the things that support that idea and ignore all of the things that don’t. It’s ok to suffer from this — it is the basic human condition. It takes years of training to overcome it. But do be concerned if you ever find yourself so convinced of something you begin to ignore evidence to the contrary. And there is SO much evidence to the contrary.

The second problem is the size of the data set. Let us consider the prediction intervals. First, let’s define what that is (and contrast it to a confidence interval).

A confidence interval is an interval which contains an unknown characteristic of the sampled population or process. These usually relate to parameters like means or variances etc.

A confidence interval captures the uncertainty around the mean predicted values.

A prediction interval is an interval which contains one or more future observations, or some function of such future observations, from a previously sampled population or process.

A prediction interval captures the uncertainty around a single value.

Thus, a prediction interval will always be wider than a confidence interval for the same value.

Think of a confidence interval as the confidence in the line, whereas a prediction interval is like the confidence of an individual prediction.

BUT before we do this, we need to estimate the centre of the next phase. Thanks to Satoshi, this is very easy. We know that every 210000 blocks the halving occurs.We know the initial reward was 50 coins. Ergo, we can formulate:

Thus there will be a stock of 18375000 bitcoins. By the fourth halving, this will have increased to 19687500. Thus, we get a flow of 19687500–18375000 =1312500 bitcoins during the period of 210000 blocks. To annualise this into the correct format for stock to flow, we multiply by the number of days per block. i.e flow = 1312500 * (6*24*365.25/210000) = 328725 coins per year, on average for the halving period. This gives us a stock to flow ratio at the fourth halving of 19687500/328725 = 59.9. Taking the natural log, we get 4.09.

The boundary for the fifth phase is estimated at between 1.6 trillion and 29.1 trillion USD. Assuming the end of the phase market evaluation, this translates to an individual bitcoin price of between $83k and $1.48m — essentially no better than a random stab in the dark given the other factors we know about Bitcoin.

Remember how PlanB keeps saying S2FX isn’t a time series? The problem is, the phases are monotonically increasing over time. It is therefore by definition a time series.

Scientific method is difficult for most to comprehend. It is counterintuitive. It can lead to conclusions that do not reflect personal beliefs. It takes a foundation in the method to understand this basic fundamental concept: it is ok to be wrong. This should be something that is taught in school. If we are afraid of getting it wrong, we will never propose anything new. The history of scientific discovery is therefore by its’ very nature surrounded in serendipity. Things that people discover by accident can be just as important as (or more important than) whatever it is they originally set out to do. Their original ideas might have been incorrect or inconclusive, but the things they discovered on the journey built the framework for those who follow.

A house founded on the rock

Instead of attempting to forecast price action, we will look at the reasons Bitcoin is used and estimate the likely course of action for a collective of rational individuals.

  1. Bitcoin is used as a way to unstoppably send any amount of money to anyone anywhere in the world, with relative anonymity.
  2. Bitcoin is scarce. There are only ever going to be 21 million coins. A good portion of that 21 million are already lost.
  3. Bitcoin is the oldest, most decentralised, and most secure cryptocurrency that has ever existed. It has the Lindy effect on its’ side.
  4. Bitcoin is antifragile. Problems of scaling have been met with lightning. Bitcoin’s decentralised nature enabled the Segwit fork to go-ahead WITHOUT the support of miners.
  5. The supply of Bitcoin is non-elastic
  6. Due to 1 through 5, the demand for Bitcoin continues to RISE.
  7. The rising demand can be seen in the rising price. The price is INCREASING with an INCREASING supply. Look at the figure below. It is the monthly closes of Price and Supply. This means the demand for Bitcoin is increasing faster than the supply is increasing.

A simple linear regression on the relationship

Some quants might try to explain this by eyeballing the chart and spotting a linear relationship, then they might say 93% of the variance in price is “explained” by the increase in supply and the coefficient is significant PROVING BEYOND DOUBT THAT SUPPLY INCREASES CAUSE PRICE INCREASES.

However, there is a problem — there is no reason for this relationship to exist! It of course, does not exist. It is just an artefact of a two curves having a similar shape over time. They are unrelated.

In fact, traditional wisdom tells us that an increase in supply puts downwards pressure on price. This pressure has not been able to overcome the rise in demand.

The miners KNOW all of this. They would be silly to sell any of the Bitcoin they earn if they can afford not to. The people that learn Bitcoin know the miners know this, and they would also be silly to sell any since they know that the miners essentially set the price floor. The halving causes that floor to be raised every four years or so. This four year cycle does show up when we look at the Bitcoin price from another view — the frequency domain.

Normally when we think of time series, we think in the time domain. The frequency domain is a different way of viewing the world and it can highlight cyclical patterns easily. It is easiest to understand what is going on by watching the gif below — essentially we have some time series f, then run a transformation that shows us the cyclical components of f.

Applying that same function to the Bitcoin supply and USD valuations we get the following Periodograms, that show us the highest peaks at the 4 year mark.

What all of this means is — Bitcoin is designed to get more expensive, forever. Will there be pullbacks in the short term? Maybe, but every four years, that floor is going to be raised, and the price will be higher.

This is part of why S2F seems to work — because the S2F ratio is just a function of supply, and there is the four year cycle to supply. What S2F or S2FX or S2F2X or S2FX3 or anything else new that is made up will not account for is the basic premise: Bitcoin is designed to become more expensive, forever. There are no tops or rubber bands holding Bitcoin’s price to a certain level. Bitcoin can go to 1m tomorrow — there is no reason it cant. Given the obvious increasing demand, presumably at some point the increase in demand will be far greater than the increase in supply and an exponential price rise will be the result.

Do with this information what you will.


NB This is not financial advice. The information in this article is for educational and entertainment purposes only. Please ensure you consult with a qualified financial advisor before you make any decisions.

If you enjoyed my article, please hold down the clap button and don’t forget to subscribe. It really helps.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store