Regime-conditioned attribution is one of the most persuasive exhibits a desk can put in front of an allocator. Performance in alt season, performance outside it, and a clean story about positioning. It is also one of the easiest exhibits to contaminate, and the contamination is invisible in the output. The table looks fine. The numbers reconcile to the book. And the regime column was computed with information that did not exist on the dates it is attached to.
The Alt Season Index in the scorecard measures the percentage of the top 50 altcoins outperforming Bitcoin. That is a clear, checkable definition, which is why it is worth using. It is also a definition with two moving parts that revise underneath you, and if you are going to condition performance on it, you need a vintage record before the flag appears in any review.
Where a breadth statistic revises, and it is not where people look
The usual worry about data revisions is price corrections, and in crypto that does happen, particularly for assets whose coverage begins partway through your history and gets backfilled afterwards. But the larger source of revision in a breadth measure is the universe, not the prices.
The top 50 by market capitalisation is not a fixed list. Membership turns over continuously. A token that entered the top 50 last quarter was not in the top 50 the quarter before, and any recomputation of the historical index using today's membership is answering a question nobody could have asked at the time. The direction of the error is not random either. Tokens enter the top 50 by appreciating, which means today's list is disproportionately composed of things that went up, and a backward-looking breadth series built on it will read more bullish than the live series did.
There is a second, quieter version. Tokens that fell out of the top 50 are gone from today's list, so their underperformance is missing from a recomputed history. Both effects push the same way. Recomputed breadth is higher than lived breadth, and it is highest precisely in the periods that were most volatile, which are the periods your attribution cares about most.

How the leak reaches your attribution table
Trace the mechanism, because the abstract version does not persuade anyone and the concrete version persuades everyone.
You want to report how the alt sleeve performed in alt season versus outside it. You need a flag for each historical date. If you take that flag from a recomputed series, the flag on any given date has been influenced by which tokens turned out to be in the top 50 later, and those are the tokens that appreciated. So the dates marked as alt season are, on average, dates followed by strong performance in the surviving names. Your sleeve held some of those names. The attribution then reports that the desk was well positioned during alt season, and part of that result is arithmetic rather than skill.
The size of the effect depends on turnover in the list and on how far back your history runs, and it is not always material. That is not an argument for ignoring it. It is an argument for measuring it, because the one thing you cannot say in a review is that you do not know whether your regime flag was point-in-time.
What the vintage record has to contain
The fix is unglamorous. Capture the flag live, on a schedule, and never overwrite it. What that means in practice is a small append-only store with the following per row.
- The capture timestamp, with a named timezone. Not the date the value refers to, the moment your process read it.
- The index value and any threshold-derived flag, recorded separately, so that if you later change the threshold you can rebuild without recapturing.
- The timeframe the reading was taken on, since the module offers five and the composite differs across them.
- The constituent list, if you can obtain it. If you cannot, record explicitly that you could not, and treat the universe as an unobserved input in every note that uses the flag. An acknowledged gap is a limitation. An unacknowledged one is a finding.
- A hash of the row and the identity of the process that wrote it. This is what makes the store evidence rather than a spreadsheet.
The rule that matters more than any of the fields is that nothing is ever updated in place. If a value is captured wrong, you append a correction with its own timestamp and keep the original. An attribution study run in June should be reproducible in December from the same rows, including its mistakes.
Two tests that expose a leaking flag
Suppose you have inherited a regime-conditioned performance table and you do not know its provenance. Two checks, both cheap, will tell you most of what you need.
The first is the lag test. Rerun the attribution with the regime flag shifted forward by one day, so that each day is classified by yesterday's flag. A flag with genuine information content degrades slightly. A flag carrying future information often collapses, because the effect was concentrated in the alignment between the flag and the returns that defined it. If your conclusion evaporates under a one-day lag, you were not measuring positioning skill, you were measuring the definition of your own regime variable.
The second is the vintage comparison. Take a date for which you hold a live capture and compare it to what the same series says about that date today. The difference is your revision magnitude, in the units of the index. Do this for a sample of dates across different market conditions and you have a distribution of revisions, which belongs in the appendix of any note that uses the flag. If the mean revision is materially different from zero, say so and say which direction it runs.
Disclosing the vintage basis in the note itself
Where this ends up is a disclosure line, and it should be as routine as the fee note. A regime-conditioned performance table needs to state, on the same page, which vintage of the regime series was used, the date the capture began, and whether the universe underlying the breadth statistic was captured or assumed.
Three sentences, and they change how the exhibit is read. They tell a sceptical allocator that you know where the bodies are buried in this kind of analysis, which is worth more to your credibility than a stronger result would be. They protect the desk when the next person rebuilds the study on a different vintage and gets a different answer, which will happen, because they always do. And they impose the discipline on you first, since a line stating that the capture began in March means the exhibit cannot quietly stretch to cover the previous cycle.
A regime table without an as-of basis is not reproducible, and a table that is not reproducible should not leave the building with your name on it, however good the numbers in it happen to look.