Tested claim

Does the LPPLS bubble model identify tops?

LPPLS looks for prices rising faster and faster, and claims it can name the date the run will end. We have tested it on every day since 2013.

The short answer

Not on the evidence so far. LPPLS has fired 18 times since 2013, and none of the ways we tested it shows it warning of a top.

1 in 16times the date it named for the top was right, within a month. Picking dates at random does better: about 1 in 7.
28% vs 35%chance of a 40% fall within a year: 28% after a signal, 35% on an ordinary day. A big fall was slightly less common after a signal, not more.
+224%median rise from the day it fired to that year’s high. Its signals have marked strong bull runs, not tops.

18 signals are too few for this site to give a formal verdict, which is why the score further down says No verdict. Every test so far points the same way. Today it sees no bubble.

LPPLS positive-bubble confidence: qualifying windows1201320192026Qualifying windowswhen it fired
What this shows. LPPLS positive-bubble confidence: qualifying windows, daily since 2010. The line is the model’s confidence indicator, not a price: it is the share of the eight fitted windows on which a log-periodic bubble pattern qualifies that day, from 0 to 1. A reading at or above 0.5 is a signal. Shading marks the days it qualified. The model claims an accelerating, oscillating run-up is approaching a critical time; the table below tests whether that has been followed by anything.

Where we are now. Today the model fits 0 of 8 windows as a positive bubble. A reading of zero means no window qualifies. Shaded bands are the periods when at least one window qualified. The 18 runs counted in the table below are defined on the fitted windows inside the model and are not reconstructable from this series.

Today

as of 14 October 2026

As of 14 October 2026, the model sees no bubble, so it names no date.

For 9 days, from 30 September 2026 to 8 October 2026, one of its fits briefly saw a bubble. But the date it named for the top moved forward every day to sit on the latest price, which is the curve bending to fit the newest data, not a forecast.

Every call it has made

18 signals since 2013

Each row is one time the model fired. It names a date when the run should end; the next columns show when the top actually came, and how far price rose before it did.

It has made one striking call. On 17 March 2021, at $56,872, it named 10 November 2021 as the top. The top came on 9 November 2021, one day off. But three earlier calls in the same run had named dates months too soon, and nothing marked this one out when it fired. You would only have known it was the good one afterwards.

Every signal, with the top it named and the top that came
FiredPrice thenTop it namedActual topHow far offRise to the topResult
23 February 2013$30.5214 August 20135 December 2013113 days later+3625%Top came later
24 May 2013$12711 July 20135 December 2013148 days later+797%Top came later
11 August 2013$10321 June 20145 December 2013198 days earlier+1004%Top came earlier
28 November 2013$9651 December 20145 December 2013more than a year out+18%Date over a year away
16 December 2013$86326 January 20157 January 2014more than a year out+6%Date over a year away
5 January 2014$82923 September 20147 January 2014259 days earlier+10%Top came earlier
8 July 2016$63815 November 201612 June 2017210 days later+363%Top came later
29 July 2016$65622 December 201612 June 2017172 days later+351%Top came later
18 January 2017$9077 April 201717 December 2017254 days later+2027%Top came later
13 April 2017$1,21210 May 201717 December 2017221 days later+1490%Top came later
12 June 2017$2,95519 June 201717 December 2017181 days later+552%Top came later
1 November 2017$6,41623 February 201817 December 201768 days earlier+200%Top came earlier
6 February 2018$6,9254 January 20195 March 2018304 days earlier+66%Top came earlier
4 December 2020$19,45516 December 20209 November 2021328 days later+247%Top came later
29 December 2020$27,0376 January 20219 November 2021307 days later+150%Top came later
25 February 2021$50,62510 May 20219 November 2021183 days later+34%Top came later
17 March 2021$56,87210 November 20219 November 20211 day earlier+19%Hit
7 March 2024$66,10213 May 202422 January 2025254 days later+61%Top came later

What it means for you

  • A signal has meant a strong bull run, not a top. In 11 of 16 calls the top came later than the model said. Across all its signals, price went on to rise a median 224% to that year’s high.
  • A crash was not more likely after a signal. A 40% fall followed 28% of signal days, against 35% of ordinary days. Price doubling was more common: 64% against 53%.
  • An exit timed to its date would usually have sold early. If you want an exit, choose it in advance, such as a price level or rebalancing back to a target weight.

