Cumulative return for Bitcoin's 4 known cycles, all lined up from the same starting point -- the halving, or optionally each cycle's own high or low -- so wildly different starting prices ($12 in 2012 vs. over $100,000 in 2024) land on one readable scale. With only 4 cycles on record, treat this as historical texture, not a Score signal.
Each cycle is normalized to a MULTIPLE of its starting price, not a linear percentage, and the Y axis is logarithmic -- both are load-bearing. The 2012-2016 cycle ran up more than 9,000%; on a linear scale that single run swamps every other cycle into an unreadable flat line even with the others unchecked. Multiple-of-start plus a log axis is the only combination where all four stay legible at once.
Daily BTC/USD price comes from Blockchain.info (free, no key, full history back to 2010) -- needed because the first halving (Nov 28, 2012) predates where the Coin Metrics history that powers the rest of the site actually starts, which would otherwise leave a gap right at the beginning of cycle 1. The 3 past halving dates are fixed; a "high" or "low" starting point instead is found by locating the highest price observed in that cycle's own series (or the lowest one after that high).
With only 3 completed cycles and a 4th still running, any pattern that looks like it's "repeating" rests on a sample far too small to be a reliable signal -- which is exactly why this comparison is deliberately kept out of the Score: deriving a rule from the same 3-4 cycles you'd be trying to predict adds nothing new. Read it as perspective, never as a forecast or financial advice.
The NodeWitness cycle Score doesn't use this comparison as an input -- a "cycle clock" built from the average length of past cycles was evaluated on purpose and dropped for the same circularity reason explained above.