Two-step aggregate: collapse fact_rx to (HCP, product) pairs first (the adherence grain), then aggregate up to therapeutic_class. The shape is the canonical pharma 'adherence proxy' — without true patient-level data, fills-per-prescriber-product is the closest commercial-data proxy for whether a brand's patients are persisting on therapy.