← Back to Home

Stock-to-Flow: a useful idea and a broken model

Bitcoin's most famous price model failed. Here's the math, the history, and what to take from it.

S2F is two things — keep them separate

(a) The S2F ratio. Stock divided by new annual production. Pure math, applies to any commodity. Bitcoin's ratio is well-defined, public, and doubles every halving. Nothing wrong with it.


(b) The S2F price model. A 2019 paper by an analyst writing as PlanB fit Bitcoin's price to its S2F ratio. It looked great in 2020. It hasn't tracked since 2022 and currently predicts Bitcoin should be ~10× higher than it actually is.


Most demos teach (b) without ever flagging that it broke. We'll do (a) properly, then look at (b) honestly — alongside a different model that's still holding up. The point isn't to pick a winner. It's to learn how to evaluate models that look convincing.

Layer 1 — the ratio (math)

📦

Stock

The total existing supply of an asset. For Bitcoin, this is all BTC mined so far — currently ~19.86 million BTC.

⛏️

Flow

The new production added annually. For Bitcoin, this is BTC mined each year through block rewards. Cuts in half every ~4 years.

⚖️

S2F Ratio

Stock divided by Flow. Roughly: how many years of current production would be needed to match what already exists. Higher = scarcer in this specific sense.

The Formula

S2F = Stock / Annual Flow

For Bitcoin: S2F = Total Mined BTC / BTC Mined Per Year

⚙️ Interactive S2F Calculator

Current: 840,000 Max: 1,000,000
19,688,125 Total BTC Mined (Stock)
164,250 Annual Production (Flow)
119.9 Stock-to-Flow Ratio
5 Halving Era

Halving timeline — the math and the history, kept apart

Each row shows the S2F ratio at that halving (a math fact) and what Bitcoin's price did in that era (a history fact). They are not the same thing. Halving schedules have been public since 2009, so any halving-driven move on the announcement date itself is at most a partial surprise — the schedule is already in everyone's spreadsheet.

2009–2012 · Era 1

Math: Block reward 50 BTC. S2F starts near 0 and grows toward ~1.5.

History: Bitcoin trades from ~$0.001 (first listed price 2010) to ~$12 by Nov 2012. Tiny market, mostly hobbyists.

2012–2016 · Era 2 · 1st halving

Math: Block reward halves to 25 BTC. S2F reaches ~8 by end of era.

History: Price ~$12 at halving, hit ~$1,150 in late 2013, crashed to ~$200 in 2015, recovered to ~$650 by next halving.

2016–2020 · Era 3 · 2nd halving

Math: Block reward 12.5 BTC. S2F reaches ~22.

History: Price ~$650 at halving, peaked ~$19,800 Dec 2017, crashed to ~$3,200 in late 2018, ~$8,800 by next halving.

2020–2024 · Era 4 · 3rd halving

Math: Block reward 6.25 BTC. S2F reaches ~56.

History: Price ~$8,800 at halving, peaked ~$69,000 Nov 2021, crashed to ~$15,500 in late 2022, ~$64,000 by next halving.

2024–2028 · Era 5 · 4th halving · current

Math: Block reward 3.125 BTC. S2F ~120.

History (so far): Halving April 2024 at ~$64,000. ATH ~$108,000 in late 2024 / early 2025. Currently in a drawdown.

2028+ · Future eras

Math: Reward continues halving every ~210,000 blocks. By ~2140, new issuance rounds to zero.

History: Not written yet. Anyone claiming to know what each era's price will do is selling something.

Layer 2 — the price model (and how it broke)

Two models, two fates

In March 2019, an analyst writing as PlanB fit Bitcoin's market value to its S2F ratio with a power-law regression. The fit was stunning in-sample: ln(market value) = 3.3 × ln(SF) + 14.6 with R² ≈ 95%. The model became famous and informed a generation of price predictions.


In 2019, a different researcher (Harold Burger) fit Bitcoin's price to time instead of S2F: price = 10^(-17.0159 + 5.8451 × log₁₀(d)) where d is days since the genesis block. Same kind of math (power law in log-log space), completely different independent variable.


Both fit the data through 2020. The chart below shows how each one has done since — against actual price.

Predicted vs actual price

Log scale Y. Orange = actual BTC/USD (CryptoCompare daily closes). Purple dashed = PlanB's S2F price model. Green dashed = Burger's Power Law.

Loading historical price data…

Why one broke and the other (so far) hasn't

PlanB's S2F model assumes scarcity drives price. But:


Burger's Power Law uses time as its only variable. That's also fragile, but:


The skill being practiced here isn't picking a winner. It's the discipline of continuing to test models against new data and stopping trust in the ones that diverge.

Comparing to other assets — six properties, no winners

"Hardness" is too vague to be useful. Below are six concrete properties of money. Different assets win on different ones; no asset wins on all of them. There's no overall verdict — that depends on what you're using money for.

Property Bitcoin Gold Silver Fiat (USD)
Stock-to-Flow
Existing supply ÷ annual new production
~120
19.86M ÷ 164k/yr
~59
208k tonnes ÷ 3.5k/yr
~22
1.74M tonnes ÷ 25k/yr
< 1
Issuance unbounded
Verifiability
Can you check it's real, yourself?
High
Run a node — verify supply, signatures, history at zero cost
Moderate
Density / acid test in hand; tungsten counterfeits exist
Moderate
Same as gold; less commonly counterfeited
Moderate
Watermarks/UV for cash; bank balance = trust the bank
Divisibility
How small can you split it?
High
100M sats per BTC; 1 sat ≈ a fraction of a cent
Low
Physically hard; assay required when divided
Low
Same as gold
Moderate
Cents physically; digital can go further
Portability
Can you move it across borders?
High
Weightless; 12 words memorized = any amount
Low
Heavy; declarable / often confiscated at borders
Very low
Even heavier per dollar than gold
Moderate
Cash declared above $10k; wires require a bank cooperating
Censorship resistance
Can someone stop you from holding or sending it?
High
Self-custody + Tor or Lightning routes around most blocks
Moderate
Hard to stop in person, easy to stop at borders / banks
Moderate
Same as gold
Low
Bank-frozen accounts, OFAC lists, payment-rail bans
Durability
Does it survive time?
Moderate
Network durable; individual access depends on key management
Very high
Doesn't tarnish; survives millennia
Moderate
Tarnishes; corrodes
Low
Inflation erodes purchasing power; bank failure erases balances

Honest read: gold beats Bitcoin on durability and 5,000-year track record. Bitcoin beats gold on portability, divisibility, and verifiability. Fiat beats both on day-to-day liquidity at the cost of supply discipline. There's no asset that wins on every property — that's why money has always been a portfolio question.

Key takeaways

What this demo doesn't teach you