How the Bitcoin cycle-top price range is calculated
This is not a promised price or a hand-drawn extension. CycleScope combines an independent long-term channel with network cost basis and explicit NUPL scenarios. Every coefficient, fallback and current substitution is disclosed below.
Two independent estimates are joined with a geometric mean
The lower and upper bounds each combine a power-law channel price with the price implied by a chosen NUPL state. A geometric rather than arithmetic mean is used because Bitcoin prices are multiplicative and the channel itself is fitted in logarithmic space.
Plow = √[ C0.50(tlow) × R(tlow) / (1 − 0.65) ]
Phigh = √[ C0.65(thigh) × R(thigh) / (1 − 0.75) ]
Pcenter = √(Plow × Phigh)
The lower case uses the median channel and NUPL 0.65: strong network profit without requiring maximum euphoria. The upper case uses the 65th channel percentile and NUPL 0.75. Values are rounded to the nearest $5,000 only for the small CycleScope card; the calculation keeps full precision.
What each symbol means
- tlow/highDates produced by the separate timing model.
- Cq(t)The q-th percentile of the power-law channel on date t.
- R(t)Projected Realized Price, the aggregate on-chain cost basis.
- 0.65 / 0.75Target NUPL states: strong profit and euphoria.
- Plow/highLower and upper conditional cycle-top estimates.
Uncertainty is part of the model
A precise future price cannot be honestly inferred from only a few completed Bitcoin cycles. The top date is unknown, Realized Price continues to move, and old-coin activity changes Terminal Price and NUPL. The output must therefore move with the data rather than present false precision.
If network cost basis rises faster, the admissible top rises. If Realized Price stalls or the top window moves earlier, the range falls.
The long-term trend is fitted in logs
The channel uses the number of days since 3 January 2009. A power-law trend is fitted first; logarithmic residuals of actual price around that trend are then measured. Rainbow boundaries are empirical quantiles of those residuals.
ln Ptrend(t) = a + b × ln d(t)
r(t) = ln Pactual(t) − ln Ptrend(t)
Cq(t) = exp[a + b × ln d(t) + Qq(r)]q=0.50 is used for the lower estimate and q=0.65 for the upper. These percentiles describe historical model residuals; they are not literal probabilities that price must reach a boundary.
| Loading current regression parameters… |
Project network cost basis
The observed 30-day Realized Price change is converted to a monthly growth rate. To prevent one strong month from creating an explosive long-horizon projection, the rate is clipped between 0 and 1.5%.
g = clip(ΔR30d / Rbase, 0, 0.015)
R(t) = R₀ × (1 + g)m(t)If the trend is missing, the disclosed fallback is 0.6% per month. Negative growth is floored at zero because this is explicitly a conditional future-bull-top model.
Translate a profit state into price
With the same circulating supply in Market Cap and Realized Cap, NUPL can be approximated through spot price and Realized Price.
NUPL ≈ 1 − R(t) / P(t)
PNUPL(t,u*) = R(t) / (1 − u*)At u*=0.65, price is approximately 2.86 times projected network cost basis. At u*=0.75 it is four times cost basis. This is a conditional price, not a claim that NUPL must reach the threshold.
From live inputs to the displayed range
This table is rendered from the same shared module used by the CycleScope card. The explanatory page and the displayed forecast cannot silently use different formulas.
| Loading live inputs… |
Channel and NUPL receive equal log weights
An arithmetic mean is pulled disproportionately by the larger dollar value. The geometric mean is equivalent to averaging logarithms and matches the channel's multiplicative structure.
ln P = 0.5 × ln C + 0.5 × ln PNUPLTerminal Price is not a third equal input because its future value depends on unknown future old-coin movement. It is used only as a disclosed fallback.
What happens when inputs are missing
If the primary estimate is unavailable but Terminal Price T exists, temporary bounds are 1.35T and 2.25T. A minimum range width of 15% prevents an accidentally precise interval.
Plow,fallback = 1.35T
Phigh,fallback = 2.25T
Phigh ≥ 1.15PlowThe live substitution explicitly reports whether a fallback was used.
What the formula cannot know
It cannot forecast regulation, failures, wars, ETF structural shifts or sudden liquidity loss. The power law is fitted to one asset and is not a law of nature. NUPL thresholds can shift as market structure changes, and a 30-day cost-basis trend need not persist. Price can reverse before the range or overshoot it briefly.
A conditional range, not a sell command
The range becomes actionable context only when MVRV, NUPL, Pi Cycle, long-term-holder distribution, demand, leverage and price structure begin confirming one another. Until then it marks a possible future top region, not the arrival of the top.