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.
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.
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, 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
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.
| Fired | Price then | Top it named | Actual top | How far off | Rise to the top | Result |
|---|---|---|---|---|---|---|
| 23 February 2013 | $30.52 | 14 August 2013 | 5 December 2013 | 113 days later | +3625% | Top came later |
| 24 May 2013 | $127 | 11 July 2013 | 5 December 2013 | 148 days later | +797% | Top came later |
| 11 August 2013 | $103 | 21 June 2014 | 5 December 2013 | 198 days earlier | +1004% | Top came earlier |
| 28 November 2013 | $965 | 1 December 2014 | 5 December 2013 | more than a year out | +18% | Date over a year away |
| 16 December 2013 | $863 | 26 January 2015 | 7 January 2014 | more than a year out | +6% | Date over a year away |
| 5 January 2014 | $829 | 23 September 2014 | 7 January 2014 | 259 days earlier | +10% | Top came earlier |
| 8 July 2016 | $638 | 15 November 2016 | 12 June 2017 | 210 days later | +363% | Top came later |
| 29 July 2016 | $656 | 22 December 2016 | 12 June 2017 | 172 days later | +351% | Top came later |
| 18 January 2017 | $907 | 7 April 2017 | 17 December 2017 | 254 days later | +2027% | Top came later |
| 13 April 2017 | $1,212 | 10 May 2017 | 17 December 2017 | 221 days later | +1490% | Top came later |
| 12 June 2017 | $2,955 | 19 June 2017 | 17 December 2017 | 181 days later | +552% | Top came later |
| 1 November 2017 | $6,416 | 23 February 2018 | 17 December 2017 | 68 days earlier | +200% | Top came earlier |
| 6 February 2018 | $6,925 | 4 January 2019 | 5 March 2018 | 304 days earlier | +66% | Top came earlier |
| 4 December 2020 | $19,455 | 16 December 2020 | 9 November 2021 | 328 days later | +247% | Top came later |
| 29 December 2020 | $27,037 | 6 January 2021 | 9 November 2021 | 307 days later | +150% | Top came later |
| 25 February 2021 | $50,625 | 10 May 2021 | 9 November 2021 | 183 days later | +34% | Top came later |
| 17 March 2021 | $56,872 | 10 November 2021 | 9 November 2021 | 1 day earlier | +19% | Hit |
| 7 March 2024 | $66,102 | 13 May 2024 | 22 January 2025 | 254 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
Too few signals for a verdict: this site needs at least 20, and LPPLS has 18.
| Times it fired | 18 | separate signals, 561 days in all |
|---|---|---|
| Followed by a 40% fall | 28.0% | of the days it was signalling, within a year |
| On ordinary days | 35.0% | every day it could have fired |
| Difference | -7.1 pts | below zero: a big fall was less common after a signal |
| Random signals | 14% 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 doubled | 64.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.
| Top landed | Model | Random dates | Chance of doing this well |
|---|---|---|---|
| within 15 days | 1 of 16 | 7.7% | 0.72 |
| within 30 days | 1 of 16 | 13.6% | 0.90 |
| within 60 days | 1 of 16 | 24.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.