Mean reversion · Bitcoin
BDZ, explained
An in-house Z-Score oscillator: one number for how far Bitcoin's price has stretched above or below its own recent average, with an equilibrium line showing where that middle is drifting, and buy and sell signals that wait for a turn to confirm.
- Reading
- Z-score
- Averaged over
- 20 bars
- Bands
- +2.0 / −1.8
- Heat Meter weight
- 4% BTC · 8% ETH
how far price sits from its average
on whichever timeframe you pick
upper (sell zone) / lower (buy zone)
one of 14 inputs in each score
What is BDZ?
BDZ is built directly from Bitcoin's own price history, and it answers one question: how far has today's price stretched from its own recent average — measured not in dollars, but in how big that gap is compared with the price swings of the last few weeks? Statisticians call that measure a z-score. It is a Blockchain Decoded indicator, not a widely published third-party metric.
Unlike most of the indicators in this knowledge base, BDZ uses no on-chain data, no miner economics, no derivatives data and no sentiment survey. Its only input is Bitcoin's daily closing price, grouped into whichever bar interval you choose — Daily, Weekly, 2-Week, or Monthly.
How is the reading calculated?
For each bar, BDZ takes the gap between Bitcoin's closing price and its average over the last 20 bars, then sizes that gap against how much price has typically moved across those same 20 bars. A big gap in a quiet market scores high; the same gap in a wild market scores lower, because a move of that size is ordinary there.
The calculation runs on the log of price, which keeps it fair across price levels: a stretch from $10,000 to $12,000 and a stretch from $60,000 to $72,000 — both 20% moves — register as roughly the same reading, instead of the higher-price move dwarfing the lower one in raw dollar terms.
What is the equilibrium line?
Alongside the raw z-score, BDZ plots an equilibrium line — an average of the reading itself across roughly one year of bars, whichever interval you have selected (365 bars on Daily, 52 on Weekly, 26 on 2-Week, 12 on Monthly). It shows whether the indicator's own centre of gravity is drifting up or down: a second, slower signal layered on top of the fast-moving one.
How do the buy and sell signals work?
BDZ doesn't fire a signal the instant the z-score crosses a band — it arms first, then fires. A buy signal arms the moment the z-score dips below the −1.8 lower band, then only fires once the z-score climbs back above that same band — confirming a recovery has actually started, rather than calling the exact bottom tick.
A sell signal works the mirror way: it arms when the z-score pushes above the +2.0 upper band, then fires once the z-score falls back below the +1.6 sell-trigger level. A five-bar cooldown after any confirmed signal prevents a run of clustered, repeat signals in choppy conditions. Signals only confirm on a closed bar — the forming, still-open bar has its signals deliberately suppressed so they don't appear and then vanish as the bar keeps trading.
Where are its limits?
BDZ rests on a simple idea: a price stretched a long way from its own average tends, eventually, to snap back toward it. It has produced the behaviour that implies — readings pushing into the extremes ahead of turns, signals clustering around them. It is still a single-input indicator, and it carries the limits that come with that.
It only knows about price
BDZ is built entirely from Bitcoin's own closing price — no on-chain data, no miner economics, no sentiment. It can flag that price is statistically stretched without knowing why, which is exactly what the other thirteen Heat Meter inputs are there to add context for.
The window is fixed; the market is not
The last 20 bars are the whole frame of reference, whatever interval you're on. In a strong trend that window can lag reality, understating how far price has actually travelled from where it 'was' only a few bars ago.
Signals wait for the bar to close; the reading does not
Buy and sell signals only confirm once a bar has closed, so they can't appear and then vanish while it is still trading. The reading itself, and therefore the zone you are looking at, keeps moving until that bar closes.
Built here, so its record starts here
Unlike MVRV or Puell Multiple, BDZ isn't a widely published metric with years of outside commentary attached to it. It is Blockchain Decoded's own construction, and its history runs as long as this platform's.
BDZ doesn't know why price is stretched. It only knows that it is — which is exactly the kind of signal that gets more useful once it's one voice among fourteen.
How do we turn BDZ into a 0–100 risk score?
Rather than scoring today's reading against the fixed +2.0 / −1.8 bands, the risk score asks where it sits against every reading in BDZ's history: 0 is the most stretched-to-the-downside reading it has ever produced for that asset, 100 the most stretched to the upside, and 50 roughly the middle of its own history.
For the Heat Meters, that ranking is worked out on the 2-Week bar interval — the same cycle-scale timeframe the standalone BDZ chart page defaults to — so a Heat Meter reading and the BDZ page agree on the same day, rather than one reading the fast Daily swing and the other the slower cycle one.
Where it fits
BDZ is a price-stretch indicator — it measures how far price has travelled from its own recent average, nothing more. It appears in both the Bitcoin and Ethereum Heat Meters as one of fourteen inputs, weighted at 4% on the Bitcoin Heat Meter and 8% on the Ethereum Heat Meter, and we adjust those weights as the indicators are re-tested. On Ethereum, BDZ is measured on Ethereum's own closing price with the identical maths, not derived from Bitcoin's reading; only the standalone BDZ chart page is Bitcoin-only. In neither Heat Meter does BDZ alone decide the score — it's one voice in a panel of fourteen.
Common questions
What does BDZ stand for?
BDZ is Blockchain Decoded's own Z-Score oscillator on Bitcoin's price — one number for how far price has stretched from its own recent average. It's an in-house indicator, not a published third-party metric: we design and maintain the maths ourselves.
How is the BDZ z-score calculated?
For your chosen bar interval (Daily, Weekly, 2-Week, or Monthly), BDZ measures the gap between Bitcoin's closing price and its average over the last 20 bars, then sizes that gap against how much price has typically moved over those same 20 bars. The result is one number centred on zero: positive when price is above its recent average, negative when it is below. The calculation runs on the log of price, so a 20% move counts the same whether Bitcoin is at $10,000 or $60,000.
What do the BDZ bands mean?
The bands are fixed: an upper band at +2.0, a sell-trigger at +1.6, the zero line, and a lower band at −1.8. A reading at or below −1.8 is the most stretched-to-the-downside territory the indicator defines; at or above +2.0 is the most stretched to the upside.
How does the BDZ buy/sell signal engine work?
It arms rather than fires instantly. A buy signal arms when the z-score first dips below the −1.8 lower band, then fires only once the z-score recovers back above that same band — a confirmed bounce, not the bottom tick itself. A sell signal arms when the z-score pushes above the +2.0 upper band, then fires once it falls back below the +1.6 sell-trigger. A short cooldown (5 bars) prevents clustered repeat signals right after one fires.
How does Blockchain Decoded turn BDZ into a 0–100 risk score?
The risk score is where today's reading sits against every reading in BDZ's history: 0 is the most stretched-to-the-downside reading it has ever produced, 100 the most stretched to the upside, and 50 roughly the middle of its own history. For the Heat Meters, that ranking is worked out on the 2-Week interval — the same cycle timeframe the standalone chart page defaults to — so the Heat Meter tile and the BDZ page agree with each other.
Is BDZ the same on the Bitcoin and Ethereum Heat Meters?
The maths is the same, but on the Ethereum Heat Meter it is measured on Ethereum's own closing price rather than derived from Bitcoin's reading. Only the standalone BDZ chart is Bitcoin-only. The two Heat Meters also weight it differently: 4% on Bitcoin, 8% on Ethereum.
Related guides
Others in price & cycle models — What price is doing relative to its own history, trend and long-run models.
- RSI Cross SignalA popular momentum gauge crossing its own average — a sign the direction is turning, not just that price has run hot.
- RSI HeatmapMomentum across many coins and short time windows at once, plus a 0-100 risk reading for whichever coin you pick.
- Fear & Greed IndexThe widely published 0–100 sentiment gauge, tracked alongside price so you can see when emotion led or lagged.
- Everything vs BTCAltcoin risk read from Bitcoin’s share of the market — when money moves out of Bitcoin and into everything else.
- Moving AveragesEighteen moving averages across Daily, Weekly and Monthly views, with the Bull Market Support Band and the Golden/Death Cross.
Every indicator we track — the full glossary.
See where it stands right now
Everything above is the indicator on its own terms. The live chart plots our own z-score oscillator on Bitcoin's price — how far the market has stretched from its recent average — with the 0–100 risk score on top. That score is also one of the fourteen inputs behind the Bitcoin Heat Meter.