The score

No verdict

Too few signals for a verdict: this site needs at least 20, and LPPLS has 18.

PER CENT OF DAYS FOLLOWED BY THE PREDICTED OUTCOMEWhen it fired28.0%When it did not35.0%18 runs, too few for a verdict
LPPLS bubble model, scored against signals placed at random
Times it fired18 separate signals, 561 days in all
Followed by a 40% fall28.0% of the days it was signalling, within a year
On ordinary days35.0% every day it could have fired
Difference-7.1 pts below zero: a big fall was less common after a signal
Random signals14% to 56% what signals of the same length placed at random scored; 28% is inside that range, so it is no different from chance
Price doubled64.0%within a year after a signal, against 52.6% of ordinary days

The method, for those who want it

How the model works

LPPLS (log-periodic power law singularity) comes from Didier Sornette and colleagues, from the 1990s. It looks for a price rising faster and faster, with swings that get quicker as they go, and fits a curve that says when that run must end. That end date is called the critical time.

We fit it every day to 8 lookback periods, from 120 days to 730 days. Each fit either passes a set of published quality checks, fixed before we tested anything, or it does not. The model’s confidence is the share that pass; half or more is a signal. Each fit uses only prices known on that day, so nothing looks ahead. We built our own implementation and publish it.

How we scored it

Signal days within a week of each other count as one signal: 18 signals, 561 days in all. For each signal day we ask whether price fell 40% within the next year. To judge whether that is better than chance, we place signals of the same lengths at random 10,000 times and score them the same way. Placing whole blocks rather than single days keeps the clustering honest.

A 40% fall followed 28.0% of signal days and 35.0% of ordinary days. Random signals scored anywhere from 14% to 56%, so this result is what a signal with no information in it would produce. In 69 of 100 random draws, a meaningless signal did at least this well.

Testing the date it names

LPPLS does not say how far price will fall. It says when the run ends. So the fairest test is its own claim: on the day it fired, did the year’s top land near the date it named? We count one try per signal, not per day.

The critical-time test at three tolerances: how often the year’s highest close fell within that many days of the fitted critical time, against random days given the same offsets. One trial per signal run, not per day.
Top landedModelRandom datesChance of doing this well
within 15 days1 of 167.7%0.72
within 30 days1 of 1613.6%0.90
within 60 days1 of 1624.5%0.99

At every distance the model did slightly worse than random dates. One note on counting: if you score every signal day instead of every signal, the model looks good, about one hit in five. That is misleading, because the days inside one signal share the same date and the same year ahead, so they are one try counted many times.

Two other versions of the model

A stricter version, with tighter quality checks, never fired once in the whole history. It is not a harder test the model fails; under it the model is simply silent.

The bottom-finding version looks for accelerating falls instead, claiming a bottom is near. It fired on 35 days in 2 signals. Price doubled within a year after 97% of them, but two signals are far too few to mean anything.

What this does not prove

This is our implementation with one published set of quality checks. Other versions of LPPLS exist, and this result is not a verdict on all of them.

And it does not mean the threshold itself was chosen fairly. Every rule in this registry was specified by someone who had already seen bitcoin’s history, so the cut-off is fitted to the record it is being judged against. The interval above measures sampling variation between independent trials and nothing else: not the choice of threshold, not that cycle turns are few and related, and not that thirty-six rules were tested in total. Only the forward record, which fixes a rule before its answer is known, avoids this.

What would change the answer

More signals, which only time provides; a different set of quality checks fixed in advance by someone else; or a run of hits like 2021. At 18 signals, one more striking hit would move the date result noticeably.

If you cannot time it, the question changes

Most of the claims in this registry cannot be shown to beat a coin flip, and several are worse than one. That is not an argument against holding bitcoin. It is an argument that the decision worth spending effort on is how much to hold, not when to buy.

That is what How much bitcoin? is for: what fixed weights actually did in a conventional portfolio, and how much the answer depended on the year you started. For the valuation state today, and what has historically followed readings like it, see Where Things Stand.

Recomputed every day from the public data by fetch/lppls.py and fetch/scorecard.py, published as lppls.json. Method on the methods page; every claim in the scorecard.