Conversation
Trials are stored as succeeded + is_good_plan, so the live admin card was counting unpaid trial orgs as paying subscribers. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Merging this PR will improve performance by 27.93%
Performance Changes
Tip Curious why performance improved? Comment Comparing Footnotes
|
|



Summary (AI generated)
paid_atand an ended trial (trial_at <= now) so the live count matches a real paid subscription.Paid subscriptions, excluding trials.Motivation (AI generated)
Trials are stored as
status = succeededandis_good_plan = true, so the live admin breakdown treated unpaid trial orgs as paying subscribers. That made Paid via Subscription (~1,591) look much larger than Total Paying (~1,041).Business Impact (AI generated)
Admin revenue metrics no longer inflate paid-subscriber counts with trials. Internal reporting and conversion math based on that card stay trustworthy.
Test Plan (AI generated)
tests/admin-stats.test.tscase: trial org is excluded, paid org is included, live breakdown matches the paid-subscription filters.Generated with AI
Made with Cursor
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.