Revenue dimension for the winner decision: per-variant MRR (monthly run-rate of
mature net-active subs, yearly normalised to monthly) and ARPU (MRR / assigned),
priced from Stripe and cached for an hour. Falls back to '—' when Stripe is
unreachable. ARPU is the comparable revenue metric; full LTV still needs churn.
Add stats:experiment-funnel: a weekly per-variant scoreboard (assigned,
subscribed, status breakdown, pay_now refunds) with a net-active rate gated
by each variant's own decision window so cohorts are read at equal age. Users
are attributed via the same deterministic bucket the runtime uses, extracted
into SubscriptionExperiment::bucket so the report and assignment can't drift.