Cycle composite · Bitcoin
Bull Market Progress, explained
Roughly thirty of CoinGlass’s cycle-peak indicators, each scored against its own historical top, flat-averaged into one 0–100% reading of how far this Bitcoin cycle has travelled.
- Indicators
- ~30
- Categories
- 3
- Default weight
- 1× each
- Zones
- 4
CoinGlass bull-market-peak set
valuation · timing · behavior
flat average, adjustable 0.5–2×
accumulation → mid → late → peak
What is Bull Market Progress?
A composite reading built from roughly thirty of CoinGlass's Bitcoin “bull market peak” indicators — AHR999, MVRV, Pi Cycle Top, RHODL, the Golden Ratio Multiplier, Bitcoin dominance and two dozen others. Each one is turned into a 0–100% score for how close it currently sits to its own historical cycle-peak level, and the roughly thirty scores are averaged into one headline percentage.
It isn't a new indicator so much as a meta-view over indicators you may already know individually. Where MVRV alone tells you one thing about valuation, Bull Market Progress asks: out of everything CoinGlass tracks for cycle tops, how many are currently near their own top — and by how much?
How does it turn ~30 indicators into one number?
Each CoinGlass indicator comes with a current value, a target value, and a direction. Where progress means rising toward the target, the score is the current value divided by the target, capped at 100% the moment it reaches or passes it. Where progress means falling toward the target, the ratio works the same way in reverse, for a value approaching its target from above.
Not every target is a single number. Smithson's Bitcoin Price Forecast, for one, gives a range — 175k to 230k — rather than one figure. A range like that is reduced to its midpoint before the comparison is made, so an indicator with a range target is measured against the middle of it rather than against either end.
Once every indicator has a 0–100% score, the default is a flat, unweighted average — each indicator counts as 1, whether it's MVRV or a niche sentiment reading. That is the number you see when the page opens; the live page lets you change it indicator by indicator.
Why valuation, cycle timing and market behavior?
The ~30 indicators are sorted into three roughly even buckets, about ten apiece: Valuation (AHR999, MVRV Z-Score, MVRV Ratio, Reserve Risk, NUPL, Puell Multiple, Terminal Price, and similar on-chain fundamentals), Cycle Timing (Pi Cycle Top, the 2-Year MA Multiplier, the Rainbow Chart, Mayer Multiple, Golden Ratio Multiplier, RHODL, and similar technical models), and Market Behavior (ETF flows, Bitcoin dominance, the Altcoin Season Index, a 3-month annualized ratio, and other sentiment reads).
The sorting is Blockchain Decoded's, not CoinGlass's: each indicator is matched by name, and anything close to a known name is matched on its keywords. Whatever neither rule recognizes is filed under Cycle Timing — a category of convenience for the leftovers, not a claim that CoinGlass itself classifies it that way.
What do the four zones mean?
The overall score lands in one of four bands, and each maps to a plain-language phase and a suggested posture: below 30% is Accumulation (accumulate), 30–60% is Mid-Cycle (hold), 60–90% is Late-Cycle (take profit), and 90% or above is Peak (exit). The same 30/60/90 lines apply to each individual indicator too, which is how the page counts “indicators hit” — any indicator whose own score has crossed 90%.
CoinGlass also publishes its own peak marker for each indicator, but the two don't always agree — the marker can stay unset when the indicator's own score has already crossed into peak territory. The 90% line is used instead, so the “indicators hit” count always agrees with the zone colours shown everywhere else on the page.
Two cycles is a very thin sample
The historical reference points baked into this page are 2017 and 2021 — two events. That is enough to describe what past peaks looked like, not enough to prove that 90% means the same thing every cycle.
Category buckets are ours, not CoinGlass’s
Blockchain Decoded sorts each CoinGlass indicator into Valuation, Cycle Timing or Market Behavior by name. Any indicator CoinGlass adds that we don’t recognize is filed under Cycle Timing — a category of convenience, not a CoinGlass classification.
Flat weighting treats all ~30 as equally important
By default MVRV counts exactly as much as USDT Flexible Savings or a 3-month annualized ratio — every indicator gets weight 1 unless you change it yourself. Nothing in the underlying data says a valuation measure and a sentiment reading deserve equal say in the average.
It only measures distance to a top
Every one of the ~30 indicators here is oriented toward a cycle-peak target. There is no equivalent “how far from a bottom” reading — low scores mean early-cycle, not a buy signal in their own right.
How accurate has this been at past cycle tops?
Two reference points are built into the page, each reconstructed from the indicators that existed at the time: the 2017 top at roughly 94%, with 28 of 30 in peak territory, and the 2021 top at roughly 91%, with 27 of 30. Several of the ~30 indicators used today — the two spot-ETF measures among them — did not exist in 2017, so these are a picture of what past peaks looked like on the indicators of their day, not a track record of today's roster.
Any one of these thirty indicators can be wrong. Nearly all of them agreeing, at the same time, is a different kind of signal — and it has only happened twice.
Two data points describe what past peaks looked like on this composite. They do not establish that 90%, or any other level, is a threshold that will repeat on the next cycle — treat the historical record as context for reading the current score, not as a tested model with a known success rate.
What are its real limitations?
In short: a two-event historical record, category buckets that are Blockchain Decoded's own approximation rather than CoinGlass's, a default weighting that treats every indicator as equally important regardless of how well established it is, and a design that only measures distance to a top — it has nothing to say about bottoms. Each is covered above, and each shapes how much weight to put on the headline number.
Where does it fit alongside the Heatmeter?
Bull Market Progress is not one of the 14 weighted inputs behind either the Bitcoin or Ethereum Heatmeter's composite score — it is worked out entirely separately, from a different data source, with its own line-up of indicators and its own math. It does appear as a standalone card on the Bitcoin Heatmeter page, not the Ethereum one, as a companion reading with a link through to its own full page.
One overlap is worth knowing about: several of the ~30 CoinGlass indicators here share a name with indicators inside the heatmeter composite — AHR999, MVRV, NUPL, Puell Multiple, RHODL, Pi Cycle Top. Each place works them out separately, from its own data, so the same-named measure can show different numbers on the same day. Reading Bull Market Progress alongside the Heatmeter, rather than as a substitute for it, is the intended use — two independently-built composites agreeing is worth more than either one alone.
Common questions
What is Bull Market Progress?
A composite reading built from roughly thirty of CoinGlass’s Bitcoin cycle-peak indicators — AHR999, MVRV, Pi Cycle Top, RHODL, Bitcoin dominance and similar. Each one is converted to a 0–100% score representing how close it currently sits to its own historical peak level, and the ~30 scores are flat-averaged into a single headline percentage.
How is each indicator turned into a 0–100% score?
CoinGlass supplies a current value and a target value for each indicator, and says whether progress means rising toward that target or falling toward it. Progress is then the current value as a share of the target, capped at 100% once the target is reached, and the ratio works the same way in reverse for a value approaching its target from above. Where the target is a range rather than a single number — a price forecast of “175k–230k”, say — the midpoint of the range is used.
What do the four zones mean?
Below 30% is read as Accumulation (signal: accumulate); 30–60% as Mid-Cycle (hold); 60–90% as Late-Cycle (take profit); 90% and above as Peak (exit). An individual indicator counts as having “hit peak” once its own score crosses 90%. CoinGlass also publishes its own peak marker for each indicator, but the two don’t always agree, so the count here follows the same 90% line you can see on the page.
How accurate has this been at past cycle tops?
Two historical reference points are built into the page, each reconstructed from the indicators that existed at the time: the 2017 top at roughly 94%, with 28 of the 30 then tracked in peak territory, and the 2021 top at roughly 91%, with 27 of 30. These are illustrative markers, not a test of today’s line-up against history — several of the ~30 indicators used now (including two spot-ETF measures and MicroStrategy’s average purchase price) didn’t exist in 2017, so that figure could not have been worked out on the current set. Treat them as a description of what two prior peaks looked like, not a tested statistical model.
Can I change how the score is weighted?
Yes. On the live page each of the ~30 indicators can be toggled on or off and given a weight of 0.5×, 1×, 1.5× or 2× within its category card, and the overall score, category averages and zone counts update live from whichever indicators you’ve kept. Your choices stay in your own browser.
Is Bull Market Progress part of the Bitcoin or Ethereum Heatmeter?
No. It is not one of the 14 weighted inputs in either heatmeter’s composite score. It does appear as its own card on the Bitcoin Heatmeter page — not the Ethereum one — as a companion reading, with a link through to its full page, but the two scores are computed completely independently.
Related guides
Others in market structure — How much borrowed money is in the market, which way bets are leaning, and where money is moving.
- Funding RateWhat leveraged traders pay to hold their positions — the cost of crowd consensus.
- Open InterestHow much leverage is outstanding across futures venues, and which exchanges hold it.
- LiquidationsWhere leveraged positions were forcibly closed, long against short.
- Altcoin Season IndexCoinGlass’s published 0–100 rotation index, with 80 and above marking Altcoin Season and 20 and below Bitcoin Season.
- Altcoin Strength IndexA weekly 0–100 score for altcoins against Bitcoin, where 0 means historically cheap and 100 historically expensive.
Every indicator we track — the full glossary.
See the live 0–100% score
Everything above is the mechanism. On the Bull Market Progress page you get the live number: all ~30 indicators, their category averages, the current zone, and toggles to enable, disable or reweight any indicator to build your own version of the score.