Identity & evidence3 min read

Cohort Retention for On-Chain Applications

Build address-based retention cohorts with explicit entry actions and return windows, while handling partial history and avoiding claims about individual people.

Editorial illustration accompanying cohort retention for on-chain applications.

Overview

When translating these concepts into an integration, keep the scope described by the wallet history api with the result. The examples in wallet transaction history and smart contract event logs show how the same distinction affects neighbouring data questions.

Retention compares a defined cohort with later qualifying activity. In on-chain data, both cohort entry and return behaviour need explicit rules because addresses do not automatically map to people.

Define entry and return separately

A first qualifying contract interaction can define entry, while a later interaction can define return. Specify rolling or calendar windows and network scope. If historical coverage starts recently, first observed activity may not be true first activity. Keep that limitation visible in the cohort definition.

Worked example: a seven-day return

One hundred addresses first perform the selected action during a cohort week. Thirty perform the return action in the declared next-seven-day window. Address-based retention is thirty percent for that definition. It does not establish that thirty distinct people returned or that the remaining addresses permanently stopped using the product.

Handle incomplete observation windows

Do not compare a fully matured cohort with one whose return window is still open without labelling it. Test address changes, automated accounts and missing historical ranges. Keep denominator rules stable across reports. A dashboard should expose the entry and return predicates so a rising retention line can be traced to behaviour rather than a silent methodology change.

A practical acceptance test

Create a hundred-address entry cohort with thirty qualifying returns, then a newer cohort whose return window is incomplete. Assert thirty percent for the matured fixture and an explicit partial state for the other. Remove earlier coverage and verify that first observed entry is not relabelled first-ever use without evidence.

Questions about the topic

Frequently asked questions

Can an unfinished cohort be compared directly with a mature one?

Only with a clear partial-window treatment.

Does first observed mean first ever?

Not when earlier history is outside coverage.

Standards & technical documentation

Further reading

{{TODO: author name}}

Practical explanations of blockchain data, software integration and the context behind a record.

About Indexbase
← Back to all articles

Build with better context.

Get an update when private beta opens.

Form setup in progress. Nothing entered here is sent or saved. {{TODO: endpoint}} See the full form and email alternative.