Key Takeaways
- What it is: A group of coins, addresses, or entities selected by a shared measurable property and tracked over time.
- Two incompatible kinds: A fixed cohort freezes membership at formation and can only shrink. A rolling band rebuilds membership at every observation, gaining and losing members on the calendar.
- Core identity: Change in a rolling band = entries at the young edge, minus exits at the old edge, minus units moved by continuing members. Only the last term is behavior.
- Best use: Fixed cohorts answer retention. Rolling bands answer what the current population is made of.
- Main limitation: Cohorts migrate without anyone acting, and abandoned members leave silently, so a surviving cohort looks healthier than the original group was.
- Practical rule: Establish whether membership was frozen or recomputed before reading a cohort chart, and decompose a band change before calling any of it behavior.
Who This Guide Is For
Cohort charts are among the most persuasive-looking outputs in on-chain research and among the easiest to misread, because the chart never says whether the group it draws is the same group from one day to the next. Read this page if you have seen a claim that a cohort is accumulating or capitulating and want to know how much of it was the calendar.
Educational content. Not individualized financial advice.
What Does On-Chain Cohort Analysis Measure?
A cohort measures a selected subset, so the first thing to establish is how the selection gets refreshed. Two selections sharing a name can be entirely different objects: one whose membership was decided once, and one decided again at every observation.
Plain-language definition
A fixed cohort is everything that first appeared in one period, followed forward with the membership list never changing. A rolling band is everything currently inside an age range, with the list rebuilt from scratch each period.
Technical definition
Write C(t0) for the set selected at formation time t0, and B(a_low, a_high, t) for the set whose age at observation time t runs from a_low up to but not including a_high. The membership function of C does not take t as an argument; it was evaluated once and is thereafter only measured. The membership function of B takes t and returns a different set for every value of it.
A statement about what C(t0) did is about behavior. A statement about how B changed is about behavior plus the calendar plus the formation history a_low and a_high periods ago.
How Is On-Chain Cohort Analysis Constructed?
Fixed cohorts
Pick a formation event and window: coins whose last movement fell in March, or addresses first funded in March. Freeze that list. At every later observation, ask what fraction still satisfies a survival condition, usually that the coins have not moved. Membership is monotone, so the series is a survival curve.
On a UTXO chain the formation event is written into the ledger, because every unspent output records the height of the block that created it. See Bitcoin Developer Guide: Transactions for how outputs come into existence and get consumed.
Rolling age bands
Pick two age boundaries and recompute membership at every observation. A band population reflects three things at once: what was formed a_low periods ago, what was formed a_high periods ago, and what current members chose to do.
Balance bands and the quote-currency trap
A cohort defined by balance size migrates for a reason age cohorts do not share. If the bands are denominated in a quote currency, a price move by itself reassigns addresses between them: a doubling lifts every address holding between half a million and one million dollars into the band above, with no transaction broadcast anywhere. Native-unit bands have no such property. Denominator choice is covered in normalizing on-chain metrics.
Formation-time rules versus observation-time rules
Every rule is evaluated either once at formation or continuously at observation, and English hides the difference. Coins that last moved in March is formation-time and yields a fixed cohort; coins currently aged three to six months is observation-time and yields a band. Entity cohorts add a third refresh mechanism, since a clustering revision moves balances between labeled groups retroactively, which the guide to address labeling and entity clustering covers.
Formula and Measurement Logic
Fixed cohort: C(t0) is chosen once at t0, and its size at any later t is the count of original members still meeting the survival condition.
Rolling band: B(t) is rebuilt at every t from whatever members have an age at t inside the stated range.
The band change between two observations decomposes exactly.
Change in band = entries at the young edge, minus exits at the old edge, minus net units moved by continuing members.
Only the third term is behavior. The first two are set by how much formation activity occurred at two fixed distances in the past, decided before the observation window opened and immune to anything inside it.
| Decision | Fixed cohort | Rolling band |
|---|---|---|
| Membership refresh | Once, at formation | Every observation |
| Direction of change | Monotone decreasing | Both directions |
| Question it answers | Retention and survival | Composition of the current population |
| Price sensitivity | None in native units | Quote-currency bands reassign members on price alone |
| Members that vanish | Dropped unless counted as zero | Never enter the band at all |
| Boundary placement | Not applicable | Decides which formation periods feed the band |
How Should On-Chain Cohort Analysis Be Interpreted?
Match the question to the object before reading the chart. Each object gives a confident-looking wrong answer to the other question type.
- Did the buyers from March still hold in September? A retention question, needing frozen membership. The user-level version sits under on-chain user retention.
- What share of supply is currently aged three to six months? A composition question, needing a rolling band, saying nothing about any individual holder.
Three causes, one line
A band decline has exactly three sources: a small formation period arriving at the young edge, a large one departing at the old edge, and members spending. The line looks identical in all three cases.
Survivorship
An emptied address stops appearing in any query filtered on a nonzero balance, so it leaves the measured population without marking the series. Take a hypothetical cohort of 10,000 addresses first funded in one month. Six months later, 4,000 still hold a balance, together holding 12,000 units. The survivor mean is 12,000 / 4,000 = 3.0 units; the mean across all 10,000, counting emptied addresses as the zero they hold, is 12,000 / 10,000 = 1.2 units. The survivor figure is 2.5 times larger and is the one nearly every dashboard reports. The median is starker: 6,000 hold zero, so the all-members median is exactly zero.
Step-by-Step Workflow
- Classify the question as retention or composition before opening any chart.
- Establish whether membership was frozen at formation or is recomputed each period.
- Record both age boundaries, or the formation window and the freeze date.
- Record the survival condition, especially how it treats a consolidating self-transfer.
- Pull formation sizes for the periods sitting at each boundary.
- Decompose the band change into entries, exits, and member movement, then quote the third number.
- For balance cohorts confirm the denomination; for address cohorts count emptied members as zero.
- Rule out bridging and token migration, then state the result as one claim type, never two.
Worked Hypothetical Scenario
This example is hypothetical throughout. A fixed cohort and a rolling band are computed off the same invented ledger history across three month-ends.
Coins are grouped by the month in which they last moved. Formation sizes, in thousands of units: January 120, February 100, March 100, April 60, May 40. One survival schedule applies to every month: 72 percent of a month's coins remain unmoved at age three months, 66 percent at four, 61 percent at five. The band holds coins aged at least three months and less than six, so each month-end it contains exactly three formation months.
| Observation | Age 3 months | Age 4 months | Age 5 months | Band total |
|---|---|---|---|---|
| June 30 | March: 100 x 0.72 = 72.0 | February: 100 x 0.66 = 66.0 | January: 120 x 0.61 = 73.2 | 211.2 |
| July 31 | April: 60 x 0.72 = 43.2 | March: 100 x 0.66 = 66.0 | February: 100 x 0.61 = 61.0 | 170.2 |
| August 31 | May: 40 x 0.72 = 28.8 | April: 60 x 0.66 = 39.6 | March: 100 x 0.61 = 61.0 | 129.4 |
The band falls from 211.2 to 129.4, a drop of 81.8 units or 38.7 percent. On a chart that is a collapse, and the usual reading is that mid-term holders are distributing.
Now follow March as a fixed cohort across the same dates: 72.0 at the end of June, 66.0 at the end of July, 61.0 at the end of August. That is a fall of 11.0 units, or 15.3 percent. The cohort sitting inside the band on all three dates retained 84.7 percent of its coins.
| Component of the 81.8 decline | Units | What it actually is |
|---|---|---|
| Entered at the young edge: April 43.2 plus May 28.8 | +72.0 | Formation months reaching age three |
| Left at the old edge: January 73.2 plus February 61.0 | -134.2 | Formation months reaching age six |
| Moved by continuing members: March 11.0, February 5.0, April 3.6 | -19.6 | Coins that holders actually spent |
| Total | -81.8 | What the chart shows |
Of the 81.8 decline, only 19.6 is coins moving, or 24.0 percent. The other 62.2, or 76.0 percent, is the gap between what crossed the six-month line and what crossed the three-month line, both fixed by formation activity three and six months earlier.
The band still supports a composition claim: the share of supply aged three to six months fell, because the chain was quieter in April and May than in January. It does not support the retention claim usually made from it.
The fixed cohort supports one calculation the band cannot. March retained 72.0 percent at age three and 61.0 percent at age five, so surviving stock fell by a factor of 61 / 72 = 0.847 over two months, a monthly survival rate of about 92.0 percent. At that rate the cohort drops below half its original size between age seven and age eight months.
What Can Make the Interpretation Wrong?
- Reading a rolling band as a fixed cohort. The central error. A band change is dominated by two boundary crossings that no current holder controls.
- Formation-size effects. A band shrinks whenever a small period enters and a large one leaves, a fact about the past rather than a signal about the present.
- Quote-currency balance bands. A price move reassigns addresses with zero transactions, so the chart responds to the thing it is used to forecast.
- Survivorship in address cohorts. Emptied addresses vanish from balance-filtered queries, so survivor statistics overstate the original group.
- Boundary placement. Providers cutting age bands at different points publish opposite trends from identical blocks.
- Age resets on migration. Bridged or migrated holdings are new objects with age zero, which reads as a mass exit from every old cohort at once.
- Consolidation. A custodian sweeping its own outputs resets their age with no change of ownership, and a strict survival condition records that as capitulation.
Cross-Network and Provider Comparison
Whether a cohort can be built at all is decided by the ledger model. Where the ledger stores discrete units carrying their own creation height, an age cohort is a filter over data that already exists. Where it stores a balance instead, age is nowhere and has to be reconstructed by replaying the transfer history under an assumed convention. The asymmetry is set out in the guide to UTXO and account ledger models, and what follows here is that an age cohort published for an account-model chain carries an assumption that belongs in the caption.
Across providers, reconcile the band boundaries and the survival condition first. One provider treating a consolidating sweep as a spend and another treating it as maintenance will publish different retention curves from the same blocks, without either making an arithmetic error. Reconciling providers in general is its own discipline, set out in the guide to on-chain data quality methodology.
Advanced Analytical Methods
The cohort matrix
Publish a matrix with formation period down one axis and age across the other, so each cell holds one fixed cohort observed at one age. Every rolling band is then a diagonal sum over that matrix, and a reader can see which formation periods drive it.
Entry and exit decomposition
Plot the three terms of the band identity underneath the band itself. With entries, exits, and member movement drawn separately, the behavior term has its own line and cannot be misread.
Survivorship-corrected denominators
Count emptied members as zero rather than dropping them, and report the survivor count beside every cohort average. The gap between the two denominators is the size of the survivorship effect.
Retention curve fitting
A fixed cohort survival series fits to a decay rate and a half-life, compressing a whole cohort into two comparable parameters. Fitted parameters compare only across cohorts formed under similar conditions, so one formed during an incentive campaign is not comparable to one formed in a quiet month.
Practical Checklist
- I classified the question as retention or composition.
- I know whether membership was frozen or recomputed each period.
- I recorded both age boundaries, or the formation window and freeze date.
- I recorded how the survival condition treats self-transfers.
- I pulled formation sizes for the periods at each boundary.
- I decomposed the band change into entries, exits, and member movement.
- I counted emptied addresses as zero and reported the survivor count.
- I ruled out bridging and token migration, and avoided individualized financial advice.
Frequently Asked Questions
What is the difference between a fixed cohort and a rolling age band?
A fixed cohort is selected once and never changes membership, so every move in its series is something a holder did. A rolling band is rebuilt at every observation from whatever currently falls inside the age range, so members enter and leave on the calendar alone. Retention questions need the first. Composition questions use the second.
Why can a rolling age band collapse when almost nobody moved any coins?
Its change is dominated by two crossings that no current holder controls. Holdings enter at the young boundary and leave at the old one, and both flows were fixed by past activity at those distances. In the hypothetical on this page, 76 percent of a 38.7 percent band decline came from those crossings.
Can retention be measured from a rolling band?
No. Retention describes one specific group over time, and a band is not a specific group, because its membership list differs on every observation date. A retention figure taken from a band mixes survival, arrival, and departure into one number, and the three cannot be separated afterwards.
Does coin age reset when holdings are bridged or migrated?
Yes. The representation created on the destination chain has no prior history, so its age starts at zero. A large bridging or token-migration event therefore looks like old cohorts emptying and a new cohort appearing from nothing, which makes it the cheapest artifact to rule out first.
Can age cohorts be built on an account-model chain?
Not by reading the ledger. An account stores a balance, not a set of dated lots, so age has to be reconstructed by replaying the transfer history under an assumed accounting convention, and the convention chosen changes the answer. That series is a model output rather than a measurement.
How many cohorts are too many for a dataset?
Enough that individual cohorts stop containing a meaningful number of observations, which happens faster than most analyses assume. Splitting by age band, then by size band, then by entity type multiplies the categories quickly, and the tail cohorts end up describing a handful of addresses whose behaviour is idiosyncratic rather than representative. The practical check is to report the population of every cohort alongside its value, so a reader can see which lines are supported and which are being drawn through almost nothing.
What is a look-ahead problem in cohort construction?
It is assigning an address to a cohort using information that was not available at the time being analysed. Classifying an address as a long-term holder because it turned out to hold for years, and then studying how long-term holders behaved during an earlier period, embeds the outcome in the definition. The cohort has to be defined from data available as of the start of the observation window, which is more work because it means rebuilding the classification at each point rather than once at the end.
Can a cohort be defined by behaviour rather than by age or size?
Yes, and behavioural cohorts often answer better questions, at the cost of being harder to defend. Grouping addresses by how they acquired their holdings, how frequently they transact, or whether they interact with particular protocol types can separate populations that age and size bands mix together. The difficulty is that behavioural criteria are more sensitive to labelling quality and more prone to the look-ahead problem, since behaviour is observed over a window that must not overlap the period being studied.
What happens to a cohort when its members move holdings to a custodian?
The cohort appears to shrink or to sell, when the coins have only changed custody arrangement. Custodial addresses are normally excluded from holder cohorts precisely because they pool many parties, so a transfer into custody removes the balance from whatever cohort it was in. Over a period when custodial adoption is growing, every non-custodial cohort therefore trends downward for a reason unrelated to holder behaviour, and that drift should be measured before any cohort trend is interpreted.
References
These sources should be reviewed during editorial verification. They support data structures and methods, not the hypothetical conclusion. Provider formulas, chain rules, and APIs can change, confirm current documentation before publication.
- Bitcoin Developer Guide: Transactions: How outputs are created and consumed, which is what makes a coin-age cohort a filter rather than a reconstruction.
- Coin Metrics: Network Data Glossary: Cross-network definitions of address, account, and ledger unit, which decide what a cohort member actually is.
- Coin Metrics: New Addresses: New and funded address methodology, the formation event behind most address cohorts.
- Coin Metrics: Valuation Metrics: Realized capitalization construction, which underpins cost-basis cohorts.
- Glassnode: Metric Catalog: Published age-band and holder-cohort definitions, including where the band boundaries are drawn.