Hey RC community 👋
I've been building an internal ARR model using data from RC's webhook events and I'm having trouble matching the exact number shown in the RC dashboard.
My approach:
- Use
INITIAL_PURCHASEandRENEWALevents as subscription periods - Apply expiration overrides from
EXPIRATION,BILLING_ISSUE,SUBSCRIPTION_EXTENDEDevents - Normalize price to MRR using the multipliers from the RC MRR chart docs
- Active subscription =
purchased_at <= snapshot_date < effective_expiration_at - Filter: production only, no family share, no promotional store, NORMAL/INTRO period types
I'm consistently getting a small but persistent gap vs the RC dashboard for the same date — less than 1% off, but it's blocking us from fully trusting our internal numbers.
RC support was kind enough to share a raw export CSV, and comparing row-by-row I can see some specific discrepancies, but haven't been able to fully close the gap.
A few things I'm still unsure about:
- How does RC handle
BILLING_ISSUEperiods in MRR — grace period subscribers counted at $0 or excluded? - Are Customer Support refunds reflected in ARR at the time of the refund event, or at end-of-period?
- Are there edge cases with
SUBSCRIPTION_EXTENDEDorTRANSFERevents that affect active period logic?
Has anyone successfully built an ARR model from webhook data that closely matches the dashboard? Would love to compare notes.
