vike

Before you rely on it

What the HL Cohorts field names do not tell you, the two label bases, the axes and the provisional newest row.

Two label bases, and only one is safe for a backtest

labelBasis=point_in_time labels each row with the cohort the wallet was in at that hour; current labels history with today's grading, which tells a backtest which wallets later became rankable. On Coin cohort metrics the size, tier and pnl_unrealized axes are always point-in-time and pnl_abs is always current. Coin metrics serves current only and refuses point_in_time by name. Every response declares its label_basis. Label basis has the detail.

Axes and cohort names

A cohort matrix groups by one axis: size, pnl, pnl_abs, tier or pnl_unrealized. Each axis has its own ladder of labels; Cohort ladders publishes the exact strings ?cohort= accepts, so read them rather than hard-coding a bucket name. Cohorts and axes defines them.

The newest hourly row is provisional

On Coin metrics every row carries provisional. It is true on at most one row, the hour still in progress, whose ts changes on every poll. Drop it before you store a series.